Пример #1
0
        public void CalcStats1()
        {
            // Stam & Int have to happen in this stage, so that Demonic
            // Knowledge is in effect when calculating the benefit of a
            // Demonic Pact proc.

            // Crit has to happen in this stage, so that Empowered Imp gives
            // the warlocks the right amount of crit.

            WarlockTalents talents  = Mommy.Talents;
            float          vitality = talents.FelVitality * .05f;
            float          tacticsCrit
                = .02f * talents.DemonicTactics
                  + .1f
                  * talents.ImprovedDemonicTactics
                  * (Mommy.CalcSpellCrit()
                     - Mommy.Stats.SpellCritOnTarget);

            Stats = new Stats()
            {
                Stamina = BaseStamina + StaminaCoef * Mommy.CalcStamina(),
                Intellect
                         = BaseIntellect + IntellectCoef * Mommy.CalcIntellect(),
                Strength = 297f,
                Agility  = 90f,
                BonusStaminaMultiplier   = vitality,
                BonusIntellectMultiplier = vitality,
                SpellCrit
                             = BaseSpellCrit + tacticsCrit + Mommy.Stats.Warlock2T9,
                SpellPower   = BaseSpellPower,
                AttackPower  = BaseAttackPower,
                PhysicalCrit = .0329f + tacticsCrit + Mommy.Stats.Warlock2T9,
            };
            Stats.Accumulate(Mommy.PetBuffs);

            Mommy.Add4pT10(TotalModifiers);
            FinalizeModifiers();
            SpecialModifiers.Accumulate(TotalModifiers);
            MeleeModifiers.Accumulate(TotalModifiers);

            Stats.SpellHaste    = GetHasteWithProcs(s => s.SpellHaste);
            Stats.PhysicalHaste = GetHasteWithProcs(s => s.PhysicalHaste);
        }