diff --git a/Mage/src/mage/abilities/effects/ContinuousEffectsList.java b/Mage/src/mage/abilities/effects/ContinuousEffectsList.java index d944458e1b..79df3bf208 100644 --- a/Mage/src/mage/abilities/effects/ContinuousEffectsList.java +++ b/Mage/src/mage/abilities/effects/ContinuousEffectsList.java @@ -87,8 +87,9 @@ public class ContinuousEffectsList extends ArrayList switch(effect.getDuration()) { case WhileOnBattlefield: - if (game.getObject(ability.getSourceId()) == null) //TODO: does this really works?? object is returned across the game - return (true); + if (game.getObject(ability.getSourceId()) == null) {//TODO: does this really works?? object is returned across the game + return (true); // LevelX2: I guess it's not used, because effects stay the whole game + } case OneUse: return effect.isUsed(); case Custom: diff --git a/Mage/src/mage/cards/CardImpl.java b/Mage/src/mage/cards/CardImpl.java index 518346660c..777c7da7e6 100644 --- a/Mage/src/mage/cards/CardImpl.java +++ b/Mage/src/mage/cards/CardImpl.java @@ -446,7 +446,7 @@ public abstract class CardImpl> extends MageObjectImpl game.resetForSourceId(permanent.getId()); game.addPermanent(permanent); game.setZone(objectId, Zone.BATTLEFIELD); - //game.applyEffects(); // magenoxx: this causes bugs + game.applyEffects(); // magenoxx: this causes bugs - LevelX2: but it's neccessary for casting e.g. Kird Ape which must trigger evolve permanent.entersBattlefield(sourceId, game, event.getFromZone(), true); game.applyEffects(); game.fireEvent(new ZoneChangeEvent(permanent, controllerId, fromZone, Zone.BATTLEFIELD)); diff --git a/Mage/src/mage/game/permanent/PermanentCard.java b/Mage/src/mage/game/permanent/PermanentCard.java index 3cec874f34..08ce565d4e 100644 --- a/Mage/src/mage/game/permanent/PermanentCard.java +++ b/Mage/src/mage/game/permanent/PermanentCard.java @@ -205,6 +205,7 @@ public class PermanentCard extends PermanentImpl { game.fireEvent(event); if (event.getFromZone().equals(Zone.BATTLEFIELD)) { game.resetForSourceId(getId()); + game.applyEffects(); // LevelX2: needed to execute isInactive for of custom duration copy effect if source returns directly (e.g. cloudshifted clone) } return game.getState().getZone(objectId) == toZone; } @@ -235,6 +236,7 @@ public class PermanentCard extends PermanentImpl { game.fireEvent(event); if (event.getFromZone().equals(Zone.BATTLEFIELD)) { game.resetForSourceId(getId()); + game.applyEffects(); } return true; }