Exemple #1
0
        public virtual void UpdateSpell()
        {
            HasDirectDamage = false; HasDirectHeal = false; HasAbsorb = false; HasOverTimeDamage = false; HasOverTimeHeal = false;

            float hc = 1f / (1f + stats.SpellHaste);

            IsInstant = BaseCastTime == 0f;
            if (IsInstant)
            {
                CastTime = 0f;
            }
            else
            {
                CastTime = Math.Max(1f, BaseCastTime * hc);
            }
            GlobalCooldown = Math.Max(1f, BaseGlobalCooldown * hc);
            CritChance     = stats.SpellCrit;
            CritMultiplier = 1.5f * (1f + stats.BonusCritHealMultiplier);
            ManaCost       = BaseManaCost * BaseStats.GetBaseStats(character).Mana; // priestInformation.BaseMana;
            if (IsInstant)
            {
                ManaCost *= PriestInformation.GetMentalAgility(character.PriestTalents.MentalAgility);
            }
        }