aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeleqraph <nyrdeveloper@gmail.com>2022-01-30 00:10:04 +0100
committerGitHub <noreply@github.com>2022-01-30 00:10:04 +0100
commit72839e660e41dd39c9bd3030a66c7a010dc8016a (patch)
treedb9667e3597e66c01b0a7a8f93d659907781597a
parentfaf12a888394f220fa057526b56bd456f3790f4f (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.sql6
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp32
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);