diff --git a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java index d8e35f1..46227aa 100644 --- a/src/main/java/it/polimi/ingsw/gc14/Model/Game.java +++ b/src/main/java/it/polimi/ingsw/gc14/Model/Game.java @@ -746,7 +746,7 @@ public class Game implements Serializable { currentState.GameStageUpdate(GameStages.OPT_CARD_E); OptionalCardQueue = new LinkedList<>(); - for (Player p : orderLogicCard.players) { + for (Player p :playersList) { long count = p.buildingCards.stream().filter(x -> x.getEffectId() == 12).count(); if (count > 0) { OptionalCardQueue.add(p); @@ -760,9 +760,6 @@ public class Game implements Serializable { return; } - // Nobody has optional cards → go straight to event resolution - currentState.GameStageUpdate(GameStages.RES_EVENT); - if (currentState.getRound() < 10) { nextRound(); for(Map.Entry entry: disconnetedPlayers.entrySet()) @@ -772,6 +769,11 @@ public class Game implements Serializable { orderLogicCard.pushNoEffect(entry.getKey()); disconnetedPlayers.remove(entry.getKey()); } + else + { + orderLogicCard.players.removeIf(x->x.equals(entry.getKey())); + orderLogicCard.playerList.removeIf(x->x.player.equals(entry.getKey())); + } } currentState.PlayerUpdate(orderLogicCard.pull(), null); currentState.GameStageUpdate(GameStages.SLOT_CHOICE);