From 4e2ed0178b7fbc31d3f9281535c3b6c72b21749e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 6 Feb 2014 01:05:45 +0100 Subject: [PATCH] * Fixed a bug that abilities of sacrificed permanents did trigger if the spell they where sacrificed for triggered their triggered ability. (e.g. a Valakut sacrificed for a Scapeshift did still trigger if enough mountains where on the battlefield). --- Mage/src/mage/abilities/TriggeredAbilities.java | 3 ++- Mage/src/mage/abilities/common/ZoneChangeTriggeredAbility.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Mage/src/mage/abilities/TriggeredAbilities.java b/Mage/src/mage/abilities/TriggeredAbilities.java index 4e4467b053a..1140156f991 100644 --- a/Mage/src/mage/abilities/TriggeredAbilities.java +++ b/Mage/src/mage/abilities/TriggeredAbilities.java @@ -64,7 +64,8 @@ public class TriggeredAbilities extends HashMap { public void checkTriggers(GameEvent event, Game game) { for (TriggeredAbility ability: this.values()) { - if (ability.isInUseableZone(game, null, true)) { + // for effects like when leaves battlefield use ShortLKI to check if permanent was in the correct zone before (e.g. Oblivion Ring) + if (ability.isInUseableZone(game, null, event.getType().equals(GameEvent.EventType.ZONE_CHANGE) ? true :false)) { MageObject object = null; if (!ability.getZone().equals(Zone.COMMAND) && !game.getState().getZone(ability.getSourceId()).equals(ability.getZone())) { object = game.getShortLivingLKI(ability.getSourceId(), ability.getZone()); diff --git a/Mage/src/mage/abilities/common/ZoneChangeTriggeredAbility.java b/Mage/src/mage/abilities/common/ZoneChangeTriggeredAbility.java index 3d9993b985d..67f99dce760 100644 --- a/Mage/src/mage/abilities/common/ZoneChangeTriggeredAbility.java +++ b/Mage/src/mage/abilities/common/ZoneChangeTriggeredAbility.java @@ -41,6 +41,7 @@ import mage.game.permanent.Permanent; * Is applied when the {@link Permanent} with this ability instance changes zones. * * @author BetaSteward_at_googlemail.com + * @param */ public class ZoneChangeTriggeredAbility> extends TriggeredAbilityImpl {