diff options
author | Aqua Deus <95978183+aquadeus@users.noreply.github.com> | 2025-02-17 18:24:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-17 18:24:45 +0100 |
commit | 8684e863538e7e27d78b14397ff51b18a8226060 (patch) | |
tree | d4792b26d9d8977b9df1467a02593f28ca6d010c /src/server | |
parent | c73f36d23e68e2684c97dfc9f283aa40b4297a70 (diff) |
Scripts/Spells: Attach Lay on Hands script to replacement spell id used by Empyreal Ward and adjust serverside spell duration of Divine Shield Exclude Aura (#30608)
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/scripts/Spells/spell_paladin.cpp | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/server/scripts/Spells/spell_paladin.cpp b/src/server/scripts/Spells/spell_paladin.cpp index 178025065f3..0463245536f 100644 --- a/src/server/scripts/Spells/spell_paladin.cpp +++ b/src/server/scripts/Spells/spell_paladin.cpp @@ -95,7 +95,7 @@ enum PaladinSpells SPELL_PALADIN_HOLY_SHOCK_HEALING = 25914, SPELL_PALADIN_HOLY_LIGHT = 82326, SPELL_PALADIN_INFUSION_OF_LIGHT_ENERGIZE = 356717, - SPELL_PALADIN_IMMUNE_SHIELD_MARKER = 61988, + SPELL_PALADIN_IMMUNE_SHIELD_MARKER = 61988, // Serverside SPELL_PALADIN_ITEM_HEALING_TRANCE = 37706, SPELL_PALADIN_JUDGMENT_GAIN_HOLY_POWER = 220637, SPELL_PALADIN_JUDGMENT_HOLY_R3 = 231644, @@ -1261,19 +1261,15 @@ class spell_pal_item_t6_trinket : public AuraScript }; // 633 - Lay on Hands +// 471195 - Lay on Hands (from 387791 - Empyreal Ward) class spell_pal_lay_on_hands : public SpellScript { - bool Validate(SpellInfo const* spellInfo) override + bool Validate(SpellInfo const* /*spellInfo*/) override { - return ValidateSpellInfo( - { - SPELL_PALADIN_FORBEARANCE, - // uncomment when we have serverside only spells - //SPELL_PALADIN_IMMUNE_SHIELD_MARKER - }) && spellInfo->ExcludeTargetAuraSpell == SPELL_PALADIN_IMMUNE_SHIELD_MARKER; + return ValidateSpellInfo({ SPELL_PALADIN_FORBEARANCE, SPELL_PALADIN_IMMUNE_SHIELD_MARKER }); } - SpellCastResult CheckForbearance() + SpellCastResult CheckForbearance() const { Unit* target = GetExplTargetUnit(); if (!target || target->HasAura(SPELL_PALADIN_FORBEARANCE)) @@ -1282,12 +1278,15 @@ class spell_pal_lay_on_hands : public SpellScript return SPELL_CAST_OK; } - void TriggerForbearance() + void TriggerForbearance() const { if (Unit* target = GetHitUnit()) { - GetCaster()->CastSpell(target, SPELL_PALADIN_FORBEARANCE, true); - GetCaster()->CastSpell(target, SPELL_PALADIN_IMMUNE_SHIELD_MARKER, true); + CastSpellExtraArgs args(TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR); + args.SetTriggeringSpell(GetSpell()); + + GetCaster()->CastSpell(target, SPELL_PALADIN_FORBEARANCE, args); + GetCaster()->CastSpell(target, SPELL_PALADIN_IMMUNE_SHIELD_MARKER, args); } } |