diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-01-02 03:35:02 -0300 |
---|---|---|
committer | funjoker <funjoker109@gmail.com> | 2021-05-06 07:06:27 +0200 |
commit | 82fa6ede5941f75a587dd44efa2777849e565fa3 (patch) | |
tree | e658ce654bce15849e832e2e4dde474b6457a32d /src | |
parent | f77bd1e7c9e9721dbf1a44acb157de262d93dd02 (diff) |
Core/Scripts: cast "Trial of the Naaru: Tenacity" credit spell when criteria is achieved
Closes #21155
(cherry picked from commit 036a05458eb90f137326885651dec05b303116f9)
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 | 16 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h b/src/server/scripts/Outland/TempestKeep/arcatraz/arcatraz.h index efccf5a958d..0c5c9d07d2f 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 c37580351b6..5f1321fb762 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp @@ -20,6 +20,7 @@ #include "Creature.h" #include "GameObject.h" #include "InstanceScript.h" +#include "Map.h" DoorData const doorData[] = { @@ -48,6 +49,8 @@ class instance_arcatraz : public InstanceMapScript void OnCreatureCreate(Creature* creature) override { + InstanceScript::OnCreatureCreate(creature); + switch (creature->GetEntry()) { case NPC_DALLIAH: @@ -59,6 +62,9 @@ class instance_arcatraz : public InstanceMapScript case NPC_MELLICHAR: MellicharGUID = creature->GetGUID(); break; + case NPC_MILLHOUSE: + MillhouseGUID = creature->GetGUID(); + break; default: break; } @@ -166,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; @@ -179,6 +194,7 @@ class instance_arcatraz : public InstanceMapScript ObjectGuid StasisPodGUIDs[5]; ObjectGuid MellicharGUID; ObjectGuid WardensShieldGUID; + ObjectGuid MillhouseGUID; uint8 ConversationState; uint8 StasisPodStates[5]; |