diff options
author | Teleqraph <nyrdeveloper@gmail.com> | 2022-01-30 00:10:04 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-30 00:10:04 +0100 |
commit | 72839e660e41dd39c9bd3030a66c7a010dc8016a (patch) | |
tree | db9667e3597e66c01b0a7a8f93d659907781597a | |
parent | faf12a888394f220fa057526b56bd456f3790f4f (diff) |
Scripts/Spells: Judgment (Holy) will now apply Rank 3 debuff if the paladin knows it (#27685)
-rw-r--r-- | sql/updates/world/master/2022_01_29_00_world.sql | 6 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 32 |
2 files changed, 28 insertions, 10 deletions
diff --git a/sql/updates/world/master/2022_01_29_00_world.sql b/sql/updates/world/master/2022_01_29_00_world.sql new file mode 100644 index 00000000000..02061a4aa69 --- /dev/null +++ b/sql/updates/world/master/2022_01_29_00_world.sql @@ -0,0 +1,6 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_judgement'; +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_judgment'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(20271,'spell_pal_judgment'), +(275779,'spell_pal_judgment'), +(275773,'spell_pal_judgment'); diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 74e72322b90..8304ea87bfb 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -86,8 +86,10 @@ enum PaladinSpells SPELL_PALADIN_HOLY_SHOCK_R1_HEALING = 25914, SPELL_PALADIN_IMMUNE_SHIELD_MARKER = 61988, SPELL_PALADIN_ITEM_HEALING_TRANCE = 37706, - SPELL_PALADIN_JUDGEMENT_GAIN_HOLY_POWER = 220637, - SPELL_PALADIN_JUDGEMENT_PROT_RET_R3 = 315867, + SPELL_PALADIN_JUDGMENT_GAIN_HOLY_POWER = 220637, + SPELL_PALADIN_JUDGMENT_HOLY_R3 = 231644, + SPELL_PALADIN_JUDGMENT_HOLY_R3_DEBUFF = 214222, + SPELL_PALADIN_JUDGMENT_PROT_RET_R3 = 315867, SPELL_PALADIN_RIGHTEOUS_DEFENSE_TAUNT = 31790, SPELL_PALADIN_RIGHTEOUS_VERDICT_AURA = 267611, SPELL_PALADIN_SEAL_OF_RIGHTEOUSNESS = 25742, @@ -712,26 +714,36 @@ class spell_pal_moment_of_glory : public SpellScript } }; -// 20271/275779 - Judgement Ret/Prot -class spell_pal_judgement : public SpellScript +// 20271/275779/275773 - Judgement (Retribution/Protection/Holy) +class spell_pal_judgment : public SpellScript { - PrepareSpellScript(spell_pal_judgement); + PrepareSpellScript(spell_pal_judgment); bool Validate(SpellInfo const* /*spellInfo*/) override { - return ValidateSpellInfo({ SPELL_PALADIN_JUDGEMENT_PROT_RET_R3, SPELL_PALADIN_JUDGEMENT_GAIN_HOLY_POWER }); + return ValidateSpellInfo + ({ + SPELL_PALADIN_JUDGMENT_PROT_RET_R3, + SPELL_PALADIN_JUDGMENT_GAIN_HOLY_POWER, + SPELL_PALADIN_JUDGMENT_HOLY_R3, + SPELL_PALADIN_JUDGMENT_HOLY_R3_DEBUFF + }); } void HandleOnHit() { Unit* caster = GetCaster(); - if (caster->HasSpell(SPELL_PALADIN_JUDGEMENT_PROT_RET_R3)) - caster->CastSpell(caster, SPELL_PALADIN_JUDGEMENT_GAIN_HOLY_POWER, TRIGGERED_FULL_MASK); + + if (caster->HasSpell(SPELL_PALADIN_JUDGMENT_PROT_RET_R3)) + caster->CastSpell(caster, SPELL_PALADIN_JUDGMENT_GAIN_HOLY_POWER, GetSpell()); + + if (caster->HasSpell(SPELL_PALADIN_JUDGMENT_HOLY_R3)) + caster->CastSpell(GetHitUnit(), SPELL_PALADIN_JUDGMENT_HOLY_R3_DEBUFF, GetSpell()); } void Register() override { - OnHit += SpellHitFn(spell_pal_judgement::HandleOnHit); + OnHit += SpellHitFn(spell_pal_judgment::HandleOnHit); } }; @@ -1318,7 +1330,7 @@ void AddSC_paladin_spell_scripts() new spell_pal_hand_of_sacrifice(); RegisterSpellScript(spell_pal_hammer_of_the_righteous); RegisterSpellScript(spell_pal_moment_of_glory); - RegisterSpellScript(spell_pal_judgement); + RegisterSpellScript(spell_pal_judgment); RegisterSpellScript(spell_pal_holy_prism); RegisterSpellScript(spell_pal_holy_prism_selector); RegisterSpellScript(spell_pal_holy_shock); |