diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp index 2b2866550..b59655524 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_skeram.cpp @@ -134,8 +134,6 @@ struct boss_skeram : public BossAI { _JustDied(); Talk(SAY_DEATH); - - instance->HandleGameObject(instance->GetGuidData(AQ40_DOOR_3), true); } else me->RemoveCorpse(); diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp index 773e8afb3..bf68a1a76 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/instance_temple_of_ahnqiraj.cpp @@ -31,6 +31,14 @@ ObjectData const creatureData[] = { NPC_VEKNILASH, DATA_VEKNILASH } }; +DoorData const doorData[] = +{ + { AQ40_DOOR_SKERAM, DATA_SKERAM, DOOR_TYPE_PASSAGE }, + { AQ40_DOOR_TE_ENTRANCE, DATA_TWIN_EMPERORS, DOOR_TYPE_ROOM }, + { AQ40_DOOR_TE_EXIT, DATA_TWIN_EMPERORS, DOOR_TYPE_PASSAGE }, + { 0, 0, DOOR_TYPE_ROOM} +}; + class instance_temple_of_ahnqiraj : public InstanceMapScript { public: @@ -45,9 +53,9 @@ public: { instance_temple_of_ahnqiraj_InstanceMapScript(Map* map) : InstanceScript(map) { - LoadObjectData(creatureData, nullptr); - doorGUIDs.fill(ObjectGuid::Empty); SetBossNumber(MAX_BOSS_NUMBER); + LoadObjectData(creatureData, nullptr); + LoadDoorData(doorData); } ObjectGuid SkeramGUID; @@ -57,7 +65,6 @@ public: ObjectGuid ViscidusGUID; ObjectGuid CThunGUID; GuidVector CThunGraspGUIDs; - std::array doorGUIDs; uint32 BugTrioDeathCount; uint32 CthunPhase; @@ -74,10 +81,6 @@ public: { case NPC_SKERAM: SkeramGUID = creature->GetGUID(); - if (!creature->IsAlive()) - { - HandleGameObject(doorGUIDs[2], true); - } break; case NPC_VEM: VemGUID = creature->GetGUID(); @@ -123,29 +126,6 @@ public: { switch (go->GetEntry()) { - case AQ40_DOOR_1: - doorGUIDs[0] = go->GetGUID(); - break; - case AQ40_DOOR_2: - doorGUIDs[1] = go->GetGUID(); - if (Creature* veklor = GetCreature(DATA_VEKLOR)) - { - if (!veklor->IsAlive()) - { - HandleGameObject(go->GetGUID(), true); - } - } - break; - case AQ40_DOOR_3: - doorGUIDs[2] = go->GetGUID(); - if (Creature* skeram = instance->GetCreature(SkeramGUID)) - { - if (!skeram->IsAlive()) - { - HandleGameObject(go->GetGUID(), true); - } - } - break; case GO_CTHUN_GRASP: CThunGraspGUIDs.push_back(go->GetGUID()); if (Creature* CThun = instance->GetCreature(CThunGUID)) @@ -190,12 +170,6 @@ public: return YaujGUID; case DATA_VISCIDUS: return ViscidusGUID; - case AQ40_DOOR_1: - return doorGUIDs[0]; - case AQ40_DOOR_2: - return doorGUIDs[1]; - case AQ40_DOOR_3: - return doorGUIDs[2]; } return ObjectGuid::Empty; } diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h index 1cba3f384..6d0ae143a 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/temple_of_ahnqiraj.h @@ -80,9 +80,9 @@ enum Creatures enum ObjectsAQ40 { - AQ40_DOOR_1 = 180634, - AQ40_DOOR_2 = 180635, - AQ40_DOOR_3 = 180636, + AQ40_DOOR_TE_ENTRANCE = 180634, + AQ40_DOOR_TE_EXIT = 180635, + AQ40_DOOR_SKERAM = 180636, GO_CTHUN_GRASP = 180745 };