diff --git a/Mage.Sets/src/mage/cards/e/EmperorOfBones.java b/Mage.Sets/src/mage/cards/e/EmperorOfBones.java index 44b362bfd66..ce8d5af27fe 100644 --- a/Mage.Sets/src/mage/cards/e/EmperorOfBones.java +++ b/Mage.Sets/src/mage/cards/e/EmperorOfBones.java @@ -101,7 +101,7 @@ class EmperorOfBonesEffect extends OneShotEffect { } game.setEnterWithCounters(card.getId(), new Counters().addCounter(CounterType.FINALITY.createInstance())); player.moveCards(card, Zone.BATTLEFIELD, source, game); - Permanent permanent = game.getPermanent(CardUtil.getDefaultCardSideForBattlefield(game, card).getId()); + Permanent permanent = CardUtil.getPermanentFromCardPutToBattlefield(card, game); if (permanent == null) { return true; } diff --git a/Mage/src/main/java/mage/abilities/common/AnimateDeadTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AnimateDeadTriggeredAbility.java index bc3631c80ad..daaf7e7359d 100644 --- a/Mage/src/main/java/mage/abilities/common/AnimateDeadTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/AnimateDeadTriggeredAbility.java @@ -192,7 +192,7 @@ class AnimateDeadPutOntoBattlefieldEffect extends OneShotEffect { player.moveCards(card, Zone.BATTLEFIELD, source, game, tapped, false, false, null); game.processAction(); - Permanent creature = game.getPermanent(CardUtil.getDefaultCardSideForBattlefield(game, card).getId()); + Permanent creature = CardUtil.getPermanentFromCardPutToBattlefield(card, game); if (creature == null) { return true; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/PutCardIntoPlayWithHasteAndSacrificeEffect.java b/Mage/src/main/java/mage/abilities/effects/common/PutCardIntoPlayWithHasteAndSacrificeEffect.java index 760200024ab..6e03a65e61d 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/PutCardIntoPlayWithHasteAndSacrificeEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/PutCardIntoPlayWithHasteAndSacrificeEffect.java @@ -60,7 +60,7 @@ public class PutCardIntoPlayWithHasteAndSacrificeEffect extends OneShotEffect { return false; } player.moveCards(card, Zone.BATTLEFIELD, source, game); - Permanent permanent = game.getPermanent(CardUtil.getDefaultCardSideForBattlefield(game, card).getId()); + Permanent permanent = CardUtil.getPermanentFromCardPutToBattlefield(card, game); if (permanent == null) { return false; } diff --git a/Mage/src/main/java/mage/util/CardUtil.java b/Mage/src/main/java/mage/util/CardUtil.java index 5c32c6b6d3a..6018834b1b4 100644 --- a/Mage/src/main/java/mage/util/CardUtil.java +++ b/Mage/src/main/java/mage/util/CardUtil.java @@ -1315,6 +1315,15 @@ public final class CardUtil { return permCard; } + /** + * If a card object is moved to the battlefield, object id can be different (e.g. MDFC). + * Use this method to get the permanent object from the card object after move to battlefield. + * Can return null if not found on the battlefield. + */ + public static Permanent getPermanentFromCardPutToBattlefield(Card card, Game game) { + return game.getPermanent(CardUtil.getDefaultCardSideForBattlefield(game, card).getId()); + } + /** * Return card name for same name searching *