diff --git a/Mage.Sets/src/mage/cards/c/CosmicIntervention.java b/Mage.Sets/src/mage/cards/c/CosmicIntervention.java index 44e8a59c662..63555979611 100644 --- a/Mage.Sets/src/mage/cards/c/CosmicIntervention.java +++ b/Mage.Sets/src/mage/cards/c/CosmicIntervention.java @@ -99,8 +99,8 @@ class CosmicInterventionReplacementEffect extends ReplacementEffectImpl { @Override public boolean applies(GameEvent event, Ability source, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && (((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD)) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Player controller = game.getPlayer(source.getControllerId()); Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); if (permanent == null diff --git a/Mage.Sets/src/mage/cards/d/DeathsPresence.java b/Mage.Sets/src/mage/cards/d/DeathsPresence.java index ec9ce99c97d..fa567e26e20 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsPresence.java +++ b/Mage.Sets/src/mage/cards/d/DeathsPresence.java @@ -63,8 +63,8 @@ class DeathsPresenceTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (permanent != null && permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { this.getTargets().clear(); diff --git a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java index 3c9cc367f71..36d326b3748 100644 --- a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java +++ b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java @@ -84,9 +84,7 @@ class EnigmaSphinxTriggeredAbility extends TriggeredAbilityImpl { public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; Permanent permanent = zEvent.getTarget(); - if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + if (permanent != null && zEvent.isDiesEvent() && permanent.getId().equals(this.getSourceId()) && // 5/1/2009 If you control an Enigma Sphinx that's owned by another player, it's put into that player's // graveyard from the battlefield, so Enigma Sphinx's middle ability won't trigger. diff --git a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java index 007eb99798c..5a4fcf035b1 100644 --- a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java +++ b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java @@ -70,8 +70,8 @@ class GladehartCavalryTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (permanent != null && permanent.isControlledBy(this.getControllerId()) diff --git a/Mage.Sets/src/mage/cards/g/GraveBetrayal.java b/Mage.Sets/src/mage/cards/g/GraveBetrayal.java index ad30568c717..6d1743d6a5b 100644 --- a/Mage.Sets/src/mage/cards/g/GraveBetrayal.java +++ b/Mage.Sets/src/mage/cards/g/GraveBetrayal.java @@ -71,8 +71,8 @@ class GraveBetrayalTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (permanent != null && !permanent.isControlledBy(this.getControllerId()) && permanent.isCreature()) { Card card = (Card) game.getObject(permanent.getId()); diff --git a/Mage.Sets/src/mage/cards/g/GravePact.java b/Mage.Sets/src/mage/cards/g/GravePact.java index 4bf3cf724ef..076dd41195d 100644 --- a/Mage.Sets/src/mage/cards/g/GravePact.java +++ b/Mage.Sets/src/mage/cards/g/GravePact.java @@ -64,8 +64,8 @@ class GravePactTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); return permanent != null && permanent.isControlledBy(this.getControllerId()) && permanent.isCreature(); } diff --git a/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java b/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java index daa259ac9ce..c40c03cb8c1 100644 --- a/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java +++ b/Mage.Sets/src/mage/cards/l/LuminousBroodmoth.java @@ -80,8 +80,7 @@ class LuminousBroodmothTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = game.getPermanentOrLKIBattlefield(zEvent.getTarget().getId()); if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + && zEvent.isDiesEvent() && permanent.isCreature() && !permanent.getAbilities().containsKey(FlyingAbility.getInstance().getId()) && permanent.isControlledBy(this.controllerId)) { diff --git a/Mage.Sets/src/mage/cards/m/MimicVat.java b/Mage.Sets/src/mage/cards/m/MimicVat.java index 982fadad2dd..acd490f362c 100644 --- a/Mage.Sets/src/mage/cards/m/MimicVat.java +++ b/Mage.Sets/src/mage/cards/m/MimicVat.java @@ -91,8 +91,7 @@ class MimicVatTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = zEvent.getTarget(); if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + && zEvent.isDiesEvent() && !(permanent instanceof PermanentToken) && permanent.isCreature()) { diff --git a/Mage.Sets/src/mage/cards/n/NimDeathmantle.java b/Mage.Sets/src/mage/cards/n/NimDeathmantle.java index fef851708e5..b233244d4c7 100644 --- a/Mage.Sets/src/mage/cards/n/NimDeathmantle.java +++ b/Mage.Sets/src/mage/cards/n/NimDeathmantle.java @@ -94,8 +94,7 @@ class NimDeathmantleTriggeredAbility extends TriggeredAbilityImpl { Permanent permanent = zEvent.getTarget(); if (permanent != null && permanent.isOwnedBy(this.controllerId) - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + && zEvent.isDiesEvent() && !(permanent instanceof PermanentToken) && permanent.isCreature()) { diff --git a/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java b/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java index c39fc7433d4..5106a5d8afa 100644 --- a/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java +++ b/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java @@ -73,15 +73,13 @@ class PrinceOfThrallsTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; - if (zEvent.getToZone() == Zone.GRAVEYARD) { - if (zEvent.getFromZone() == Zone.BATTLEFIELD) { - Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); - if (game.getOpponents(this.getControllerId()).contains(permanent.getControllerId())) { - for (Effect effect : getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getTargetId(), game.getState().getZoneChangeCounter(event.getTargetId()))); - } - return true; + if (zEvent.isDiesEvent()) { + Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); + if (game.getOpponents(this.getControllerId()).contains(permanent.getControllerId())) { + for (Effect effect : getEffects()) { + effect.setTargetPointer(new FixedTarget(event.getTargetId(), game.getState().getZoneChangeCounter(event.getTargetId()))); } + return true; } } return false; diff --git a/Mage.Sets/src/mage/cards/p/ProperBurial.java b/Mage.Sets/src/mage/cards/p/ProperBurial.java index d13f6f5c5c9..b26e9701437 100644 --- a/Mage.Sets/src/mage/cards/p/ProperBurial.java +++ b/Mage.Sets/src/mage/cards/p/ProperBurial.java @@ -58,8 +58,8 @@ class ProperBurialTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (permanent != null && permanent.isControlledBy(this.getControllerId()) diff --git a/Mage.Sets/src/mage/cards/p/Purgatory.java b/Mage.Sets/src/mage/cards/p/Purgatory.java index c60e0cf567d..283230ab344 100644 --- a/Mage.Sets/src/mage/cards/p/Purgatory.java +++ b/Mage.Sets/src/mage/cards/p/Purgatory.java @@ -89,9 +89,7 @@ class PurgatoryTriggeredAbility extends TriggeredAbilityImpl { if (controller != null) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; Permanent permanent = zEvent.getTarget(); - if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + if (permanent != null && zEvent.isDiesEvent() && !(permanent instanceof PermanentToken) && permanent.isCreature() && permanent.isOwnedBy(controller.getId())) { diff --git a/Mage.Sets/src/mage/cards/r/RienneAngelOfRebirth.java b/Mage.Sets/src/mage/cards/r/RienneAngelOfRebirth.java index 345da504cf5..3f69785df43 100644 --- a/Mage.Sets/src/mage/cards/r/RienneAngelOfRebirth.java +++ b/Mage.Sets/src/mage/cards/r/RienneAngelOfRebirth.java @@ -94,9 +94,7 @@ class RienneAngelOfRebirthTriggeredAbility extends TriggeredAbilityImpl { } Permanent permanent = game.getPermanentOrLKIBattlefield(zEvent.getTarget().getId()); - if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + if (permanent != null && zEvent.isDiesEvent() && permanent.isCreature() && permanent.getColor(game).isMulticolored() && permanent.isControlledBy(this.controllerId)) { diff --git a/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java b/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java index d0d0617e5c3..02fc5a9f995 100644 --- a/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java +++ b/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java @@ -76,8 +76,7 @@ class ShireiShizosCaretakerTriggeredAbility extends TriggeredAbilityImpl { if (card != null && LKIpermanent != null && card.isOwnedBy(this.controllerId) - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + && zEvent.isDiesEvent() && card.isCreature() && LKIpermanent.getPower().getValue() <= 1) { for (Effect effect : this.getEffects()) { diff --git a/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java b/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java index 3357a9c9380..4ac19317258 100644 --- a/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java +++ b/Mage.Sets/src/mage/cards/t/TianaShipsCaretaker.java @@ -89,9 +89,7 @@ class TianaShipsCaretakerTriggeredAbility extends TriggeredAbilityImpl { } Permanent permanent = game.getPermanentOrLKIBattlefield(zEvent.getTarget().getId()); - if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + if (permanent != null && zEvent.isDiesEvent() && (permanent.isArtifact() && permanent.hasSubtype(SubType.EQUIPMENT, game) || permanent.isEnchantment() && permanent.hasSubtype(SubType.AURA, game)) && permanent.isControlledBy(this.controllerId)) { diff --git a/Mage.Sets/src/mage/cards/v/VerdantSuccession.java b/Mage.Sets/src/mage/cards/v/VerdantSuccession.java index ffcf69c169e..a5094c23c08 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantSuccession.java +++ b/Mage.Sets/src/mage/cards/v/VerdantSuccession.java @@ -80,8 +80,8 @@ class VerdantSuccessionTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); MageObject mageObject = game.getObject(sourceId); if (permanent != null && mageObject != null diff --git a/Mage.Sets/src/mage/cards/v/VigilForTheLost.java b/Mage.Sets/src/mage/cards/v/VigilForTheLost.java index b3875175f7f..2a92c5cffe2 100644 --- a/Mage.Sets/src/mage/cards/v/VigilForTheLost.java +++ b/Mage.Sets/src/mage/cards/v/VigilForTheLost.java @@ -63,8 +63,8 @@ class VigilForTheLostTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (((ZoneChangeEvent) event).getToZone() == Zone.GRAVEYARD && - ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD) { + ZoneChangeEvent zoneChangeEvent = (ZoneChangeEvent) event; + if (zoneChangeEvent.isDiesEvent()) { Permanent p = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (p.isControlledBy(this.getControllerId()) && p.isCreature()) { return true; diff --git a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java index 0f83feefa23..802870f032b 100644 --- a/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/PutIntoGraveFromBattlefieldSourceTriggeredAbility.java @@ -46,8 +46,7 @@ public class PutIntoGraveFromBattlefieldSourceTriggeredAbility extends Triggered ZoneChangeEvent zEvent = (ZoneChangeEvent) event; Permanent permanent = zEvent.getTarget(); if (permanent != null - && zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD) { + && zEvent.isDiesEvent()) { return !onlyToControllerGraveyard || this.isControlledBy(game.getOwnerId(zEvent.getTargetId())); } } diff --git a/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java b/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java index 79e17f384af..8e558b2e02b 100644 --- a/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java +++ b/Mage/src/main/java/mage/game/command/emblems/DarettiScrapSavantEmblem.java @@ -56,8 +56,7 @@ class DarettiScrapSavantTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; - if (zEvent.getToZone() == Zone.GRAVEYARD - && zEvent.getFromZone() == Zone.BATTLEFIELD + if (zEvent.isDiesEvent() && zEvent.getTarget().isArtifact() && zEvent.getTarget().isOwnedBy(this.controllerId)) { this.getEffects().setTargetPointer(new FixedTarget(zEvent.getTargetId()));