private void CheckDamageBuffEffect(LiveMonster src, HitDamage dam) { if (dam.Dtype == DamageTypes.Physical) { if (BuffManager.HasBuff(BuffEffectTypes.Chaos) && MathTool.GetRandom(100) < 25) { src.Life -= dam.Value; 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)); } }