diff --git a/objects/AllPlayerCards.15bb07.json b/objects/AllPlayerCards.15bb07.json index f0715db7..8bfd51e7 100644 --- a/objects/AllPlayerCards.15bb07.json +++ b/objects/AllPlayerCards.15bb07.json @@ -1557,7 +1557,14 @@ "StallforTime.7b6ed1", "WrongPlaceRightTime.d5944e", "SparrowMask.975d79", - "Pitchfork.45a724" + "Pitchfork.45a724", + "JimsTrumpet.7dfd5f", + "JimCulverParallel.72bf31", + "JimCulverParallelFront.c5fc80", + "VengefulShade.73bc8e", + "FinalRhapsody.561775", + "JimCulverParallelBack.aba863", + "TheBeyond.37ab47" ], "ContainedObjects_path": "AllPlayerCards.15bb07", "Description": "", diff --git a/objects/AllPlayerCards.15bb07/FinalRhapsody.561775.gmnotes b/objects/AllPlayerCards.15bb07/FinalRhapsody.561775.gmnotes new file mode 100644 index 00000000..2de709b7 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/FinalRhapsody.561775.gmnotes @@ -0,0 +1,8 @@ +{ + "id": "90051", + "type": "Treachery", + "class": "Neutral", + "traits": "Endtimes.", + "weakness": true, + "cycle": "The Dunwich Legacy" +} diff --git a/objects/AllPlayerCards.15bb07/FinalRhapsody.561775.json b/objects/AllPlayerCards.15bb07/FinalRhapsody.561775.json new file mode 100644 index 00000000..7a278bf8 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/FinalRhapsody.561775.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 847001, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8470": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2149964195986880793/517FBB4FF8F72900B9E123DB865BCAD625F6506C/", + "NumHeight": 2, + "NumWidth": 2, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "Advanced", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/FinalRhapsody.561775.gmnotes", + "GUID": "561775", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Final Rhapsody", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 78.419, + "posY": 3.193, + "posZ": 23.541, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/JimCulverParallel.72bf31.gmnotes b/objects/AllPlayerCards.15bb07/JimCulverParallel.72bf31.gmnotes new file mode 100644 index 00000000..c036d5ae --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimCulverParallel.72bf31.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "02004-p", + "type": "Investigator", + "class": "Mystic", + "traits": "Performer. Cursed.", + "willpowerIcons": 4, + "intellectIcons": 3, + "combatIcons": 3, + "agilityIcons": 2, + "cycle": "The Dunwich Legacy" +} diff --git a/objects/AllPlayerCards.15bb07/JimCulverParallel.72bf31.json b/objects/AllPlayerCards.15bb07/JimCulverParallel.72bf31.json new file mode 100644 index 00000000..f4c4e241 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimCulverParallel.72bf31.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 846700, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8467": { + "BackIsHidden": false, + "BackURL": "http://cloud-3.steamusercontent.com/ugc/2149964195987018702/54C63785F3AA474F635F58BC506C86A318432BD7/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2149964195987018793/0AED4BF62C4FF3206778AD36FDB9C8E482CD3F9E/", + "NumHeight": 2, + "NumWidth": 4, + "Type": 0, + "UniqueBack": true + } + }, + "Description": "The Musician", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/JimCulverParallel.72bf31.gmnotes", + "GUID": "72bf31", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Jim Culver (Parallel)", + "SidewaysCard": true, + "Snap": true, + "Sticky": true, + "Tags": [ + "Investigator", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 82.182, + "posY": 3.193, + "posZ": 26.386, + "rotX": 0, + "rotY": 180, + "rotZ": 0, + "scaleX": 1.15, + "scaleY": 1, + "scaleZ": 1.15 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/JimCulverParallelBack.aba863.gmnotes b/objects/AllPlayerCards.15bb07/JimCulverParallelBack.aba863.gmnotes new file mode 100644 index 00000000..deb5956d --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimCulverParallelBack.aba863.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "02004-pb", + "type": "Investigator", + "class": "Mystic", + "traits": "Performer.", + "willpowerIcons": 4, + "intellectIcons": 3, + "combatIcons": 3, + "agilityIcons": 2, + "cycle": "The Dunwich Legacy" +} diff --git a/objects/AllPlayerCards.15bb07/JimCulverParallelBack.aba863.json b/objects/AllPlayerCards.15bb07/JimCulverParallelBack.aba863.json new file mode 100644 index 00000000..a889c972 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimCulverParallelBack.aba863.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 846805, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8468": { + "BackIsHidden": false, + "BackURL": "http://cloud-3.steamusercontent.com/ugc/2149964195987018702/54C63785F3AA474F635F58BC506C86A318432BD7/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737050/3CFF9E3825033909543AD1CF843361D9243538EE/", + "NumHeight": 2, + "NumWidth": 4, + "Type": 0, + "UniqueBack": true + } + }, + "Description": "The Musician", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/JimCulverParallelBack.aba863.gmnotes", + "GUID": "aba863", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Jim Culver (Parallel Back)", + "SidewaysCard": true, + "Snap": true, + "Sticky": true, + "Tags": [ + "Investigator", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 82.206, + "posY": 3.193, + "posZ": 18.459, + "rotX": 0, + "rotY": 180, + "rotZ": 0, + "scaleX": 1.15, + "scaleY": 1, + "scaleZ": 1.15 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.gmnotes b/objects/AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.gmnotes new file mode 100644 index 00000000..0ef4a3db --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.gmnotes @@ -0,0 +1,11 @@ +{ + "id": "02004-pf", + "type": "Investigator", + "class": "Mystic", + "traits": "Performer. Cursed.", + "willpowerIcons": 4, + "intellectIcons": 3, + "combatIcons": 3, + "agilityIcons": 2, + "cycle": "The Dunwich Legacy" +} diff --git a/objects/AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.json b/objects/AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.json new file mode 100644 index 00000000..42900417 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 846905, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8469": { + "BackIsHidden": false, + "BackURL": "http://cloud-3.steamusercontent.com/ugc/1656727981627737648/F371339538812F68E38AAC0D520C525250DAC5C0/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2149964195987018793/0AED4BF62C4FF3206778AD36FDB9C8E482CD3F9E/", + "NumHeight": 2, + "NumWidth": 4, + "Type": 0, + "UniqueBack": true + } + }, + "Description": "The Musician", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/JimCulverParallelFront.c5fc80.gmnotes", + "GUID": "c5fc80", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": false, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Jim Culver (Parallel Front)", + "SidewaysCard": true, + "Snap": true, + "Sticky": true, + "Tags": [ + "Investigator", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 82.087, + "posY": 3.193, + "posZ": 22.484, + "rotX": 0, + "rotY": 180, + "rotZ": 0, + "scaleX": 1.15, + "scaleY": 1, + "scaleZ": 1.15 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/JimsTrumpet.03c6a7.json b/objects/AllPlayerCards.15bb07/JimsTrumpet.03c6a7.json index 87b03ade..4d0078bf 100644 --- a/objects/AllPlayerCards.15bb07/JimsTrumpet.03c6a7.json +++ b/objects/AllPlayerCards.15bb07/JimsTrumpet.03c6a7.json @@ -22,7 +22,7 @@ "UniqueBack": false } }, - "Description": "", + "Description": "The Dead Listen", "DragSelectable": true, "GMNotes_path": "AllPlayerCards.15bb07/JimsTrumpet.03c6a7.gmnotes", "GUID": "03c6a7", diff --git a/objects/AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.gmnotes b/objects/AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.gmnotes new file mode 100644 index 00000000..9d01e91c --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.gmnotes @@ -0,0 +1,10 @@ +{ + "id": "90050", + "type": "Asset", + "class": "Neutral", + "cost": 2, + "traits": "Item. Instrument. Relic.", + "willpowerIcons": 2, + "wildIcons": 2, + "cycle": "The Dunwich Legacy" +} diff --git a/objects/AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.json b/objects/AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.json new file mode 100644 index 00000000..67d9855d --- /dev/null +++ b/objects/AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 847000, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8470": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2149964195986880793/517FBB4FF8F72900B9E123DB865BCAD625F6506C/", + "NumHeight": 2, + "NumWidth": 2, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "The Dead Speak (Advanced)", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/JimsTrumpet.7dfd5f.gmnotes", + "GUID": "7dfd5f", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Jim's Trumpet", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 78.511, + "posY": 3.229, + "posZ": 27.011, + "rotX": 359, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/TheBeyond.37ab47.gmnotes b/objects/AllPlayerCards.15bb07/TheBeyond.37ab47.gmnotes new file mode 100644 index 00000000..9a48acb1 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/TheBeyond.37ab47.gmnotes @@ -0,0 +1,8 @@ +{ + "id": "90052", + "type": "Asset", + "class": "Neutral", + "permanent": true, + "startsInPlay": true, + "cycle": "Laid to Rest" +} diff --git a/objects/AllPlayerCards.15bb07/TheBeyond.37ab47.json b/objects/AllPlayerCards.15bb07/TheBeyond.37ab47.json new file mode 100644 index 00000000..0f148737 --- /dev/null +++ b/objects/AllPlayerCards.15bb07/TheBeyond.37ab47.json @@ -0,0 +1,62 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 847100, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8471": { + "BackIsHidden": true, + "BackURL": "http://cloud-3.steamusercontent.com/ugc/2149964195986881059/864F6EBBD2900ED6D145B8AF12F2F8C180375C83/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2149964195986880989/13172BC914A0D729B4EFD9845FA9FDFCAB6F77F7/", + "NumHeight": 1, + "NumWidth": 1, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "Bleak Netherworld", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/TheBeyond.37ab47.gmnotes", + "GUID": "37ab47", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "CardCustom", + "Nickname": "The Beyond", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "Asset", + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 78.532, + "posY": 3.193, + "posZ": 17.888, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/VengefulShade.73bc8e.gmnotes b/objects/AllPlayerCards.15bb07/VengefulShade.73bc8e.gmnotes new file mode 100644 index 00000000..dfe8ea6e --- /dev/null +++ b/objects/AllPlayerCards.15bb07/VengefulShade.73bc8e.gmnotes @@ -0,0 +1,8 @@ +{ + "id": "90053", + "type": "Enemy", + "class": "Neutral", + "traits": "Monster. Geist", + "weakness": true, + "cycle": "Laid to Rest" +} diff --git a/objects/AllPlayerCards.15bb07/VengefulShade.73bc8e.json b/objects/AllPlayerCards.15bb07/VengefulShade.73bc8e.json new file mode 100644 index 00000000..6c08b1dc --- /dev/null +++ b/objects/AllPlayerCards.15bb07/VengefulShade.73bc8e.json @@ -0,0 +1,61 @@ +{ + "AltLookAngle": { + "x": 0, + "y": 0, + "z": 0 + }, + "Autoraise": true, + "CardID": 847002, + "ColorDiffuse": { + "b": 0.71324, + "g": 0.71324, + "r": 0.71324 + }, + "CustomDeck": { + "8470": { + "BackIsHidden": false, + "BackURL": "https://i.imgur.com/EcbhVuh.jpg/", + "FaceURL": "http://cloud-3.steamusercontent.com/ugc/2149964195986880793/517FBB4FF8F72900B9E123DB865BCAD625F6506C/", + "NumHeight": 2, + "NumWidth": 2, + "Type": 0, + "UniqueBack": false + } + }, + "Description": "", + "DragSelectable": true, + "GMNotes_path": "AllPlayerCards.15bb07/VengefulShade.73bc8e.gmnotes", + "GUID": "73bc8e", + "Grid": true, + "GridProjection": false, + "Hands": true, + "HideWhenFaceDown": true, + "IgnoreFoW": false, + "LayoutGroupSortIndex": 0, + "Locked": false, + "LuaScript": "", + "LuaScriptState": "", + "MeasureMovement": false, + "Name": "Card", + "Nickname": "Vengeful Shade", + "SidewaysCard": false, + "Snap": true, + "Sticky": true, + "Tags": [ + "PlayerCard" + ], + "Tooltip": true, + "Transform": { + "posX": 78.455, + "posY": 3.193, + "posZ": 20.547, + "rotX": 0, + "rotY": 270, + "rotZ": 0, + "scaleX": 1, + "scaleY": 1, + "scaleZ": 1 + }, + "Value": 0, + "XmlUI": "" +} diff --git a/objects/AllPlayerCards.15bb07/WendyAdamsParallel.fd91ea.gmnotes b/objects/AllPlayerCards.15bb07/WendyAdamsParallel.fd91ea.gmnotes index 8b5f597e..e830788b 100644 --- a/objects/AllPlayerCards.15bb07/WendyAdamsParallel.fd91ea.gmnotes +++ b/objects/AllPlayerCards.15bb07/WendyAdamsParallel.fd91ea.gmnotes @@ -2,7 +2,7 @@ "id": "01005-p", "type": "Investigator", "class": "Survivor", - "traits": "Drifter.", + "traits": "Drifter. Blessed. Cursed.", "willpowerIcons": 4, "intellectIcons": 3, "combatIcons": 1, diff --git a/objects/AllPlayerCards.15bb07/WendyAdamsParallelFront.61503e.gmnotes b/objects/AllPlayerCards.15bb07/WendyAdamsParallelFront.61503e.gmnotes index 7a646c64..b9c0e161 100644 --- a/objects/AllPlayerCards.15bb07/WendyAdamsParallelFront.61503e.gmnotes +++ b/objects/AllPlayerCards.15bb07/WendyAdamsParallelFront.61503e.gmnotes @@ -2,7 +2,7 @@ "id": "01005-pf", "type": "Investigator", "class": "Survivor", - "traits": "Drifter.", + "traits": "Drifter. Blessed. Cursed.", "willpowerIcons": 4, "intellectIcons": 3, "combatIcons": 1, diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index 0b8c9621..d41da134 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -198,7 +198,7 @@ do local altArt = { front = "normal", back = "normal" } -- translating front ID - if altFrontId > 90000 and altFrontId < 90047 then + if altFrontId > 90000 and altFrontId < 90050 then altArt.front = "parallel" elseif altFrontId > 01500 and altFrontId < 01506 then altArt.front = "revised" @@ -207,7 +207,7 @@ do end -- translating back ID - if altBackId > 90000 and altBackId < 90047 then + if altBackId > 90000 and altBackId < 90050 then altArt.back = "parallel" elseif altBackId > 01500 and altBackId < 01506 then altArt.back = "revised" diff --git a/src/arkhamdb/DeckImporterMain.ttslua b/src/arkhamdb/DeckImporterMain.ttslua index a258be00..b839bfb3 100644 --- a/src/arkhamdb/DeckImporterMain.ttslua +++ b/src/arkhamdb/DeckImporterMain.ttslua @@ -88,6 +88,7 @@ function loadCards(slots, investigatorId, bondedList, customizations, playerColo handleAncestralKnowledge(cardsToSpawn) handleUnderworldMarket(cardsToSpawn, playerColor) handleHunchDeck(investigatorId, cardsToSpawn, playerColor) + handleSpiritDeck(investigatorId, cardsToSpawn, playerColor) handleCustomizableUpgrades(cardsToSpawn, customizations) handlePeteSignatureAssets(investigatorId, cardsToSpawn) @@ -322,6 +323,48 @@ function handleHunchDeck(investigatorId, cardList, playerColor) end end +-- If the investigator is Parallel Jim Culver, extract all Ally assets to SetAside5 to build the Spirit +-- Deck. +---@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 +---@param playerColor String Color this deck is being loaded for +function handleSpiritDeck(investigatorId, cardList, playerColor) + if investigatorId == "02004-p" or investigatorId == "02004-pb" then -- Parallel Jim Culver + local spiritList = {} + for i, card in ipairs(cardList) do + if card.metadata.id == "90053" or ( + card.metadata.type == "Asset" + and card.metadata.traits ~= nil + and string.match(card.metadata.traits, "Ally") + and card.metadata.level ~= nil + and card.metadata.level < 3) then + table.insert(spiritList, i) + end + end + -- Process allies to move them to the spirit deck. This is done in reverse + -- order because the sorting needs to be reversed (deck sorts for face down) + -- Performance here may be an issue, as table.remove() is an O(n) operation + -- which makes the full shift O(n^2). But keep it simple unless it becomes + -- a problem + for i = #spiritList, 1, -1 do + local moving = cardList[spiritList[i]] + moving.zone = "SetAside5" + table.remove(cardList, spiritList[i]) + table.insert(cardList, moving) + end + if #spiritList < 10 then + printToAll("Jim's spirit deck must have 9 Ally assets but the deck only has " .. (#spiritList - 1) .. + " Ally assets.", playerColor) + elseif #spiritList > 11 then + printToAll("Moved all " .. (#spiritList - 1) .. + " Ally assets to the spirit deck, reduce it to 10 (including Vengeful Shade).", playerColor) + else + printToAll("Built Jim's spirit deck", playerColor) + end + end +end + -- 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 ---@param cardList Table Deck list being created diff --git a/src/playercards/PlayerCardPanelData.ttslua b/src/playercards/PlayerCardPanelData.ttslua index 0ca5bc75..fff27191 100644 --- a/src/playercards/PlayerCardPanelData.ttslua +++ b/src/playercards/PlayerCardPanelData.ttslua @@ -245,9 +245,9 @@ INVESTIGATORS["Jenny Barnes"] = { starterDeck = "2624961" } INVESTIGATORS["Jim Culver"] = { - cards = { "02004" }, + cards = { "02004", "02004-p", "02004-pf", "02004-pb" }, minicards = { "02004-m" }, - signatures = { "02012", "02013" }, + signatures = { "02012", "02013", "90050", "90051", "90052", "90053" }, starterDeck = "2624965" } INVESTIGATORS["\"Ashcan\" Pete"] = {