From 4cafa3fc52f7c4cc040b2570c0ebfac1a1d79c67 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Fri, 5 Aug 2011 19:46:41 +0400 Subject: [PATCH] Allow only actions for current priority. --- .../java/mage/server/game/GameController.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index 1c859d7ecd..4095563bcf 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -572,27 +572,20 @@ public class GameController implements GameCallback { private void sendMessage(UUID userId, Command command) { final UUID playerId = userPlayerMap.get(userId); if (game.getPlayer(playerId).isGameUnderControl()) { - if (game.getPlayer(playerId).getPlayersUnderYourControl().size() == 0) { - // we have a problem with synchronization between priorityId and message sent - // so have to check the size of list of players controlled - if (gameSessions.containsKey(playerId)) - command.execute(playerId); - } else { // if it's your priority (or game not started yet in which case it will be null) // then execute only your action - //if (game.getPriorityPlayerId() == null || game.getPriorityPlayerId().equals(playerId)) { + if (game.getPriorityPlayerId() == null || game.getPriorityPlayerId().equals(playerId)) { if (gameSessions.containsKey(playerId)) command.execute(playerId); - //} // otherwise execute the action under other player's control - //else { + } // otherwise execute the action under other player's control + else { //System.out.println("asThough: " + playerId + " " + game.getPriorityPlayerId()); Player player = game.getPlayer(playerId); for (UUID controlled : player.getPlayersUnderYourControl()) { if (gameSessions.containsKey(controlled) && game.getPriorityPlayerId().equals(controlled)) command.execute(controlled); } - //} - } + } } else { // ignore - no control over the turn return;