diff --git a/src/arkhamdb/ArkhamDb.ttslua b/src/arkhamdb/ArkhamDb.ttslua index 9cdd456c..34645a5e 100644 --- a/src/arkhamdb/ArkhamDb.ttslua +++ b/src/arkhamdb/ArkhamDb.ttslua @@ -168,18 +168,13 @@ do --- if a weakness is added. internal.maybeDrawRandomWeakness = function(slots, playerColor) local allCardsBag = getObjectFromGUID(configuration.card_bag_guid) - local randomWeaknessAmount = 0 - for cardId, cardCount in pairs(slots) do - if cardId == RANDOM_WEAKNESS_ID then - randomWeaknessAmount = cardCount - break - end - end + local randomWeaknessAmount = slots[RANDOM_WEAKNESS_ID] or 0 + slots[RANDOM_WEAKNESS_ID] = nil + if randomWeaknessAmount ~= 0 then for i=1, randomWeaknessAmount do local weaknessId = allCardsBag.call("getRandomWeaknessId") - slots[weaknessId] = 1 - slots[RANDOM_WEAKNESS_ID] = nil + slots[weaknessId] = (slots[weaknessId] or 0) + 1 end internal.maybePrint("Added " .. randomWeaknessAmount .. " random basic weakness(es) to deck", playerColor) end