update certain cards onHover

This commit is contained in:
Chr1Z93 2023-04-07 23:43:24 +02:00
parent 1653290b3a
commit 6f795dfc82
3 changed files with 9 additions and 16 deletions

View File

@ -2,8 +2,8 @@
This file is used to add sealing option to cards' context menu. This file is used to add sealing option to cards' context menu.
Valid options (set before requiring this file): Valid options (set before requiring this file):
SHOW_READ_BAG --@type: boolean UPDATE_ON_HOVER --@type: boolean
- enables an entry in the context menu - automatically updates the context menu options when the card is hovered
- the "Read Bag" function reads the content of the chaos bag to update the context menu - the "Read Bag" function reads the content of the chaos bag to update the context menu
- example usage: "Unrelenting" (to only display valid tokens) - example usage: "Unrelenting" (to only display valid tokens)
@ -49,7 +49,7 @@ Thus it should be implemented like this:
> ["+1"] = true, > ["+1"] = true,
> ["Elder Sign"] = true > ["Elder Sign"] = true
> } > }
> require("playercards/CardsThatSealTokens") > require ("playercards/CardsThatSealTokens") -- includes a space after "require" to not executing bundling
---------------------------------------------------------- ----------------------------------------------------------
Example 2: Holy Spear Example 2: Holy Spear
This card features the following abilities (just listing the relevant parts): This card features the following abilities (just listing the relevant parts):
@ -62,7 +62,7 @@ Thus it should be implemented like this:
> } > }
> SHOW_SINGLE_RELEASE = true > SHOW_SINGLE_RELEASE = true
> SHOW_MULTI_SEAL = 2 > SHOW_MULTI_SEAL = 2
> require("playercards/CardsThatSealTokens") > require ("playercards/CardsThatSealTokens") -- includes a space after "require" to not executing bundling
----------------------------------------------------------]] ----------------------------------------------------------]]
local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi") local blessCurseManagerApi = require("chaosbag/BlessCurseManagerApi")
@ -81,14 +81,6 @@ end
-- builds the context menu -- builds the context menu
function generateContextMenu() function generateContextMenu()
self.clearContextMenu()
-- only show this for cards that need a dynamic list of tokens (for example 'Unrelenting')
if SHOW_READ_BAG then
self.addContextMenuItem("Update list", generateContextMenu)
readBag()
end
-- conditional single or multi release options -- conditional single or multi release options
if SHOW_SINGLE_RELEASE then if SHOW_SINGLE_RELEASE then
self.addContextMenuItem("Release token", releaseOneToken) self.addContextMenuItem("Release token", releaseOneToken)
@ -100,7 +92,7 @@ function generateContextMenu()
-- main context menu options to seal tokens -- main context menu options to seal tokens
for _, map in pairs(ID_URL_MAP) do for _, map in pairs(ID_URL_MAP) do
if (VALID_TOKENS[map.name] ~= nil) or (SHOW_READ_BAG and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then if (VALID_TOKENS[map.name] ~= nil) or (UPDATE_ON_HOVER and tokensInBag[map.name] and not INVALID_TOKENS[map.name]) then
if not SHOW_MULTI_SEAL then if not SHOW_MULTI_SEAL then
self.addContextMenuItem("Seal " .. map.name, function(playerColor) self.addContextMenuItem("Seal " .. map.name, function(playerColor)
sealToken(map.name, playerColor) sealToken(map.name, playerColor)
@ -143,8 +135,9 @@ end
-- native event from TTS - used to update the context menu for cards like "Unrelenting" -- native event from TTS - used to update the context menu for cards like "Unrelenting"
function onHover() function onHover()
if SHOW_READ_BAG then if UPDATE_ON_HOVER then
readBag() readBag()
self.clearContextMenu()
generateContextMenu() generateContextMenu()
end end
end end

View File

@ -4,6 +4,6 @@ INVALID_TOKENS = {
["Auto-fail"] = true ["Auto-fail"] = true
} }
SHOW_READ_BAG = true UPDATE_ON_HOVER = true
require("playercards/CardsThatSealTokens") require("playercards/CardsThatSealTokens")

View File

@ -1,6 +1,6 @@
VALID_TOKENS = {} VALID_TOKENS = {}
INVALID_TOKENS = {} INVALID_TOKENS = {}
SHOW_READ_BAG = true UPDATE_ON_HOVER = true
require("playercards/CardsThatSealTokens") require("playercards/CardsThatSealTokens")