diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index a5ebb647694..192692af216 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -71,6 +71,7 @@ enum PriestSpells SPELL_PRIEST_HALO_SHADOW_DAMAGE = 390964, SPELL_PRIEST_HALO_SHADOW_HEAL = 390971, SPELL_PRIEST_HEAL = 2060, + SPELL_PRIEST_HOLY_MENDING_HEAL = 391156, SPELL_PRIEST_HOLY_WORD_CHASTISE = 88625, SPELL_PRIEST_HOLY_WORD_SANCTIFY = 34861, SPELL_PRIEST_HOLY_WORD_SERENITY = 2050, @@ -594,6 +595,33 @@ struct areatrigger_pri_halo : AreaTriggerAI } }; +// 391154 - Holy Mending +class spell_pri_holy_mending : public AuraScript +{ + PrepareAuraScript(spell_pri_holy_mending); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PRIEST_RENEW, SPELL_PRIEST_HOLY_MENDING_HEAL }); + } + + bool CheckProc(AuraEffect const* /*aurEff*/, ProcEventInfo& procInfo) + { + return procInfo.GetProcTarget()->HasAura(SPELL_PRIEST_RENEW, procInfo.GetActor()->GetGUID()); + } + + void HandleProc(AuraEffect* aurEff, ProcEventInfo& eventInfo) + { + eventInfo.GetActor()->CastSpell(eventInfo.GetProcTarget(), SPELL_PRIEST_HOLY_MENDING_HEAL, CastSpellExtraArgs(aurEff)); + } + + void Register() override + { + DoCheckEffectProc += AuraCheckEffectProcFn(spell_pri_holy_mending::CheckProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL); + OnEffectProc += AuraEffectProcFn(spell_pri_holy_mending::HandleProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL); + } +}; + // 63733 - Holy Words class spell_pri_holy_words : public AuraScript { |