Win and loose conditions
This commit is contained in:
parent
6c42479d6b
commit
48cdc6db05
15 changed files with 191 additions and 120 deletions
|
|
@ -15,20 +15,32 @@ public partial class Entity : Node2D
|
|||
|
||||
public virtual void TakeDamage(float amount, Node origin)
|
||||
{
|
||||
HP -= amount;
|
||||
EmitSignal(SignalName.OnHPChanged, -amount, origin);
|
||||
EmitSignal(SignalName.OnDamaged);
|
||||
if (HP <= 0)
|
||||
if (HP - amount <= 0)
|
||||
{
|
||||
EmitSignal(SignalName.OnHPChanged, -HP, origin);
|
||||
HP = 0;
|
||||
KillByDamage();
|
||||
}
|
||||
else
|
||||
{
|
||||
HP -= amount;
|
||||
EmitSignal(SignalName.OnHPChanged, -amount, origin);
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Heal(float amount, Node origin)
|
||||
{
|
||||
EmitSignal(SignalName.OnHPChanged, amount, origin);
|
||||
HP += amount;
|
||||
if (HP > MaxHP) HP = MaxHP;
|
||||
if (HP + amount > MaxHP)
|
||||
{
|
||||
EmitSignal(SignalName.OnHPChanged, MaxHP - HP, origin);
|
||||
HP = MaxHP;
|
||||
}
|
||||
else
|
||||
{
|
||||
HP += amount;
|
||||
EmitSignal(SignalName.OnHPChanged, amount, origin);
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void KillByDamage()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue