summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/rustanddust/game
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/rustanddust/game')
-rw-r--r--core/src/ch/asynk/rustanddust/game/Ctrl.java16
1 files changed, 13 insertions, 3 deletions
diff --git a/core/src/ch/asynk/rustanddust/game/Ctrl.java b/core/src/ch/asynk/rustanddust/game/Ctrl.java
index 522b562..01dc202 100644
--- a/core/src/ch/asynk/rustanddust/game/Ctrl.java
+++ b/core/src/ch/asynk/rustanddust/game/Ctrl.java
@@ -281,7 +281,7 @@ public abstract class Ctrl implements Disposable
if (stateType == StateType.ANIMATION) {
this.blockMap = hud.dialogActive();
if (nextState == StateType.REPLAY)
- completeReplay();
+ completeReplayStep();
}
hud.playerInfo.blockEndOfTurn(nextState != StateType.SELECT);
@@ -305,7 +305,7 @@ public abstract class Ctrl implements Disposable
case DEPLOYMENT:
return completeDeployment();
case REPLAY:
- return battle.getState();
+ return completeReplay();
default:
return completeAction();
}
@@ -352,7 +352,17 @@ public abstract class Ctrl implements Disposable
return nextState;
}
- private void completeReplay()
+ private StateType completeReplay()
+ {
+ if (battle.getPlayer().apExhausted()) {
+ return StateType.TURN_OVER;
+ } else if (!battle.getPlayer().canDoSomething()) {
+ return StateType.TURN_OVER;
+ } else
+ return battle.getState();
+ }
+
+ private void completeReplayStep()
{
StateType nextState = replayState.execute();