proper hp calculation

This commit is contained in:
Rendo 2025-07-17 02:10:47 +05:00
commit ed747bea9e
4 changed files with 35 additions and 28 deletions

View file

@ -95,13 +95,16 @@ public partial class LevelRunner : Node
zom.HPChangedMixed -= OnHPChanged;
}
}
waveHealthMax = 0;
waveHealth = waveHealthMax;
zombies.Clear();
}
public void AddZombie(RuntimeZombieData zombie)
{
zombies.Add(zombie);
waveHealthMax += zombie.MaxHP;
waveHealthMax += zombie.GetMaxHPMixed();
waveHealth = waveHealthMax;
zombie.HPChangedMixed += OnHPChanged;
}
}

View file

@ -55,7 +55,13 @@ public partial class RuntimeZombieData : Entity
}
public void HPChangedMixedInvoker(float delta)
{
EmitSignal(SignalName.HPChangedMixed, delta);
EmitSignal(SignalName.HPChangedMixed, -delta);
}
public float GetMaxHPMixed()
{
if (_armor != null)
return MaxHP + _armor.MaxHP;
return MaxHP;
}
#region Death sequence
private bool _killed = false;
@ -67,5 +73,6 @@ public partial class RuntimeZombieData : Entity
EmitSignal(SignalName.HasBeenKilled,this);
}
#endregion
}