From 33e8dc7fe244abf4a60f5be77816ec3584afa1f0 Mon Sep 17 00:00:00 2001 From: TRT <> Date: Thu, 19 Jan 2023 16:31:09 +0100 Subject: [PATCH] Fix timestamp reset messing up LKI --- .../forge/game/ability/effects/ChangeZoneEffect.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 68d6f40bac1..325e145281c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -710,7 +710,14 @@ public class ChangeZoneEffect extends SpellAbilityEffect { game.getCombat().getBandOfAttacker(movedCard).setBlocked(false); combatChanged = true; } + movedCard.setTimestamp(ts); + if (movedCard.isInPlay()) { + // need to also update LKI + List lki = movedCard.getZone().getCardsAddedThisTurn(null); + lki.get(lki.lastIndexOf(movedCard)).setTimestamp(ts); + } + if (sa.hasParam("AttachAfter") && movedCard.isAttachment()) { CardCollection list = AbilityUtils.getDefinedCards(hostCard, sa.getParam("AttachAfter"), sa); if (list.isEmpty()) { @@ -1401,6 +1408,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect { movedCard = game.getAction().moveToPlay(c, c.getController(), sa, moveParams); movedCard.setTimestamp(ts); + if (movedCard.isInPlay()) { + // need to also update LKI + List lki = movedCard.getZone().getCardsAddedThisTurn(null); + lki.get(lki.lastIndexOf(movedCard)).setTimestamp(ts); + } if (sa.hasParam("AttachAfter") && movedCard.isAttachment() && movedCard.isInPlay()) { CardCollection list = AbilityUtils.getDefinedCards(source, sa.getParam("AttachAfter"), sa);