From b8357d54ebb114e0c1eda55cd3d8ef632d5445d7 Mon Sep 17 00:00:00 2001 From: L_J Date: Mon, 30 Apr 2018 22:19:25 +0000 Subject: [PATCH] Ice Cauldron MageObjectReference stack tracing fix --- Mage.Sets/src/mage/cards/i/IceCauldron.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Mage.Sets/src/mage/cards/i/IceCauldron.java b/Mage.Sets/src/mage/cards/i/IceCauldron.java index 3cddcda9e13..4ee0fe74ff7 100644 --- a/Mage.Sets/src/mage/cards/i/IceCauldron.java +++ b/Mage.Sets/src/mage/cards/i/IceCauldron.java @@ -242,7 +242,15 @@ class IceCauldronAddManaEffect extends ManaEffect { exiledCardMor = (MageObjectReference) game.getState().getValue("IceCauldronCard" + source.getSourceId().toString()); if (storedMana != null) { // should be adding the mana even if exiled card is null checkToFirePossibleEvents(storedMana, game, source); - IceCauldronConditionalMana iceCauldronMana = new IceCauldronConditionalMana(storedMana, exiledCardMor.getCard(game)); + + Card card = exiledCardMor.getCard(game); + if (card == null) { + card = game.getCard(exiledCardMor.getSourceId()); + if (card != null && !(card.getZoneChangeCounter(game) == exiledCardMor.getZoneChangeCounter() + 1 && game.getState().getZone(card.getId()) == Zone.STACK)) { + card = null; + } + } + IceCauldronConditionalMana iceCauldronMana = new IceCauldronConditionalMana(storedMana, card); if (iceCauldronMana != null) { controller.getManaPool().addMana(iceCauldronMana, game, source); return true;