diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/BiddingGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/BiddingGameProcess.java index 81dabfc82..268cfaae6 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/BiddingGameProcess.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/BiddingGameProcess.java @@ -6,14 +6,14 @@ import com.gempukku.lotro.logic.decisions.IntegerAwaitingDecision; import com.gempukku.lotro.logic.timing.PlayerOrderFeedback; import com.gempukku.lotro.logic.timing.processes.GameProcess; -import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; public class BiddingGameProcess implements GameProcess { private Set _players; private PlayerOrderFeedback _playerOrderFeedback; - private Map _bids = new HashMap(); + private Map _bids = new LinkedHashMap(); public BiddingGameProcess(Set players, PlayerOrderFeedback playerOrderFeedback) { _players = players; @@ -46,6 +46,6 @@ public class BiddingGameProcess implements GameProcess { @Override public GameProcess getNextProcess() { - return new ChooseSeatingOrderGameProcess(_bids, _playerOrderFeedback); + return new CheckForCorruptionGameProcess(_bids, _playerOrderFeedback); } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java new file mode 100644 index 000000000..9e345ef42 --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/processes/pregame/CheckForCorruptionGameProcess.java @@ -0,0 +1,37 @@ +package com.gempukku.lotro.logic.timing.processes.pregame; + +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.timing.PlayerOrderFeedback; +import com.gempukku.lotro.logic.timing.processes.GameProcess; + +import java.util.Map; + +public class CheckForCorruptionGameProcess implements GameProcess { + private Map _bids; + private PlayerOrderFeedback _playerOrderFeedback; + + public CheckForCorruptionGameProcess(Map bids, PlayerOrderFeedback playerOrderFeedback) { + _bids = bids; + _playerOrderFeedback = playerOrderFeedback; + } + + @Override + public void process(LotroGame game) { + for (Map.Entry playerBid : _bids.entrySet()) { + String player = playerBid.getKey(); + int bid = playerBid.getValue(); + + game.getGameState().startPlayerTurn(player); + int ringBearerResistance = game.getModifiersQuerying().getResistance(game.getGameState(), game.getGameState().getRingBearer(player)); + if (ringBearerResistance<=bid) { + game.playerLost(player, "Corrupted before game started"); + break; + } + } + } + + @Override + public GameProcess getNextProcess() { + return new ChooseSeatingOrderGameProcess(_bids, _playerOrderFeedback); + } +}