Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
		/// <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;
		}