Win and loose conditions
This commit is contained in:
parent
804122a3bd
commit
b551c7f012
15 changed files with 193 additions and 122 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