aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Northrend
diff options
context:
space:
mode:
authorMeji <alvaro.megias@outlook.com>2023-05-29 00:01:23 +0200
committerGitHub <noreply@github.com>2023-05-29 00:01:23 +0200
commit06d0b16f158e8793860d9edd11b990f20b1d0dac (patch)
tree0ecc06eb8e5b9ba20c615030be816ffc59705f52 /src/server/scripts/Northrend
parent526b16fea41fb69a302fdebe8a727e175949f04b (diff)
Core/Creatures: Move creature difficulty specific data from creature_template table to creature_template_difficulty (#28931)
Diffstat (limited to 'src/server/scripts/Northrend')
-rw-r--r--src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp6
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp33
2 files changed, 37 insertions, 2 deletions
diff --git a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
index 17c6645df02..12b9ac830dc 100644
--- a/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
+++ b/src/server/scripts/Northrend/Gundrak/boss_drakkari_colossus.cpp
@@ -45,8 +45,12 @@ enum Spells
SPELL_FREEZE_ANIM = 16245,
SPELL_MOJO_PUDDLE = 55627,
SPELL_MOJO_WAVE = 55626,
+ SPELL_MORTAL_STRIKES_NORMAL = 54715,
+ SPELL_MORTAL_STRIKES_HEROIC = 59454
};
+#define SPELL_MORTAL_STRIKES DUNGEON_MODE<uint32>(SPELL_MORTAL_STRIKES_NORMAL, SPELL_MORTAL_STRIKES_HEROIC)
+
enum ColossusEvents
{
EVENT_MIGHTY_BLOW = 1,
@@ -110,6 +114,8 @@ struct boss_drakkari_colossus : public BossAI
events.ScheduleEvent(EVENT_MIGHTY_BLOW, 10s, 30s);
Initialize();
+
+ DoCastSelf(SPELL_MORTAL_STRIKES, true);
}
void JustEngagedWith(Unit* who) override
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
index 68e8279c164..0d2cd019ef4 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_gothik.cpp
@@ -76,6 +76,7 @@ enum Spells
SPELL_TELEPORT_LIVE = 28026
};
+#define SPELL_UNHOLY_AURA RAID_MODE<uint32>(55606, 55608)
#define SPELL_DEATH_PLAGUE RAID_MODE<uint32>(55604, 55645)
#define SPELL_SHADOW_BOLT_VOLLEY RAID_MODE<uint32>(27831, 55638)
#define SPELL_ARCANE_EXPLOSION RAID_MODE<uint32>(27989, 56407)
@@ -663,7 +664,19 @@ struct npc_gothik_minion_livingrider : public npc_gothik_minion_baseAI
{
npc_gothik_minion_livingrider(Creature* creature) : npc_gothik_minion_baseAI(creature, SPELL_ANCHOR_1_RIDER), _boltVolleyTimer(urandms(5,10)) { }
- void _UpdateAI(uint32 diff)
+ void JustAppeared() override
+ {
+ npc_gothik_minion_baseAI::JustAppeared();
+ DoCastSelf(SPELL_UNHOLY_AURA, true);
+ }
+
+ void JustReachedHome() override
+ {
+ npc_gothik_minion_baseAI::JustReachedHome();
+ DoCastSelf(SPELL_UNHOLY_AURA, true);
+ }
+
+ void _UpdateAI(uint32 diff) override
{
if (diff < _boltVolleyTimer)
_boltVolleyTimer -= diff;
@@ -674,6 +687,8 @@ struct npc_gothik_minion_livingrider : public npc_gothik_minion_baseAI
}
if (!me->HasUnitState(UNIT_STATE_CASTING))
DoMeleeAttackIfReady();
+
+ npc_gothik_minion_baseAI::_UpdateAI(diff);
}
uint32 _boltVolleyTimer;
};
@@ -718,7 +733,19 @@ struct npc_gothik_minion_spectralrider : public npc_gothik_minion_baseAI
{
npc_gothik_minion_spectralrider(Creature* creature) : npc_gothik_minion_baseAI(creature), _frenzyTimer(urandms(2,5)), _drainTimer(urandms(8,12)) { }
- void _UpdateAI(uint32 diff)
+ void JustAppeared() override
+ {
+ npc_gothik_minion_baseAI::JustAppeared();
+ DoCastSelf(SPELL_UNHOLY_AURA, true);
+ }
+
+ void JustReachedHome() override
+ {
+ npc_gothik_minion_baseAI::JustReachedHome();
+ DoCastSelf(SPELL_UNHOLY_AURA, true);
+ }
+
+ void _UpdateAI(uint32 diff) override
{
if (diff < _frenzyTimer)
_frenzyTimer -= diff;
@@ -764,6 +791,8 @@ struct npc_gothik_minion_spectralrider : public npc_gothik_minion_baseAI
if (!me->HasUnitState(UNIT_STATE_CASTING))
DoMeleeAttackIfReady();
+
+ npc_gothik_minion_baseAI::_UpdateAI(diff);
}
uint32 _frenzyTimer, _drainTimer;
};