diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 7be7d09f24d..9a2b1795ac5 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -874,9 +874,8 @@ public class GameAction { if (game.getTriggerHandler().runWaitingTriggers()) { checkAgain = true; - // Place triggers on stack - game.getStack().chooseOrderOfSimultaneousStackEntryAll(); } + boolean yamazaki = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Brothers Yamazaki")).size() == 2; for (Player p : game.getPlayers()) { if (this.handleLegendRule(p, yamazaki)) { diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index acfdcaed5f1..fbc72b78cd2 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -166,8 +166,6 @@ public class PhaseHandler implements java.io.Serializable { * a {@link forge.game.player.Player} object. */ public final void setPriority(final Player p) { - game.getStack().chooseOrderOfSimultaneousStackEntryAll(); - this.pFirstPriority = p; this.pPlayerPriority = p; } @@ -984,6 +982,7 @@ public class PhaseHandler implements java.io.Serializable { // SBA could lead to game over if (game.isGameOver()) { return; } + game.getStack().chooseOrderOfSimultaneousStackEntry(pPlayerPriority); pPlayerPriority.getController().takePriority(); if (DEBUG_PHASES) { @@ -1004,7 +1003,8 @@ public class PhaseHandler implements java.io.Serializable { if (game.isGameOver() || nextPlayer == null) { return; } // conceded? - // System.out.println(String.format("%s %s: %s passes priority to %s", playerTurn, phase, actingPlayer, nextPlayer)); + if( DEBUG_PHASES ) + System.out.println(String.format("%s %s: %s passes priority to %s", playerTurn, phase, pPlayerPriority, nextPlayer)); if (getFirstPriority() == nextPlayer) { if (game.getStack().isEmpty()) { this.setPriority(this.getPlayerTurn()); // this needs to be set early as we exit the phase @@ -1017,7 +1017,6 @@ public class PhaseHandler implements java.io.Serializable { } else if (!game.getStack().hasSimultaneousStackEntries()) { game.getStack().resolveStack(); - game.getStack().chooseOrderOfSimultaneousStackEntryAll(); } } else { diff --git a/forge-game/src/main/java/forge/game/phase/Untap.java b/forge-game/src/main/java/forge/game/phase/Untap.java index 8699109b1e1..ca629182571 100644 --- a/forge-game/src/main/java/forge/game/phase/Untap.java +++ b/forge-game/src/main/java/forge/game/phase/Untap.java @@ -223,7 +223,6 @@ 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 void optionalUntap(final Card c) { diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index 274c8eeb1f2..500b9ed8c08 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -205,11 +205,6 @@ public class MagicStack /* extends MyObservable */ implements Iterable