private void CheckDamageBuffEffect(LiveMonster src, HitDamage dam) { if (dam.Dtype == DamageTypes.Physical) { if (BuffManager.HasBuff(BuffEffectTypes.Chaos) && MathTool.GetRandom(100) < 25) { src.HpBar.OnDamage(dam); dam.SetDamage(DamageTypes.Physical, 0); } } if (BuffManager.HasBuff(BuffEffectTypes.Shield)) { dam.SetDamage(DamageTypes.All, 1); } }
public void CheckMagicDamage(HitDamage damage) { if (damage.Element > 0 && antiMagic[damage.Element - 1] > 0) { damage.SetDamage(DamageTypes.Magic, Math.Max(damage.Value * (100 - antiMagic[damage.Element - 1]) / 100, 0)); } }