From f9ca04dfbbde64aab1ae662c4cb4cde4fcf9fe66 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 31 Jan 2018 00:10:02 +0100 Subject: [PATCH] * Wildfire Eternal - Fixed that the ability triggered multiple times if more than one player blocked during the turn (fixes #4466). --- Mage.Sets/src/mage/cards/w/WildfireEternal.java | 4 +--- .../common/AttacksAndIsNotBlockedTriggeredAbility.java | 2 +- Mage/src/main/java/mage/game/turn/Step.java | 1 + 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/cards/w/WildfireEternal.java b/Mage.Sets/src/mage/cards/w/WildfireEternal.java index 26c358865fd..c489232bbd0 100644 --- a/Mage.Sets/src/mage/cards/w/WildfireEternal.java +++ b/Mage.Sets/src/mage/cards/w/WildfireEternal.java @@ -42,7 +42,6 @@ import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.Game; -import mage.game.permanent.Permanent; import mage.players.Player; import mage.target.common.TargetCardInHand; @@ -97,8 +96,7 @@ class WildfireEternalCastEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { Player controller = game.getPlayer(source.getControllerId()); - Permanent sourceObject = game.getPermanentOrLKIBattlefield(source.getSourceId()); - if (controller != null && sourceObject != null) { + if (controller != null) { FilterCard filter = new FilterInstantOrSorceryCard(); int cardsToCast = controller.getHand().count(filter, source.getControllerId(), source.getSourceId(), game); if (cardsToCast > 0 && controller.chooseUse(outcome, "Cast an instant or sorcery card from your hand without paying its mana cost?", source, game)) { diff --git a/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java index 0998dd2a4cb..f5521f08b7c 100644 --- a/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/AttacksAndIsNotBlockedTriggeredAbility.java @@ -66,7 +66,7 @@ public class AttacksAndIsNotBlockedTriggeredAbility extends TriggeredAbilityImpl @Override public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.DECLARED_BLOCKERS; + return event.getType() == EventType.DECLARE_BLOCKERS_STEP; } @Override diff --git a/Mage/src/main/java/mage/game/turn/Step.java b/Mage/src/main/java/mage/game/turn/Step.java index 1a0c769e0fa..6c460e6ee08 100644 --- a/Mage/src/main/java/mage/game/turn/Step.java +++ b/Mage/src/main/java/mage/game/turn/Step.java @@ -83,6 +83,7 @@ public abstract class Step implements Serializable { public void priority(Game game, UUID activePlayerId, boolean resuming) { if (hasPriority) { stepPart = StepPart.PRIORITY; + game.fireEvent(new GameEvent(stepEvent, null, null, activePlayerId)); game.playPriority(activePlayerId, resuming); } }