/// <summary> /// Modified by victim's resilience /// </summary> /// <param name="dmg"></param> /// <param name="victim"></param> /// <param name="effect"></param> /// <returns></returns> public virtual float CalcCritDamage(float dmg, Unit victim, SpellEffect effect) { /*if (effect != null) * { * return (int)(dmg * 1.5f); * }*/ var multiplier = 200; multiplier -= (int)victim.GetResiliencePct(); multiplier += victim.GetIntMod(StatModifierInt.CritDamageBonusPct) + CritDamageBonusPrc; return((dmg * multiplier + 50) / 100); }
/// <summary> /// Modified by victim's resilience /// </summary> /// <param name="dmg"></param> /// <param name="victim"></param> /// <param name="effect"></param> /// <returns></returns> public virtual float CalcCritDamage(float dmg, Unit victim, SpellEffect effect) { if (effect != null) { return (int)(dmg * 1.5f); } var multiplier = 200; multiplier -= (int)victim.GetResiliencePct(); multiplier += victim.GetIntMod(StatModifierInt.CritDamageBonusPct); return (dmg * multiplier + 50) / 100; }