mirror of
https://gitcode.com/GitHub_Trending/az/azerothcore-wotlk.git
synced 2026-10-10 07:06:38 +08:00
fix(Scripts/Spells): implement Clear Demonic Circle, cast by General Vezax on engage (#27040)
This commit is contained in:
@@ -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');
|
||||||
@@ -41,6 +41,7 @@ enum VezaxSpellData
|
|||||||
SPELL_MARK_OF_THE_FACELESS_AURA = 63276,
|
SPELL_MARK_OF_THE_FACELESS_AURA = 63276,
|
||||||
SPELL_MARK_OF_THE_FACELESS_EFFECT = 63278,
|
SPELL_MARK_OF_THE_FACELESS_EFFECT = 63278,
|
||||||
|
|
||||||
|
SPELL_CLEAR_DEMONIC_CIRCLE = 62037,
|
||||||
SPELL_AURA_OF_DESPAIR_1 = 62692,
|
SPELL_AURA_OF_DESPAIR_1 = 62692,
|
||||||
SPELL_AURA_OF_DESPAIR_2 = 64848,
|
SPELL_AURA_OF_DESPAIR_2 = 64848,
|
||||||
SPELL_CORRUPTED_RAGE = 68415,
|
SPELL_CORRUPTED_RAGE = 68415,
|
||||||
@@ -145,6 +146,7 @@ struct boss_vezax : public BossAI
|
|||||||
|
|
||||||
Talk(SAY_AGGRO);
|
Talk(SAY_AGGRO);
|
||||||
|
|
||||||
|
me->CastSpell(me, SPELL_CLEAR_DEMONIC_CIRCLE, true);
|
||||||
me->CastSpell(me, SPELL_AURA_OF_DESPAIR_1, true);
|
me->CastSpell(me, SPELL_AURA_OF_DESPAIR_1, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
enum CreateLanceSpells
|
||||||
{
|
{
|
||||||
SPELL_CREATE_LANCE_ALLIANCE = 63914,
|
SPELL_CREATE_LANCE_ALLIANCE = 63914,
|
||||||
@@ -6225,6 +6252,7 @@ void AddSC_generic_spell_scripts()
|
|||||||
RegisterSpellScript(spell_gen_burn_brutallus);
|
RegisterSpellScript(spell_gen_burn_brutallus);
|
||||||
RegisterSpellScript(spell_gen_cannibalize);
|
RegisterSpellScript(spell_gen_cannibalize);
|
||||||
RegisterSpellScript(spell_gen_clear_debuffs);
|
RegisterSpellScript(spell_gen_clear_debuffs);
|
||||||
|
RegisterSpellScript(spell_gen_clear_demonic_circle);
|
||||||
RegisterSpellScript(spell_gen_create_lance);
|
RegisterSpellScript(spell_gen_create_lance);
|
||||||
RegisterSpellScript(spell_gen_netherbloom);
|
RegisterSpellScript(spell_gen_netherbloom);
|
||||||
RegisterSpellScript(spell_gen_nightmare_vine);
|
RegisterSpellScript(spell_gen_nightmare_vine);
|
||||||
|
|||||||
Reference in New Issue
Block a user