From 4a6b73782beb6981a6ea48dd0da34303d5af3edb Mon Sep 17 00:00:00 2001 From: CraftedRO <24683355+CraftedRO@users.noreply.github.com> Date: Sat, 3 May 2025 22:38:41 +0300 Subject: Scripts/Dire Maul: Allow players to open The Prince's Chest if Prince Tortheldrin is killed (#30866) --- src/server/scripts/Kalimdor/DireMaul/diremaul.h | 3 ++- src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) (limited to 'src/server/scripts') diff --git a/src/server/scripts/Kalimdor/DireMaul/diremaul.h b/src/server/scripts/Kalimdor/DireMaul/diremaul.h index 923b26be422..12be787074f 100644 --- a/src/server/scripts/Kalimdor/DireMaul/diremaul.h +++ b/src/server/scripts/Kalimdor/DireMaul/diremaul.h @@ -48,7 +48,8 @@ enum DMGameobjectIds GO_CRYSTAL_02 = 177257, GO_CRYSTAL_03 = 177258, GO_CRYSTAL_04 = 179504, - GO_CRYSTAL_05 = 179505 + GO_CRYSTAL_05 = 179505, + GO_PRINCE_CHEST = 179545 }; template diff --git a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp index 0dce5d2e81f..06a04bff057 100644 --- a/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp +++ b/src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp @@ -127,6 +127,9 @@ public: if (GetBossState(DATA_FORCEFIELD) != DONE) _events.ScheduleEvent(EVENT_CRYSTAL_CREATURE_STORE, 1s); break; + case GO_PRINCE_CHEST: + _princechestGUID = go->GetGUID(); + break; default: break; } @@ -148,6 +151,8 @@ public: return _crystalGUIDs[4]; case GO_FORCEFIELD: return _forcefieldGUID; + case GO_PRINCE_CHEST: + return _princechestGUID; case NPC_IMMOLTHAR: return _immoGUID; case NPC_TORTHELDRIN: @@ -278,6 +283,12 @@ public: if (Creature* tortheldrin = instance->GetCreature(_tortheldrinGUID)) tortheldrin->SetFaction(FACTION_ENEMY); } + + if (unit->GetGUID() == _tortheldrinGUID) + { + if (GameObject* chest = instance->GetGameObject(_princechestGUID)) + chest->RemoveFlag(GO_FLAG_NOT_SELECTABLE); + } } protected: @@ -285,6 +296,7 @@ protected: std::array _crystalGUIDs; std::array, 5> _crystalCreatureGUIDs; // 5 different Crystals, maximum of 4 Creatures ObjectGuid _forcefieldGUID; + ObjectGuid _princechestGUID; ObjectGuid _immoGUID; ObjectGuid _tortheldrinGUID; }; -- cgit v1.2.3