From 5ab6fd14a879df1f01291bddd319fd78383462c6 Mon Sep 17 00:00:00 2001 From: Sloth Date: Mon, 18 Mar 2013 21:51:34 +0000 Subject: [PATCH] - Fixed Freeze caused by Wake Thrasher. --- src/main/java/forge/game/phase/Untap.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/forge/game/phase/Untap.java b/src/main/java/forge/game/phase/Untap.java index e7e8b28d5b4..04eb31b37b0 100644 --- a/src/main/java/forge/game/phase/Untap.java +++ b/src/main/java/forge/game/phase/Untap.java @@ -69,7 +69,7 @@ public class Untap extends Phase { final Player turn = game.getPhaseHandler().getPlayerTurn(); Untap.doPhasing(turn); - Untap.doUntap(); + doUntap(); } /** @@ -111,7 +111,7 @@ public class Untap extends Phase { * doUntap. *

*/ - private static void doUntap() { + private void doUntap() { final Player player = Singletons.getModel().getGame().getPhaseHandler().getPlayerTurn(); final Predicate tappedCanUntap = Predicates.and(Presets.TAPPED, Presets.CANUNTAP); @@ -131,11 +131,13 @@ public class Untap extends Phase { if (Untap.canOnlyUntapOneLand() && c.isLand()) { return false; } - if ((Singletons.getModel().getGame().isCardInPlay("Damping Field") || Singletons.getModel().getGame().isCardInPlay("Imi Statue")) - && c.isArtifact()) { + if (c.isArtifact() + && (Singletons.getModel().getGame().isCardInPlay("Damping Field") || Singletons.getModel().getGame().isCardInPlay("Imi Statue"))) { return false; } - if ((Singletons.getModel().getGame().isCardInPlay("Smoke") || Singletons.getModel().getGame().isCardInPlay("Stoic Angel") || Singletons.getModel().getGame().isCardInPlay("Intruder Alarm")) && c.isCreature()) { + if (c.isCreature() + && (Singletons.getModel().getGame().isCardInPlay("Smoke") || Singletons.getModel().getGame().isCardInPlay("Stoic Angel") + || Singletons.getModel().getGame().isCardInPlay("Intruder Alarm"))) { return false; } return true; @@ -329,6 +331,7 @@ public class Untap extends Phase { c.addHiddenExtrinsicKeyword("HIDDEN This card doesn't untap during your next untap step."); } } + game.getStack().chooseOrderOfSimultaneousStackEntryAll(); } // end doUntap private static boolean canOnlyUntapOneLand() {