void SetData(uint32 type, uint32 data) { switch (type) { case TYPE_COLOSSUS: ColossusData = data; if (data == 2) { if (Creature* pBoss = instance->GetCreature(uiLeviathanGUID)) pBoss->AI()->DoAction(10); if (GameObject* pGate = instance->GetGameObject(uiLeviathanGateGUID)) pGate->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); SaveToDB(); } break; case DATA_CALL_TRAM: if (GameObject* go = instance->GetGameObject(uiMimironTrainGUID)) go->UseDoorOrButton(); break; case DATA_MIMIRON_ELEVATOR: if (GameObject* go = instance->GetGameObject(uiMimironElevatorGUID)) go->SetGoState(GOState(data)); break; case DATA_RUNIC_DOOR: if (GameObject* go = instance->GetGameObject(uiRunicDoorGUID)) go->SetGoState(GOState(data)); break; case DATA_STONE_DOOR: if (GameObject* go = instance->GetGameObject(uiStoneDoorGUID)) go->SetGoState(GOState(data)); break; case DATA_ADD_HELP_FLAG: uiSupportKeeperFlag |= UlduarKeeperSupport(data); break; case DATA_HODIR_RARE_CHEST: HodirRareCacheData = data; break; default: break; } }
void SetData(uint32 type, uint32 data) { switch (type) { case DATA_COLOSSUS: ColossusData = data; if (data == 2) { if (Creature* Leviathan = instance->GetCreature(LeviathanGUID)) Leviathan->AI()->DoAction(ACTION_MOVE_TO_CENTER_POSITION); if (GameObject* gameObject = instance->GetGameObject(LeviathanGateGUID)) gameObject->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); SaveToDB(); } break; case DATA_CALL_TRAM: if (GameObject* go = instance->GetGameObject(MimironTrainGUID)) go->UseDoorOrButton(); break; case DATA_MIMIRON_ELEVATOR: if (GameObject* go = instance->GetGameObject(MimironElevatorGUID)) go->SetGoState(GOState(data)); break; case DATA_RUNIC_DOOR: if (GameObject* go = instance->GetGameObject(RunicDoorGUID)) go->SetGoState(GOState(data)); break; case DATA_STONE_DOOR: if (GameObject* go = instance->GetGameObject(StoneDoorGUID)) go->SetGoState(GOState(data)); break; case DATA_HODIR_RARE_CACHE: HodirRareCacheData = data; if (!HodirRareCacheData) { if (Creature* Hodir = instance->GetCreature(HodirGUID)) if (GameObject* gameObject = instance->GetGameObject(HodirRareCacheGUID)) Hodir->RemoveGameObject(gameObject, false); } break; case DATA_UNBROKEN: Unbroken = bool(data); break; case DATA_ADD_HELP_FLAG: SupportKeeperFlag |= UlduarKeeperSupport(data); break; case DATA_ALGALON_INTRO: AlgalonIntroDone = data; SaveToDB(); break; case DATA_ALGALON_TIMER: { if (SignalTimerState == data) break; switch (data) { case IN_PROGRESS: SignalTimer = 60000; SignalTimerMinutes = 60; DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1); DoUpdateWorldState(WORLDSTATE_ALGALON_TIMER , SignalTimerMinutes); break; case DONE: SignalTimer = 0; SignalTimerMinutes = 0; DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0); break; default: break; } SignalTimerState = data; SaveToDB(); break; } default: break; } }
void SetData(uint32 type, uint32 data) { switch (type) { case TYPE_COLOSSUS: ColossusData = data; if (data == 2) { if (Creature* pBoss = instance->GetCreature(uiLeviathanGUID)) pBoss->AI()->DoAction(10); if (GameObject* pGate = instance->GetGameObject(uiLeviathanGateGUID)) pGate->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); SaveToDB(); } break; case DATA_CALL_TRAM: if (GameObject* go = instance->GetGameObject(uiMimironTrainGUID)) go->UseDoorOrButton(); break; case DATA_MIMIRON_ELEVATOR: if (GameObject* go = instance->GetGameObject(uiMimironElevatorGUID)) go->SetGoState(GOState(data)); break; case DATA_RUNIC_DOOR: if (GameObject* go = instance->GetGameObject(uiRunicDoorGUID)) go->SetGoState(GOState(data)); break; case DATA_STONE_DOOR: if (GameObject* go = instance->GetGameObject(uiStoneDoorGUID)) go->SetGoState(GOState(data)); break; case DATA_ADD_HELP_FLAG: uiSupportKeeperFlag |= UlduarKeeperSupport(data); break; case DATA_HODIR_RARE_CHEST: HodirRareCacheData = data; break; case DATA_ALGALON_INTRO: AlgalonIntroDone = data; SaveToDB(); break; case DATA_ALGALON_TIMER: { if (SignalTimerState == data) break; switch (data) { case IN_PROGRESS: SignalTimer = 60000; SignalTimerMinutes = 60; DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 1); DoUpdateWorldState(WORLDSTATE_ALGALON_TIMER , SignalTimerMinutes); break; case DONE: SignalTimer = 0; SignalTimerMinutes = 0; DoUpdateWorldState(WORLDSTATE_SHOW_TIMER, 0); break; default: break; } SignalTimerState = data; SaveToDB(); break; } default: break; } }