Exemple #1
0
        public virtual int GetNewAosDamage(int bonus, int dice, int sides, bool playerVsPlayer, double scalar)
        {
            int damage      = Utility.Dice(dice, sides, bonus) * 100;
            int damageBonus = 0;

            #region Inscription Bonus
            int inscribeSkill = GetInscribeFixed(Caster);
            int inscribeBonus = (inscribeSkill + (1000 * (inscribeSkill / 1000))) / 200;
            damageBonus += inscribeBonus;
            #endregion

            #region Intelligence Bonus
            int intBonus = Caster.Int / 10;
            damageBonus += intBonus;
            #endregion

            #region SDI Bonus
            damageBonus += SpellHelper.GetSpellDamage(Caster, playerVsPlayer);
            #endregion

            #region EvalInt Bonus
            int evalSkill = GetDamageFixed(Caster);
            int evalScale = 30 + ((9 * evalSkill) / 100);
            #endregion

            damage = AOS.Scale(damage, 100 + damageBonus);
            damage = AOS.Scale(damage, evalScale);
            damage = AOS.Scale(damage, (int)(scalar * 100));

            return(damage / 100);
        }