public override void UpdateSpell() { float shieldBonus = (1f + PriestInformation.GetImprovedPowerWordShield(character.PriestTalents.ImprovedPowerWordShield)) * (1f + PriestInformation.GetTwinDisciplines(character.PriestTalents.TwinDisciplines)) * (1f + stats.ShieldDiscipline); float spellPowerBonus = stats.SpellPower * BaseDirectCoefficient; base.UpdateSpell(); Cooldown = BaseCooldown - PriestInformation.GetSoulWarding(character.PriestTalents.SoulWarding); AbsorbMinHit = AbsorbMaxHit = AbsorbAvgHit = (BaseDirectValue + spellPowerBonus) * shieldBonus; if (character.PriestTalents.GlyphofPowerWordShield) { DirectHealMinHit = DirectHealMaxHit = DirectHealAvgHit = AbsorbAvgHit * 0.2f; DirectHealMinCrit = DirectHealMaxCrit = DirectHealAvgCrit = AbsorbAvgHit * 0.2f * CritMultiplier; DirectHealAvg = DirectHealAvgHit * (1f - CritChance) + DirectHealAvgCrit * CritChance; HasDirectHeal = true; if (stats.PriestSpec == ePriestSpec.Spec_Disc) { DivineAegis(); } else if (stats.PriestSpec == ePriestSpec.Spec_Holy) { EchoOfLight(); } } AbsorbAvg = AbsorbAvgHit + AbsorbAvgCrit * CritChance; }