ExileAndReturnSourceEffect - check for other face being returned

* possible for transform using PutCards
This commit is contained in:
jmlundeen 2025-12-02 09:36:30 -06:00
parent b43ab76d60
commit 1bcbdd520e

View file

@ -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) {