aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
authorCristian Vintila <127750549+cristianvnt@users.noreply.github.com>2025-12-23 01:10:46 +0200
committerGitHub <noreply@github.com>2025-12-23 00:10:46 +0100
commit9a5df1987879e881426b4c1fc2c54f11aa28aaab (patch)
tree858089ec2fdce701fd75cc68a9e7aacb3b254fb4 /src/server/scripts
parentbfb06b771f436f2fff98dce0eefdb449dea791d8 (diff)
Scripts/Spells: Implement priest talent Protector of the Frail (#31451)
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index d480f3c387a..712705d43ad 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -140,6 +140,7 @@ enum PriestSpells
SPELL_PRIEST_MIND_BOMB_STUN = 226943,
SPELL_PRIEST_MISERY = 238558,
SPELL_PRIEST_ORACULAR_HEAL = 26170,
+ SPELL_PRIEST_PAIN_SUPPRESSION = 33206,
SPELL_PRIEST_PAIN_TRANSFORMATION = 372991,
SPELL_PRIEST_PAIN_TRANSFORMATION_HEAL = 372994,
SPELL_PRIEST_PENANCE = 47540,
@@ -163,6 +164,7 @@ enum PriestSpells
SPELL_PRIEST_PRAYER_OF_MENDING_HEAL = 33110,
SPELL_PRIEST_PRAYER_OF_MENDING_JUMP = 155793,
SPELL_PRIEST_PROTECTIVE_LIGHT_AURA = 193065,
+ SPELL_PRIEST_PROTECTOR_OF_THE_FRAIL = 373035,
SPELL_PRIEST_PURGE_THE_WICKED = 204197,
SPELL_PRIEST_PURGE_THE_WICKED_DUMMY = 204215,
SPELL_PRIEST_PURGE_THE_WICKED_PERIODIC = 204213,
@@ -2841,6 +2843,28 @@ class spell_pri_assured_safety : public spell_pri_prayer_of_mending_SpellScriptB
}
};
+// 373036 - Protector of the Frail
+class spell_pri_protector_of_the_frail : public SpellScript
+{
+ bool Validate(SpellInfo const* /*spellInfo*/) override
+ {
+ return ValidateSpellEffect({ { SPELL_PRIEST_PROTECTOR_OF_THE_FRAIL, EFFECT_1 } });
+ }
+
+ void HandleEffectHit(SpellEffIndex /*effIndex*/) const
+ {
+ Unit* caster = GetCaster();
+
+ int32 cdReduction = sSpellMgr->AssertSpellInfo(SPELL_PRIEST_PROTECTOR_OF_THE_FRAIL, GetCastDifficulty())->GetEffect(EFFECT_1).CalcValue(caster);
+ caster->GetSpellHistory()->ModifyCooldown(SPELL_PRIEST_PAIN_SUPPRESSION, Milliseconds(cdReduction));
+ }
+
+ void Register() override
+ {
+ OnEffectHitTarget += SpellEffectFn(spell_pri_protector_of_the_frail::HandleEffectHit, EFFECT_0, SPELL_EFFECT_DUMMY);
+ }
+};
+
// 204197 - Purge the Wicked
// Called by Penance - 47540, Dark Reprimand - 400169
class spell_pri_purge_the_wicked : public SpellScript
@@ -4065,6 +4089,7 @@ void AddSC_priest_spell_scripts()
RegisterSpellAndAuraScriptPair(spell_pri_prayer_of_mending, spell_pri_prayer_of_mending_aura);
RegisterSpellScript(spell_pri_prayer_of_mending_jump);
RegisterSpellScript(spell_pri_protective_light);
+ RegisterSpellScript(spell_pri_protector_of_the_frail);
RegisterSpellScript(spell_pri_holy_10_1_class_set_2pc);
RegisterSpellScript(spell_pri_holy_10_1_class_set_2pc_chooser);
RegisterSpellScript(spell_pri_holy_10_1_class_set_4pc);