diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index c66189a8cb0..e016bd951f8 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -223,20 +223,9 @@ public class GameAction { // Don't copy Tokens, copy only cards leaving the battlefield // and returning to hand (to recreate their spell ability information) - if (suppress || toBattlefield) { + if (toBattlefield || (suppress && zoneTo.getZoneType().isHidden())) { copied = c; - // 400.8. If an object in the exile zone is exiled, it doesn't change zones, - // but it becomes a new object that has just been exiled. - if (zoneTo.is(ZoneType.Exile)) { - copied = CardFactory.copyCard(c, false); - copied.setTimestamp(game.getNextTimestamp()); - - if (c.hasKeyword("Counters remain on CARDNAME as it moves to any zone other than a player's hand or library.")) { - copied.setCounters(Maps.newHashMap(c.getCounters())); - } - } - if (lastKnownInfo == null) { lastKnownInfo = CardUtil.getLKICopy(c); } @@ -396,7 +385,7 @@ public class GameAction { } } - if (!zoneTo.is(ZoneType.Stack) && !suppress) { + if (!zoneTo.is(ZoneType.Stack)) { // reset timestamp in changezone effects so they have same timestamp if ETB simultaneously copied.setTimestamp(game.getNextTimestamp()); } diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index abd4461d02d..4e4625340af 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -327,7 +327,6 @@ public class Player extends GameEntity implements Comparable { game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); activeScheme = getZone(ZoneType.SchemeDeck).get(0); - // gameAction moveTo ? game.getAction().moveTo(ZoneType.Command, activeScheme, null, moveParams); game.getTriggerHandler().clearSuppression(TriggerType.ChangesZone); @@ -3268,9 +3267,7 @@ public class Player extends GameEntity implements Comparable { } final TriggerHandler triggerHandler = game.getTriggerHandler(); - triggerHandler.suppressMode(TriggerType.ChangesZone); - game.getAction().moveTo(ZoneType.Command, initiativeEffect, null, null); - triggerHandler.clearSuppression(TriggerType.ChangesZone); + com.add(initiativeEffect); triggerHandler.clearActiveTriggers(initiativeEffect, null); triggerHandler.registerActiveTrigger(initiativeEffect, false);