From 1bcbdd520e0b8b83ac475c0bfc38b288882f3142 Mon Sep 17 00:00:00 2001 From: jmlundeen Date: Tue, 2 Dec 2025 09:36:30 -0600 Subject: [PATCH] ExileAndReturnSourceEffect - check for other face being returned * possible for transform using PutCards --- .../effects/common/ExileAndReturnSourceEffect.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java index eacbc21c535..df118893b41 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ExileAndReturnSourceEffect.java @@ -2,11 +2,13 @@ package mage.abilities.effects.common; import mage.abilities.Ability; import mage.abilities.Mode; -import mage.constants.Pronoun; import mage.abilities.effects.ContinuousEffect; import mage.abilities.effects.Effect; import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.DoubleFacedCardHalf; import mage.constants.Outcome; +import mage.constants.Pronoun; import mage.constants.PutCards; import mage.constants.Zone; import mage.game.Game; @@ -74,7 +76,15 @@ public class ExileAndReturnSourceEffect extends OneShotEffect { returnUnderYourControl ? controller : game.getPlayer(permanent.getOwnerId()), permanent.getMainCard(), source, game, "card" ); - if (additionalEffect == null || game.getPermanent(permanent.getId()) == null) { + Permanent newPermanent = game.getPermanent(permanent.getId()); + if (newPermanent == null) { + // check if permanent returned with a new face (e.g., transform) + Card card = game.getCard(permanent.getId()); + if (card instanceof DoubleFacedCardHalf) { + newPermanent = game.getPermanent(((DoubleFacedCardHalf) card).getOtherSide().getId()); + } + } + if (additionalEffect == null || newPermanent == null) { return true; } if (additionalEffect instanceof ContinuousEffect) {