void OnGameObjectRemove(GameObject* go) { if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); heiganEruptionGUID[section].erase(go->GetGUID()); return; } switch (go->GetEntry()) { case GO_BIRTH: if (sapphironGUID) { if (Creature* pSapphiron = instance->GetCreature(sapphironGUID)) pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH); return; } break; default: break; } AddDoor(go, false); }
void OnGameObjectCreate(GameObject* pGo, bool add) { if (pGo->GetGOInfo()->displayId == 6785 || pGo->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(pGo->GetPositionX(), pGo->GetPositionY()); if (add) HeiganEruption[section].insert(pGo); else HeiganEruption[section].erase(pGo); return; } switch (pGo->GetEntry()) { case GO_BIRTH: if (!add && Sapphiron) Sapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH); return; case GO_GOTHIK_GATE: pGothikGate = add ? pGo : NULL; break; case GO_HORSEMEN_CHEST: HorsemenChest = add ? pGo : NULL; break; case GO_HORSEMEN_CHEST_HERO: HorsemenChest = add ? pGo : NULL; break; case GO_KELTHUZAD_PORTAL01: uiPortals[0] = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: uiPortals[1] = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: uiPortals[2] = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: uiPortals[3] = pGo->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: uiKelthuzadTrigger = pGo->GetGUID(); break; } AddDoor(pGo, add); }
void OnGameObjectCreate(GameObject* go) override { if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); HeiganEruptionGUID[section].insert(go->GetGUID()); return; } switch (go->GetEntry()) { case GO_GOTHIK_GATE: GothikGateGUID = go->GetGUID(); break; case GO_HORSEMEN_CHEST: case GO_HORSEMEN_CHEST_HERO: HorsemenChestGUID = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL01: PortalsGUID[0] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: PortalsGUID[1] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: PortalsGUID[2] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: PortalsGUID[3] = go->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: KelthuzadTriggerGUID = go->GetGUID(); break; case GO_ROOM_KELTHUZAD: KelthuzadDoorGUID = go->GetGUID(); break; case GO_NAXX_PORTAL_ARACHNID: if (GetBossState(BOSS_MAEXXNA) == DONE) go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); break; case GO_NAXX_PORTAL_CONSTRUCT: if (GetBossState(BOSS_THADDIUS) == DONE) go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); break; case GO_NAXX_PORTAL_PLAGUE: if (GetBossState(BOSS_LOATHEB) == DONE) go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); break; case GO_NAXX_PORTAL_MILITARY: if (GetBossState(BOSS_HORSEMEN) == DONE) go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); break; default: break; } InstanceScript::OnGameObjectCreate(go); }
void OnGameObjectCreate(GameObject* go) { if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); heiganEruptionGUID[section].insert(go->GetGUID()); return; } switch (go->GetEntry()) { case GO_GOTHIK_GATE: gothikGateGUID = go->GetGUID(); go->SetGoState(gothikDoorState); break; case GO_HORSEMEN_CHEST: horsemenChestGUID = go->GetGUID(); break; case GO_HORSEMEN_CHEST_HERO: horsemenChestGUID = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL01: portalsGUID[0] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: portalsGUID[1] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: portalsGUID[2] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: portalsGUID[3] = go->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: kelthuzadTriggerGUID = go->GetGUID(); break; default: break; } AddDoor(go, true); }
void OnGameObjectRemove(GameObject* pGo) { if (pGo->GetGOInfo()->displayId == 6785 || pGo->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(pGo->GetPositionX(), pGo->GetPositionY()); HeiganEruptionGUID[section].erase(pGo->GetGUID()); return; } if(pGo->GetEntry() == GO_BIRTH) { if (SapphironGUID) { if (Creature *pSapphiron = instance->GetCreature(SapphironGUID)) pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH); return; } } }
void OnGameObjectCreate(GameObject* pGo) { if (pGo->GetGOInfo()->displayId == 6785 || pGo->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(pGo->GetPositionX(), pGo->GetPositionY()); HeiganEruptionGUID[section].insert(pGo->GetGUID()); return; } switch(pGo->GetEntry()) { case GO_GOTHIK_GATE: GothikGateGUID = pGo->GetGUID(); pGo->SetGoState(gothikDoorState); break; case GO_HORSEMEN_CHEST: HorsemenChestGUID = pGo->GetGUID(); break; case GO_HORSEMEN_CHEST_HERO: HorsemenChestGUID = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL01: uiPortals[0] = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: uiPortals[1] = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: uiPortals[2] = pGo->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: uiPortals[3] = pGo->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: uiKelthuzadTrigger = pGo->GetGUID(); break; case GO_ROOM_ANUBREKHAN: uiNaxxDoors[DOOR_ROOM_ANUBREKHAN] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_ANUBREKHAN] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_ANUBREKHAN: uiNaxxDoors[DOOR_PASSAGE_ANUBREKHAN] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_ANUBREKHAN] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_FAERLINA: uiNaxxDoors[DOOR_PASSAGE_FAERLINA] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_FAERLINA] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_MAEXXNA: uiNaxxDoors[DOOR_ROOM_MAEXXNA] = pGo->GetGUID(); pGo->SetGoState((m_auiEncounter[BOSS_FAERLINA] == DONE && m_auiEncounter[BOSS_MAEXXNA] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_NOTH: uiNaxxDoors[DOOR_ROOM_NOTH] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_FAERLINA] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_NOTH: uiNaxxDoors[DOOR_PASSAGE_NOTH] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_NOTH] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_HEIGAN: uiNaxxDoors[DOOR_ROOM_HEIGAN] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_HEIGAN] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_HEIGAN: uiNaxxDoors[DOOR_PASSAGE_HEIGAN] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_HEIGAN] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_LOATHEB: uiNaxxDoors[DOOR_ROOM_LOATHEB] = pGo->GetGUID(); pGo->SetGoState((m_auiEncounter[BOSS_HEIGAN] == DONE && m_auiEncounter[BOSS_LOATHEB] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_GROBBULUS: uiNaxxDoors[DOOR_ROOM_GROBBULUS] = pGo->GetGUID(); pGo->SetGoState((m_auiEncounter[BOSS_PATCHWERK] == DONE && m_auiEncounter[BOSS_GROBBULUS] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_GLUTH: uiNaxxDoors[DOOR_PASSAGE_GLUTH] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_GLUTH] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_THADDIUS: uiNaxxDoors[DOOR_ROOM_THADDIUS] = pGo->GetGUID(); pGo->SetGoState((m_auiEncounter[BOSS_GLUTH] == DONE && m_auiEncounter[BOSS_THADDIUS] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_GOTHIK: uiNaxxDoors[DOOR_ROOM_GOTHIK] = pGo->GetGUID(); pGo->SetGoState((m_auiEncounter[BOSS_RAZUVIOUS] == DONE && m_auiEncounter[BOSS_GOTHIK] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_GOTHIK: uiNaxxDoors[DOOR_PASSAGE_GOTHIK] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_GOTHIK] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_HORSEMEN: uiNaxxDoors[DOOR_ROOM_HORSEMEN] = pGo->GetGUID(); pGo->SetGoState((m_auiEncounter[BOSS_GOTHIK] == DONE && m_auiEncounter[BOSS_HORSEMEN] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_SAPPHIRON: uiNaxxDoors[DOOR_PASSAGE_SAPPHIRON] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_SAPPHIRON] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_KELTHUZAD: uiNaxxDoors[DOOR_ROOM_KELTHUZAD] = pGo->GetGUID(); pGo->SetGoState(m_auiEncounter[BOSS_KELTHUZAD] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; } //AddDoor(pGo, add); }
void OnObjectCreate(GameObject* pGo) { if (pGo->GetGOInfo()->displayId == 6785 || pGo->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(pGo->GetPositionX(), pGo->GetPositionY()); HeiganEruption[section].insert(pGo); return; } switch(pGo->GetEntry()) { case GO_ARAC_ANUB_DOOR: m_uiAnubDoorGUID = pGo->GetGUID(); break; case GO_ARAC_ANUB_GATE: m_uiAnubGateGUID = pGo->GetGUID(); if (m_auiEncounter[0] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_ARAC_FAER_WEB: m_uiFaerWebGUID = pGo->GetGUID(); break; case GO_ARAC_FAER_DOOR: m_uiFaerDoorGUID = pGo->GetGUID(); if (m_auiEncounter[1] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_ARAC_MAEX_INNER_DOOR: m_uiMaexInnerGUID = pGo->GetGUID(); break; case GO_ARAC_MAEX_OUTER_DOOR: m_uiMaexOuterGUID = pGo->GetGUID(); if (m_auiEncounter[2] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_PLAG_NOTH_ENTRY_DOOR: m_uiNothEntryDoorGUID = pGo->GetGUID(); break; case GO_PLAG_NOTH_EXIT_DOOR: m_uiNothExitDoorGUID = pGo->GetGUID(); if (m_auiEncounter[3] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_PLAG_HEIG_ENTRY_DOOR: m_uiHeigEntryDoorGUID = pGo->GetGUID(); if (m_auiEncounter[3] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_PLAG_HEIG_EXIT_DOOR: m_uiHeigExitDoorGUID = pGo->GetGUID(); if (m_auiEncounter[4] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_PLAG_LOAT_DOOR: m_uiLoathebDoorGUID = pGo->GetGUID(); break; case GO_MILI_GOTH_ENTRY_GATE: m_uiGothikEntryDoorGUID = pGo->GetGUID(); break; case GO_MILI_GOTH_EXIT_GATE: m_uiGothikExitDoorGUID = pGo->GetGUID(); if (m_auiEncounter[7] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_MILI_GOTH_COMBAT_GATE: m_uiGothCombatGateGUID = pGo->GetGUID(); break; case GO_MILI_HORSEMEN_DOOR: m_uiHorsemenDoorGUID = pGo->GetGUID(); if (m_auiEncounter[7] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_CHEST_HORSEMEN_NORM: m_uiHorsemenChestGUID = pGo->GetGUID(); break; case GO_CHEST_HORSEMEN_HERO: m_uiHorsemenChestHeroGUID = pGo->GetGUID(); break; case GO_CONS_PATH_EXIT_DOOR: m_uiPathExitDoorGUID = pGo->GetGUID(); if (m_auiEncounter[9] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_CONS_GLUT_EXIT_DOOR: m_uiGlutExitDoorGUID = pGo->GetGUID(); if (m_auiEncounter[11] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_CONS_THAD_DOOR: m_uiThadDoorGUID = pGo->GetGUID(); if (m_auiEncounter[11] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_KELTHUZAD_WATERFALL_DOOR: m_uiKelthuzadDoorGUID = pGo->GetGUID(); if (m_auiEncounter[13] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_ARAC_EYE_RAMP: m_uiAracEyeRampGUID = pGo->GetGUID(); if (m_auiEncounter[2] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_PLAG_EYE_RAMP: m_uiPlagEyeRampGUID = pGo->GetGUID(); if (m_auiEncounter[5] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_MILI_EYE_RAMP: m_uiMiliEyeRampGUID = pGo->GetGUID(); if (m_auiEncounter[8] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_CONS_EYE_RAMP: m_uiConsEyeRampGUID = pGo->GetGUID(); if (m_auiEncounter[12] == DONE) pGo->SetGoState(GO_STATE_ACTIVE); break; case GO_ARAC_PORTAL: m_uiAracPortalGUID = pGo->GetGUID(); break; case GO_PLAG_PORTAL: m_uiPlagPortalGUID = pGo->GetGUID(); break; case GO_MILI_PORTAL: m_uiMiliPortalGUID = pGo->GetGUID(); break; case GO_CONS_PORTAL: m_uiConsPortalGUID = pGo->GetGUID(); break; } }
void OnGameObjectCreate(GameObject* go) { if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); HeiganEruptionGUID[section].insert(go->GetGUID()); return; } switch (go->GetEntry()) { case GO_GOTHIK_GATE: GothikGateGUID = go->GetGUID(); go->SetGoState(gothikDoorState); break; case GO_HORSEMEN_CHEST: HorsemenChestGUID = go->GetGUID(); break; case GO_HORSEMEN_CHEST_HERO: HorsemenChestGUID = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL01: PortalsGUID[0] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: PortalsGUID[1] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: PortalsGUID[2] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: PortalsGUID[3] = go->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: KelthuzadTriggerGUID = go->GetGUID(); break; case GO_ARAC_PORTAL: AracPortalGUID = go->GetGUID(); break; case GO_PLAG_PORTAL: PlagPortalGUID = go->GetGUID(); break; case GO_MILI_PORTAL: MiliPortalGUID = go->GetGUID(); break; case GO_CONS_PORTAL: ConsPortalGUID = go->GetGUID(); break; case GO_ARAC_EYE_RAMP: AracEyeGUID = go->GetGUID(); if (Encounter[DATA_MAEXXNA] == DONE) go->SetGoState(GO_STATE_ACTIVE); break; case GO_PLAG_EYE_RAMP: PlagEyeGUID = go->GetGUID(); if (Encounter[DATA_LOATHEB] == DONE) go->SetGoState(GO_STATE_ACTIVE); break; case GO_MILI_EYE_RAMP: MiliEyeGUID = go->GetGUID(); if (Encounter[DATA_HORSEMEN] == DONE) go->SetGoState(GO_STATE_ACTIVE); break; case GO_CONS_EYE_RAMP: ConsEyeGUID = go->GetGUID(); if (Encounter[DATA_THADDIUS] == DONE) go->SetGoState(GO_STATE_ACTIVE); break; default: break; } AddDoor(go, true); }
void OnGameObjectRemove(GameObject* go) { if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); HeiganEruptionGUID[section].erase(go->GetGUID()); return; } switch (go->GetEntry()) { case GO_BIRTH: if (SapphironGUID) { if (Creature* pSapphiron = instance->GetCreature(SapphironGUID)) pSapphiron->AI()->DoAction(DATA_SAPPHIRON_BIRTH); return; } case GO_ROOM_ANUBREKHAN: uiNaxxDoors[DOOR_ROOM_ANUBREKHAN] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_ANUBREKHAN] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_ANUBREKHAN: uiNaxxDoors[DOOR_PASSAGE_ANUBREKHAN] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_ANUBREKHAN] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_FAERLINA: uiNaxxDoors[DOOR_PASSAGE_FAERLINA] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_FAERLINA] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_MAEXXNA: uiNaxxDoors[DOOR_ROOM_MAEXXNA] = go->GetGUID(); go->SetGoState((m_auiEncounter[BOSS_FAERLINA] == DONE && m_auiEncounter[BOSS_MAEXXNA] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_NOTH: uiNaxxDoors[DOOR_ROOM_NOTH] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_FAERLINA] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_NOTH: uiNaxxDoors[DOOR_PASSAGE_NOTH] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_NOTH] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_HEIGAN: uiNaxxDoors[DOOR_ROOM_HEIGAN] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_HEIGAN] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_HEIGAN: uiNaxxDoors[DOOR_PASSAGE_HEIGAN] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_HEIGAN] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_LOATHEB: uiNaxxDoors[DOOR_ROOM_LOATHEB] = go->GetGUID(); go->SetGoState((m_auiEncounter[BOSS_HEIGAN] == DONE && m_auiEncounter[BOSS_LOATHEB] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_GROBBULUS: uiNaxxDoors[DOOR_ROOM_GROBBULUS] = go->GetGUID(); go->SetGoState((m_auiEncounter[BOSS_PATCHWERK] == DONE && m_auiEncounter[BOSS_GROBBULUS] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_GLUTH: uiNaxxDoors[DOOR_PASSAGE_GLUTH] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_GLUTH] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_THADDIUS: uiNaxxDoors[DOOR_ROOM_THADDIUS] = go->GetGUID(); go->SetGoState((m_auiEncounter[BOSS_GLUTH] == DONE && m_auiEncounter[BOSS_THADDIUS] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_GOTHIK: uiNaxxDoors[DOOR_ROOM_GOTHIK] = go->GetGUID(); go->SetGoState((m_auiEncounter[BOSS_RAZUVIOUS] == DONE && m_auiEncounter[BOSS_GOTHIK] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_GOTHIK: uiNaxxDoors[DOOR_PASSAGE_GOTHIK] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_GOTHIK] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_HORSEMEN: uiNaxxDoors[DOOR_ROOM_HORSEMEN] = go->GetGUID(); go->SetGoState((m_auiEncounter[BOSS_GOTHIK] == DONE && m_auiEncounter[BOSS_HORSEMEN] != IN_PROGRESS) ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_PASSAGE_SAPPHIRON: uiNaxxDoors[DOOR_PASSAGE_SAPPHIRON] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_SAPPHIRON] == DONE ? GO_STATE_ACTIVE : GO_STATE_READY); break; case GO_ROOM_KELTHUZAD: uiNaxxDoors[DOOR_ROOM_KELTHUZAD] = go->GetGUID(); go->SetGoState(m_auiEncounter[BOSS_KELTHUZAD] != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY); break; } AddDoor(go, false); }
void OnGameObjectCreate(GameObject* go) { if (go->GetGOInfo()->displayId == 6785 || go->GetGOInfo()->displayId == 1287) { uint32 section = GetEruptionSection(go->GetPositionX(), go->GetPositionY()); HeiganEruptionGUID[section].insert(go->GetGUID()); return; } switch (go->GetEntry()) { case 16506: case 16505: FaerlinaMinion.insert(go->GetGUID()); break; case 16803: RazuviousMinion.insert(go->GetGUID()); break; case 16063: case 16064: case 16065: case 30549: Horsemen.insert(go->GetGUID()); break; case GO_PASSAGE_SAPPHIRON: SapphironWall = go->GetGUID(); break; case GO_ROOM_GROBBULUS: GrobbulusDoor = go->GetGUID(); break; case GO_PASSAGE_GLUTH: GluthDoor = go->GetGUID(); break; case GO_ROOM_THADDIUS: ThaddiusDoor = go->GetGUID(); break; case GO_PASSAGE_ANUBREKHAN: AnubrekhanDoor = go->GetGUID(); break; case GO_PASSAGE_FAERLINA: FaerlinaDoor = go->GetGUID(); break; case GO_ROOM_MAEXXNA: MaexxnaDoor = go->GetGUID(); break; case GO_PASSAGE_NOTH: NothDoor_Out = go->GetGUID(); break; case GO_ROOM_HEIGAN: HeiganDoor = go->GetGUID(); break; case GO_PASSAGE_GOTHIK: GothicDoor = go->GetGUID(); break; case GO_ROOM_HORSEMEN: HorsemenDoor = go->GetGUID(); break; case GO_HORSEMEN_CHEST: HorsemenChestGUID = go->GetGUID(); break; case GO_HORSEMEN_CHEST_HERO: HorsemenChestGUID = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL01: uiPortals[0] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL02: uiPortals[1] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL03: uiPortals[2] = go->GetGUID(); break; case GO_KELTHUZAD_PORTAL04: uiPortals[3] = go->GetGUID(); break; case GO_KELTHUZAD_TRIGGER: uiKelthuzadTrigger = go->GetGUID(); break; default: break; } AddDoor(go, true); }