aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2023-09-17 23:04:02 +0200
committerShauren <shauren.trinity@gmail.com>2023-09-17 23:04:02 +0200
commit7d32674af60df43e20c0f4ff9826b39151c2196e (patch)
treee90e22463ce44c43f967488533b8cf8f3a73e27b
parentae26431a81a09c2997de9101533999eaaefe6bf6 (diff)
Scripts/Sunken Temple: Added dungeon encounter ids
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp29
-rw-r--r--src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h24
2 files changed, 53 insertions, 0 deletions
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
index 93771b34584..2a73f5b5c1b 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
@@ -26,6 +26,7 @@ EndScriptData */
#include "GameObject.h"
#include "InstanceScript.h"
#include "Map.h"
+#include "Unit.h"
#include "sunken_temple.h"
enum Gameobject
@@ -47,6 +48,17 @@ enum CreatureIds
NPC_MALFURION_STORMRAGE = 15362
};
+static constexpr DungeonEncounterData Encounters[]
+{
+ { BOSS_AVATAR_OF_HAKKAR, { { 492 } } },
+ { BOSS_JAMMALAN_THE_PROPHET, { { 488 } } },
+ { BOSS_DREAMSCYTHE, { { 486 } } },
+ { BOSS_WEAVER, { { 487 } } },
+ { BOSS_MORPHAZ, { { 490 } } },
+ { BOSS_HAZZAS, { { 491 } } },
+ { BOSS_SHADE_OF_ERANIKUS, { { 493 } } },
+};
+
class instance_sunken_temple : public InstanceMapScript
{
public:
@@ -62,6 +74,8 @@ public:
instance_sunken_temple_InstanceMapScript(InstanceMap* map) : InstanceScript(map)
{
SetHeaders(DataHeader);
+ SetBossNumber(MAX_ENCOUNTER);
+ LoadDungeonEncounterData(Encounters);
State = 0;
s1 = false;
@@ -89,6 +103,21 @@ public:
bool s5;
bool s6;
+ void OnUnitDeath(Unit* unit) override
+ {
+ switch (unit->GetEntry())
+ {
+ case NPC_AVATAR_OF_HAKKAR: SetBossState(BOSS_AVATAR_OF_HAKKAR, DONE); break;
+ case NPC_JAMMALAN_THE_PROPHET: SetBossState(BOSS_JAMMALAN_THE_PROPHET, DONE); break;
+ case NPC_DREAMSCYTHE: SetBossState(BOSS_DREAMSCYTHE, DONE); break;
+ case NPC_WEAVER: SetBossState(BOSS_WEAVER, DONE); break;
+ case NPC_MORPHAZ: SetBossState(BOSS_MORPHAZ, DONE); break;
+ case NPC_HAZZAS: SetBossState(BOSS_HAZZAS, DONE); break;
+ case NPC_SHADE_OF_ERANIKUS: SetBossState(BOSS_SHADE_OF_ERANIKUS, DONE); break;
+ default: break;
+ }
+ }
+
void OnGameObjectCreate(GameObject* go) override
{
switch (go->GetEntry())
diff --git a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
index af73d4bc5b0..d6ee31f68a8 100644
--- a/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
+++ b/src/server/scripts/EasternKingdoms/SunkenTemple/sunken_temple.h
@@ -23,6 +23,30 @@
#define STScriptName "instance_sunken_temple"
#define DataHeader "ST"
+enum STBossIds
+{
+ BOSS_AVATAR_OF_HAKKAR = 0,
+ BOSS_JAMMALAN_THE_PROPHET = 1,
+ BOSS_DREAMSCYTHE = 2,
+ BOSS_WEAVER = 3,
+ BOSS_MORPHAZ = 4,
+ BOSS_HAZZAS = 5,
+ BOSS_SHADE_OF_ERANIKUS = 6,
+
+ MAX_ENCOUNTER
+};
+
+enum STCreatureIds
+{
+ NPC_AVATAR_OF_HAKKAR = 8443,
+ NPC_JAMMALAN_THE_PROPHET = 5710,
+ NPC_DREAMSCYTHE = 5721,
+ NPC_WEAVER = 5720,
+ NPC_MORPHAZ = 5719,
+ NPC_HAZZAS = 5722,
+ NPC_SHADE_OF_ERANIKUS = 5709,
+};
+
enum STEvents
{
EVENT_STATE = 1