From 35b1e776d2123f8f449c8349d46858c131be6c1c Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 22 Apr 2014 15:13:58 +0200 Subject: [PATCH] * Banisher Priest - Fixed that the return from exile effect was added to the list of triggered abilities the player has to choose the order for. --- Mage/src/mage/game/GameImpl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index 76af9299476..4dae0ff2595 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -1202,11 +1202,23 @@ public abstract class GameImpl> implements Game, Serializa if (abilities.isEmpty()) { break; } + // triggered abilities that don't use the stack have to be executed first (e.g. Banisher Priest Return exiled creature + for (Iterator it = abilities.iterator(); it.hasNext();) { + TriggeredAbility triggeredAbility = it.next(); + if (!triggeredAbility.isUsesStack()) { + state.removeTriggeredAbility(triggeredAbility); + played |= player.triggerAbility(triggeredAbility, this); + it.remove(); + } + } + if (abilities.isEmpty()) { + break; + } if (abilities.size() == 1) { state.removeTriggeredAbility(abilities.get(0)); played |= player.triggerAbility(abilities.get(0), this); } - else { + else { TriggeredAbility ability = player.chooseTriggeredAbility(abilities, this); if (ability != null) { state.removeTriggeredAbility(ability);