From 1a96b0f0651e986d39780a673953c12f14c1094c Mon Sep 17 00:00:00 2001 From: sprangg Date: Sat, 4 Mar 2023 14:11:16 +0200 Subject: [PATCH] Game: making sure that the pick timer is always at least 1 second (unless it's set to 0 deliberately) (#9850) Co-authored-by: sprangg --- Mage/src/main/java/mage/game/draft/DraftImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Mage/src/main/java/mage/game/draft/DraftImpl.java b/Mage/src/main/java/mage/game/draft/DraftImpl.java index 16bbdc34edd..add3f5f95a4 100644 --- a/Mage/src/main/java/mage/game/draft/DraftImpl.java +++ b/Mage/src/main/java/mage/game/draft/DraftImpl.java @@ -310,7 +310,12 @@ public abstract class DraftImpl implements Draft { public void firePickCardEvent(UUID playerId) { DraftPlayer player = players.get(playerId); int cardNum = Math.min(15, this.cardNum); - int time = timing.getPickTimeout(cardNum) - boosterLoadingCounter * BOOSTER_LOADING_INTERVAL; + int time = timing.getPickTimeout(cardNum); + // if the pack is re-sent to a player because they haven't been able to successfully load it, the pick time is reduced appropriately because of the elapsed time + // the time is always at least 1 second unless it's set to 0, i.e. unlimited time + if (time > 0) { + time = Math.max(1, time - boosterLoadingCounter * BOOSTER_LOADING_INTERVAL); + } playerQueryEventSource.pickCard(playerId, "Pick card", player.getBooster(), time); }