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() {