summaryrefslogtreecommitdiff
path: root/scripts/Time/TurnManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Time/TurnManager.cs')
-rw-r--r--scripts/Time/TurnManager.cs9
1 files changed, 5 insertions, 4 deletions
diff --git a/scripts/Time/TurnManager.cs b/scripts/Time/TurnManager.cs
index fd16f0f..01efc18 100644
--- a/scripts/Time/TurnManager.cs
+++ b/scripts/Time/TurnManager.cs
@@ -50,17 +50,18 @@ public partial class TurnManager : RefCounted
StartTurn();
}
+ bool actionResult = true;;
// Primeiro executamos a ação do jogador, se ele puder.
if (playerActionQueue.Count > 0 && Player.Energy > 0) {
Action action = playerActionQueue[0];
playerActionQueue.RemoveAt(0);
- action.Perform();
+ actionResult = action.Perform();
}
- // Se o jogador ainda tem energia, ele poderá fazer
- // mais um turno sem interrupções.
- if (Player.Energy <= 0) {
+ // Se a ação do jogador for gratuita ou se o jogador ainda possuir energia,
+ // ele poderá fazer mais um turno sem interrupções.
+ if (actionResult && Player.Energy <= 0) {
// Depois computamos os turnos dos outros atores.
HandleEnemyTurns();
map.UpdateFOV(Player.GridPosition);