diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 3b1cf7d9ed3..768703d8044 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -2361,7 +2361,9 @@ public abstract class GameImpl implements Game, Serializable { //Remove all emblems the player controls for (Iterator it = this.getState().getCommand().iterator(); it.hasNext();) { - if (it.next().getControllerId().equals(playerId)) { + CommandObject obj = it.next(); + if (obj instanceof Emblem && obj.getControllerId().equals(playerId)) { + ((Emblem) obj).discardEffects();// This may not be the best fix but it works it.remove(); } } diff --git a/Mage/src/main/java/mage/game/command/Emblem.java b/Mage/src/main/java/mage/game/command/Emblem.java index 63746bdf6a0..2af44f81e5b 100644 --- a/Mage/src/main/java/mage/game/command/Emblem.java +++ b/Mage/src/main/java/mage/game/command/Emblem.java @@ -40,6 +40,8 @@ import mage.abilities.Ability; import mage.abilities.costs.mana.ManaCost; import mage.abilities.costs.mana.ManaCosts; import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.Effect; import mage.abilities.text.TextPart; import mage.cards.Card; import mage.cards.FrameStyle; @@ -275,6 +277,16 @@ public class Emblem implements CommandObject { public void setIsAllCreatureTypes(boolean value) { } + public void discardEffects() { + for (Ability ability : abilites) { + for (Effect effect : ability.getEffects()) { + if (effect instanceof ContinuousEffect) { + ((ContinuousEffect) effect).discard(); + } + } + } + } + @Override public List getTextParts() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.