From 6a9c274f48e989193ada80bf4cd8f8b8cd37da3a Mon Sep 17 00:00:00 2001 From: dscarpac Date: Sat, 6 Jul 2024 13:16:13 -0500 Subject: [PATCH 1/4] added helper --- .../FamilyInheritance.394603.json | 2 +- .../cards/FamilyInheritance.ttslua | 52 +++++++++++-------- xml/playercards/FamilyInheritance.xml | 37 +++++++++++++ 3 files changed, 69 insertions(+), 22 deletions(-) create mode 100644 xml/playercards/FamilyInheritance.xml diff --git a/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.json b/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.json index e9255f39..7810d8b5 100644 --- a/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.json +++ b/objects/AllPlayerCards.15bb07/FamilyInheritance.394603.json @@ -58,5 +58,5 @@ "scaleZ": 1 }, "Value": 0, - "XmlUI": "" + "XmlUI": "\u003cInclude src=\"playercards/FamilyInheritance.xml\"/\u003e" } diff --git a/src/playercards/cards/FamilyInheritance.ttslua b/src/playercards/cards/FamilyInheritance.ttslua index e5b71240..377d6930 100644 --- a/src/playercards/cards/FamilyInheritance.ttslua +++ b/src/playercards/cards/FamilyInheritance.ttslua @@ -1,26 +1,23 @@ +require("playercards/CardsWithHelper") local playermatApi = require("playermat/PlayermatApi") local searchLib = require("util/SearchLib") local tokenManager = require("core/token/TokenManager") +local isHelperEnabled = false local clickableResourceCounter = nil local foundTokens = 0 +function updateSave() +self.script_state = JSON.encode({ isHelperEnabled = isHelperEnabled }) +end + function onLoad() - self.addContextMenuItem("Add 4 resources", - function(playerColor) - Player[playerColor].clearSelectedObjects() - add4(playerColor) - end) - self.addContextMenuItem("Take all resources", - function(playerColor) - Player[playerColor].clearSelectedObjects() - takeAll(playerColor) - end) - self.addContextMenuItem("Discard all resources", - function(playerColor) - Player[playerColor].clearSelectedObjects() - loseAll(playerColor) - end) + self.addTag("CardWithHelper") + if savedData and savedData ~= "" then + local loadedData = JSON.decode(savedData) + isHelperEnabled = loadedData.isHelperEnabled + end + checkOptionPanel() end function searchSelf() @@ -40,7 +37,7 @@ function searchSelf() end end -function add4(playerColor) +function add4() searchSelf() local newCount = foundTokens + 4 @@ -51,7 +48,7 @@ function add4(playerColor) end end -function takeAll(playerColor) +function takeAll(player) searchSelf() local matColor = playermatApi.getMatColorByPosition(self.getPosition()) playermatApi.updateCounter(matColor, "ResourceCounter", _, foundTokens) @@ -59,14 +56,27 @@ function takeAll(playerColor) if clickableResourceCounter then clickableResourceCounter.call("updateVal", 0) end - printToColor("Moved " .. foundTokens .. " resource(s) to " .. matColor .. "'s resource pool.", playerColor) + printToColor("Moved " .. foundTokens .. " resource(s) to " .. matColor .. "'s resource pool.", player.color) end -function loseAll(playerColor) +function loseAll(player) searchSelf() - + log(player.color) if clickableResourceCounter then clickableResourceCounter.call("updateVal", 0) end - printToColor("Discarded " .. foundTokens .. " resource(s).", playerColor) + printToColor("Discarded " .. foundTokens .. " resource(s).", player.color) end + +-- hide buttons and stop monitoring +function shutOff() + self.UI.hide("Helper") + Wait.stopAll() + updateSave() +end + +-- show buttons +function initialize() + self.UI.show("Helper") + updateSave() +end \ No newline at end of file diff --git a/xml/playercards/FamilyInheritance.xml b/xml/playercards/FamilyInheritance.xml new file mode 100644 index 00000000..fcd223bc --- /dev/null +++ b/xml/playercards/FamilyInheritance.xml @@ -0,0 +1,37 @@ + +