Scripts/Spells: Implement paladin talent Divine Auxiliary (#30984)

This commit is contained in:
Aqua Deus
2025-05-24 19:21:55 +02:00
committed by GitHub
parent ecdd12ea6c
commit 7e896d6e42
2 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_pal_divine_auxiliary';
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
(343721, 'spell_pal_divine_auxiliary'),
(343527, 'spell_pal_divine_auxiliary');

View File

@@ -56,6 +56,8 @@ enum PaladinSpells
SPELL_PALADIN_CONSECRATION_DAMAGE = 81297,
SPELL_PALADIN_CONSECRATION_PROTECTION_AURA = 188370,
SPELL_PALADIN_CRUSADING_STRIKES_ENERGIZE = 406834,
SPELL_PALADIN_DIVINE_AUXILIARY_ENERGIZE = 408386,
SPELL_PALADIN_DIVINE_AUXILIARY_TALENT = 406158,
SPELL_PALADIN_DIVINE_PURPOSE_TRIGGERED = 223819,
SPELL_PALADIN_DIVINE_STEED_HUMAN = 221883,
SPELL_PALADIN_DIVINE_STEED_DWARF = 276111,
@@ -491,6 +493,34 @@ class spell_pal_crusading_strikes : public AuraScript
}
};
// 406158 - Divine Auxiliary (attached to 343721 - Final Reckoning and 343527 - Execution Sentence)
class spell_pal_divine_auxiliary : public SpellScript
{
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_PALADIN_DIVINE_AUXILIARY_ENERGIZE, SPELL_PALADIN_DIVINE_AUXILIARY_TALENT });
}
bool Load() override
{
return GetCaster()->HasAura(SPELL_PALADIN_DIVINE_AUXILIARY_TALENT);
}
void HandleEnergize() const
{
Unit* caster = GetCaster();
caster->CastSpell(caster, SPELL_PALADIN_DIVINE_AUXILIARY_ENERGIZE, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
.TriggeringSpell = GetSpell()
});
}
void Register() override
{
AfterCast += SpellCastFn(spell_pal_divine_auxiliary::HandleEnergize);
}
};
// 223817 - Divine Purpose
class spell_pal_divine_purpose : public AuraScript
{
@@ -1747,6 +1777,7 @@ void AddSC_paladin_spell_scripts()
RegisterSpellScript(spell_pal_crusading_strikes);
RegisterSpellScript(spell_pal_consecration);
RegisterAreaTriggerAI(areatrigger_pal_consecration);
RegisterSpellScript(spell_pal_divine_auxiliary);
RegisterSpellScript(spell_pal_divine_purpose);
RegisterSpellScript(spell_pal_divine_shield);
RegisterSpellScript(spell_pal_divine_steed);