aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2025_02_15_00_world.sql3
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp21
2 files changed, 24 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_02_15_00_world.sql b/sql/updates/world/master/2025_02_15_00_world.sql
new file mode 100644
index 00000000000..8d96841fc67
--- /dev/null
+++ b/sql/updates/world/master/2025_02_15_00_world.sql
@@ -0,0 +1,3 @@
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_justicars_vengeance';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(215661, 'spell_pal_justicars_vengeance');
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp
index ba976a67112..178025065f3 100644
--- a/src/server/scripts/Spells/spell_paladin.cpp
+++ b/src/server/scripts/Spells/spell_paladin.cpp
@@ -994,6 +994,26 @@ class spell_pal_judgment : public SpellScript
}
};
+// 215661 - Justicar's Vengeance
+class spell_pal_justicars_vengeance : public SpellScript
+{
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ return ValidateSpellEffect({ { spellInfo->Id, EFFECT_1 } });
+ }
+
+ void HandleDamage(SpellEffectInfo const& /*spellEffectInfo*/, Unit const* victim, int32& /*damage*/, int32& /*flatMod*/, float& pctMod) const
+ {
+ if (victim->HasUnitState(UNIT_STATE_STUNNED))
+ AddPct(pctMod, GetEffectInfo(EFFECT_1).CalcValue(GetCaster()));
+ }
+
+ void Register() override
+ {
+ CalcDamage += SpellCalcDamageFn(spell_pal_justicars_vengeance::HandleDamage);
+ }
+};
+
// 114165 - Holy Prism
class spell_pal_holy_prism : public SpellScript
{
@@ -1775,6 +1795,7 @@ void AddSC_paladin_spell_scripts()
RegisterSpellScript(spell_pal_infusion_of_light);
RegisterSpellScript(spell_pal_moment_of_glory);
RegisterSpellScript(spell_pal_judgment);
+ RegisterSpellScript(spell_pal_justicars_vengeance);
RegisterSpellScript(spell_pal_holy_prism);
RegisterSpellScript(spell_pal_holy_prism_selector);
RegisterSpellScript(spell_pal_holy_shock);