From 8be93d3be5f0dd12d74a021c9e0c276d4c61c307 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Wed, 12 Apr 2023 10:39:33 +0200 Subject: [PATCH 1/2] Effect cleanup can prevent any LTB trigger --- forge-game/src/main/java/forge/game/GameAction.java | 2 ++ forge-game/src/main/java/forge/game/trigger/TriggerHandler.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index de559263e22..f89eaca73d2 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -1439,6 +1439,8 @@ public class GameAction { } setHoldCheckingStaticAbilities(false); + // important to collect first otherwise if a static fires it will mess up registered ones from LKI + game.getTriggerHandler().collectTriggerForWaiting(); if (game.getTriggerHandler().runWaitingTriggers()) { checkAgain = true; } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 8a54c840cf0..8098aeab9e3 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -180,7 +180,7 @@ public class TriggerHandler { return FileSection.parseToMap(trigParse, FileSection.DOLLAR_SIGN_KV_SEPARATOR); } - private void collectTriggerForWaiting() { + public void collectTriggerForWaiting() { for (final TriggerWaiting wt : waitingTriggers) { if (wt.getTriggers() != null) continue; From 7ab19408bd6bde41e94e1d8e1fcdb92fc536ac33 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 15 Apr 2023 08:31:00 +0200 Subject: [PATCH 2/2] Fix trigger when rolling 0 times --- .../main/java/forge/game/ability/effects/RollDiceEffect.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java index 9dc8daa1b08..428c1f1e620 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java @@ -68,6 +68,9 @@ public class RollDiceEffect extends SpellAbilityEffect { return rollDiceForPlayer(sa, player, amount, sides, 0, 0, null); } private static int rollDiceForPlayer(SpellAbility sa, Player player, int amount, int sides, int ignore, int modifier, List rollsResult) { + if (amount == 0) { + return 0; + } int advantage = getRollAdvange(player); amount += advantage; int total = 0;