summaryrefslogtreecommitdiff
path: root/scripts/entities/actors/actions/MeleeAction.cs
diff options
context:
space:
mode:
authorMatheus <matheus.guedes.mg.m@gmail.com>2025-09-04 17:04:52 -0300
committerMatheus <matheus.guedes.mg.m@gmail.com>2025-09-04 17:04:52 -0300
commit396c0788cea3bc68022c4bc5a96c82e058bc9b93 (patch)
tree0eeecb67a14f61c4f42f363a94685539d09b2201 /scripts/entities/actors/actions/MeleeAction.cs
parent6f2c2edd52171a4df7f35de695c9b2e7801d3e5f (diff)
Move move
Diffstat (limited to 'scripts/entities/actors/actions/MeleeAction.cs')
-rw-r--r--scripts/entities/actors/actions/MeleeAction.cs47
1 files changed, 0 insertions, 47 deletions
diff --git a/scripts/entities/actors/actions/MeleeAction.cs b/scripts/entities/actors/actions/MeleeAction.cs
deleted file mode 100644
index 6dfeb78..0000000
--- a/scripts/entities/actors/actions/MeleeAction.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using Godot;
-
-/// <summary>
-/// Ação de ataque físico. Uma ação direcionada que ataca um alvo.
-/// </summary>
-public partial class MeleeAction : DirectionalAction
-{
- public MeleeAction(Actor actor, Vector2I offset) : base(actor, offset)
- {
- }
-
- /// <summary>
- /// Ataca o ator na direção da ação.
- /// </summary>
- public override void Perform()
- {
- // Eu te disse que este método seria útil.
- Entity potentialTarget = GetTarget();
-
- // Só podemos atacar atores.
- if (potentialTarget is not Actor) {
- return;
- }
-
- Actor target = (Actor)potentialTarget;
-
-
- // Se não houver um ator na direção, não podemos continuar.
- // Isto é uma ação gratuita.
- if (target == null) return;
-
- // não podemos ter dano negativo.
- int damage = actor.Atk - target.Def;
-
- string attackDesc = $"{actor.DisplayName} ataca {target.DisplayName}";
-
- if (damage > 0) {
- attackDesc += $" e remove {damage} de HP.";
- target.Hp -= damage;
- } else {
- attackDesc += $" mas {target.DisplayName} tem músculos de aço.";
- }
-
- MessageLogData.Instance.AddMessage(attackDesc);
- actor.Energy -= cost;
- }
-}