diff options
-rw-r--r-- | sql/updates/world/master/2025_02_13_00_world.sql | 3 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 28 |
2 files changed, 31 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_02_13_00_world.sql b/sql/updates/world/master/2025_02_13_00_world.sql new file mode 100644 index 00000000000..db14970b908 --- /dev/null +++ b/sql/updates/world/master/2025_02_13_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_final_verdict'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(383328, 'spell_pal_final_verdict'); diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 9e22069807e..12c6dafe46e 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -73,6 +73,7 @@ enum PaladinSpells SPELL_PALADIN_EYE_FOR_AN_EYE_TRIGGERED = 205202, SPELL_PALADIN_FINAL_STAND = 204077, SPELL_PALADIN_FINAL_STAND_EFFECT = 204079, + SPELL_PALADIN_FINAL_VERDICT = 383329, SPELL_PALADIN_FORBEARANCE = 25771, SPELL_PALADIN_GUARDIAN_OF_ANCIENT_KINGS = 86659, SPELL_PALADIN_HAMMER_OF_JUSTICE = 853, @@ -702,6 +703,32 @@ class spell_pal_eye_for_an_eye : public AuraScript } }; +// 383328 - Final Verdict +class spell_pal_final_verdict : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PALADIN_FINAL_VERDICT }); + } + + void HandleDummy(SpellEffIndex /*effIndex*/) const + { + if (!roll_chance_i(GetEffectValue())) + return; + + Unit* caster = GetCaster(); + caster->CastSpell(caster, SPELL_PALADIN_FINAL_VERDICT, CastSpellExtraArgsInit{ + .TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR, + .TriggeringSpell = GetSpell() + }); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_pal_final_verdict::HandleDummy, EFFECT_1, SPELL_EFFECT_DUMMY); + } +}; + // 234299 - Fist of Justice class spell_pal_fist_of_justice : public AuraScript { @@ -1671,6 +1698,7 @@ void AddSC_paladin_spell_scripts() RegisterSpellScript(spell_pal_divine_storm); RegisterSpellAndAuraScriptPair(spell_pal_execution_sentence, spell_pal_execution_sentence_aura); RegisterSpellScript(spell_pal_eye_for_an_eye); + RegisterSpellScript(spell_pal_final_verdict); RegisterSpellScript(spell_pal_fist_of_justice); RegisterSpellScript(spell_pal_glyph_of_holy_light); RegisterSpellScript(spell_pal_grand_crusader); |