summaryrefslogtreecommitdiff
path: root/scripts/Time/TurnManager.cs
diff options
context:
space:
mode:
authorMatheus <matheus.guedes.mg.m@gmail.com>2025-09-04 17:20:48 -0300
committerMatheus <matheus.guedes.mg.m@gmail.com>2025-09-04 17:20:48 -0300
commit147bb12b5d48c5432aa1bd1cbe60b8435294445b (patch)
treeef76e9404d7125b370a4c370603e242e4fd0d6b7 /scripts/Time/TurnManager.cs
parent396c0788cea3bc68022c4bc5a96c82e058bc9b93 (diff)
Ações gratuitas são mais explícitas
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);