From ef830e200c5582d27dd5f2425f8a8448cbbde0f6 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Mon, 30 Nov 2020 23:17:14 +0100 Subject: [PATCH] ~ fix lastState update for Counters and Undying --- forge-game/src/main/java/forge/game/GameAction.java | 7 ++++++- 1 file changed, 6 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 e5a07a76405..1748a61c41a 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -947,6 +947,7 @@ public class GameAction { // do this multiple times, sometimes creatures/permanents will survive when they shouldn't boolean orderedDesCreats = false; boolean orderedNoRegCreats = false; + CardCollection cardsToUpdateLKI = new CardCollection(); for (int q = 0; q < 9; q++) { checkStaticAbilities(false, affectedCards, CardCollection.EMPTY); boolean checkAgain = false; @@ -1020,7 +1021,7 @@ public class GameAction { checkAgain = true; } if (checkAgain) { - game.updateLastStateForCard(c); + cardsToUpdateLKI.add(c); } } @@ -1098,6 +1099,10 @@ public class GameAction { // this point. checkStaticAbilities(false, affectedCards, CardCollection.EMPTY); + for (final Card c : cardsToUpdateLKI) { + game.updateLastStateForCard(c); + } + if (!refreeze) { game.getStack().unfreezeStack(); }