@Override public UUID getActivePlayerId() { return state.getActivePlayerId(); }
@Override public UUID getPriorityPlayerId() { if (state.getPriorityPlayerId() == null) { return state.getActivePlayerId(); } return state.getPriorityPlayerId(); }
@Override public boolean apply(Game game, Ability source) { UUID activePlayer = game.getState().getActivePlayerId(); if (activePlayer != null) { BloodthirstWatcher watcher = game.getState().getWatcher(BloodthirstWatcher.class, activePlayer); if (watcher != null) { return !watcher.conditionMet(); } } return false; }
sb.append(game.getPlayer(state.getActivePlayerId()).getName()); sb.append("<br>isGameOver: "); sb.append(state.isGameOver());
sb.append(game.getPlayer(state.getActivePlayerId()).getName()); if (game.getPlayer(state.getActivePlayerId()).hasLeft()) { Player p = game.getPlayer(state.getActivePlayerId()); if (p != null) { p.concede(game); currentPhase.getStep().skipStep(game, state.getActivePlayerId()); sb.append("<br>Forcibly passing the phase!"); fixedAlready = true; currentPhase.getStep().endStep(game, state.getActivePlayerId()); fixedAlready = true; sb.append("<br>Forcibly passing the phase!"); currentPhase.getStep().skipStep(game, state.getActivePlayerId()); fixedAlready = true; sb.append("<br>Forcibly passing the phase!");
boolean played = false; state.getTriggers().checkStateTriggers(this); for (UUID playerId : state.getPlayerList(state.getActivePlayerId())) { Player player = getPlayer(playerId); while (player.isInGame()) { // player can die or win caused by triggered abilities or leave the game
this.step = state.getTurn().getStepType(); this.turn = state.getTurnNum(); this.activePlayerId = state.getActivePlayerId(); if (state.getActivePlayerId() != null) { this.activePlayerName = state.getPlayer(state.getActivePlayerId()).getName(); } else { this.activePlayerName = "";
this.handCount = player.getHand().size(); this.manaPool = new ManaPoolView(player.getManaPool()); this.isActive = (player.getId().equals(state.getActivePlayerId())); this.hasPriority = player.getId().equals(state.getPriorityPlayerId()); this.priorityTimeLeft = player.getPriorityTimeLeft();
private boolean playTurn(Player player) { boolean skipTurn = false; do { if (executingRollback) { executingRollback = false; player = getPlayer(state.getActivePlayerId()); for (Player playerObject : getPlayers().values()) { if (playerObject.isInGame()) { playerObject.abortReset(); } } } else { state.setActivePlayerId(player.getId()); saveRollBackGameState(); } if (checkStopOnTurnOption()) { return false; } skipTurn = state.getTurn().play(this, player); } while (executingRollback); if (isPaused() || checkIfGameIsOver()) { return false; } if (!skipTurn) { endOfTurn(); state.setTurnNum(state.getTurnNum() + 1); } return true; }
@Override public void resume() { playerList = state.getPlayerList(state.getActivePlayerId()); Player player = getPlayer(playerList.get()); boolean wasPaused = state.isPaused(); state.resume(); if (!checkIfGameIsOver()) { fireInformEvent("Turn " + state.getTurnNum()); if (checkStopOnTurnOption()) { return; } state.getTurn().resumePlay(this, wasPaused); if (!isPaused() && !checkIfGameIsOver()) { endOfTurn(); player = playerList.getNext(this); state.setTurnNum(state.getTurnNum() + 1); } } play(player.getId()); }