Checking for corruption, just after bidding, before game starts.
This commit is contained in:
@@ -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<String> _players;
|
||||
private PlayerOrderFeedback _playerOrderFeedback;
|
||||
private Map<String, Integer> _bids = new HashMap<String, Integer>();
|
||||
private Map<String, Integer> _bids = new LinkedHashMap<String, Integer>();
|
||||
|
||||
public BiddingGameProcess(Set<String> 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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<String, Integer> _bids;
|
||||
private PlayerOrderFeedback _playerOrderFeedback;
|
||||
|
||||
public CheckForCorruptionGameProcess(Map<String, Integer> bids, PlayerOrderFeedback playerOrderFeedback) {
|
||||
_bids = bids;
|
||||
_playerOrderFeedback = playerOrderFeedback;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(LotroGame game) {
|
||||
for (Map.Entry<String, Integer> 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user