Fixes
This commit is contained in:
@@ -21,7 +21,7 @@ public class GameState {
|
||||
private Map<String, List<PhysicalCardImpl>> _inPlay = new HashMap<String, List<PhysicalCardImpl>>();
|
||||
|
||||
private String _currentPlayerId;
|
||||
private Phase _currentPhase;
|
||||
private Phase _currentPhase = Phase.GAME_SETUP;
|
||||
private int _twilightPool;
|
||||
|
||||
private int _moveCount;
|
||||
@@ -73,6 +73,7 @@ public class GameState {
|
||||
if (_losers.size() + 1 == _playerOrder.getAllPlayers().size()) {
|
||||
List<String> allPlayers = new LinkedList<String>(_playerOrder.getAllPlayers());
|
||||
allPlayers.removeAll(_losers);
|
||||
_winnerPlayerId = allPlayers.get(0);
|
||||
return allPlayers.get(0);
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -122,20 +122,23 @@ public class DefaultLotroGame implements LotroGame {
|
||||
|
||||
@Override
|
||||
public void checkWinLoseConditions() {
|
||||
// Ring-bearer death
|
||||
if (!Filters.canSpot(getGameState(), getModifiersQuerying(), Filters.keyword(Keyword.RING_BEARER))) {
|
||||
playerLost(getGameState().getCurrentPlayerId());
|
||||
}
|
||||
// Ring-bearer corruption
|
||||
PhysicalCard ringBearer = Filters.findFirstActive(getGameState(), getModifiersQuerying(), Filters.keyword(Keyword.RING_BEARER));
|
||||
int ringBearerResistance = ringBearer.getBlueprint().getResistance();
|
||||
if (getGameState().getBurdens() >= ringBearerResistance) {
|
||||
playerLost(getGameState().getCurrentPlayerId());
|
||||
}
|
||||
// Fellowship in regroup at the last site
|
||||
if (getGameState().getCurrentPhase() == Phase.REGROUP
|
||||
&& getGameState().getCurrentSiteNumber() == 9) {
|
||||
playerWon(getGameState().getCurrentPlayerId());
|
||||
GameState gameState = getGameState();
|
||||
if (gameState != null && gameState.getCurrentPhase() != Phase.GAME_SETUP) {
|
||||
// Ring-bearer death
|
||||
if (!Filters.canSpot(gameState, getModifiersQuerying(), Filters.keyword(Keyword.RING_BEARER))) {
|
||||
playerLost(getGameState().getCurrentPlayerId());
|
||||
}
|
||||
// Ring-bearer corruption
|
||||
PhysicalCard ringBearer = Filters.findFirstActive(getGameState(), getModifiersQuerying(), Filters.keyword(Keyword.RING_BEARER));
|
||||
int ringBearerResistance = ringBearer.getBlueprint().getResistance();
|
||||
if (getGameState().getBurdens() >= ringBearerResistance) {
|
||||
playerLost(getGameState().getCurrentPlayerId());
|
||||
}
|
||||
// Fellowship in regroup at the last site
|
||||
if (getGameState().getCurrentPhase() == Phase.REGROUP
|
||||
&& getGameState().getCurrentSiteNumber() == 9) {
|
||||
playerWon(getGameState().getCurrentPlayerId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.gempukku.lotro.logic.timing.processes.pregame;
|
||||
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Zone;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
@@ -23,7 +22,6 @@ public class FirstPlayerPlaysSiteGameProcess implements GameProcess {
|
||||
public void process() {
|
||||
GameState gameState = _game.getGameState();
|
||||
PhysicalCard firstSite = Filters.filter(gameState.getAdventureDeck(gameState.getCurrentPlayerId()), gameState, _game.getModifiersQuerying(), Filters.siteNumber(1)).get(0);
|
||||
gameState.setCurrentPhase(Phase.GAME_SETUP);
|
||||
gameState.removeCardFromZone(firstSite);
|
||||
gameState.addCardToZone(firstSite, Zone.ADVENTURE_PATH);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user