diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h | 8 | ||||
-rw-r--r-- | src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp | 15 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h index 2b767b94a6d..27b044a691f 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h @@ -49,7 +49,8 @@ enum AZCreatureIds NPC_DALLIAH = 20885, NPC_SOCCOTHRATES = 20886, NPC_MELLICHAR = 20904, // skyriss will kill this unit - NPC_ALPHA_POD_TARGET = 21436 + NPC_ALPHA_POD_TARGET = 21436, + NPC_MILLHOUSE = 20977 }; enum AZGameObjectIds @@ -64,6 +65,11 @@ enum AZGameObjectIds GO_WARDENS_SHIELD = 184802 // shield 'protecting' mellichar }; +enum AZSpellIds +{ + SPELL_QID_10886 = 39564 +}; + template <class AI, class T> inline AI* GetArcatrazAI(T* obj) { diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp index 3fc9a874722..9fb985f45a1 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp @@ -49,6 +49,8 @@ class instance_arcatraz : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { + InstanceScript::OnCreatureCreate(creature); + switch (creature->GetEntry()) { case NPC_DALLIAH: @@ -60,6 +62,9 @@ class instance_arcatraz : public InstanceMapScript case NPC_MELLICHAR: MellicharGUID = creature->GetGUID(); break; + case NPC_MILLHOUSE: + MillhouseGUID = creature->GetGUID(); + break; default: break; } @@ -167,6 +172,15 @@ class instance_arcatraz : public InstanceMapScript SetData(DATA_WARDEN_4, NOT_STARTED); SetData(DATA_WARDEN_5, NOT_STARTED); } + else if (state == DONE) + { + if (!instance->IsHeroic()) + break; + + if (Creature* millhouse = instance->GetCreature(MillhouseGUID)) + if (millhouse->IsAlive()) + DoCastSpellOnPlayers(SPELL_QID_10886); + } break; default: break; @@ -180,6 +194,7 @@ class instance_arcatraz : public InstanceMapScript ObjectGuid StasisPodGUIDs[5]; ObjectGuid MellicharGUID; ObjectGuid WardensShieldGUID; + ObjectGuid MillhouseGUID; uint8 ConversationState; uint8 StasisPodStates[5]; |