bool SetBossState(uint32 type, EncounterState state) { if (!InstanceScript::SetBossState(type, state)) return false; switch (type) { case DATA_DRAKOS_EVENT: if (state == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1); DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, centrifugueConstructCounter); OpenCageDoors(); } break; case DATA_VAROS_EVENT: if (state == DONE) DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0); break; case DATA_EREGOS_EVENT: if (state == DONE) DoRespawnGameObject(eregosCacheGUID, 7*DAY); break; } return true; }
bool SetBossState(uint32 type, EncounterState state) { if (!InstanceScript::SetBossState(type, state)) return false; switch (type) { case DATA_DRAKOS_EVENT: if (state == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1); DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, centrifugueConstructCounter); DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT); OpenCageDoors(); } break; case DATA_VAROS_EVENT: if (state == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0); if (Creature* Urom = instance->GetCreature(uromGUID)) { Urom->SetReactState(REACT_AGGRESSIVE); Urom->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); Urom->RemoveAllAuras(); } } break; case DATA_UROM_EVENT: if (state == DONE) { if (Creature* Eregos = instance->GetCreature(eregosGUID)) { Eregos->SetReactState(REACT_AGGRESSIVE); Eregos->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); } } break; case DATA_EREGOS_EVENT: if (state == DONE) { if (GameObject* Cache = instance->GetGameObject(eregosCacheGUID)) Cache->SetPhaseMask(1, true); if (GameObject* Light = instance->GetGameObject(spotLightGUID)) Light->SetPhaseMask(1, true); } break; } return true; }
bool SetBossState(uint32 type, EncounterState state) { if (!InstanceScript::SetBossState(type, state)) return false; switch (type) { case DATA_DRAKOS_EVENT: if (state == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1); DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, centrifugueConstructCounter); OpenCageDoors(); FreeDragons(); if (Creature* varos = instance->GetCreature(varosGUID)) varos->SetPhaseMask(1, true); } break; case DATA_VAROS_EVENT: if (state == DONE) DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0); if (Creature* urom = instance->GetCreature(uromGUID)) urom->SetPhaseMask(1, true); break; case DATA_UROM_EVENT: if (state == DONE) { if (Creature* eregos = instance->GetCreature(eregosGUID)) { eregos->SetPhaseMask(1, true); GreaterWhelps(); } } break; case DATA_EREGOS_EVENT: if (state == DONE) DoRespawnGameObject(eregosCacheGUID, 7*DAY); break; } return true; }
bool SetBossState(uint32 type, EncounterState state) { if (!InstanceScript::SetBossState(type, state)) return false; switch (type) { case DATA_DRAKOS_EVENT: if (state == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 1); DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_AMOUNT, centrifugueConstructCounter); OpenCageDoors(); } break; case DATA_VAROS_EVENT: if (state == DONE) { DoUpdateWorldState(WORLD_STATE_CENTRIFUGE_CONSTRUCT_SHOW, 0); if (Creature* urom = instance->GetCreature(uromGUID)) { urom->RestoreFaction(); urom->RemoveAllAuras(); urom->AI()->DoCast(SPELL_EVOCATION); } } break; case DATA_UROM_EVENT: if (state == DONE) if (Creature* eregos = instance->GetCreature(eregosGUID)) eregos->RestoreFaction(); break; case DATA_EREGOS_EVENT: if (state == DONE) DoRespawnGameObject(eregosCacheGUID, 7*DAY); break; } return true; }
void SetData(uint32 type, uint32 data) { switch (type) { case DATA_DRAKOS_EVENT: encounter[0] = data; if (data == DONE) OpenCageDoors(); break; case DATA_VAROS_EVENT: encounter[1] = data; break; case DATA_UROM_EVENT: encounter[2] = data; break; case DATA_EREGOS_EVENT: encounter[3] = data; break; case DATA_UROM_PLATAFORM: platformUrom = data; break; } if (data == DONE) SaveToDB(); }