diff options
| -rw-r--r-- | sql/updates/world/master/2023_06_03_02_world.sql | 4 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 28 |
2 files changed, 32 insertions, 0 deletions
diff --git a/sql/updates/world/master/2023_06_03_02_world.sql b/sql/updates/world/master/2023_06_03_02_world.sql new file mode 100644 index 00000000000..5f47a79cc66 --- /dev/null +++ b/sql/updates/world/master/2023_06_03_02_world.sql @@ -0,0 +1,4 @@ +DELETE FROM `spell_proc` WHERE `SpellId` IN (391154,41635); +INSERT INTO `spell_proc` (`SpellId`,`SchoolMask`,`SpellFamilyName`,`SpellFamilyMask0`,`SpellFamilyMask1`,`SpellFamilyMask2`,`SpellFamilyMask3`,`ProcFlags`,`ProcFlags2`,`SpellTypeMask`,`SpellPhaseMask`,`HitMask`,`AttributesMask`,`DisableEffectsMask`,`ProcsPerMinute`,`Chance`,`Cooldown`,`Charges`) VALUES +(391154,0x00,6,0x20000000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x4,0x2,0x1,0x0,0x0,0,0,0,0), -- Holy Mending +(41635,0x00,0,0x00000000,0x00000000,0x00000000,0x00000000,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0,0,0,0); -- Prayer of Mending 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 { |
