Win and loose conditions
This commit is contained in:
parent
804122a3bd
commit
b551c7f012
15 changed files with 193 additions and 122 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue