diff --git a/sql/updates/world/master/2026_01_01_03_world.sql b/sql/updates/world/master/2026_01_01_03_world.sql new file mode 100644 index 00000000000..7e291ece5af --- /dev/null +++ b/sql/updates/world/master/2026_01_01_03_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pri_prayerful_litany'; +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(596,'spell_pri_prayerful_litany'); diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index 66f1b7f4216..57d9dc94fbe 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -174,6 +174,7 @@ enum PriestSpells SPELL_PRIEST_PRAYER_OF_MENDING_AURA = 41635, SPELL_PRIEST_PRAYER_OF_MENDING_HEAL = 33110, SPELL_PRIEST_PRAYER_OF_MENDING_JUMP = 155793, + SPELL_PRIEST_PRAYERFUL_LITANY = 391209, SPELL_PRIEST_PROTECTIVE_LIGHT_AURA = 193065, SPELL_PRIEST_PROTECTOR_OF_THE_FRAIL = 373035, SPELL_PRIEST_PURGE_THE_WICKED = 204197, @@ -2981,6 +2982,32 @@ class spell_pri_prayer_of_mending_jump : public spell_pri_prayer_of_mending_Spel } }; +// 391209 - Prayerful Litany (attached to 596 - Prayer of Healing) +class spell_pri_prayerful_litany : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellEffect({ { SPELL_PRIEST_PRAYERFUL_LITANY, EFFECT_0 } }); + } + + bool Load() override + { + return GetCaster()->HasAuraEffect(SPELL_PRIEST_PRAYERFUL_LITANY, EFFECT_0); + } + + void CalcPrimaryTargetHealing(SpellEffectInfo const& /*effectInfo*/, Unit const* victim, int32& /*healing*/, int32& /*flatMod*/, float& pctMod) const + { + if (victim == GetExplTargetUnit()) + if (AuraEffect const* prayerfulLitanyEff = GetCaster()->GetAuraEffect(SPELL_PRIEST_PRAYERFUL_LITANY, EFFECT_0)) + AddPct(pctMod, prayerfulLitanyEff->GetAmount()); + } + + void Register() override + { + CalcHealing += SpellCalcHealingFn(spell_pri_prayerful_litany::CalcPrimaryTargetHealing); + } +}; + // 193063 - Protective Light (Aura) class spell_pri_protective_light : public AuraScript { @@ -4436,6 +4463,7 @@ void AddSC_priest_spell_scripts() RegisterSpellScript(spell_pri_prayer_of_mending_dummy); RegisterSpellAndAuraScriptPair(spell_pri_prayer_of_mending, spell_pri_prayer_of_mending_aura); RegisterSpellScript(spell_pri_prayer_of_mending_jump); + RegisterSpellScript(spell_pri_prayerful_litany); RegisterSpellScript(spell_pri_protective_light); RegisterSpellScript(spell_pri_protector_of_the_frail); RegisterSpellScript(spell_pri_holy_10_1_class_set_2pc);