From 4ad3ef4e6876410353c10c3828adf74fff476ba3 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 22 Sep 2016 23:08:40 +0200 Subject: [PATCH] * Fixed a problem with card movement that prevented Tiny Leaders go to command zone at game start. --- Mage/src/main/java/mage/cards/CardImpl.java | 7 ++++++- Mage/src/main/java/mage/game/ZonesHandler.java | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Mage/src/main/java/mage/cards/CardImpl.java b/Mage/src/main/java/mage/cards/CardImpl.java index 8beaabca2b4..d4a18701215 100644 --- a/Mage/src/main/java/mage/cards/CardImpl.java +++ b/Mage/src/main/java/mage/cards/CardImpl.java @@ -453,6 +453,9 @@ public abstract class CardImpl extends MageObjectImpl implements Card { } else if (game.getPlayer(ownerId).getSideboard().contains(this.getId())) { game.getPlayer(ownerId).getSideboard().remove(this.getId()); removed = true; + } else if (game.getPhase() == null) { + // E.g. Commander of commander game + removed = true; } break; case BATTLEFIELD: // for sacrificing permanents or putting to library @@ -465,7 +468,9 @@ public abstract class CardImpl extends MageObjectImpl implements Card { break; } if (removed) { - game.rememberLKI(lkiObject != null ? lkiObject.getId() : objectId, fromZone, lkiObject != null ? lkiObject : this); + if (!fromZone.equals(Zone.OUTSIDE)) { + game.rememberLKI(lkiObject != null ? lkiObject.getId() : objectId, fromZone, lkiObject != null ? lkiObject : this); + } } else { logger.warn("Couldn't find card in fromZone, card=" + getIdName() + ", fromZone=" + fromZone); } diff --git a/Mage/src/main/java/mage/game/ZonesHandler.java b/Mage/src/main/java/mage/game/ZonesHandler.java index 6a53736d4a7..a57df07facd 100644 --- a/Mage/src/main/java/mage/game/ZonesHandler.java +++ b/Mage/src/main/java/mage/game/ZonesHandler.java @@ -59,7 +59,9 @@ public class ZonesHandler { } for (ZoneChangeInfo zoneChangeInfo : zoneChangeInfos) { placeInDestinationZone(zoneChangeInfo, game); - game.addSimultaneousEvent(zoneChangeInfo.event); + if (game.getPhase() != null) { // moving cards to zones before game started does not need events + game.addSimultaneousEvent(zoneChangeInfo.event); + } } return zoneChangeInfos; }