void ExecuteEvent(uint32 eventId) override { if (eventId == EVENT_SPECIAL_ABILITY) { if (CurrentStage == MAX_STAGES) GenerateStageSequence(); switch (Stage[CurrentStage]) { case STAGE_DARK_VORTEX: if (Creature* sister = GetSister()) sister->AI()->DoAction(ACTION_VORTEX); break; case STAGE_DARK_PACT: if (Creature* sister = GetSister()) sister->AI()->DoAction(ACTION_PACT); break; case STAGE_LIGHT_VORTEX: DoAction(ACTION_VORTEX); break; case STAGE_LIGHT_PACT: DoAction(ACTION_PACT); break; default: break; } ++CurrentStage; events.ScheduleEvent(EVENT_SPECIAL_ABILITY, 45 * IN_MILLISECONDS); } else boss_twin_baseAI::ExecuteEvent(eventId); }
boss_fjolaAI(Creature* creature) : boss_twin_baseAI(creature) { GenerateStageSequence(); }
boss_fjolaAI(Creature* creature) : boss_twin_baseAI(creature, DATA_FJOLA_LIGHTBANE) { GenerateStageSequence(); }