public void Damage(int damage) { int finalDamage = (int)(damage * (1 - GameDefine.GetDefPercentage(def.Value))); if (finalDamage < 0) { finalDamage = 0; } if (finalDamage > Hp.Value) { finalDamage = Hp.Value; } Hp.Value -= finalDamage; info.OnNext($"-{finalDamage}"); }