diff --git a/forge-game/src/main/java/forge/game/Game.java b/forge-game/src/main/java/forge/game/Game.java index 991a219048d..639e4d2c7ca 100644 --- a/forge-game/src/main/java/forge/game/Game.java +++ b/forge-game/src/main/java/forge/game/Game.java @@ -717,8 +717,18 @@ public class Game { if(isMultiplayer) { if (c.getOwner().equals(p)) { + for(Card cc : cards) { + cc.removeImprintedCard(c); + cc.removeEncodedCard(c); + cc.removeRemembered(c); + } c.ceaseToExist(); } else { + // return stolen permanents + if (c.getController().equals(p) && c.isInZone(ZoneType.Battlefield)) { + c.removeTempController(p); + getAction().controllerChangeZoneCorrection(c); + } c.removeTempController(p); if (c.getController().equals(p)) { this.getAction().exile(c, null); diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index c9818fa8cb6..1fb8ce68842 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -6404,6 +6404,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { public void ceaseToExist() { getGame().getTriggerHandler().suppressMode(TriggerType.ChangesZone); getZone().remove(this); + setZone(null); getGame().getTriggerHandler().clearSuppression(TriggerType.ChangesZone); }