From 47874a7f030330d43f41e197efb7dd59ac77e0f3 Mon Sep 17 00:00:00 2001 From: spjspj Date: Tue, 15 Nov 2016 23:20:51 +1100 Subject: [PATCH] spjspj - Force stop and stop skip for when there's potential attackers --- .../src/mage/player/human/HumanPlayer.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java index ed84caa517..0676772875 100644 --- a/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human/HumanPlayer.java @@ -912,10 +912,7 @@ public class HumanPlayer extends PlayerImpl { FilterCreatureForCombat filter = filterCreatureForCombat.copy(); filter.add(new ControllerIdPredicate(attackingPlayerId)); while (!abort) { - if (passedAllTurns || passedUntilEndStepBeforeMyTurn - || (!getUserData().getUserSkipPrioritySteps().isStopOnDeclareAttackersDuringSkipAction() && (passedTurn || passedTurnSkipStack || passedUntilEndOfTurn || passedUntilNextMain))) { - return; - } + Map options = new HashMap<>(); List possibleAttackers = new ArrayList<>(); @@ -927,6 +924,12 @@ public class HumanPlayer extends PlayerImpl { options.put(Constants.Option.POSSIBLE_ATTACKERS, (Serializable) possibleAttackers); if (possibleAttackers.size() > 0) { options.put(Constants.Option.SPECIAL_BUTTON, (Serializable) "All attack"); + if (getUserData().getUserSkipPrioritySteps().isStopOnDeclareAttackersDuringSkipAction()) { + resetPlayerPassedActions(); + } + } else if (passedAllTurns || passedUntilEndStepBeforeMyTurn + || (!getUserData().getUserSkipPrioritySteps().isStopOnDeclareAttackersDuringSkipAction() && (passedTurn || passedTurnSkipStack || passedUntilEndOfTurn || passedUntilNextMain))) { + return; } game.fireSelectEvent(playerId, "Select attackers", options);