updated documentation
This commit is contained in:
parent
49c3c170ef
commit
7660e47bcd
@ -38,15 +38,8 @@ customizationRowsWithFields["09101"].inputMap[1] = 1
|
|||||||
customizationRowsWithFields["09101"].inputMap[2] = 2
|
customizationRowsWithFields["09101"].inputMap[2] = 2
|
||||||
customizationRowsWithFields["09101"].inputMap[3] = 3
|
customizationRowsWithFields["09101"].inputMap[3] = 3
|
||||||
|
|
||||||
local function fixUtf16String(str)
|
|
||||||
return str:gsub("\\u(%w%w%w%w)", function(match)
|
|
||||||
return string.char(tonumber(match, 16))
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
|
|
||||||
function onLoad(script_state)
|
function onLoad(script_state)
|
||||||
local state = JSON.decode(script_state)
|
initializeUi(JSON.decode(script_state))
|
||||||
initializeUi(state)
|
|
||||||
math.randomseed(os.time())
|
math.randomseed(os.time())
|
||||||
arkhamDb.initialize()
|
arkhamDb.initialize()
|
||||||
end
|
end
|
||||||
@ -55,8 +48,8 @@ function onSave() return JSON.encode(getUiState()) end
|
|||||||
|
|
||||||
-- Returns the zone name where the specified card should be placed, based on its metadata.
|
-- Returns the zone name where the specified card should be placed, based on its metadata.
|
||||||
---@param cardMetadata Table of card metadata.
|
---@param cardMetadata Table of card metadata.
|
||||||
---@return Zone name such as "Deck", "SetAside1", etc. See Zones object documentation for a list of
|
---@return Zone String Name of the zone such as "Deck", "SetAside1", etc.
|
||||||
--- valid zones.
|
-- See Zones object documentation for a list of valid zones.
|
||||||
function getDefaultCardZone(cardMetadata, bondedList)
|
function getDefaultCardZone(cardMetadata, bondedList)
|
||||||
if (cardMetadata.id == "09080-m") then -- Have to check the Servitor before other minicards
|
if (cardMetadata.id == "09080-m") then -- Have to check the Servitor before other minicards
|
||||||
return "SetAside6"
|
return "SetAside6"
|
||||||
@ -96,15 +89,15 @@ end
|
|||||||
-- This is a callback function which handles the results of ArkhamDb.getDecklist()
|
-- This is a callback function which handles the results of ArkhamDb.getDecklist()
|
||||||
-- This method uses an encapsulated coroutine with yields to make the card spawning cleaner.
|
-- This method uses an encapsulated coroutine with yields to make the card spawning cleaner.
|
||||||
--
|
--
|
||||||
---@param slots Key-Value table of cardId:count. cardId is the ArkhamDB ID of the card to spawn,
|
---@param slots Table Key-Value table of cardId:count. cardId is the ArkhamDB ID of the card to spawn,
|
||||||
--- and count is the number which should be spawned
|
-- and count is the number which should be spawned
|
||||||
---@param investigatorId String ArkhamDB ID (code) for this deck's investigator.
|
---@param investigatorId String ArkhamDB ID (code) for this deck's investigator.
|
||||||
-- Investigator cards should already be added to the slots list if they
|
-- Investigator cards should already be added to the slots list if they
|
||||||
-- should be spawned, but this value is separate to check for special
|
-- should be spawned, but this value is separate to check for special
|
||||||
-- handling for certain investigators
|
-- handling for certain investigators
|
||||||
---@param bondedList A table of cardID keys to meaningless values. Card IDs in this list were added
|
---@param bondedList Table A table of cardID keys to meaningless values. Card IDs in this list were added
|
||||||
--- from a parent bonded card.
|
-- from a parent bonded card.
|
||||||
---@param customizations ArkhamDB data for customizations on customizable cards
|
---@param customizations String ArkhamDB data for customizations on customizable cards
|
||||||
---@param playerColor String Color name of the player mat to place this deck on (e.g. "Red")
|
---@param playerColor String Color name of the player mat to place this deck on (e.g. "Red")
|
||||||
function loadCards(slots, investigatorId, bondedList, customizations, playerColor)
|
function loadCards(slots, investigatorId, bondedList, customizations, playerColor)
|
||||||
function coinside()
|
function coinside()
|
||||||
@ -180,8 +173,8 @@ end
|
|||||||
|
|
||||||
-- Callback handler for the main deck spawning. Looks for cards which should start in hand, and
|
-- Callback handler for the main deck spawning. Looks for cards which should start in hand, and
|
||||||
-- draws them for the appropriate player.
|
-- draws them for the appropriate player.
|
||||||
-- @param deck Callback-provided spawned deck object
|
---@param deck Object Callback-provided spawned deck object
|
||||||
-- @param playerColor Color of the player to draw the cards to
|
---@param playerColor String Color of the player to draw the cards to
|
||||||
function deckSpawned(deck, playerColor)
|
function deckSpawned(deck, playerColor)
|
||||||
local handPos = Player[playerColor].getHandTransform(1).position -- Only one hand zone per player
|
local handPos = Player[playerColor].getHandTransform(1).position -- Only one hand zone per player
|
||||||
local deckCards = deck.getData().ContainedObjects
|
local deckCards = deck.getData().ContainedObjects
|
||||||
@ -196,8 +189,8 @@ end
|
|||||||
|
|
||||||
-- Conver the Raven Quill's selections from card IDs to card names. This could be more elegant
|
-- Conver the Raven Quill's selections from card IDs to card names. This could be more elegant
|
||||||
-- but the inputs are very static so we're using some brute force.
|
-- but the inputs are very static so we're using some brute force.
|
||||||
-- @param An ArkhamDB string indicating the customization selections for The Raven's Quill. Should
|
---@param selectionString String provided by ArkhamDB, indicates the customization selections
|
||||||
-- be either a single card ID or two separated by a ^ (e.g. XXXXX^YYYYY)
|
-- Should be either a single card ID or two separated by a ^ (e.g. XXXXX^YYYYY)
|
||||||
function convertRavenQuillSelections(selectionString)
|
function convertRavenQuillSelections(selectionString)
|
||||||
if (string.len(selectionString) == 5) then
|
if (string.len(selectionString) == 5) then
|
||||||
return getCardName(selectionString)
|
return getCardName(selectionString)
|
||||||
@ -238,7 +231,7 @@ function buildZoneLists(cards)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Check to see if the deck list has Ancestral Knowledge. If it does, move 5 random skills to SetAside3
|
-- Check to see if the deck list has Ancestral Knowledge. If it does, move 5 random skills to SetAside3
|
||||||
---@param cardList Deck list being created
|
---@param cardList Table Deck list being created
|
||||||
function handleAncestralKnowledge(cardList)
|
function handleAncestralKnowledge(cardList)
|
||||||
local hasAncestralKnowledge = false
|
local hasAncestralKnowledge = false
|
||||||
local skillList = {}
|
local skillList = {}
|
||||||
@ -264,8 +257,8 @@ function handleAncestralKnowledge(cardList)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Check for and handle Underworld Market by moving all Illicit cards to UnderSetAside3
|
-- Check for and handle Underworld Market by moving all Illicit cards to UnderSetAside3
|
||||||
---@param cardList Deck list being created
|
---@param cardList Table Deck list being created
|
||||||
---@param playerColor Color this deck is being loaded for
|
---@param playerColor String Color this deck is being loaded for
|
||||||
function handleUnderworldMarket(cardList, playerColor)
|
function handleUnderworldMarket(cardList, playerColor)
|
||||||
local hasMarket = false
|
local hasMarket = false
|
||||||
local illicitList = {}
|
local illicitList = {}
|
||||||
@ -313,10 +306,10 @@ end
|
|||||||
|
|
||||||
-- If the investigator is Joe Diamond, extract all Insight events to SetAside5 to build the Hunch
|
-- If the investigator is Joe Diamond, extract all Insight events to SetAside5 to build the Hunch
|
||||||
-- Deck.
|
-- Deck.
|
||||||
---@param investigatorId ID for the deck's investigator card. Passed separately because the
|
---@param investigatorId String ID for the deck's investigator card. Passed separately because the
|
||||||
--- investigator may not be included in the cardList
|
--- investigator may not be included in the cardList
|
||||||
---@param cardList Deck list being created
|
---@param cardList Table Deck list being created
|
||||||
---@param playerColor Color this deck is being loaded for
|
---@param playerColor String Color this deck is being loaded for
|
||||||
function handleHunchDeck(investigatorId, cardList, playerColor)
|
function handleHunchDeck(investigatorId, cardList, playerColor)
|
||||||
if investigatorId == "05002" then -- Joe Diamond
|
if investigatorId == "05002" then -- Joe Diamond
|
||||||
local insightList = {}
|
local insightList = {}
|
||||||
@ -353,8 +346,8 @@ end
|
|||||||
|
|
||||||
-- For any customization upgrade cards in the card list, process the metadata from the deck to
|
-- For any customization upgrade cards in the card list, process the metadata from the deck to
|
||||||
-- set the save state to show the correct checkboxes/text field values
|
-- set the save state to show the correct checkboxes/text field values
|
||||||
---@param cardList Deck list being created
|
---@param cardList Table Deck list being created
|
||||||
---@param customizations Deck's meta table, extracted from ArkhamDB's deck structure
|
---@param customizations Table Deck's meta table, extracted from ArkhamDB's deck structure
|
||||||
function handleCustomizableUpgrades(cardList, customizations)
|
function handleCustomizableUpgrades(cardList, customizations)
|
||||||
for _, card in ipairs(cardList) do
|
for _, card in ipairs(cardList) do
|
||||||
if card.metadata.type == "UpgradeSheet" then
|
if card.metadata.type == "UpgradeSheet" then
|
||||||
|
Loading…
Reference in New Issue
Block a user