aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorariel- <ariel-@users.noreply.github.com>2018-01-02 03:35:02 -0300
committerfunjoker <funjoker109@gmail.com>2021-05-06 07:06:27 +0200
commit82fa6ede5941f75a587dd44efa2777849e565fa3 (patch)
treee658ce654bce15849e832e2e4dde474b6457a32d /src
parentf77bd1e7c9e9721dbf1a44acb157de262d93dd02 (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.h8
-rw-r--r--src/server/scripts/Outland/TempestKeep/arcatraz/instance_arcatraz.cpp16
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];