}
private void playerActionCompleted() {
context.mainActivity.updateStatus();
- if (!playerHasApLeft()) endPlayerTurn();
+ if (!playerHasApLeft()) beginMonsterTurn(false);
}
private void continueTurn() {
- if (!playerHasApLeft()) handleNextMonsterAction();
+ if (model.uiSelections.isPlayersCombatTurn) return;
+ if (playerHasApLeft()) return;
+ handleNextMonsterAction();
}
private void executeCombatMove(final Coord dest) {
}
};
- public void endPlayerTurn() {
+ public void beginMonsterTurn(boolean isFirstRound) {
model.player.ap.current = 0;
+ model.uiSelections.isPlayersCombatTurn = false;
for (MonsterSpawnArea a : model.currentMap.spawnAreas) {
for (Monster m : a.monsters) {
m.setMaxAP();
}
private void endMonsterTurn() {
currentActiveMonster = null;
- newPlayerTurn();
+ newPlayerTurn(false);
}
- private void newPlayerTurn() {
+ private void newPlayerTurn(boolean isFirstRound) {
model.player.setMaxAP();
+ if (!isFirstRound) context.gameRoundController.onNewPlayerRound();
+ model.uiSelections.isPlayersCombatTurn = true;
updateTurnInfo();
}
private void updateTurnInfo() {