Merge pull request #347 from argonui/pete-deckbuilder
Deckbuilder Updates
This commit is contained in:
commit
fea12454de
@ -2,7 +2,6 @@
|
||||
"id": "02014",
|
||||
"type": "Asset",
|
||||
"class": "Neutral",
|
||||
"startsInPlay": true,
|
||||
"cost": 2,
|
||||
"traits": "Ally. Creature.",
|
||||
"cycle": "The Dunwich Legacy"
|
||||
|
@ -167,18 +167,20 @@ do
|
||||
--- if a weakness is added.
|
||||
internal.maybeDrawRandomWeakness = function(slots, playerColor)
|
||||
local allCardsBag = getObjectFromGUID(configuration.card_bag_guid)
|
||||
local hasRandomWeakness = false
|
||||
local randomWeaknessAmount = 0
|
||||
for cardId, cardCount in pairs(slots) do
|
||||
if cardId == RANDOM_WEAKNESS_ID then
|
||||
hasRandomWeakness = true
|
||||
randomWeaknessAmount = cardCount
|
||||
break
|
||||
end
|
||||
end
|
||||
if hasRandomWeakness then
|
||||
local weaknessId = allCardsBag.call("getRandomWeaknessId")
|
||||
slots[weaknessId] = 1
|
||||
slots[RANDOM_WEAKNESS_ID] = nil
|
||||
internal.maybePrint("Random basic weakness added to deck", playerColor)
|
||||
if randomWeaknessAmount ~= 0 then
|
||||
for i=1, randomWeaknessAmount do
|
||||
local weaknessId = allCardsBag.call("getRandomWeaknessId")
|
||||
slots[weaknessId] = 1
|
||||
slots[RANDOM_WEAKNESS_ID] = nil
|
||||
end
|
||||
internal.maybePrint("Added " .. randomWeaknessAmount .. " random basic weakness(es) to deck", playerColor)
|
||||
end
|
||||
end
|
||||
|
||||
@ -199,7 +201,7 @@ do
|
||||
local altArt = { front = "normal", back = "normal" }
|
||||
|
||||
-- translating front ID
|
||||
if altFrontId > 90000 and altFrontId < 90038 then
|
||||
if altFrontId > 90000 and altFrontId < 90047 then
|
||||
altArt.front = "parallel"
|
||||
elseif altFrontId > 01500 and altFrontId < 01506 then
|
||||
altArt.front = "revised"
|
||||
@ -208,7 +210,7 @@ do
|
||||
end
|
||||
|
||||
-- translating back ID
|
||||
if altBackId > 90000 and altBackId < 90038 then
|
||||
if altBackId > 90000 and altBackId < 90047 then
|
||||
altArt.back = "parallel"
|
||||
elseif altBackId > 01500 and altBackId < 01506 then
|
||||
altArt.back = "revised"
|
||||
@ -233,6 +235,7 @@ do
|
||||
end
|
||||
end
|
||||
slots[investigatorId] = 1
|
||||
deck.investigator_code = investigatorId
|
||||
return loadAltInvestigator
|
||||
end
|
||||
|
||||
|
@ -91,6 +91,7 @@ function loadCards(slots, investigatorId, bondedList, customizations, playerColo
|
||||
handleUnderworldMarket(cardsToSpawn, playerColor)
|
||||
handleHunchDeck(investigatorId, cardsToSpawn, playerColor)
|
||||
handleCustomizableUpgrades(cardsToSpawn, customizations)
|
||||
handlePeteSignatureAssets(investigatorId, cardsToSpawn)
|
||||
|
||||
-- Split the card list into separate lists for each zone
|
||||
local zoneDecks = buildZoneLists(cardsToSpawn)
|
||||
@ -392,6 +393,27 @@ function handleCustomizableUpgrades(cardList, customizations)
|
||||
end
|
||||
end
|
||||
|
||||
-- Handles cards that start in play under specific conditions for Ashcan Pete (Regular Pete - Duke, Parallel Pete - Guitar)
|
||||
---@param investigatorId String ID for the deck's investigator card. Passed separately because the
|
||||
--- investigator may not be included in the cardList
|
||||
---@param cardList Table Deck list being created
|
||||
function handlePeteSignatureAssets(investigatorId, cardList)
|
||||
log(investigatorId)
|
||||
if investigatorId == "02005" or investigatorId == "02005-pb" then -- regular Pete's front
|
||||
for i, card in ipairs(cardList) do
|
||||
if card.metadata.id == "02014" then -- Duke
|
||||
card.zone = "BlankTop"
|
||||
end
|
||||
end
|
||||
elseif investigatorId == "02005-p" or investigatorId == "02005-pf" then -- parallel Pete's front
|
||||
for i, card in ipairs(cardList) do
|
||||
if card.metadata.id == "90047" then -- Pete's Guitar
|
||||
card.zone = "BlankTop"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Callback function for investigator cards and minicards to set the correct state for alt art
|
||||
---@param card Object Card which needs to be set the state for
|
||||
---@param loadAltInvestigator String Contains the name of alternative art for the investigator ("normal", "revised" or "promo")
|
||||
|
Loading…
Reference in New Issue
Block a user