aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp1
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp2
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp37
-rw-r--r--src/server/scripts/Northrend/Nexus/Oculus/oculus.h3
4 files changed, 41 insertions, 2 deletions
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
index 16c258af756..e63d50b0133 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_urom.cpp
@@ -289,6 +289,7 @@ public:
void JustDied(Unit* /*killer*/)
{
_JustDied();
+ DoCast(me, SPELL_DEATH_SPELL, true); // we cast the spell as triggered or the summon effect does not occur
}
void LeaveCombat()
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
index f3384b7ec15..4dcd2618895 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/boss_varos.cpp
@@ -144,8 +144,8 @@ public:
void JustDied(Unit* /*killer*/)
{
_JustDied();
-
Talk(SAY_DEATH);
+ DoCast(me, SPELL_DEATH_SPELL, true); // we cast the spell as triggered or the summon effect does not occur
}
private:
bool firstCoreEnergize;
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
index f8839aa0028..b9799103214 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
+++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.cpp
@@ -50,6 +50,12 @@ enum Drakes
NPC_ETERNOS = 27659
};
+enum Says
+{
+ SAY_VAROS = 0,
+ SAY_UROM = 1
+};
+
class npc_oculus_drake : public CreatureScript
{
public:
@@ -174,7 +180,38 @@ public:
};
+class npc_image_belgaristrasz : public CreatureScript
+{
+public:
+ npc_image_belgaristrasz() : CreatureScript("npc_image_belgaristrasz") { }
+
+ struct npc_image_belgaristraszAI : public ScriptedAI
+ {
+ npc_image_belgaristraszAI(Creature* creature) : ScriptedAI(creature) {}
+
+ void IsSummonedBy(Unit* summoner)
+ {
+ if (summoner->GetEntry() == NPC_VAROS)
+ {
+ Talk(SAY_VAROS);
+ me->DespawnOrUnsummon(60000);
+ }
+ if (summoner->GetEntry() == NPC_UROM)
+ {
+ Talk(SAY_UROM);
+ me->DespawnOrUnsummon(60000);
+ }
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const
+ {
+ return new npc_image_belgaristraszAI(creature);
+ }
+};
+
void AddSC_oculus()
{
new npc_oculus_drake();
+ new npc_image_belgaristrasz();
}
diff --git a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
index e04f2c8aab9..dab2821b5e5 100644
--- a/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
+++ b/src/server/scripts/Northrend/Nexus/Oculus/oculus.h
@@ -71,6 +71,7 @@ enum OculusWorldStates
enum OculusSpells
{
- SPELL_CENTRIFUGE_SHIELD = 50053
+ SPELL_CENTRIFUGE_SHIELD = 50053,
+ SPELL_DEATH_SPELL = 50415
};
#endif