Пример #1
0
 public float CalcAttackPower()
 {
     return(BaseAttackPower + Stats.Strength * 2f + Mommy.CalcSpellPower() * (Mommy.CalcOpts.PlayerLevel / 80));
 }
Пример #2
0
        public float GetPactProcBenefit()
        {
            float pact = .02f * Mommy.Talents.DemonicPact;

            if (pact == 0)
            {
                return(0f);
            }

            float buff
                = StatUtils.GetBuffEffect(
                      Mommy.Character.ActiveBuffs,
                      Mommy.CalcSpellPower() * pact,
                      "Spell Power",
                      s => s.SpellPower);

            if (buff == 0)
            {
                return(0f);
            }

            SpecialEffect pactEffect
                = new SpecialEffect(0, null, 45f, 20f);
            float meleeRate;

            if (BaseMeleeDamage == 0)
            {
                meleeRate = 0f;
            }
            else
            {
                meleeRate = 1 / CalcMeleeSpeed();
            }
            float spellRate;

            if (SpecialDamagePerSpellPower == 0)
            {
                spellRate = 0f;
                float specialSpeed = GetSpecialSpeed();
                if (specialSpeed > 0)
                {
                    meleeRate += 1 / GetSpecialSpeed();
                }
            }
            else
            {
                spellRate = 1 / GetSpecialSpeed();
            }
            float triggerRate = 1 / (meleeRate + spellRate);
            float uprate      = pactEffect.GetAverageUptime(
                triggerRate,
                Utilities.GetWeightedSum(
                    Mommy.HitChance * CalcSpellCrit(),
                    spellRate,
                    CalcMeleeCrit(),
                    meleeRate),
                triggerRate,
                Mommy.Options.Duration);

            return(uprate * buff);
        }
Пример #3
0
 public float CalcSpellPower()
 {
     return(Mommy.CalcSpellPower() * (Mommy.CalcOpts.PlayerLevel / 80) * 0.5f);
 }
Пример #4
0
 public void CalcStats2()
 {
     Stats.SpellPower  += SpellPowerCoef * Mommy.CalcSpellPower();
     Stats.AttackPower += AttackPowerCoef * Mommy.CalcSpellPower();
 }