From 6de343970ba5ec7115ff8c02403abefd68c08bff Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 18 Apr 2015 09:45:55 +0200 Subject: [PATCH] * Worldgorger Dragon - Fixed that the return from exile effect did not work if Worldgorger Dragon was a token copy. --- Mage.Sets/src/mage/sets/judgment/WorldgorgerDragon.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Mage.Sets/src/mage/sets/judgment/WorldgorgerDragon.java b/Mage.Sets/src/mage/sets/judgment/WorldgorgerDragon.java index ee241e0634c..7944d126748 100644 --- a/Mage.Sets/src/mage/sets/judgment/WorldgorgerDragon.java +++ b/Mage.Sets/src/mage/sets/judgment/WorldgorgerDragon.java @@ -48,6 +48,7 @@ import mage.filter.predicate.permanent.ControllerPredicate; import mage.game.ExileZone; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.game.permanent.PermanentToken; import mage.players.Player; import mage.util.CardUtil; @@ -143,8 +144,10 @@ class WorldgorgerDragonLeavesEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - ExileZone exile = game.getExile().getExileZone(CardUtil.getExileZoneId(game, source.getSourceId(), source.getSourceObjectZoneChangeCounter() -1)); + MageObject sourceObject = source.getSourceObject(game); + if (controller != null && sourceObject != null) { + int zoneChangeCounter = (sourceObject instanceof PermanentToken) ? source.getSourceObjectZoneChangeCounter() : source.getSourceObjectZoneChangeCounter() -1; + ExileZone exile = game.getExile().getExileZone(CardUtil.getExileZoneId(game, source.getSourceId(), zoneChangeCounter)); if (exile != null) { exile = exile.copy(); for (UUID cardId : exile) {