void OnGameObjectCreate(GameObject* go) override { switch (go->GetEntry()) { case GO_FORCE_FIELD: case GO_BOSS_COLLISION_1: case GO_BOSS_COLLISION_2: case GO_FIRE_BARRIER: case GO_MURUS_GATE_1: case GO_MURUS_GATE_2: AddDoor(go, true); break; default: break; } }
void OnGameObjectCreate(GameObject* go) { switch (go->GetEntry()) { // Generic doors case GOB_ANTECHAMBER_DOOR_ENTRANCE: case GOB_ANTECHAMBER_DOOR_EXIT: case GOB_ATRIUM_DOOR_ENTRANCE: case GOB_ATRIUM_DOOR_EXIT: AddDoor(go, true); break; // Specific doors case GOB_ORATIUM_DOOR_ENTRANCE: AddDoor(go, true); zorlokEntranceDoorGuid = go->GetGUID(); break; case GOB_QUARTERS_DOOR_ENTRANCE: AddDoor(go, true); tayakEntranceDoorGuid = go->GetGUID(); break; case GOB_QUARTERS_DOOR_EXIT: AddDoor(go, true); tayakExitDoorGuid = go->GetGUID(); break; case GOB_STAIRWAYS_DOOR_EXIT: AddDoor(go, true); garalonEntranceDoorGuid = go->GetGUID(); break; case GOB_BALCONY_DOOR_EXIT: AddDoor(go, true); meljarakExitDoorGuid = go->GetGUID(); break; case GOB_SANCTUM_DOOR_ENTRANCE: AddDoor(go, true); unsokEntranceDoorGuid = go->GetGUID(); break; case GOB_HEARTOFFEAR_DOOR_ENTRANCE: AddDoor(go, true); shekzeerEntranceDoorGuid = go->GetGUID(); break; default: break; } }
void OnGameObjectCreate(GameObject* go) { switch (go->GetEntry()) { case GO_STRANGE_GONG: StrangeGongGUID = go->GetGUID(); break; case GO_MASSIVE_GATE: MasiveGateGUID = go->GetGUID(); AddDoor(go, true); if (ZulAmanState != NOT_STARTED) go->SetGoState(GO_STATE_ACTIVE); break; default: break; } }
void OnGameObjectRemove(GameObject* gameObject) { switch (gameObject->GetEntry()) { case GO_LEVIATHAN_DOOR: case GO_XT_002_DOOR: case GO_DOODAD_UL_SIGILDOOR_03: case GO_DOODAD_UL_UNIVERSEFLOOR_01: case GO_DOODAD_UL_UNIVERSEFLOOR_02: case GO_DOODAD_UL_UNIVERSEGLOBE01: case GO_DOODAD_UL_ULDUAR_TRAPDOOR_03: AddDoor(gameObject, false); break; default: break; } }
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 { switch (go->GetEntry()) { case GO_PRISON_DOOR_04: PrisonDoor4GUID = go->GetGUID(); // no break case GO_PRISON_DOOR_01: case GO_PRISON_DOOR_02: case GO_PRISON_DOOR_03: case GO_PRISON_DOOR_05: case GO_SUMMON_DOOR: AddDoor(go, true); break; case GO_BROGGOK_LEVER: BroggokLeverGUID = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_1: PrisonCellGUIDs[DATA_PRISON_CELL1 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_2: PrisonCellGUIDs[DATA_PRISON_CELL2 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_3: PrisonCellGUIDs[DATA_PRISON_CELL3 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_4: PrisonCellGUIDs[DATA_PRISON_CELL4 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_5: PrisonCellGUIDs[DATA_PRISON_CELL5 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_6: PrisonCellGUIDs[DATA_PRISON_CELL6 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_7: PrisonCellGUIDs[DATA_PRISON_CELL7 - DATA_PRISON_CELL1] = go->GetGUID(); break; case GO_PRISON_CELL_DOOR_8: PrisonCellGUIDs[DATA_PRISON_CELL8 - DATA_PRISON_CELL1] = go->GetGUID(); break; default: break; } }
void OnGameObjectCreate(GameObject* go) { switch (go->GetEntry()) { case GO_LADY_VASHJ_BRIDGE_CONSOLE: case GO_COILFANG_BRIDGE1: case GO_COILFANG_BRIDGE2: case GO_COILFANG_BRIDGE3: AddDoor(go, true); break; case GO_SHIELD_GENERATOR1: case GO_SHIELD_GENERATOR2: case GO_SHIELD_GENERATOR3: case GO_SHIELD_GENERATOR4: ShieldGeneratorGUID[go->GetEntry()-GO_SHIELD_GENERATOR1] = go->GetGUID(); break; } }
void OnGameObjectCreate(GameObject* go) override { switch (go->GetEntry()) { case GO_FORCEFIELD: AddDoor(go, true); break; case GO_GONG_OF_BETHEKK: _goGongOfBethekkGUID = go->GetGUID(); if (GetBossState(DATA_ARLOKK) == DONE) go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); else go->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); break; default: 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; default: break; } AddDoor(go, true); }
void OnGameObjectCreate(GameObject* go) { switch (go->GetEntry()) { case GO_FACTORY_DOOR: m_ListOfGUID[DATA_FACTORY_DOOR] = go->GetGUID(); AddDoor(go, true); break; case GO_FACTORY_DOOR_LEVER: m_ListOfGUID[DATA_FACTORY_DOOR_LEVER] = go->GetGUID(); break; case GO_HEAVY_DOOR2: AddDoor(go, true); m_ListOfGUID[DATA_HEAVY_DOOR2] = go->GetGUID(); break; case GO_MASTROOM_DOOR: AddDoor(go, true); m_ListOfGUID[DATA_MASTROOM_DOOR] = go->GetGUID(); break; case GO_MASTROOM_DOOR_LEVER: m_ListOfGUID[DATA_MASTROOM_DOOR_LEVER] = go->GetGUID(); break; case GO_HEAVY_DOOR4: AddDoor(go, true); m_ListOfGUID[DATA_HEAVY_DOOR4] = go->GetGUID(); break; case GO_FOUNDRY_DOOR: m_ListOfGUID[DATA_FOUNDRY_DOOR] = go->GetGUID(); AddDoor(go, true); break; case GO_FOUNDRY_DOOR_LEVER: m_ListOfGUID[DATA_FOUNDRY_DOOR_LEVER] = go->GetGUID(); break; case GO_IRONCLAD_DOOR: m_ListOfGUID[DATA_IRONCLAD_DOOR] = go->GetGUID(); AddDoor(go, true); break; case GO_IRONCLAD_DOOR_LEVER: m_ListOfGUID[DATA_IRONCLAD_DOOR_LEVER] = go->GetGUID(); break; case GO_DEFIAS_CANNON: m_ListOfGUID[DATA_DEFIAS_CANNON] = go->GetGUID(); break; case GO_MR_SMITE_CHEST: m_ListOfGUID[DATA_MR_SMITE_CHEST] = go->GetGUID(); break; } if (!m_SpecialNpcSpawned) m_LoadingInstanceTimer = 3000; }
void OnGameObjectCreate(GameObject* go) override { switch (go->GetEntry()) { case GO_FIRE_FIELD: AddDoor(go, true); break; case GO_FLAME_WALLS: FlameWallsGUID = go->GetGUID(); if (GetBossState(DATA_SAVIANA_RAGEFIRE) == DONE && GetBossState(DATA_BALTHARUS_THE_WARBORN) == DONE) HandleGameObject(FlameWallsGUID, true, go); break; case GO_FLAME_RING: FlameRingGUID = go->GetGUID(); break; case GO_TWILIGHT_FLAME_RING: TwilightFlameRingGUID = go->GetGUID(); break; case GO_BURNING_TREE_1: BurningTreeGUID[0] = go->GetGUID(); if (GetBossState(DATA_GENERAL_ZARITHRIAN) == DONE) HandleGameObject(BurningTreeGUID[0], true); break; case GO_BURNING_TREE_2: BurningTreeGUID[1] = go->GetGUID(); if (GetBossState(DATA_GENERAL_ZARITHRIAN) == DONE) HandleGameObject(BurningTreeGUID[1], true); break; case GO_BURNING_TREE_3: BurningTreeGUID[2] = go->GetGUID(); if (GetBossState(DATA_GENERAL_ZARITHRIAN) == DONE) HandleGameObject(BurningTreeGUID[2], true); break; case GO_BURNING_TREE_4: BurningTreeGUID[3] = go->GetGUID(); if (GetBossState(DATA_GENERAL_ZARITHRIAN) == DONE) HandleGameObject(BurningTreeGUID[3], true); break; default: break; } }
void OnGameObjectRemove(GameObject* go) override { switch (go->GetEntry()) { case GO_NAJENTUS_GATE: case GO_SUPREMUS_GATE: case GO_SHADE_OF_AKAMA_DOOR: case GO_TERON_DOOR_1: case GO_TERON_DOOR_2: case GO_GURTOGG_DOOR: case GO_TEMPLE_DOOR: case GO_MOTHER_SHAHRAZ_DOOR: case GO_COUNCIL_DOOR_1: case GO_COUNCIL_DOOR_2: AddDoor(go, false); break; default: break; } }
void OnGameObjectRemove(GameObject* go) { switch (go->GetEntry()) { case GO_MAGTHERIDON_DOORS: AddDoor(go, false); break; case GO_MANTICRON_CUBE: _cubesSet.erase(go->GetGUID()); break; case GO_MAGTHERIDON_HALL: case GO_MAGTHERIDON_COLUMN0: case GO_MAGTHERIDON_COLUMN1: case GO_MAGTHERIDON_COLUMN2: case GO_MAGTHERIDON_COLUMN3: case GO_MAGTHERIDON_COLUMN4: case GO_MAGTHERIDON_COLUMN5: _columnSet.erase(go->GetGUID()); break; } }
void OnGameObjectCreate(GameObject* go) override { switch (go->GetEntry()) { case GO_UTGARDE_MIRROR: UtgardeMirrorGUID = go->GetGUID(); break; case GO_GORTOK_PALEHOOF_SPHERE: GortokPalehoofSphereGUID = go->GetGUID(); if (GetBossState(DATA_GORTOK_PALEHOOF) == DONE) { HandleGameObject(ObjectGuid::Empty, true, go); go->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); } break; case GO_SKADI_THE_RUTHLESS_DOOR: case GO_KING_YMIRON_DOOR: AddDoor(go, true); break; default: break; } }
void OnGameObjectCreate(GameObject* go) override { switch (go->GetEntry()) { case GO_VEXALLUS_DOOR: case GO_SELIN_DOOR: case GO_SELIN_ENCOUNTER_DOOR: case GO_DELRISSA_DOOR: case GO_KAEL_DOOR: AddDoor(go, true); break; case GO_KAEL_STATUE_1: KaelStatue[0] = go->GetGUID(); break; case GO_KAEL_STATUE_2: KaelStatue[1] = go->GetGUID(); break; case GO_ESCAPE_ORB: EscapeOrbGUID = go->GetGUID(); break; default: break; } }
void OnGameObjectCreate(GameObject* go) override { if (go->GetEntry() == GO_IKISS_DOOR) AddDoor(go, true); }
void OnGameObjectCreate(GameObject* go) { switch (go->GetEntry()) { case GOB_STONE_GUARD_DOOR_ENTRANCE: case GOB_FENG_DOOR_FENCE: case GOB_FENG_DOOR_EXIT: case GOB_GARAJAL_FENCE: case GOB_GARAJAL_EXIT: case GOB_SPIRIT_KINGS_WIND_WALL: case GOB_SPIRIT_KINGS_EXIT: case GOB_CELESTIAL_DOOR: AddDoor(go, true); break; // Feng case GOB_SPEAR_STATUE: case GOB_FIST_STATUE: case GOB_STAFF_STATUE: fengStatuesGUIDs.push_back(go->GetGUID()); break; case GOB_SHIELD_STATUE: { if (!instance->IsHeroic()) go->SetObjectScale(0.001f); else fengStatuesGUIDs.push_back(go->GetGUID()); break; } case GOB_STONE_GUARD_DOOR_EXIT: AddDoor(go, true); stoneGuardExit = go->GetGUID(); break; case GOB_INVERSION: inversionGobGuid = go->GetGUID(); break; case GOB_CANCEL: cancelGobGuid = go->GetGUID(); break; case GOB_ENERGY_PLATFORM: energyPlatformGuid = go->GetGUID(); go->SetGoState(GO_STATE_ACTIVE); break; case GOB_ELEGON_DOOR_ENTRANCE: ancientMoguDoorGuid = go->GetGUID(); break; case GOB_WILL_OF_EMPEROR_ENTRANCE: emperorsDoorGuid = go->GetGUID(); break; case GOB_ENERGY_TITAN_DISK: titanDiskGuid = go->GetGUID(); break; case GOB_ENERGY_TITAN_CIRCLE_1: case GOB_ENERGY_TITAN_CIRCLE_2: case GOB_ENERGY_TITAN_CIRCLE_3: go->SetGoState(GO_STATE_ACTIVE); titanCirclesGuids.push_back(go->GetGUID()); break; case GOB_CELESTIAL_COMMAND: celestialCommandGuid = go->GetGUID(); break; } }
void InstanceScript::OnGameObjectCreate(GameObject* go) { AddObject(go, true); AddDoor(go, true); }
//------------------------- LoadMap ------------------------------------ // // sets up the game environment from map file //----------------------------------------------------------------------------- bool Raven_Map::LoadMap(const std::string& filename) { std::ifstream in(filename.c_str()); if (!in) { ErrorBox("Bad Map Filename"); return false; } Clear(); BaseGameEntity::ResetNextValidID(); //first of all read and create the navgraph. This must be done before //the entities are read from the map file because many of the entities //will be linked to a graph node (the graph node will own a pointer //to an instance of the entity) m_pNavGraph = new NavGraph(false); m_pNavGraph->Load(in); #ifdef LOG_CREATIONAL_STUFF debug_con << "NavGraph for " << filename << " loaded okay" << ""; #endif //determine the average distance between graph nodes so that we can //partition them efficiently m_dCellSpaceNeighborhoodRange = CalculateAverageGraphEdgeLength(*m_pNavGraph) + 1; #ifdef LOG_CREATIONAL_STUFF debug_con << "Average edge length is " << CalculateAverageGraphEdgeLength(*m_pNavGraph) << ""; #endif #ifdef LOG_CREATIONAL_STUFF debug_con << "Neighborhood range set to " << m_dCellSpaceNeighborhoodRange << ""; #endif //load in the map size and adjust the client window accordingly in >> m_iSizeX >> m_iSizeY; #ifdef LOG_CREATIONAL_STUFF debug_con << "Partitioning navgraph nodes..." << ""; #endif //partition the graph nodes PartitionNavGraph(); //get the handle to the game window and resize the client area to accommodate //the map extern char* g_szApplicationName; extern char* g_szWindowClassName; HWND hwnd = FindWindow(g_szWindowClassName, g_szApplicationName); const int ExtraHeightRqdToDisplayInfo = 50; ResizeWindow(hwnd, m_iSizeX, m_iSizeY+ExtraHeightRqdToDisplayInfo); #ifdef LOG_CREATIONAL_STUFF debug_con << "Loading map..." << ""; #endif //now create the environment entities while (!in.eof()) { //get type of next map object int EntityType; in >> EntityType; #ifdef LOG_CREATIONAL_STUFF debug_con << "Creating a " << GetNameOfType(EntityType) << ""; #endif //create the object switch(EntityType) { case type_wall: AddWall(in); break; case type_sliding_door: AddDoor(in); break; case type_door_trigger: AddDoorTrigger(in); break; case type_spawn_point: AddSpawnPoint(in); break; case type_health: AddHealth_Giver(in); break; case type_shotgun: AddWeapon_Giver(type_shotgun, in); break; case type_rail_gun: AddWeapon_Giver(type_rail_gun, in); break; case type_rocket_launcher: AddWeapon_Giver(type_rocket_launcher, in); break; default: throw std::runtime_error("<Map::Load>: Attempting to load undefined object"); return false; }//end switch } #ifdef LOG_CREATIONAL_STUFF debug_con << filename << " loaded okay" << ""; #endif //calculate the cost lookup table m_PathCosts = CreateAllPairsCostsTable(*m_pNavGraph); return true; }
void InstanceScript::OnGameObjectRemove(GameObject* go) { AddObject(go, false); AddDoor(go, false); }
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* gameObject) { switch (gameObject->GetEntry()) { case GO_KOLOGARN_CHEST_HERO: case GO_KOLOGARN_CHEST: KologarnChestGUID = gameObject->GetGUID(); break; case GO_KOLOGARN_BRIDGE: KologarnBridgeGUID = gameObject->GetGUID(); if (GetBossState(BOSS_KOLOGARN) == DONE) HandleGameObject(0, false, gameObject); break; case GO_KOLOGARN_DOOR: KologarnDoorGUID = gameObject->GetGUID(); break; case GO_THORIM_CHEST_HERO: case GO_THORIM_CHEST: ThorimChestGUID = gameObject->GetGUID(); break; case GO_HODIR_RARE_CACHE_OF_WINTER_HERO: case GO_HODIR_RARE_CACHE_OF_WINTER: HodirRareCacheGUID = gameObject->GetGUID(); break; case GO_HODIR_CHEST_HERO: case GO_HODIR_CHEST: HodirChestGUID = gameObject->GetGUID(); break; case GO_LEVIATHAN_DOOR: AddDoor(gameObject, true); break; case GO_LEVIATHAN_GATE: LeviathanGateGUID = gameObject->GetGUID(); if (GetBossState(BOSS_LEVIATHAN) == DONE) gameObject->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); break; case GO_XT_002_DOOR: AddDoor(gameObject, true); break; case GO_VEZAX_DOOR: VezaxDoorGUID = gameObject->GetGUID(); HandleGameObject(0, false, gameObject); break; case GO_RAZOR_HARPOON_1: RazorHarpoonGUIDs[0] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_2: RazorHarpoonGUIDs[1] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_3: RazorHarpoonGUIDs[2] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_4: RazorHarpoonGUIDs[3] = gameObject->GetGUID(); break; case GO_MOLE_MACHINE: if (GetBossState(BOSS_RAZORSCALE) == IN_PROGRESS) gameObject->SetGoState(GO_STATE_ACTIVE); case GO_HODIR_DOOR: HodirDoorGUID = gameObject->GetGUID(); break; case GO_HODIR_ICE_DOOR: HodirIceDoorGUID = gameObject->GetGUID(); break; case GO_ARCHIVUM_DOOR: ArchivumDoorGUID = gameObject->GetGUID(); if (GetBossState(BOSS_ASSEMBLY_OF_IRON) != DONE) HandleGameObject(ArchivumDoorGUID, false); break; case GO_CELESTIAL_PLANETARIUM_ACCESS_10: case GO_CELESTIAL_PLANETARIUM_ACCESS_25: if (_algalonSummoned) gameObject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_IN_USE); break; case GO_DOODAD_UL_SIGILDOOR_01: AlgalonSigilDoorGUID[0] = gameObject->GetGUID(); if (_algalonSummoned) gameObject->SetGoState(GO_STATE_ACTIVE); break; case GO_DOODAD_UL_SIGILDOOR_02: AlgalonSigilDoorGUID[1] = gameObject->GetGUID(); if (_algalonSummoned) gameObject->SetGoState(GO_STATE_ACTIVE); break; case GO_DOODAD_UL_SIGILDOOR_03: AlgalonSigilDoorGUID[2] = gameObject->GetGUID(); AddDoor(gameObject, true); break; case GO_DOODAD_UL_UNIVERSEFLOOR_01: AlgalonFloorGUID[0] = gameObject->GetGUID(); AddDoor(gameObject, true); break; case GO_DOODAD_UL_UNIVERSEFLOOR_02: AlgalonFloorGUID[1] = gameObject->GetGUID(); AddDoor(gameObject, true); break; case GO_DOODAD_UL_UNIVERSEGLOBE01: AlgalonUniverseGUID = gameObject->GetGUID(); AddDoor(gameObject, true); break; case GO_DOODAD_UL_ULDUAR_TRAPDOOR_03: AlgalonTrapdoorGUID = gameObject->GetGUID(); AddDoor(gameObject, true); break; case GO_GIFT_OF_THE_OBSERVER_10: case GO_GIFT_OF_THE_OBSERVER_25: GiftOfTheObserverGUID = gameObject->GetGUID(); break; } }
void OnGameObjectRemove(GameObject* go) { 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 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 OnGameObjectCreate(GameObject* gameObject) { switch (gameObject->GetEntry()) { case GO_KOLOGARN_CHEST_HERO: case GO_KOLOGARN_CHEST: KologarnChestGUID = gameObject->GetGUID(); break; case GO_KOLOGARN_BRIDGE: KologarnBridgeGUID = gameObject->GetGUID(); if (GetBossState(BOSS_KOLOGARN) == DONE) HandleGameObject(0, false, gameObject); break; case GO_KOLOGARN_DOOR: KologarnDoorGUID = gameObject->GetGUID(); break; case GO_THORIM_CHEST_HERO: case GO_THORIM_CHEST: ThorimChestGUID = gameObject->GetGUID(); break; case GO_HODIR_RARE_CACHE_OF_WINTER_HERO: case GO_HODIR_RARE_CACHE_OF_WINTER: HodirRareCacheGUID = gameObject->GetGUID(); break; case GO_HODIR_CHEST_HERO: case GO_HODIR_CHEST: HodirChestGUID = gameObject->GetGUID(); break; case GO_LEVIATHAN_DOOR: AddDoor(gameObject, true); break; case GO_LEVIATHAN_GATE: LeviathanGateGUID = gameObject->GetGUID(); if (GetBossState(BOSS_LEVIATHAN) == DONE) gameObject->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); break; case GO_XT_002_DOOR: AddDoor(gameObject, true); break; case GO_VEZAX_DOOR: VezaxDoorGUID = gameObject->GetGUID(); HandleGameObject(0, false, gameObject); break; case GO_RAZOR_HARPOON_1: RazorHarpoonGUIDs[0] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_2: RazorHarpoonGUIDs[1] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_3: RazorHarpoonGUIDs[2] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_4: RazorHarpoonGUIDs[3] = gameObject->GetGUID(); break; case GO_MOLE_MACHINE: if (GetBossState(BOSS_RAZORSCALE) == IN_PROGRESS) gameObject->SetGoState(GO_STATE_ACTIVE); case GO_HODIR_DOOR: HodirDoorGUID = gameObject->GetGUID(); break; case GO_HODIR_ICE_DOOR: HodirIceDoorGUID = gameObject->GetGUID(); break; case GO_ARCHIVUM_DOOR: ArchivumDoorGUID = gameObject->GetGUID(); if (GetBossState(BOSS_ASSEMBLY_OF_IRON) != DONE) HandleGameObject(ArchivumDoorGUID, false); break; } }
void OnGameObjectCreate(GameObject* gameObject) { switch(gameObject->GetEntry()) { case GO_KOLOGARN_CHEST_HERO: case GO_KOLOGARN_CHEST: KologarnChestGUID = gameObject->GetGUID(); break; case GO_KOLOGARN_BRIDGE: KologarnBridgeGUID = gameObject->GetGUID(); if(GetBossState(BOSS_KOLOGARN) == DONE) HandleGameObject(0, false, gameObject); break; case GO_KOLOGARN_DOOR: KologarnDoorGUID = gameObject->GetGUID(); break; case GO_HODIR_RARE_CACHE_OF_WINTER_HERO: case GO_HODIR_RARE_CACHE_OF_WINTER: HodirRareCacheGUID = gameObject->GetGUID(); break; case GO_HODIR_CHEST_HERO: case GO_HODIR_CHEST: HodirChestGUID = gameObject->GetGUID(); break; case GO_FREYA_CHEST_HERO: case GO_FREYA_CHEST: FreyaChestGUID = gameObject->GetGUID(); break; case GO_LEVIATHAN_DOOR: AddDoor(gameObject, true); break; case GO_LEVIATHAN_GATE: LeviathanGateGUID = gameObject->GetGUID(); if(GetBossState(BOSS_LEVIATHAN) == DONE) gameObject->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); break; case GO_VEZAX_DOOR: VezaxDoorGUID = gameObject->GetGUID(); HandleGameObject(0, false, gameObject); break; case GO_RAZOR_HARPOON_1: RazorHarpoonGUIDs[0] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_2: RazorHarpoonGUIDs[1] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_3: RazorHarpoonGUIDs[2] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_4: RazorHarpoonGUIDs[3] = gameObject->GetGUID(); break; case GO_MOLE_MACHINE: if(GetBossState(BOSS_RAZORSCALE) == IN_PROGRESS) gameObject->SetGoState(GO_STATE_ACTIVE); case GO_HODIR_DOOR: HodirDoorGUID = gameObject->GetGUID(); break; case GO_HODIR_ICE_DOOR: HodirIceDoorGUID = gameObject->GetGUID(); break; case GO_ARCHIVUM_DOOR: ArchivumDoorGUID = gameObject->GetGUID(); if(GetBossState(BOSS_ASSEMBLY_OF_IRON) == DONE) HandleGameObject(0, false, gameObject); break; // Mimiron case GO_MIMIRON_ELEVATOR: gameObject->setActive(true); MimironElevatorGUID = gameObject->GetGUID(); break; case GO_MIMIRON_DOOR_1: case GO_MIMIRON_DOOR_2: case GO_MIMIRON_DOOR_3: gameObject->setActive(true); MimironDoorGUIDList.push_back(gameObject->GetGUID()); break; // Thorim case GO_THORIM_CHEST_HERO: case GO_THORIM_CHEST: ThorimChestGUID = gameObject->GetGUID(); break; case GO_THORIM_ENCOUNTER_DOOR: ThorimDoorGUID = gameObject->GetGUID(); break; case GO_THORIM_STONE_DOOR: StoneDoorGUID = gameObject->GetGUID(); break; case GO_THORIM_RUNIC_DOOR: RunicDoorGUID = gameObject->GetGUID(); break; } }
void OnGameObjectCreate(GameObject* pGo) { AddDoor(pGo, true); switch(pGo->GetEntry()) { case GO_LEVIATHAN_DOOR: uiLeviathanDoor = pGo->GetGUID(); break; case GO_KOLOGARN_BRIDGE: uiKologarnBridge = pGo->GetGUID(); HandleGameObject(uiKologarnBridge, true); break; case GO_HODIR_RARE_CHEST_10: uiHodirRareChest = pGo->GetGUID(); break; case GO_HODIR_RARE_CHEST_25: uiHodirRareChest = pGo->GetGUID(); break; case GO_RUNIC_DOOR: uiRunicDoor = pGo->GetGUID(); break; case GO_STONE_DOOR: uiStoneDoor = pGo->GetGUID(); break; case GO_THORIM_LEVER: uiThorimLever = pGo->GetGUID(); break; case GO_MIMIRON_TRAM: uiMimironTram = pGo->GetGUID(); break; case GO_MIMIRON_ELEVATOR: uiMimironElevator = pGo->GetGUID(); break; case GO_KEEPERS_DOOR: uiKeepersGate = pGo->GetGUID(); pGo->RemoveFlag(GAMEOBJECT_FLAGS,GO_FLAG_LOCKED); if (instance) for (uint32 i = BOSS_MIMIRON; i < BOSS_VEZAX; ++i) if (GetBossState(i) != DONE) pGo->SetFlag(GAMEOBJECT_FLAGS,GO_FLAG_LOCKED); break; case GO_ARCHIVUM_CONSOLE: uiArchivumConsole = pGo->GetGUID(); break; case GO_UNIVERSE_FLOOR_ARCHIVUM: uiUniverseFloorArchivum = pGo->GetGUID(); break; // Celestial Planetarium case GO_CELESTIAL_ACCES: uiCelestialConsole = pGo->GetGUID(); break; case GO_CELESTIAL_DOOR: uiCelestialDoor = pGo->GetGUID(); break; case GO_UNIVERSE_FLOOR_CELESTIAL: uiUniverseFloorCelestial = pGo->GetGUID(); break; case GO_AZEROTH_GLOBE: uiAzerothGlobe = pGo->GetGUID(); break; case GO_GIFT_OF_OBSERVER_10: uiAlagonLoot = pGo->GetGUID(); break; case GO_GIFT_OF_OBSERVER_25: uiAlagonLoot = pGo->GetGUID(); break; default: break; } }
void OnGameObjectCreate(GameObject* gameObject) { switch (gameObject->GetEntry()) { case GO_IRON_COUNCIL_ENTRANCE: IronCouncilEntranceGUID = gameObject->GetGUID(); break; case GO_XT002_DOOR: XT002DoorGUID = gameObject->GetGUID(); break; case GO_KOLOGARN_CHEST_HERO: case GO_KOLOGARN_CHEST: KologarnChestGUID = gameObject->GetGUID(); break; case GO_KOLOGARN_BRIDGE: KologarnBridgeGUID = gameObject->GetGUID(); if (GetBossState(BOSS_KOLOGARN) == DONE) HandleGameObject(0, false, gameObject); break; case GO_KOLOGARN_DOOR: KologarnDoorGUID = gameObject->GetGUID(); break; case GO_HODIR_RARE_CACHE_OF_WINTER_HERO: case GO_HODIR_RARE_CACHE_OF_WINTER: HodirRareCacheGUID = gameObject->GetGUID(); break; case GO_HODIR_CHEST_HERO: case GO_HODIR_CHEST: HodirChestGUID = gameObject->GetGUID(); break; case GO_LEVIATHAN_DOOR: AddDoor(gameObject, true); break; case GO_LEVIATHAN_GATE: LeviathanGateGUID = gameObject->GetGUID(); if (GetBossState(BOSS_LEVIATHAN) == DONE) gameObject->SetGoState(GO_STATE_ACTIVE_ALTERNATIVE); break; case GO_VEZAX_DOOR: VezaxDoorGUID = gameObject->GetGUID(); HandleGameObject(0, false, gameObject); break; case GO_RAZOR_HARPOON_1: RazorHarpoonGUIDs[0] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_2: RazorHarpoonGUIDs[1] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_3: RazorHarpoonGUIDs[2] = gameObject->GetGUID(); break; case GO_RAZOR_HARPOON_4: RazorHarpoonGUIDs[3] = gameObject->GetGUID(); break; case GO_MOLE_MACHINE: if (GetBossState(BOSS_RAZORSCALE) == IN_PROGRESS) gameObject->SetGoState(GO_STATE_ACTIVE); break; case GO_HODIR_DOOR: HodirDoorGUID = gameObject->GetGUID(); break; case GO_HODIR_ICE_DOOR: HodirIceDoorGUID = gameObject->GetGUID(); if (GetBossState(BOSS_HODIR) == DONE) HandleGameObject(HodirIceDoorGUID, true); break; case GO_HODIR_STONE_DOOR: HodirStoneDoorGUID = gameObject->GetGUID(); if (GetBossState(BOSS_HODIR) == DONE) HandleGameObject(HodirStoneDoorGUID, true); break; case GO_ARCHIVUM_DOOR: ArchivumDoorGUID = gameObject->GetGUID(); HandleGameObject(0, GetBossState(BOSS_ASSEMBLY_OF_IRON) == DONE, gameObject); break; case GO_MIMIRON_TRAIN: gameObject->setActive(true); MimironTrainGUID = gameObject->GetGUID(); break; case GO_MIMIRON_ELEVATOR: gameObject->setActive(true); MimironElevatorGUID = gameObject->GetGUID(); break; case GO_MIMIRON_DOOR_1: case GO_MIMIRON_DOOR_2: case GO_MIMIRON_DOOR_3: gameObject->setActive(true); MimironDoorGUIDList.push_back(gameObject->GetGUID()); break; case GO_WAY_TO_YOGG: WayToYoggGUID = gameObject->GetGUID(); if (GetBossState(BOSS_FREYA) == DONE && GetBossState(BOSS_MIMIRON) == DONE && GetBossState(BOSS_HODIR) == DONE && GetBossState(BOSS_THORIM) == DONE) gameObject->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_LOCKED); break; case GO_THORIM_CHEST_HERO: case GO_THORIM_CHEST: ThorimChestGUID = gameObject->GetGUID(); break; case GO_THORIM_ENCOUNTER_DOOR: ThorimDoorGUID = gameObject->GetGUID(); break; case GO_THORIM_STONE_DOOR: StoneDoorGUID = gameObject->GetGUID(); break; case GO_THORIM_RUNIC_DOOR: RunicDoorGUID = gameObject->GetGUID(); break; case GO_ALGALON_DOOR: AlgalonDoorGUID = gameObject->GetGUID(); gameObject->SetGoState(GO_STATE_READY); if (AlgalonIntroDone) gameObject->SetGoState(GO_STATE_ACTIVE); break; case GO_ALGALON_FLOOR_OOC: AlgalonFloorOOCGUID = gameObject->GetGUID(); gameObject->SetGoState(GO_STATE_READY); gameObject->setActive(true); gameObject->SetPhaseMask(PHASEMASK_ANYWHERE,false); break; case GO_ALGALON_FLOOR_COM: AlgalonFloorCOMGUID = gameObject->GetGUID(); gameObject->SetGoState(GO_STATE_ACTIVE); gameObject->SetPhaseMask(PHASEMASK_ANYWHERE,false); break; case GO_ALGALON_BRIDGE: AlgalonBridgeGUID = gameObject->GetGUID(); gameObject->SetGoState(GO_STATE_READY); gameObject->SetPhaseMask(PHASEMASK_ANYWHERE,false); break; case GO_ALGALON_GLOBE: AlgalonGlobeGUID = gameObject->GetGUID(); HandleGameObject(0, false, gameObject); gameObject->SetPhaseMask(PHASEMASK_ANYWHERE,false); break; case GO_ALGALON_INVISDOOR: AlgalonForceFieldGUID= gameObject->GetGUID(); AddDoor(gameObject, true); gameObject->SetGoState(GO_STATE_ACTIVE); gameObject->SetPhaseMask(PHASEMASK_ANYWHERE,false); break; case GO_ALGALON_CONSOLE: if (AlgalonIntroDone) { gameObject->SetFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE); } break; case GO_YOGGSARON_DOOR: YoggSaronDoorGUID = gameObject->GetGUID(); HandleGameObject(NULL, true, gameObject); break; case GO_YOGGBRAIN_DOOR_1: YoggSaronBrainDoor1GUID = gameObject->GetGUID(); break; case GO_YOGGBRAIN_DOOR_2: YoggSaronBrainDoor2GUID = gameObject->GetGUID(); HandleGameObject(NULL, false, gameObject); break; case GO_YOGGBRAIN_DOOR_3: YoggSaronBrainDoor3GUID = gameObject->GetGUID(); HandleGameObject(NULL, false, gameObject); break; } }
void OnGameObjectRemove(GameObject* go) override { if (go->GetEntry() == GO_IKISS_DOOR) 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); }