fix(Scripts/VioletHold): Activation Crystals (#13176)

* fix(Scripts/Activation Crystals): Instance The Violet Hold

* update

* Update violet_hold.cpp
This commit is contained in:
Grimgravy
2023-05-13 14:48:26 -03:00
committed by GitHub
parent 83a53d0b2e
commit 09c40a8cd3
3 changed files with 72 additions and 7 deletions

View File

@@ -1184,6 +1184,36 @@ public:
}
};
struct npc_violet_hold_defense_system : public ScriptedAI
{
npc_violet_hold_defense_system(Creature* creature) : ScriptedAI(creature) { }
void Reset() override
{
DoCast(RAND(SPELL_DEFENSE_SYSTEM_SPAWN_EFFECT, SPELL_DEFENSE_SYSTEM_VISUAL));
events.ScheduleEvent(EVENT_ARCANE_LIGHTNING, 4s);
events.ScheduleEvent(EVENT_ARCANE_LIGHTNING_INSTAKILL, 4s);
me->DespawnOrUnsummon(7s, 0s);
}
void UpdateAI(uint32 diff) override
{
events.Update(diff);
switch (events.ExecuteEvent())
{
case EVENT_ARCANE_LIGHTNING:
DoCastAOE(RAND(SPELL_ARCANE_LIGHTNING, SPELL_ARCANE_LIGHTNING_VISUAL));
events.RepeatEvent(2000);
break;
case EVENT_ARCANE_LIGHTNING_INSTAKILL:
DoCastAOE(SPELL_ARCANE_LIGHTNING_INSTAKILL);
events.RepeatEvent(1000);
break;
}
}
};
void AddSC_violet_hold()
{
new go_vh_activation_crystal();
@@ -1201,4 +1231,5 @@ void AddSC_violet_hold()
new npc_azure_stalker();
new spell_destroy_door_seal();
RegisterCreatureAI(npc_violet_hold_defense_system);
}

View File

@@ -98,13 +98,16 @@ enum VHWorldStates
enum Spells
{
SPELL_CONTROL_CRYSTAL_ACTIVATION = 57804,
SPELL_ARCANE_LIGHTNING = 57912,
SPELL_ARCANE_LIGHTNING_VISUAL = 57930,
SPELL_PORTAL_CHANNEL = 58012,
SPELL_DESTROY_DOOR_SEAL = 58040,
SPELL_CYANIGOSA_TRANSFORM = 58668,
SPELL_CYANIGOSA_BLUE_AURA = 45870,
SPELL_CONTROL_CRYSTAL_ACTIVATION = 57804,
SPELL_DEFENSE_SYSTEM_SPAWN_EFFECT = 57886,
SPELL_DEFENSE_SYSTEM_VISUAL = 57887,
SPELL_ARCANE_LIGHTNING = 57912,
SPELL_ARCANE_LIGHTNING_VISUAL = 57930,
SPELL_ARCANE_LIGHTNING_INSTAKILL = 58152,
SPELL_PORTAL_CHANNEL = 58012,
SPELL_DESTROY_DOOR_SEAL = 58040,
SPELL_CYANIGOSA_TRANSFORM = 58668,
SPELL_CYANIGOSA_BLUE_AURA = 45870
};
enum Events
@@ -117,6 +120,10 @@ enum Events
EVENT_SUMMON_PORTAL,
EVENT_CYANIGOSSA_TRANSFORM,
EVENT_CYANIGOSA_ATTACK,
// Event defense system
EVENT_ARCANE_LIGHTNING,
EVENT_ARCANE_LIGHTNING_INSTAKILL
};
enum Data