aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/scripts/Spells/spell_paladin.cpp23
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);
}
}