Merge pull request #687 from argonui/encounter-empty

Bugfix for drawing an encounter card while there is not deck / discard
This commit is contained in:
dscarpac 2024-05-19 06:45:07 -05:00 committed by GitHub
commit fb70bbae68
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -170,7 +170,10 @@ function drawEncounterCard(params)
end
-- if there is no discard pile either, reshuffleEncounterDeck will give an error message already
reshuffleEncounterDeck()
local success = reshuffleEncounterDeck()
-- only continue if there was a discard pile
if not success then return end
reshuffledAlready = true
drawEncounterCard(params)
end
@ -190,11 +193,18 @@ function actualEncounterCardDraw(card, params)
deckLib.placeOrMergeIntoDeck(card, params.position, rot)
end
-- gets the discard pile and shuffles it into the encounter deck
---@return boolean: Whether the operation was successfully performed
function reshuffleEncounterDeck()
-- flag to avoid multiple calls
if isReshuffling then return end
if isReshuffling then
return false
end
isReshuffling = true
-- disable flag after 1s delay
Wait.time(function() isReshuffling = false end, 1)
local encounterDeck = getEncounterDeck()
local discardPile = searchLib.atPosition(ENCOUNTER_DISCARD_POSITION, "isCardOrDeck")
@ -215,12 +225,11 @@ function reshuffleEncounterDeck()
end
encounterDeck.shuffle()
broadcastToAll("Shuffled encounter discard into deck.", "White")
return true
else
broadcastToAll("Encounter discard pile is already empty.", "Red")
return false
end
-- disable flag
Wait.time(function() isReshuffling = false end, 1)
end
---------------------------------------------------------