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(); }