From 13a9de1083e289ed58aece466c1da4addb974f73 Mon Sep 17 00:00:00 2001 From: Skjalf <47818697+Nyeriah@users.noreply.github.com> Date: Mon, 25 Sep 2023 06:10:56 -0300 Subject: [PATCH] refactor(Scripts/GruulsLair): Clean up instance script (#17347) --- .../GruulsLair/instance_gruuls_lair.cpp | 66 ++++--------------- 1 file changed, 12 insertions(+), 54 deletions(-) diff --git a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp index 5fbfadbcb..a826f8857 100644 --- a/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp +++ b/src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp @@ -26,6 +26,12 @@ DoorData const doorData[] = { 0, 0, DOOR_TYPE_ROOM } // END }; +ObjectData const creatureData[] = +{ + { NPC_MAULGAR, DATA_MAULGAR }, + { 0, 0 } +}; + MinionData const minionData[] = { { NPC_MAULGAR, DATA_MAULGAR }, @@ -46,64 +52,13 @@ public: { SetHeaders(DataHeader); SetBossNumber(MAX_ENCOUNTER); + LoadObjectData(creatureData, nullptr); LoadDoorData(doorData); LoadMinionData(minionData); _addsKilled = 0; } - void OnCreatureCreate(Creature* creature) override - { - switch (creature->GetEntry()) - { - case NPC_MAULGAR: - _maulgarGUID = creature->GetGUID(); - [[fallthrough]]; - case NPC_KROSH_FIREHAND: - case NPC_OLM_THE_SUMMONER: - case NPC_KIGGLER_THE_CRAZED: - case NPC_BLINDEYE_THE_SEER: - AddMinion(creature, true); - break; - } - } - - void OnCreatureRemove(Creature* creature) override - { - switch (creature->GetEntry()) - { - case NPC_MAULGAR: - case NPC_KROSH_FIREHAND: - case NPC_OLM_THE_SUMMONER: - case NPC_KIGGLER_THE_CRAZED: - case NPC_BLINDEYE_THE_SEER: - AddMinion(creature, false); - break; - } - } - - void OnGameObjectCreate(GameObject* go) override - { - switch (go->GetEntry()) - { - case GO_MAULGAR_DOOR: - case GO_GRUUL_DOOR: - AddDoor(go, true); - break; - } - } - - void OnGameObjectRemove(GameObject* go) override - { - switch (go->GetEntry()) - { - case GO_MAULGAR_DOOR: - case GO_GRUUL_DOOR: - AddDoor(go, false); - break; - } - } - bool SetBossState(uint32 id, EncounterState state) override { if (!InstanceScript::SetBossState(id, state)) @@ -117,8 +72,12 @@ public: void SetData(uint32 type, uint32 /*id*/) override { if (type == DATA_ADDS_KILLED) - if (Creature* maulgar = instance->GetCreature(_maulgarGUID)) + { + if (Creature* maulgar = GetCreature(DATA_MAULGAR)) + { maulgar->AI()->DoAction(++_addsKilled); + } + } } uint32 GetData(uint32 type) const override @@ -130,7 +89,6 @@ public: protected: uint32 _addsKilled; - ObjectGuid _maulgarGUID; }; InstanceScript* GetInstanceScript(InstanceMap* map) const override