diff options
| author | CraftedRO <24683355+CraftedRO@users.noreply.github.com> | 2025-05-03 22:38:41 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-03 21:38:41 +0200 |
| commit | 4a6b73782beb6981a6ea48dd0da34303d5af3edb (patch) | |
| tree | c2f79fee4a5f762e28a5025bec12bc4dc6d4efad /src | |
| parent | 01a83208b615d432c9aa44b59566ce602a61a101 (diff) | |
Scripts/Dire Maul: Allow players to open The Prince's Chest if Prince Tortheldrin is killed (#30866)
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/scripts/Kalimdor/DireMaul/diremaul.h | 3 | ||||
| -rw-r--r-- | src/server/scripts/Kalimdor/DireMaul/instance_dire_maul.cpp | 12 |
2 files changed, 14 insertions, 1 deletions
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 <class AI, class T> 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<ObjectGuid, 5> _crystalGUIDs; std::array<std::array<ObjectGuid, 4>, 5> _crystalCreatureGUIDs; // 5 different Crystals, maximum of 4 Creatures ObjectGuid _forcefieldGUID; + ObjectGuid _princechestGUID; ObjectGuid _immoGUID; ObjectGuid _tortheldrinGUID; }; |
