fix(Scripts/Spells): implement Clear Demonic Circle, cast by General Vezax on engage (#27040)

This commit is contained in:
Andrew 2026-08-08 10:04:30 -03:00 committed by GitHub
parent 739e5b4b99
commit 150e3788dd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 34 additions and 0 deletions

View file

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

View file

@ -41,6 +41,7 @@ enum VezaxSpellData
SPELL_MARK_OF_THE_FACELESS_AURA = 63276,
SPELL_MARK_OF_THE_FACELESS_EFFECT = 63278,
SPELL_CLEAR_DEMONIC_CIRCLE = 62037,
SPELL_AURA_OF_DESPAIR_1 = 62692,
SPELL_AURA_OF_DESPAIR_2 = 64848,
SPELL_CORRUPTED_RAGE = 68415,
@ -145,6 +146,7 @@ struct boss_vezax : public BossAI
Talk(SAY_AGGRO);
me->CastSpell(me, SPELL_CLEAR_DEMONIC_CIRCLE, true);
me->CastSpell(me, SPELL_AURA_OF_DESPAIR_1, true);
}

View file

@ -1483,6 +1483,33 @@ class spell_gen_clear_debuffs : public SpellScript
}
};
enum ClearDemonicCircle
{
SPELL_DEMONIC_CIRCLE_SUMMON = 48018
};
// 62037 - Clear Demonic Circle
class spell_gen_clear_demonic_circle : public SpellScript
{
PrepareSpellScript(spell_gen_clear_demonic_circle);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_DEMONIC_CIRCLE_SUMMON });
}
void HandleScript(SpellEffIndex /*effIndex*/)
{
if (Unit* target = GetHitUnit())
target->RemoveAurasDueToSpell(SPELL_DEMONIC_CIRCLE_SUMMON);
}
void Register() override
{
OnEffectHitTarget += SpellEffectFn(spell_gen_clear_demonic_circle::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
enum CreateLanceSpells
{
SPELL_CREATE_LANCE_ALLIANCE = 63914,
@ -6225,6 +6252,7 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_gen_burn_brutallus);
RegisterSpellScript(spell_gen_cannibalize);
RegisterSpellScript(spell_gen_clear_debuffs);
RegisterSpellScript(spell_gen_clear_demonic_circle);
RegisterSpellScript(spell_gen_create_lance);
RegisterSpellScript(spell_gen_netherbloom);
RegisterSpellScript(spell_gen_nightmare_vine);