diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp index da99fe84bff..a05fc85d99e 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo_the_godbreaker.cpp @@ -55,7 +55,7 @@ class boss_jindo_the_godbreaker : public CreatureScript struct boss_jindo_the_godbreakerAI : public BossAI { - boss_jindo_the_godbreakerAI(Creature* creature) : BossAI(creature, DATA_JINDO) { } + boss_jindo_the_godbreakerAI(Creature* creature) : BossAI(creature, DATA_JINDO_THE_GODBREAKER) { } void Reset() override { diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp index 0cc2ae480a4..64f5ef4d084 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp @@ -108,7 +108,7 @@ class boss_mandokir : public CreatureScript struct boss_mandokirAI : public BossAI { - boss_mandokirAI(Creature* creature) : BossAI(creature, DATA_MANDOKIR) { } + boss_mandokirAI(Creature* creature) : BossAI(creature, DATA_BLOODLORD_MANDOKIR) { } void Reset() override { @@ -318,7 +318,7 @@ class npc_ohgan : public CreatureScript DoCast(me, SPELL_CLEAR_ALL, true); DoCast(me, SPELL_PERMANENT_FEIGN_DEATH); - if (Creature* mandokir = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MANDOKIR))) + if (Creature* mandokir = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_BLOODLORD_MANDOKIR))) mandokir->AI()->DoAction(ACTION_OHGAN_IS_DEATH); } } @@ -407,7 +407,7 @@ class npc_chained_spirit : public CreatureScript if (!target || target->IsAlive()) return; - if (Creature* mandokir = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_MANDOKIR))) + if (Creature* mandokir = ObjectAccessor::GetCreature(*me, _instance->GetGuidData(DATA_BLOODLORD_MANDOKIR))) { mandokir->GetAI()->SetGUID(target->GetGUID()); mandokir->GetAI()->DoAction(ACTION_START_REVIVE); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp index 9e6c88db4db..13c166d8bb4 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp @@ -47,7 +47,7 @@ class boss_venoxis : public CreatureScript struct boss_venoxisAI : public BossAI { - boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_VENOXIS) { } + boss_venoxisAI(Creature* creature) : BossAI(creature, DATA_HIGH_PRIEST_VENOXIS) { } void Reset() override { diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp index c3def29dbaf..5f1d4ec256a 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp @@ -22,14 +22,23 @@ #include "InstanceScript.h" #include "zulgurub.h" +ObjectData const creatureData[] = +{ + { BOSS_HIGH_PRIEST_VENOXIS, DATA_HIGH_PRIEST_VENOXIS }, + { BOSS_BLOODLORD_MANDOKIR, DATA_BLOODLORD_MANDOKIR }, + { BOSS_KILNARA, DATA_KILNARA }, + { BOSS_ZANZIL, DATA_ZANZIL }, + { BOSS_JINDO_THE_GODBREAKER, DATA_JINDO_THE_GODBREAKER } +}; + DoorData const doorData[] = { - { GO_VENOXIS_COIL, DATA_VENOXIS, DOOR_TYPE_ROOM }, - { GO_ARENA_DOOR_1, DATA_MANDOKIR, DOOR_TYPE_ROOM }, - { GO_FORCEFIELD, DATA_KILNARA, DOOR_TYPE_ROOM }, - { GO_ZANZIL_DOOR, DATA_ZANZIL, DOOR_TYPE_ROOM }, + { GO_VENOXIS_COIL, DATA_HIGH_PRIEST_VENOXIS, DOOR_TYPE_ROOM }, + { GO_ARENA_DOOR_1, DATA_BLOODLORD_MANDOKIR, DOOR_TYPE_ROOM }, + { GO_FORCEFIELD, DATA_KILNARA, DOOR_TYPE_ROOM }, + { GO_ZANZIL_DOOR, DATA_ZANZIL, DOOR_TYPE_ROOM }, //{ GO_THE_CACHE_OF_MADNESS_DOOR, DATA_xxxxxxx, DOOR_TYPE_ROOM }, - { 0, 0, DOOR_TYPE_ROOM } + { 0, 0, DOOR_TYPE_ROOM } // END }; class instance_zulgurub : public InstanceMapScript @@ -43,78 +52,18 @@ class instance_zulgurub : public InstanceMapScript { SetHeaders(DataHeader); SetBossNumber(EncounterCount); + LoadObjectData(creatureData, nullptr); LoadDoorData(doorData); } void OnCreatureCreate(Creature* creature) override { - switch (creature->GetEntry()) - { - case NPC_VENOXIS: - venoxisGUID = creature->GetGUID(); - break; - case NPC_MANDOKIR: - mandokirGUID = creature->GetGUID(); - break; - case NPC_KILNARA: - kilnaraGUID = creature->GetGUID(); - break; - case NPC_ZANZIL: - zanzilGUID = creature->GetGUID(); - break; - case NPC_JINDO: - jindoGUID = creature->GetGUID(); - break; - case NPC_HAZZARAH: - hazzarahGUID = creature->GetGUID(); - break; - case NPC_RENATAKI: - renatakiGUID = creature->GetGUID(); - break; - case NPC_WUSHOOLAY: - wushoolayGUID = creature->GetGUID(); - break; - case NPC_GRILEK: - grilekGUID = creature->GetGUID(); - break; - case NPC_JINDO_TRIGGER: - jindoTiggerGUID = creature->GetGUID(); - break; - default: - break; - } + InstanceScript::OnCreatureCreate(creature); } void OnGameObjectCreate(GameObject* go) override { - switch (go->GetEntry()) - { - case GO_VENOXIS_COIL: - case GO_ARENA_DOOR_1: - case GO_FORCEFIELD: - case GO_ZANZIL_DOOR: - case GO_THE_CACHE_OF_MADNESS_DOOR: - AddDoor(go, true); - break; - default: - break; - } - } - - void OnGameObjectRemove(GameObject* go) override - { - switch (go->GetEntry()) - { - case GO_VENOXIS_COIL: - case GO_ARENA_DOOR_1: - case GO_FORCEFIELD: - case GO_ZANZIL_DOOR: - case GO_THE_CACHE_OF_MADNESS_DOOR: - AddDoor(go, false); - break; - default: - break; - } + InstanceScript::OnGameObjectCreate(go); } bool SetBossState(uint32 type, EncounterState state) override @@ -122,22 +71,6 @@ class instance_zulgurub : public InstanceMapScript if (!InstanceScript::SetBossState(type, state)) return false; - switch (type) - { - case DATA_VENOXIS: - case DATA_MANDOKIR: - case DATA_KILNARA: - case DATA_ZANZIL: - case DATA_JINDO: - case DATA_HAZZARAH: - case DATA_RENATAKI: - case DATA_WUSHOOLAY: - case DATA_GRILEK: - break; - default: - break; - } - return true; } @@ -158,49 +91,6 @@ class instance_zulgurub : public InstanceMapScript return 0; } */ - - ObjectGuid GetGuidData(uint32 type) const override - { - switch (type) - { - case DATA_VENOXIS: - return venoxisGUID; - case DATA_MANDOKIR: - return mandokirGUID; - case DATA_KILNARA: - return kilnaraGUID; - case DATA_ZANZIL: - return zanzilGUID; - case DATA_JINDO: - return jindoGUID; - case DATA_HAZZARAH: - return hazzarahGUID; - case DATA_RENATAKI: - return renatakiGUID; - case DATA_WUSHOOLAY: - return wushoolayGUID; - case DATA_GRILEK: - return grilekGUID; - case DATA_JINDOR_TRIGGER: - return jindoTiggerGUID; - default: - break; - } - - return ObjectGuid::Empty; - } - - protected: - ObjectGuid venoxisGUID; - ObjectGuid mandokirGUID; - ObjectGuid kilnaraGUID; - ObjectGuid zanzilGUID; - ObjectGuid jindoGUID; - ObjectGuid hazzarahGUID; - ObjectGuid renatakiGUID; - ObjectGuid wushoolayGUID; - ObjectGuid grilekGUID; - ObjectGuid jindoTiggerGUID; }; InstanceScript* GetInstanceScript(InstanceMap* map) const override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h index 2da6f74fbb7..45c7e337158 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h +++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h @@ -28,11 +28,11 @@ uint32 const EncounterCount = 5; enum ZGDataTypes { - DATA_VENOXIS = 0, - DATA_MANDOKIR = 1, + DATA_HIGH_PRIEST_VENOXIS = 0, + DATA_BLOODLORD_MANDOKIR = 1, DATA_KILNARA = 2, DATA_ZANZIL = 3, - DATA_JINDO = 4, + DATA_JINDO_THE_GODBREAKER = 4, // Cache of Madness DATA_HAZZARAH = 5, @@ -46,11 +46,11 @@ enum ZGDataTypes enum ZGCreatureIds { - NPC_VENOXIS = 52155, - NPC_MANDOKIR = 52151, - NPC_KILNARA = 52059, - NPC_ZANZIL = 52053, - NPC_JINDO = 52148, + BOSS_HIGH_PRIEST_VENOXIS = 52155, + BOSS_BLOODLORD_MANDOKIR = 52151, + BOSS_KILNARA = 52059, + BOSS_ZANZIL = 52053, + BOSS_JINDO_THE_GODBREAKER = 52148, // Cache of Madness NPC_HAZZARAH = 52271,