Win and loose conditions

This commit is contained in:
Rendo 2025-07-20 04:23:22 +05:00
commit b551c7f012
15 changed files with 193 additions and 122 deletions

View file

@ -35,18 +35,24 @@ public partial class RuntimeZombieData : Entity
}
public override void TakeDamage(float amount, Node origin)
{
var damage = amount;
if (_armor != null)
{
HP -= _armor.RecieveDamage(amount);
damage = _armor.RecieveDamage(amount);
}
EmitSignal(SignalName.OnDamaged);
if (HP - damage <= 0)
{
var delta = -HP;
HP = 0;
EmitSignal(SignalName.OnHPChanged, delta, origin);
KillByDamage();
}
else
HP -= amount;
EmitSignal(SignalName.OnHPChanged, -amount, origin);
EmitSignal(SignalName.OnDamaged);
if (HP <= 0)
{
KillByDamage();
HP -= damage;
EmitSignal(SignalName.OnHPChanged, -damage, origin);
}
}
public void HPChangedMixedInvokerSource(float delta, Node source)