diff --git a/Mage.Sets/src/mage/sets/apocalypse/PhyrexianArena.java b/Mage.Sets/src/mage/sets/apocalypse/PhyrexianArena.java index cca8be54abc..6ee8cebb7e0 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/PhyrexianArena.java +++ b/Mage.Sets/src/mage/sets/apocalypse/PhyrexianArena.java @@ -32,11 +32,10 @@ import java.util.UUID; import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; -import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.common.DrawCardControllerEffect; -import mage.abilities.effects.common.LoseLifeControllerEffect; +import mage.abilities.effects.common.LoseLifeSourceEffect; import mage.cards.CardImpl; /** @@ -50,7 +49,7 @@ public class PhyrexianArena extends CardImpl { this.expansionSetCode = "APC"; this.color.setBlack(true); Ability ability = new BeginningOfUpkeepTriggeredAbility(new DrawCardControllerEffect(1), Constants.TargetController.YOU, false); - ability.addEffect(new LoseLifeControllerEffect(1)); + ability.addEffect(new LoseLifeSourceEffect(1)); this.addAbility(ability); } diff --git a/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java b/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java index fb430a4092a..6df1b79e93f 100644 --- a/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java +++ b/Mage/src/mage/abilities/effects/common/LoseLifeControllerEffect.java @@ -29,10 +29,13 @@ package mage.abilities.effects.common; import mage.Constants.Outcome; import mage.Constants.Zone; +import mage.MageObject; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.game.stack.Spell; import mage.players.Player; /** @@ -61,13 +64,26 @@ public class LoseLifeControllerEffect extends OneShotEffect { StackObject stackObject = getStackObject(objectId); if (stackObject != null) { if (!game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.COUNTER, objectId, sourceId, stackObject.getControllerId()))) { + if ( stackObject instanceof Spell ) { + game.rememberLKI(objectId, Zone.STACK, (Spell)stackObject); + } this.remove(stackObject); stackObject.counter(sourceId, game); game.fireEvent(GameEvent.getEvent(GameEvent.EventType.COUNTERED, objectId, sourceId, stackObject.getControllerId()));