From 16bd5374a655426eec0421d33e649649b00d86e3 Mon Sep 17 00:00:00 2001 From: Jeff Wadsworth Date: Wed, 4 May 2022 11:10:40 -0500 Subject: [PATCH] - Fixed #8913. MDFC can be a permanent. Split cards are never permanents. --- Mage.Sets/src/mage/cards/d/DeceiverOfForm.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java b/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java index 4d375c6bf09..e94700afdf4 100644 --- a/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java +++ b/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java @@ -1,4 +1,3 @@ - package mage.cards.d; import java.util.UUID; @@ -63,18 +62,25 @@ class DeceiverOfFormEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); + Card copyFromCard = null; MageObject sourceObject = source.getSourceObject(game); if (controller != null && sourceObject != null) { - Card copyFromCard = controller.getLibrary().getFromTop(game); - if (copyFromCard != null) { - Cards cards = new CardsImpl(copyFromCard); + Card cardFromTop = controller.getLibrary().getFromTop(game); + if (cardFromTop != null) { + Cards cards = new CardsImpl(cardFromTop); controller.revealCards(sourceObject.getIdName(), cards, game); - if (copyFromCard.isCreature(game)) { + if (cardFromTop.isCreature(game)) { if (controller.chooseUse(outcome, "Let creatures you control other than " - + sourceObject.getLogName() + " becomes copies of " + copyFromCard.getLogName() + " until end of turn?", source, game)) { + + sourceObject.getLogName() + " becomes copies of " + cardFromTop.getLogName() + " until end of turn?", source, game)) { for (Permanent permanent : game.getBattlefield().getAllActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, controller.getId(), game)) { if (!permanent.getId().equals(sourceObject.getId())) { + copyFromCard = cardFromTop; + // handle MDFC + if (cardFromTop instanceof ModalDoubleFacesCard + && ((ModalDoubleFacesCard) cardFromTop).getLeftHalfCard().isCreature(game)) { + copyFromCard = ((ModalDoubleFacesCard) cardFromTop).getLeftHalfCard(); + } Permanent newBluePrint = null; newBluePrint = new PermanentCard(copyFromCard, source.getControllerId(), game); newBluePrint.assignNewId();