From 0c19b429f79b646bbb0852a642304b3b549626ba Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 23 Mar 2015 22:26:15 +0100 Subject: [PATCH] * Path to Exile - Fixed that zone change replacement effects prevented the search effect to happen (fixes #824). --- .../src/mage/sets/conflux/PathToExile.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Mage.Sets/src/mage/sets/conflux/PathToExile.java b/Mage.Sets/src/mage/sets/conflux/PathToExile.java index e4fe87470d..e88259797e 100644 --- a/Mage.Sets/src/mage/sets/conflux/PathToExile.java +++ b/Mage.Sets/src/mage/sets/conflux/PathToExile.java @@ -53,7 +53,9 @@ public class PathToExile extends CardImpl { public PathToExile(UUID ownerId) { super(ownerId, 15, "Path to Exile", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{W}"); this.expansionSetCode = "CON"; - + + // Exile target creature. Its controller may search his or her library for a basic land card, + // put that card onto the battlefield tapped, then shuffle his or her library. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new PathToExileEffect()); } @@ -90,19 +92,19 @@ class PathToExileEffect extends OneShotEffect { Permanent permanent = game.getPermanent(source.getFirstTarget()); if (controller != null && permanent != null) { Player player = game.getPlayer(permanent.getControllerId()); - if (controller.moveCardToExileWithInfo(permanent, null, "", source.getSourceId(), game, Zone.BATTLEFIELD)) { - if (player.chooseUse(Outcome.PutCardInPlay, "Search your library for a basic land card?", game)) { - TargetCardInLibrary target = new TargetCardInLibrary(new FilterBasicLandCard()); - if (player.searchLibrary(target, game)) { - Card card = player.getLibrary().getCard(target.getFirstTarget(), game); - if (card != null) { - player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId(), true); - } + // if the zone change to exile gets replaced does not prevent the target controller to be able to search + controller.moveCardToExileWithInfo(permanent, null, "", source.getSourceId(), game, Zone.BATTLEFIELD); + if (player.chooseUse(Outcome.PutCardInPlay, "Search your library for a basic land card?", game)) { + TargetCardInLibrary target = new TargetCardInLibrary(new FilterBasicLandCard()); + if (player.searchLibrary(target, game)) { + Card card = player.getLibrary().getCard(target.getFirstTarget(), game); + if (card != null) { + player.putOntoBattlefieldWithInfo(card, game, Zone.LIBRARY, source.getSourceId(), true); } - player.shuffleLibrary(game); } - return true; + player.shuffleLibrary(game); } + return true; } return false; }