using Godot; namespace Newlon.Components.Zombies; public partial class RuntimeZombieData : Entity { [Export] private Armor _armor; [Export] private AudioStream garlicSound; [Export] private AudioStream freezeSound; public bool AbleToEat = true; public override void Heal(float amount, Node origin) { if (_armor != null) { HP += _armor.Heal(amount); } else HP += amount; EmitSignal(SignalName.OnHPChanged, amount, origin); if (HP > MaxHP) { HP = MaxHP; } } public override void TakeDamage(float amount, Node origin) { if (_armor != null) { HP -= _armor.RecieveDamage(amount); } else HP -= amount; EmitSignal(SignalName.OnHPChanged, -amount, origin); EmitSignal(SignalName.OnDamaged); if (HP <= 0) { KillByDamage(); } } }