aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index 873a876bd88..45395883e79 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -99,6 +99,7 @@ enum PriestSpells
SPELL_PRIEST_HALO_SHADOW_HEAL = 390971,
SPELL_PRIEST_HEAL = 2060,
SPELL_PRIEST_HEALING_LIGHT = 196809,
+ SPELL_PRIEST_HEAVENS_WRATH = 421558,
SPELL_PRIEST_HOLY_FIRE = 14914,
SPELL_PRIEST_HOLY_MENDING_HEAL = 391156,
SPELL_PRIEST_HOLY_NOVA = 132157,
@@ -174,6 +175,9 @@ enum PriestSpells
SPELL_PRIEST_TRAIL_OF_LIGHT_HEAL = 234946,
SPELL_PRIEST_TRINITY = 214205,
SPELL_PRIEST_TRINITY_EFFECT = 214206,
+ SPELL_PRIEST_ULTIMATE_PENITENCE = 421453,
+ SPELL_PRIEST_ULTIMATE_PENITENCE_DAMAGE = 421543,
+ SPELL_PRIEST_ULTIMATE_PENITENCE_HEAL = 421544,
SPELL_PRIEST_VAMPIRIC_EMBRACE_HEAL = 15290,
SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL = 64085,
SPELL_PRIEST_VOID_SHIELD = 199144,
@@ -1255,6 +1259,35 @@ class spell_pri_guardian_spirit : public AuraScript
}
};
+// 421558 - Heaven's Wrath
+class spell_pri_heavens_wrath : public AuraScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellInfo({ SPELL_PRIEST_ULTIMATE_PENITENCE });
+ }
+
+ bool CheckProc(ProcEventInfo const& eventInfo) const
+ {
+ return !(eventInfo.GetSpellInfo()->Id == SPELL_PRIEST_ULTIMATE_PENITENCE_DAMAGE || eventInfo.GetSpellInfo()->Id == SPELL_PRIEST_ULTIMATE_PENITENCE_HEAL);
+ }
+
+ void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo const& eventInfo) const
+ {
+ Unit* caster = eventInfo.GetActor();
+ if (!caster)
+ return;
+
+ int32 cdReduction = aurEff->GetAmount();
+ caster->GetSpellHistory()->ModifyCooldown(SPELL_PRIEST_ULTIMATE_PENITENCE, Seconds(-cdReduction), true);
+ }
+
+ void Register() override
+ {
+ OnEffectProc += AuraEffectProcFn(spell_pri_heavens_wrath::HandleEffectProc, EFFECT_0, SPELL_AURA_DUMMY);
+ }
+};
+
// 120644 - Halo (Shadow)
class spell_pri_halo_shadow : public SpellScript
{
@@ -2990,6 +3023,7 @@ void AddSC_priest_spell_scripts()
RegisterSpellScript(spell_pri_guardian_spirit);
RegisterSpellScript(spell_pri_halo_shadow);
RegisterAreaTriggerAI(areatrigger_pri_halo);
+ RegisterSpellScript(spell_pri_heavens_wrath);
RegisterSpellScript(spell_pri_holy_mending);
RegisterSpellScript(spell_pri_holy_words);
RegisterSpellScript(spell_pri_holy_word_salvation);