diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index f14afc03..627dec38 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -102,9 +102,9 @@ do if (adbCardInfo.xp ~= nil and adbCardInfo.xp > 0) then cardName = cardName .. " (" .. adbCardInfo.xp .. ")" end - internal.maybePrint("Card not found: " .. cardName .. ", ArkhamDB ID " .. cardId, playerColor) + internal.maybePrint("Card not found: " .. cardName .. ", card ID " .. cardId, playerColor) else - internal.maybePrint("Card not found in ArkhamDB, ID " .. cardId, playerColor) + internal.maybePrint("Card not found in ArkhamDB/Index, ID " .. cardId, playerColor) end end) end @@ -147,7 +147,7 @@ do loadAltInvestigator = internal.addInvestigatorCards(deck, slots) end - internal.maybeModifyDeckFromDescription(slots, deck.description_md) + internal.maybeModifyDeckFromDescription(slots, deck.description_md, playerColor) internal.maybeAddSummonedServitor(slots) internal.maybeAddOnTheMend(slots, playerColor) internal.maybeAddRealityAcidReference(slots) @@ -292,7 +292,7 @@ do -- Processes the deck description from ArkhamDB and modifies the slot list accordingly ---@param slots Table The slot list for cards in this deck. Table key is the cardId, value is the number ---@param description String The deck desription from ArkhamDB - internal.maybeModifyDeckFromDescription = function(slots, description) + internal.maybeModifyDeckFromDescription = function(slots, description, playerColor) -- check for import instructions local pos = string.find(description, "++SCED import instructions++") if not pos then return end @@ -326,7 +326,10 @@ do if instructor == "add:" then slots[str] = (slots[str] or 0) + 1 elseif instructor == "remove:" then - if slots[str] == nil then break end + if slots[str] == nil then + internal.maybePrint("Tried to remove " .. str .. ", but didn't find card in deck.", playerColor) + break + end slots[str] = math.max(slots[str] - 1, 0) -- also remove related minicard