aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2025-05-27 12:54:22 +0300
committerGitHub <noreply@github.com>2025-05-27 11:54:22 +0200
commit4a902645612664bc78abb36ead7834f626be22e2 (patch)
treea4c00d0f1cd0b1c8dc31e9bded4ccdcb3997c12c /src
parentc4796773a9faae18be0eff1ad23e17b8b82362fc (diff)
Scripts/Icecrown Citadel: Modernize scripts (#31000)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp49
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp13
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp19
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp39
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp107
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp15
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp17
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp10
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp18
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp126
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp28
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp20
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp19
14 files changed, 299 insertions, 191 deletions
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
index 2dcf6181879..c75a4f5ba0a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp
@@ -30,7 +30,7 @@
#include "SpellScript.h"
#include "TemporarySummon.h"
-enum Texts
+enum BloodCouncilTexts
{
// Blood Queen Lana'Thel
SAY_INTRO_1 = 0,
@@ -63,7 +63,7 @@ enum Texts
SAY_VALANAR_DEATH = 6
};
-enum Spells
+enum BloodCouncilSpells
{
SPELL_FEIGN_DEATH = 71598,
SPELL_OOC_INVOCATION_VISUAL = 70934,
@@ -125,7 +125,7 @@ enum Spells
SPELL_INVOCATION_VISUAL_KELESETH = 71080
};
-enum Events
+enum BloodCouncilEvents
{
EVENT_INTRO_1 = 1,
EVENT_INTRO_2,
@@ -148,7 +148,7 @@ enum Events
EVENT_CONTINUE_FALLING
};
-enum Actions
+enum BloodCouncilActions
{
ACTION_START_INTRO = 1,
ACTION_INTRO_DONE,
@@ -159,13 +159,13 @@ enum Actions
ACTION_FLAME_BALL_CHASE
};
-enum Points
+enum BloodCouncilPoints
{
POINT_INTRO_DESPAWN = 380040,
POINT_KINETIC_BOMB_IMPACT = 384540
};
-enum Misc
+enum BloodCouncilMisc
{
DISPLAY_KINETIC_BOMB = 31095,
SUMMON_PRINCES_GROUP = 1,
@@ -216,6 +216,7 @@ uint32 const PrincesData[] =
DATA_PRINCE_VALANAR
};
+// 38008 - Blood Orb Controller
struct boss_blood_council_controller : public BossAI
{
boss_blood_council_controller(Creature* creature) : BossAI(creature, DATA_BLOOD_PRINCE_COUNCIL)
@@ -286,7 +287,7 @@ struct boss_blood_council_controller : public BossAI
DoZoneInCombat(prince);
}
- events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, Seconds(46) + Milliseconds(500));
+ events.ScheduleEvent(EVENT_INVOCATION_OF_BLOOD, 46s + 500ms);
_invocationOrder[0] = InvocationData(instance->GetGuidData(DATA_PRINCE_VALANAR), SPELL_INVOCATION_OF_BLOOD_VALANAR, EMOTE_VALANAR_INVOCATION, SPELL_INVOCATION_VISUAL_VALANAR);
if (roll_chance_i(50))
@@ -391,7 +392,7 @@ struct boss_blood_council_controller : public BossAI
}
DoCastSelf(_invocationOrder[_invocationStage].spellId);
- events.Repeat(Seconds(46) + Milliseconds(500));
+ events.Repeat(46s + 500ms);
break;
}
default:
@@ -611,6 +612,7 @@ protected:
bool _isEmpowered;
};
+// 37972 - Prince Keleseth
struct boss_prince_keleseth_icc : public BloodPrincesBossAI
{
boss_prince_keleseth_icc(Creature* creature) : BloodPrincesBossAI(creature, DATA_PRINCE_KELESETH) { }
@@ -660,11 +662,11 @@ struct boss_prince_keleseth_icc : public BloodPrincesBossAI
case EVENT_SHADOW_RESONANCE:
Talk(SAY_KELESETH_SPECIAL);
DoCastSelf(SPELL_SHADOW_RESONANCE);
- events.Repeat(Seconds(10), Seconds(15));
+ events.Repeat(10s, 15s);
break;
case EVENT_SHADOW_LANCE:
_isEmpowered ? DoCastVictim(SPELL_EMPOWERED_SHADOW_LANCE) : DoCastVictim(SPELL_SHADOW_LANCE);
- events.Repeat(Seconds(2));
+ events.Repeat(2s);
break;
default:
break;
@@ -678,6 +680,7 @@ struct boss_prince_keleseth_icc : public BloodPrincesBossAI
}
};
+// 37973 - Prince Taldaram
struct boss_prince_taldaram_icc : public BloodPrincesBossAI
{
boss_prince_taldaram_icc(Creature* creature) : BloodPrincesBossAI(creature, DATA_PRINCE_TALDARAM) { }
@@ -725,18 +728,18 @@ struct boss_prince_taldaram_icc : public BloodPrincesBossAI
break;
case EVENT_GLITTERING_SPARKS:
DoCastVictim(SPELL_GLITTERING_SPARKS);
- events.Repeat(Seconds(15), Seconds(50));
+ events.Repeat(15s, 50s);
break;
case EVENT_CONJURE_FLAME:
if (_isEmpowered)
{
DoCastSelf(SPELL_CONJURE_EMPOWERED_FLAME);
- events.Repeat(Seconds(15), Seconds(25));
+ events.Repeat(15s, 25s);
}
else
{
DoCastSelf(SPELL_CONJURE_FLAME);
- events.Repeat(Seconds(20), Seconds(30));
+ events.Repeat(20s, 30s);
}
Talk(SAY_TALDARAM_SPECIAL);
break;
@@ -752,6 +755,7 @@ struct boss_prince_taldaram_icc : public BloodPrincesBossAI
}
};
+// 37970 - Prince Valanar
struct boss_prince_valanar_icc : public BloodPrincesBossAI
{
boss_prince_valanar_icc(Creature* creature) : BloodPrincesBossAI(creature, DATA_PRINCE_VALANAR) { }
@@ -819,20 +823,20 @@ struct boss_prince_valanar_icc : public BloodPrincesBossAI
DoCast(target, SPELL_KINETIC_BOMB_TARGET);
Talk(SAY_VALANAR_SPECIAL);
}
- events.Repeat(Seconds(18), Seconds(24));
+ events.Repeat(18s, 24s);
break;
case EVENT_SHOCK_VORTEX:
if (_isEmpowered)
{
DoCastSelf(SPELL_EMPOWERED_SHOCK_VORTEX);
Talk(EMOTE_VALANAR_SHOCK_VORTEX);
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
}
else
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 0.0f, true))
DoCast(target, SPELL_SHOCK_VORTEX);
- events.Repeat(Seconds(18), Seconds(23));
+ events.Repeat(18s, 23s);
}
break;
default:
@@ -847,6 +851,7 @@ struct boss_prince_valanar_icc : public BloodPrincesBossAI
}
};
+// 38004 - Blood-Queen Lana'thel
struct npc_blood_queen_lana_thel : public PassiveAI
{
npc_blood_queen_lana_thel(Creature* creature) : PassiveAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -865,7 +870,7 @@ struct npc_blood_queen_lana_thel : public PassiveAI
case ACTION_START_INTRO:
Talk(SAY_INTRO_1);
_events.SetPhase(1);
- _events.ScheduleEvent(EVENT_INTRO_1, Seconds(14));
+ _events.ScheduleEvent(EVENT_INTRO_1, 14s);
// summon a visual trigger
if (Creature* summon = DoSummon(NPC_FLOATING_TRIGGER, triggerPos, 15s, TEMPSUMMON_TIMED_DESPAWN))
{
@@ -908,6 +913,8 @@ private:
InstanceScript* _instance;
};
+// 38332 - Ball of Flame
+// 38451 - Ball of Inferno Flame
struct npc_ball_of_flame : public ScriptedAI
{
npc_ball_of_flame(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -929,7 +936,7 @@ struct npc_ball_of_flame : public ScriptedAI
{
me->RemoveAurasDueToSpell(SPELL_BALL_OF_FLAMES_PERIODIC);
DoCastSelf(SPELL_FLAMES);
- _scheduler.Schedule(Seconds(2), [this](TaskContext /*context*/)
+ _scheduler.Schedule(2s, [this](TaskContext /*context*/)
{
DoCastSelf(SPELL_FLAME_SPHERE_DEATH_EFFECT);
});
@@ -974,6 +981,7 @@ private:
TaskScheduler _scheduler;
};
+// 38454 - Kinetic Bomb
struct npc_kinetic_bomb : public ScriptedAI
{
npc_kinetic_bomb(Creature* creature) : ScriptedAI(creature), _x(0.f), _y(0.f), _groundZ(0.f) { }
@@ -1002,7 +1010,7 @@ struct npc_kinetic_bomb : public ScriptedAI
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MoveCharge(_x, _y, me->GetPositionZ() + 100.0f, me->GetSpeed(MOVE_RUN), POINT_KINETIC_BOMB_IMPACT);
}
- _events.RescheduleEvent(EVENT_CONTINUE_FALLING, Seconds(3));
+ _events.RescheduleEvent(EVENT_CONTINUE_FALLING, 3s);
}
}
@@ -1035,6 +1043,7 @@ private:
float _groundZ;
};
+// 38369 - Dark Nucleus
struct npc_dark_nucleus : public ScriptedAI
{
npc_dark_nucleus(Creature* creature) : ScriptedAI(creature) { }
@@ -1047,7 +1056,7 @@ struct npc_dark_nucleus : public ScriptedAI
void JustEngagedWith(Unit* who) override
{
- _scheduler.Schedule(Seconds(1), [this](TaskContext targetAuraCheck)
+ _scheduler.Schedule(1s, [this](TaskContext targetAuraCheck)
{
if (Unit* victim = me->GetVictim())
{
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
index eda41e694f0..b1cba9ac525 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_queen_lana_thel.cpp
@@ -29,7 +29,7 @@
#include "SpellMgr.h"
#include "SpellScript.h"
-enum Texts
+enum LanathelTexts
{
SAY_AGGRO = 0,
SAY_VAMPIRIC_BITE = 1,
@@ -46,7 +46,7 @@ enum Texts
EMOTE_BERSERK_RAID = 12
};
-enum Spells
+enum LanathelSpells
{
SPELL_SHROUD_OF_SORROW = 70986,
SPELL_FRENZIED_BLOODTHIRST_VISUAL = 71949,
@@ -77,7 +77,7 @@ enum Spells
SPELL_BLOOD_INFUSION_CREDIT = 72934
};
-enum Shadowmourne
+enum LanathelMisc
{
QUEST_BLOOD_INFUSION = 24756,
@@ -98,7 +98,7 @@ uint32 const vampireAuras[3][MAX_DIFFICULTY] =
#define DELIRIOUS_SLASH RAID_MODE<uint32>(71623, 71624, 71625, 71626)
#define PRESENCE_OF_THE_DARKFALLEN RAID_MODE<uint32>(70994, 71962, 71963, 71964)
-enum Events
+enum LanathelEvents
{
EVENT_BERSERK = 1,
EVENT_VAMPIRIC_BITE = 2,
@@ -115,13 +115,13 @@ enum Events
EVENT_GROUP_CANCELLABLE = 2,
};
-enum Guids
+enum LanathelGuids
{
GUID_VAMPIRE = 1,
GUID_BLOODBOLT = 2,
};
-enum Points
+enum LanathelPoints
{
POINT_CENTER = 1,
POINT_AIR = 2,
@@ -141,6 +141,7 @@ bool IsVampire(Unit const* unit)
return false;
}
+// 37955 - Blood-Queen Lana'thel
struct boss_blood_queen_lana_thel : public BossAI
{
boss_blood_queen_lana_thel(Creature* creature) : BossAI(creature, DATA_BLOOD_QUEEN_LANA_THEL)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
index 6b26046ca7d..03764e69c18 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_deathbringer_saurfang.cpp
@@ -27,7 +27,7 @@
#include "SpellAuras.h"
#include "SpellScript.h"
-enum ScriptTexts
+enum SaurfangTexts
{
// Deathbringer Saurfang
SAY_INTRO_ALLIANCE_2 = 0,
@@ -89,7 +89,7 @@ enum ScriptTexts
SAY_OUTRO_ALLIANCE_20 = 3,
};
-enum Spells
+enum SaurfangSpells
{
// Deathbringer Saurfang
SPELL_ZERO_POWER = 72242,
@@ -124,7 +124,7 @@ enum Spells
// Helper to get id of the aura on different modes (HasAura(baseId) wont work)
#define BOILING_BLOOD_HELPER RAID_MODE<int32>(72385, 72441, 72442, 72443)
-enum EventTypes
+enum SaurfangEvents
{
EVENT_INTRO_ALLIANCE_1 = 1,
EVENT_INTRO_ALLIANCE_2 = 2,
@@ -185,14 +185,14 @@ enum EventTypes
EVENT_OUTRO_HORDE_8 = 51,
};
-enum Phases
+enum SaurfangPhases
{
PHASE_INTRO_A = 1,
PHASE_INTRO_H = 2,
PHASE_COMBAT = 3
};
-enum Actions
+enum SaurfangActions
{
ACTION_START_EVENT = -3781300,
ACTION_CONTINUE_INTRO = -3781301,
@@ -203,7 +203,7 @@ enum Actions
ACTION_MARK_OF_THE_FALLEN_CHAMPION = -72293,
};
-enum Misc
+enum SaurfangMisc
{
DATA_MADE_A_MESS = 45374613, // 4537, 4613 are achievement IDs
@@ -213,7 +213,7 @@ enum Misc
SPAWN_GROUP_ENTRANCE_THE_DAMNED_EVENT = 275,
};
-enum MovePoints
+enum SaurfangPoints
{
POINT_SAURFANG = 3781300,
POINT_FIRST_STEP = 3781301,
@@ -249,6 +249,7 @@ Position const chokePos[6] =
Position const finalPos = {-563.7552f, 2211.328f, 538.7848f, 0.0f};
+// 37813 - Deathbringer Saurfang
struct boss_deathbringer_saurfang : public BossAI
{
boss_deathbringer_saurfang(Creature* creature) : BossAI(creature, DATA_DEATHBRINGER_SAURFANG), _introDone(false), _frenzied(false), _dead(false)
@@ -616,6 +617,7 @@ private:
uint32 const boss_deathbringer_saurfang::FightWonValue = 100000;
+// 37187 - High Overlord Saurfang
struct npc_high_overlord_saurfang_icc : public ScriptedAI
{
npc_high_overlord_saurfang_icc(Creature* creature) : ScriptedAI(creature)
@@ -814,6 +816,7 @@ private:
InstanceScript* _instance;
};
+// 37200 - Muradin Bronzebeard
struct npc_muradin_bronzebeard_icc : public ScriptedAI
{
npc_muradin_bronzebeard_icc(Creature* creature) : ScriptedAI(creature)
@@ -949,6 +952,8 @@ private:
InstanceScript* _instance;
};
+// 37830 - Skybreaker Marine
+// 37920 - Kor'kron Reaver
struct npc_saurfang_event : public ScriptedAI
{
npc_saurfang_event(Creature* creature) : ScriptedAI(creature)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
index 1392186e23f..8107a1eca80 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp
@@ -27,7 +27,7 @@
#include "SpellMgr.h"
#include "SpellScript.h"
-enum ScriptTexts
+enum FestergutTexts
{
SAY_STINKY_DEAD = 0,
SAY_AGGRO = 1,
@@ -41,7 +41,7 @@ enum ScriptTexts
SAY_DEATH = 9,
};
-enum Spells
+enum FestergutSpells
{
// Festergut
SPELL_INHALE_BLIGHT = 69165,
@@ -65,7 +65,7 @@ enum Spells
uint32 const gaseousBlight[3] = {69157, 69162, 69164};
uint32 const gaseousBlightVisual[3] = {69126, 69152, 69154};
-enum Events
+enum FestergutEvents
{
EVENT_BERSERK = 1,
EVENT_INHALE_BLIGHT = 2,
@@ -77,11 +77,12 @@ enum Events
EVENT_MORTAL_WOUND = 7,
};
-enum Misc
+enum FestergutMisc
{
DATA_INOCULATED_STACK = 69291
};
+// 36626 - Festergut
struct boss_festergut : public BossAI
{
boss_festergut(Creature* creature) : BossAI(creature, DATA_FESTERGUT)
@@ -289,6 +290,7 @@ private:
uint32 _inhaleCounter;
};
+// 37025 - Stinky
struct npc_stinky_icc : public ScriptedAI
{
npc_stinky_icc(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
index 24ce5a81eb9..8baa374226e 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_icecrown_gunship_battle.cpp
@@ -38,7 +38,7 @@
#include "Vehicle.h"
#include <G3D/Vector3.h>
-enum Texts
+enum GunshipTexts
{
// High Overlord Saurfang
SAY_SAURFANG_INTRO_1 = 0,
@@ -79,7 +79,7 @@ enum Texts
SAY_OVERHEAT = 0
};
-enum Events
+enum GunshipEvents
{
// High Overlord Saurfang
EVENT_INTRO_H_1 = 1,
@@ -112,7 +112,7 @@ enum Events
EVENT_WOUNDING_STRIKE = 17
};
-enum Spells
+enum GunshipSpells
{
// Applied on friendly transport NPCs
SPELL_FRIENDLY_BOSS_DAMAGE_MOD = 70339,
@@ -193,7 +193,7 @@ enum Spells
SPELL_EJECT_ALL_PASSENGERS_WIPE = 50630
};
-enum MiscData
+enum GunshipMisc
{
ITEM_GOBLIN_ROCKET_PACK = 49278,
SPELL_CREATE_ROCKET_PACK = 70055,
@@ -204,7 +204,7 @@ enum MiscData
MUSIC_ENCOUNTER = 17289
};
-enum EncounterActions
+enum GunshipActions
{
ACTION_SPAWN_MAGE = 1,
ACTION_SPAWN_ALL_ADDS = 2,
@@ -257,7 +257,7 @@ G3D::Vector3 const SaurfangExitPath[SaurfangExitPathSize] =
{ 15.33203f, -30.42621f, 35.93796f }
};
-enum PassengerSlots
+enum GunshipPassengerSlots
{
// Freezing the cannons
SLOT_FREEZE_MAGE = 0,
@@ -399,7 +399,7 @@ public:
_slotInfo = team == HORDE ? OrgrimsHammerSlotInfo : SkybreakerSlotInfo;
}
- bool SummonCreatures(PassengerSlots first, PassengerSlots last)
+ bool SummonCreatures(GunshipPassengerSlots first, GunshipPassengerSlots last)
{
if (!_transport)
return false;
@@ -430,13 +430,13 @@ public:
return summoned;
}
- void ClearSlot(PassengerSlots slot)
+ void ClearSlot(GunshipPassengerSlots slot)
{
_controlledSlots[slot].Clear();
_respawnCooldowns[slot] = GameTime::GetGameTime() + _slotInfo[slot].Cooldown;
}
- bool SlotsNeedRefill(PassengerSlots first, PassengerSlots last) const
+ bool SlotsNeedRefill(GunshipPassengerSlots first, GunshipPassengerSlots last) const
{
for (int32 i = first; i <= last; ++i)
if (!_controlledSlots[i])
@@ -666,6 +666,8 @@ protected:
uint32 BurningPitchId;
};
+// 37215 - Orgrim's Hammer
+// 37540 - The Skybreaker
class npc_gunship : public CreatureScript
{
public:
@@ -845,6 +847,7 @@ class npc_gunship : public CreatureScript
}
};
+// 36939 - High Overlord Saurfang
struct npc_high_overlord_saurfang_igb : public ScriptedAI
{
npc_high_overlord_saurfang_igb(Creature* creature) : ScriptedAI(creature),
@@ -954,7 +957,7 @@ struct npc_high_overlord_saurfang_igb : public ScriptedAI
{
if (type == ACTION_CLEAR_SLOT)
{
- _controller.ClearSlot(PassengerSlots(data));
+ _controller.ClearSlot(GunshipPassengerSlots(data));
if (data == SLOT_FREEZE_MAGE)
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 30s, 33500ms);
}
@@ -1100,6 +1103,7 @@ private:
time_t _rocketeersYellCooldown;
};
+// 36948 - Muradin Bronzebeard
struct npc_muradin_bronzebeard_igb : public ScriptedAI
{
npc_muradin_bronzebeard_igb(Creature* creature) : ScriptedAI(creature),
@@ -1209,7 +1213,7 @@ struct npc_muradin_bronzebeard_igb : public ScriptedAI
{
if (type == ACTION_CLEAR_SLOT)
{
- _controller.ClearSlot(PassengerSlots(data));
+ _controller.ClearSlot(GunshipPassengerSlots(data));
if (data == SLOT_FREEZE_MAGE)
_events.ScheduleEvent(EVENT_SUMMON_MAGE, 30s, 33500ms);
}
@@ -1359,6 +1363,7 @@ private:
time_t _mortarYellCooldown;
};
+// 37184 - Zafod Boombox
struct npc_zafod_boombox : public gunship_npc_AI
{
npc_zafod_boombox(Creature* creature) : gunship_npc_AI(creature) { }
@@ -1518,6 +1523,8 @@ private:
bool _usedDesperateResolve;
};
+// 36960 - Kor'kron Sergeant
+// 36961 - Skybreaker Sergeant
struct npc_gunship_boarding_leader : public npc_gunship_boarding_addAI
{
npc_gunship_boarding_leader(Creature* creature) : npc_gunship_boarding_addAI(creature) { }
@@ -1569,6 +1576,8 @@ private:
EventMap _events;
};
+// 36950 - Skybreaker Marine
+// 36957 - Kor'kron Reaver
class npc_gunship_boarding_add : public CreatureScript
{
public:
@@ -1580,6 +1589,8 @@ class npc_gunship_boarding_add : public CreatureScript
}
};
+// 36968 - Kor'kron Axethrower
+// 36969 - Skybreaker Rifleman
struct npc_gunship_gunner : public gunship_npc_AI
{
npc_gunship_gunner(Creature* creature) : gunship_npc_AI(creature)
@@ -1611,6 +1622,8 @@ struct npc_gunship_gunner : public gunship_npc_AI
}
};
+// 36978 - Skybreaker Mortar Soldier
+// 36982 - Kor'kron Rocketeer
struct npc_gunship_rocketeer : public gunship_npc_AI
{
npc_gunship_rocketeer(Creature* creature) : gunship_npc_AI(creature)
@@ -1642,6 +1655,8 @@ struct npc_gunship_rocketeer : public gunship_npc_AI
}
};
+// 37116 - Skybreaker Sorcerer
+// 37117 - Kor'kron Battle-Mage
struct npc_gunship_mage : public gunship_npc_AI
{
npc_gunship_mage(Creature* creature) : gunship_npc_AI(creature)
@@ -1708,6 +1723,8 @@ Transport Seat: 255
Fall Time: 824
*/
+// 36838 - Alliance Gunship Cannon
+// 36839 - Horde Gunship Cannon
struct npc_gunship_cannon : public PassiveAI
{
npc_gunship_cannon(Creature* creature) : PassiveAI(creature) { }
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
index cbbcbb0446d..47e8c9d292f 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lady_deathwhisper.cpp
@@ -30,7 +30,7 @@
#include "SpellScript.h"
#include "TemporarySummon.h"
-enum ScriptTexts
+enum DeathwhisperTexts
{
// Lady Deathwhisper
SAY_INTRO_1 = 0,
@@ -56,7 +56,7 @@ enum ScriptTexts
SAY_DARNAVAN_RESCUED = 1,
};
-enum Spells
+enum DeathwhisperSpells
{
// Lady Deathwhisper
SPELL_MANA_BARRIER = 70842,
@@ -124,7 +124,7 @@ enum Spells
SPELL_SUNDER_ARMOR = 65936,
};
-enum EventTypes
+enum DeathwhisperEvents
{
// Darnavan
EVENT_DARNAVAN_BLADESTORM = 27,
@@ -135,7 +135,7 @@ enum EventTypes
EVENT_DARNAVAN_SUNDER_ARMOR = 32,
};
-enum Phases
+enum DeathwhisperPhases
{
PHASE_ALL = 0,
PHASE_INTRO = 1,
@@ -143,14 +143,14 @@ enum Phases
PHASE_TWO = 3
};
-enum Groups
+enum DeathwhisperGroups
{
GROUP_INTRO = 0,
GROUP_ONE = 1,
GROUP_TWO = 2
};
-enum DeprogrammingData
+enum DeathwhisperMisc
{
NPC_DARNAVAN_10 = 38472,
NPC_DARNAVAN_25 = 38485,
@@ -161,7 +161,7 @@ enum DeprogrammingData
POINT_DESPAWN = 384721,
};
-enum Actions
+enum DeathwhisperActions
{
ACTION_START_INTRO
};
@@ -198,6 +198,7 @@ class DaranavanMoveEvent : public BasicEvent
Creature& _darnavan;
};
+// 36855 - Lady Deathwhisper
struct boss_lady_deathwhisper : public BossAI
{
boss_lady_deathwhisper(Creature* creature) : BossAI(creature, DATA_LADY_DEATHWHISPER),
@@ -237,29 +238,29 @@ struct boss_lady_deathwhisper : public BossAI
Talk(SAY_INTRO_1);
_phase = PHASE_INTRO;
- scheduler.Schedule(Seconds(10), GROUP_INTRO, [this](TaskContext context)
+ scheduler.Schedule(10s, GROUP_INTRO, [this](TaskContext context)
{
switch (context.GetRepeatCounter())
{
case 0:
Talk(SAY_INTRO_2);
- context.Repeat(Seconds(21));
+ context.Repeat(21s);
break;
case 1:
Talk(SAY_INTRO_3);
- context.Repeat(Seconds(11));
+ context.Repeat(11s);
break;
case 2:
Talk(SAY_INTRO_4);
- context.Repeat(Seconds(9));
+ context.Repeat(9s);
break;
case 3:
Talk(SAY_INTRO_5);
- context.Repeat(Seconds(21));
+ context.Repeat(21s);
break;
case 4:
Talk(SAY_INTRO_6);
- context.Repeat(Seconds(10));
+ context.Repeat(10s);
break;
case 5:
Talk(SAY_INTRO_7);
@@ -295,44 +296,44 @@ struct boss_lady_deathwhisper : public BossAI
scheduler.CancelGroup(GROUP_INTRO);
// phase-independent events
scheduler
- .Schedule(Minutes(10), [this](TaskContext /*context*/)
+ .Schedule(10min, [this](TaskContext /*context*/)
{
DoCastSelf(SPELL_BERSERK);
Talk(SAY_BERSERK);
})
- .Schedule(Seconds(17), [this](TaskContext death_and_decay)
+ .Schedule(17s, [this](TaskContext death_and_decay)
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_DEATH_AND_DECAY);
- death_and_decay.Repeat(Seconds(22), Seconds(30));
+ death_and_decay.Repeat(22s, 30s);
});
if (GetDifficulty() != RAID_DIFFICULTY_10MAN_NORMAL)
- scheduler.Schedule(Seconds(27), [this](TaskContext dominate_mind)
+ scheduler.Schedule(27s, [this](TaskContext dominate_mind)
{
Talk(SAY_DOMINATE_MIND);
std::list<Unit*> targets;
SelectTargetList(targets, _dominateMindCount, SelectTargetMethod::Random, 0, 0.0f, true, false, -SPELL_DOMINATE_MIND);
for (Unit* target : targets)
DoCast(target, SPELL_DOMINATE_MIND);
- dominate_mind.Repeat(Seconds(40), Seconds(45));
+ dominate_mind.Repeat(40s, 45s);
});
// phase one only
scheduler
- .Schedule(Seconds(5), GROUP_ONE, [this](TaskContext wave)
+ .Schedule(5s, GROUP_ONE, [this](TaskContext wave)
{
SummonWaveP1();
- wave.Repeat(Seconds(IsHeroic() ? 45 : 60));
+ wave.Repeat(IsHeroic() ? 45s : 60s);
})
- .Schedule(Seconds(2), GROUP_ONE, [this](TaskContext shadow_bolt)
+ .Schedule(2s, GROUP_ONE, [this](TaskContext shadow_bolt)
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random))
DoCast(target, SPELL_SHADOW_BOLT);
- shadow_bolt.Repeat(Milliseconds(2450), Milliseconds(3600));
+ shadow_bolt.Repeat(2450ms, 3600ms);
})
- .Schedule(Seconds(15), GROUP_ONE, [this](TaskContext context)
+ .Schedule(15s, GROUP_ONE, [this](TaskContext context)
{
DoImproveCultist();
- context.Repeat(Seconds(25));
+ context.Repeat(25s);
});
Talk(SAY_AGGRO);
@@ -420,23 +421,23 @@ struct boss_lady_deathwhisper : public BossAI
scheduler.CancelGroup(GROUP_ONE);
scheduler
- .Schedule(Seconds(12), GROUP_TWO, [this](TaskContext frostbolt)
+ .Schedule(12s, GROUP_TWO, [this](TaskContext frostbolt)
{
DoCastVictim(SPELL_FROSTBOLT);
frostbolt.Repeat();
})
- .Schedule(Seconds(20), GROUP_TWO, [this](TaskContext frostboldVolley)
+ .Schedule(20s, GROUP_TWO, [this](TaskContext frostboldVolley)
{
DoCastAOE(SPELL_FROSTBOLT_VOLLEY);
frostboldVolley.Repeat();
})
- .Schedule(Seconds(6), Seconds(9), GROUP_TWO, [this](TaskContext touch)
+ .Schedule(6s, 9s, GROUP_TWO, [this](TaskContext touch)
{
if (me->GetVictim())
me->AddAura(SPELL_TOUCH_OF_INSIGNIFICANCE, me->EnsureVictim());
touch.Repeat();
})
- .Schedule(Seconds(12), GROUP_TWO, [this](TaskContext summonShade)
+ .Schedule(12s, GROUP_TWO, [this](TaskContext summonShade)
{
CastSpellExtraArgs args;
args.AddSpellMod(SPELLVALUE_MAX_TARGETS, Is25ManRaid() ? 2 : 1);
@@ -449,10 +450,10 @@ struct boss_lady_deathwhisper : public BossAI
{
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
- scheduler.Schedule(Seconds(), GROUP_TWO, [this](TaskContext context)
+ scheduler.Schedule(0s, GROUP_TWO, [this](TaskContext context)
{
SummonWaveP2();
- context.Repeat(Seconds(45));
+ context.Repeat(45s);
});
}
}
@@ -587,6 +588,9 @@ private:
uint8 _phase;
};
+/* 37890 - Cult Fanatic
+ 38009 - Reanimated Fanatic
+ 38135 - Deformed Fanatic */
struct npc_cult_fanatic : public ScriptedAI
{
npc_cult_fanatic(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -599,20 +603,20 @@ struct npc_cult_fanatic : public ScriptedAI
{
return !me->HasUnitState(UNIT_STATE_CASTING);
})
- .Schedule(Seconds(17), [this](TaskContext vampiric_might)
+ .Schedule(17s, [this](TaskContext vampiric_might)
{
DoCastSelf(SPELL_VAMPIRIC_MIGHT);
- vampiric_might.Repeat(Seconds(25));
+ vampiric_might.Repeat(25s);
})
- .Schedule(Seconds(12), [this](TaskContext shadow_cleave)
+ .Schedule(12s, [this](TaskContext shadow_cleave)
{
DoCastVictim(SPELL_SHADOW_CLEAVE);
- shadow_cleave.Repeat(Seconds(14));
+ shadow_cleave.Repeat(14s);
})
- .Schedule(Seconds(10), [this](TaskContext necrotic_strike)
+ .Schedule(10s, [this](TaskContext necrotic_strike)
{
DoCastVictim(SPELL_NECROTIC_STRIKE);
- necrotic_strike.Repeat(Seconds(17));
+ necrotic_strike.Repeat(17s);
});
}
@@ -639,7 +643,7 @@ struct npc_cult_fanatic : public ScriptedAI
case SPELL_DARK_MARTYRDOM_FANATIC_10H:
case SPELL_DARK_MARTYRDOM_FANATIC_25H:
_scheduler
- .Schedule(Seconds(2), [this](TaskContext /*context*/)
+ .Schedule(2s, [this](TaskContext /*context*/)
{
me->UpdateEntry(NPC_REANIMATED_FANATIC);
DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH);
@@ -647,7 +651,7 @@ struct npc_cult_fanatic : public ScriptedAI
DoCastSelf(SPELL_FULL_HEAL, true);
me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
})
- .Schedule(Seconds(6), [this](TaskContext /*context*/)
+ .Schedule(6s, [this](TaskContext /*context*/)
{
me->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH);
me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
@@ -679,6 +683,9 @@ protected:
InstanceScript* _instance;
};
+/* 37949 - Cult Adherent
+ 38010 - Reanimated Adherent
+ 38136 - Empowered Adherent */
struct npc_cult_adherent : public ScriptedAI
{
npc_cult_adherent(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -691,24 +698,24 @@ struct npc_cult_adherent : public ScriptedAI
{
return !me->HasUnitState(UNIT_STATE_CASTING);
})
- .Schedule(Seconds(5), [this](TaskContext deathchill)
+ .Schedule(5s, [this](TaskContext deathchill)
{
if (me->GetEntry() == NPC_EMPOWERED_ADHERENT)
DoCastVictim(SPELL_DEATHCHILL_BLAST);
else
DoCastVictim(SPELL_DEATHCHILL_BOLT);
- deathchill.Repeat(Milliseconds(2500));
+ deathchill.Repeat(2500ms);
})
- .Schedule(Seconds(15), [this](TaskContext shroud_of_the_occult)
+ .Schedule(15s, [this](TaskContext shroud_of_the_occult)
{
DoCastSelf(SPELL_SHROUD_OF_THE_OCCULT);
- shroud_of_the_occult.Repeat(Seconds(10));
+ shroud_of_the_occult.Repeat(10s);
})
- .Schedule(Seconds(15), [this](TaskContext curse_of_torpor)
+ .Schedule(15s, [this](TaskContext curse_of_torpor)
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1))
DoCast(target, SPELL_CURSE_OF_TORPOR);
- curse_of_torpor.Repeat(Seconds(18));
+ curse_of_torpor.Repeat(18s);
});
}
@@ -730,7 +737,7 @@ struct npc_cult_adherent : public ScriptedAI
case SPELL_DARK_MARTYRDOM_ADHERENT_10H:
case SPELL_DARK_MARTYRDOM_ADHERENT_25H:
_scheduler
- .Schedule(Seconds(2), [this](TaskContext /*context*/)
+ .Schedule(2s, [this](TaskContext /*context*/)
{
me->UpdateEntry(NPC_REANIMATED_ADHERENT);
DoCastSelf(SPELL_PERMANENT_FEIGN_DEATH);
@@ -738,7 +745,7 @@ struct npc_cult_adherent : public ScriptedAI
DoCastSelf(SPELL_FULL_HEAL, true);
me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
})
- .Schedule(Seconds(6), [this](TaskContext /*context*/)
+ .Schedule(6s, [this](TaskContext /*context*/)
{
me->RemoveAurasDueToSpell(SPELL_PERMANENT_FEIGN_DEATH);
me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
@@ -768,6 +775,7 @@ protected:
InstanceScript* _instance;
};
+// 38222 - Vengeful Shade
struct npc_vengeful_shade : public ScriptedAI
{
npc_vengeful_shade(Creature* creature) : ScriptedAI(creature) { }
@@ -778,12 +786,12 @@ struct npc_vengeful_shade : public ScriptedAI
me->AddAura(SPELL_VENGEFUL_BLAST_PASSIVE, me);
_scheduler
- .Schedule(Seconds(2), [this](TaskContext /*context*/)
+ .Schedule(2s, [this](TaskContext /*context*/)
{
me->SetReactState(REACT_AGGRESSIVE);
me->AI()->AttackStart(ObjectAccessor::GetUnit(*me, _targetGUID));
})
- .Schedule(Seconds(7), [this](TaskContext /*context*/)
+ .Schedule(7s, [this](TaskContext /*context*/)
{
me->KillSelf();
});
@@ -822,6 +830,7 @@ private:
ObjectGuid _targetGUID;
};
+// 38472, 38485 - Darnavan
struct npc_darnavan : public ScriptedAI
{
npc_darnavan(Creature* creature) : ScriptedAI(creature)
@@ -918,7 +927,7 @@ struct npc_darnavan : public ScriptedAI
break;
case EVENT_DARNAVAN_INTIMIDATING_SHOUT:
DoCast(SPELL_INTIMIDATING_SHOUT);
- _events.ScheduleEvent(EVENT_DARNAVAN_INTIMIDATING_SHOUT, Seconds(90), Minutes(2));
+ _events.ScheduleEvent(EVENT_DARNAVAN_INTIMIDATING_SHOUT, 90s, 2min);
break;
case EVENT_DARNAVAN_MORTAL_STRIKE:
DoCastVictim(SPELL_MORTAL_STRIKE);
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
index 2aa6877a392..38120428250 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_lord_marrowgar.cpp
@@ -29,7 +29,7 @@
#include "SpellScript.h"
#include "TemporarySummon.h"
-enum ScriptTexts
+enum MarrowgarTexts
{
SAY_ENTER_ZONE = 0,
SAY_AGGRO = 1,
@@ -41,7 +41,7 @@ enum ScriptTexts
EMOTE_BONE_STORM = 7,
};
-enum Spells
+enum MarrowgarSpells
{
// Lord Marrowgar
SPELL_BONE_SLICE = 69055,
@@ -61,7 +61,7 @@ enum Spells
uint32 const BoneSpikeSummonId[3] = {69062, 72669, 72670};
-enum Events
+enum MarrowgarEvents
{
EVENT_BONE_SPIKE_GRAVEYARD = 1,
EVENT_COLDFLAME = 2,
@@ -78,13 +78,13 @@ enum Events
EVENT_GROUP_SPECIAL = 1,
};
-enum MovementPoints
+enum MarrowgarPoints
{
POINT_TARGET_BONESTORM_PLAYER = 36612631,
POINT_TARGET_COLDFLAME = 36672631,
};
-enum MiscInfo
+enum MarrowgarMisc
{
DATA_COLDFLAME_GUID = 0,
@@ -98,7 +98,7 @@ enum MiscInfo
MAX_BONE_SPIKE_IMMUNE = 3,
};
-enum Actions
+enum MarrowgarActions
{
ACTION_CLEAR_SPIKE_IMMUNITIES = 1,
ACTION_TALK_ENTER_ZONE = 2
@@ -129,6 +129,7 @@ class BoneSpikeTargetSelector
UnitAI* _ai;
};
+// 36612 - Lord Marrowgar
struct boss_lord_marrowgar : public BossAI
{
boss_lord_marrowgar(Creature* creature) : BossAI(creature, DATA_LORD_MARROWGAR)
@@ -354,6 +355,7 @@ private:
typedef boss_lord_marrowgar MarrowgarAI;
+// 36672 - Coldflame
struct npc_coldflame : public ScriptedAI
{
npc_coldflame(Creature* creature) : ScriptedAI(creature) { }
@@ -412,6 +414,7 @@ private:
EventMap _events;
};
+// 36619, 38711, 38712 - Bone Spike
struct npc_bone_spike : public ScriptedAI
{
npc_bone_spike(Creature* creature) : ScriptedAI(creature), _hasTrappedUnit(false)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
index ac7aceb2c40..5ad6d8fd660 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp
@@ -33,7 +33,7 @@
#include "TemporarySummon.h"
#include "Vehicle.h"
-enum Say
+enum PutricideTexts
{
// Festergut
SAY_FESTERGUT_GASEOUS_BLIGHT = 0,
@@ -56,7 +56,7 @@ enum Say
SAY_DEATH = 13
};
-enum Spells
+enum PutricideSpells
{
// Festergut
SPELL_RELEASE_GAS_VISUAL = 69125,
@@ -121,7 +121,7 @@ enum Spells
#define SPELL_GASEOUS_BLOAT_HELPER RAID_MODE<uint32>(70672, 72455, 72832, 72833)
-enum Events
+enum PutricideEvents
{
// Festergut
EVENT_FESTERGUT_DIES = 1,
@@ -144,7 +144,7 @@ enum Events
EVENT_PHASE_TRANSITION = 15
};
-enum Phases
+enum PutricidePhases
{
PHASE_NONE = 0,
PHASE_FESTERGUT = 1,
@@ -154,7 +154,7 @@ enum Phases
PHASE_COMBAT_3 = 6
};
-enum Points
+enum PutricidePoints
{
POINT_FESTERGUT = 366260,
POINT_ROTFACE = 366270,
@@ -221,6 +221,7 @@ private:
Creature* _rotface;
};
+// 36678 - Professor Putricide
struct boss_professor_putricide : public BossAI
{
boss_professor_putricide(Creature* creature) : BossAI(creature, DATA_PROFESSOR_PUTRICIDE),
@@ -703,14 +704,14 @@ struct boss_professor_putricide : public BossAI
}
private:
- void SetPhase(Phases newPhase)
+ void SetPhase(PutricidePhases newPhase)
{
_phase = newPhase;
events.SetPhase(newPhase);
}
ObjectGuid _oozeFloodDummyGUIDs[4];
- Phases _phase; // external of EventMap because event phase gets reset on evade
+ PutricidePhases _phase; // external of EventMap because event phase gets reset on evade
float const _baseSpeed;
uint8 _oozeFloodStage;
bool _experimentState;
@@ -781,6 +782,7 @@ class npc_putricide_oozeAI : public ScriptedAI
InstanceScript* _instance;
};
+// 37697 - Volatile Ooze
struct npc_volatile_ooze : public npc_putricide_oozeAI
{
npc_volatile_ooze(Creature* creature) : npc_putricide_oozeAI(creature, SPELL_OOZE_ERUPTION_SEARCH_PERIODIC, SPELL_OOZE_ERUPTION) { }
@@ -791,6 +793,7 @@ struct npc_volatile_ooze : public npc_putricide_oozeAI
}
};
+// 37562 - Gas Cloud
struct npc_gas_cloud : public npc_putricide_oozeAI
{
npc_gas_cloud(Creature* creature) : npc_putricide_oozeAI(creature, SPELL_GASEOUS_BLOAT_PROC, SPELL_EXPUNGED_GAS)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
index 1fbae959f9f..22a4bb61481 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
@@ -30,7 +30,7 @@
// KNOWN BUGS:
// ~ No Slime Spray animation directly at target spot
-enum Texts
+enum RotfaceTexts
{
SAY_PRECIOUS_DIES = 0,
SAY_AGGRO = 1,
@@ -50,7 +50,7 @@ enum Texts
EMOTE_PRECIOUS_ZOMBIES = 0,
};
-enum Spells
+enum RotfaceSpells
{
// Rotface
SPELL_SLIME_SPRAY = 69508, // every 20 seconds
@@ -85,7 +85,7 @@ enum Spells
#define MUTATED_INFECTION RAID_MODE<int32>(69674, 71224, 73022, 73023)
-enum Events
+enum RotfaceEvents
{
// Rotface
EVENT_SLIME_SPRAY = 1,
@@ -101,6 +101,7 @@ enum Events
EVENT_STICKY_OOZE = 8,
};
+// 36627 - Rotface
struct boss_rotface : public BossAI
{
boss_rotface(Creature* creature) : BossAI(creature, DATA_ROTFACE)
@@ -238,6 +239,7 @@ private:
uint32 infectionStage;
};
+// 36897 - Little Ooze
struct npc_little_ooze : public ScriptedAI
{
npc_little_ooze(Creature* creature) : ScriptedAI(creature) { }
@@ -279,6 +281,7 @@ private:
EventMap events;
};
+// 36899 - Big Ooze
struct npc_big_ooze : public ScriptedAI
{
npc_big_ooze(Creature* creature) : ScriptedAI(creature), instance(creature->GetInstanceScript()) { }
@@ -338,6 +341,7 @@ private:
InstanceScript* instance;
};
+// 37217 - Precious
struct npc_precious_icc : public ScriptedAI
{
npc_precious_icc(Creature* creature) : ScriptedAI(creature), _summons(me), _instance(creature->GetInstanceScript()) { }
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
index f8a322f54a1..16e85d6804a 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp
@@ -34,7 +34,7 @@
#include "SpellScript.h"
#include "TemporarySummon.h"
-enum Texts
+enum SindragosaTexts
{
SAY_AGGRO = 0, // You are fools to have come to this place! The icy winds of Northrend will consume your souls!
SAY_UNCHAINED_MAGIC = 1, // Suffer, mortals, as your pathetic magic betrays you!
@@ -51,7 +51,7 @@ enum Texts
EMOTE_BERSERK_RAID = 11
};
-enum Spells
+enum SindragosaSpells
{
// Sindragosa
SPELL_SINDRAGOSA_S_FURY = 70608,
@@ -101,7 +101,7 @@ enum Spells
SPELL_FROST_INFUSION = 72292,
};
-enum Events
+enum SindragosaEvents
{
// Sindragosa
EVENT_BERSERK = 1,
@@ -139,7 +139,7 @@ enum Events
EVENT_GROUP_LAND_PHASE = 1,
};
-enum FrostwingData
+enum SindragosaFrostwingData
{
DATA_MYSTIC_BUFFET_STACK = 0,
DATA_FROSTWYRM_OWNER = 1,
@@ -149,7 +149,7 @@ enum FrostwingData
DATA_IS_THIRD_PHASE = 5
};
-enum MovementPoints
+enum SindragosaPoints
{
POINT_FROSTWYRM_FLY_IN = 1,
POINT_FROSTWYRM_LAND = 2,
@@ -160,7 +160,7 @@ enum MovementPoints
POINT_LAND_GROUND = 7,
};
-enum Shadowmourne
+enum SindragosMisc
{
QUEST_FROST_INFUSION = 24757
};
@@ -224,6 +224,7 @@ class FrostBeaconSelector : NonTankTargetSelector
}
};
+// 36853 - Sindragosa
struct boss_sindragosa : public BossAI
{
boss_sindragosa(Creature* creature) : BossAI(creature, DATA_SINDRAGOSA)
@@ -576,6 +577,7 @@ private:
bool _isThirdPhase;
};
+// 36980 - Ice Tomb
struct npc_ice_tomb : public ScriptedAI
{
npc_ice_tomb(Creature* creature) : ScriptedAI(creature)
@@ -644,6 +646,7 @@ private:
uint32 _existenceCheckTimer;
};
+// 37534 - Spinestalker
struct npc_spinestalker : public ScriptedAI
{
npc_spinestalker(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _summoned(false) { }
@@ -763,6 +766,7 @@ private:
bool _summoned;
};
+// 37533 - Rimefang
struct npc_rimefang_icc : public ScriptedAI
{
npc_rimefang_icc(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _summoned(false)
@@ -917,6 +921,8 @@ private:
bool _summoned;
};
+// 37531 - Frostwarden Handler
+// 37532 - Frostwing Whelp
struct npc_sindragosa_trash : public ScriptedAI
{
npc_sindragosa_trash(Creature* creature) : ScriptedAI(creature)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
index 3451c02529a..4d53b78dcd2 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sister_svalna.cpp
@@ -28,7 +28,7 @@
#include "TemporarySummon.h"
#include "VehicleDefines.h"
-enum ICCSisterSvalnaTexts
+enum SvalnaTexts
{
SAY_SVALNA_KILL_CAPTAIN = 1, // happens when she kills a captain
SAY_SVALNA_KILL = 4,
@@ -57,75 +57,75 @@ enum ICCSisterSvalnaTexts
SAY_CROK_DEATH = 8,
};
-enum ICCSisterSvalnaSpells
+enum SvalnaSpells
{
// Crok Scourgebane
- SPELL_ICEBOUND_ARMOR = 70714,
- SPELL_SCOURGE_STRIKE = 71488,
- SPELL_DEATH_STRIKE = 71489,
+ SPELL_ICEBOUND_ARMOR = 70714,
+ SPELL_SCOURGE_STRIKE = 71488,
+ SPELL_DEATH_STRIKE = 71489,
// Sister Svalna
- SPELL_CARESS_OF_DEATH = 70078,
- SPELL_IMPALING_SPEAR_KILL = 70196,
- SPELL_REVIVE_CHAMPION = 70053,
- SPELL_UNDEATH = 70089,
- SPELL_IMPALING_SPEAR = 71443,
- SPELL_AETHER_SHIELD = 71463,
- SPELL_HURL_SPEAR = 71466,
- SPELL_DIVINE_SURGE = 71465,
+ SPELL_CARESS_OF_DEATH = 70078,
+ SPELL_IMPALING_SPEAR_KILL = 70196,
+ SPELL_REVIVE_CHAMPION = 70053,
+ SPELL_UNDEATH = 70089,
+ SPELL_IMPALING_SPEAR = 71443,
+ SPELL_AETHER_SHIELD = 71463,
+ SPELL_HURL_SPEAR = 71466,
+ SPELL_DIVINE_SURGE = 71465,
// Captain Arnath
- SPELL_DOMINATE_MIND = 14515,
- SPELL_FLASH_HEAL_NORMAL = 71595,
- SPELL_POWER_WORD_SHIELD_NORMAL = 71548,
- SPELL_SMITE_NORMAL = 71546,
- SPELL_FLASH_HEAL_UNDEAD = 71782,
- SPELL_POWER_WORD_SHIELD_UNDEAD = 71780,
- SPELL_SMITE_UNDEAD = 71778,
+ SPELL_DOMINATE_MIND = 14515,
+ SPELL_FLASH_HEAL_NORMAL = 71595,
+ SPELL_POWER_WORD_SHIELD_NORMAL = 71548,
+ SPELL_SMITE_NORMAL = 71546,
+ SPELL_FLASH_HEAL_UNDEAD = 71782,
+ SPELL_POWER_WORD_SHIELD_UNDEAD = 71780,
+ SPELL_SMITE_UNDEAD = 71778,
// Captain Brandon
- SPELL_CRUSADER_STRIKE = 71549,
- SPELL_DIVINE_SHIELD = 71550,
- SPELL_JUDGEMENT_OF_COMMAND = 71551,
- SPELL_HAMMER_OF_BETRAYAL = 71784,
+ SPELL_CRUSADER_STRIKE = 71549,
+ SPELL_DIVINE_SHIELD = 71550,
+ SPELL_JUDGEMENT_OF_COMMAND = 71551,
+ SPELL_HAMMER_OF_BETRAYAL = 71784,
// Captain Grondel
- SPELL_CHARGE = 71553,
- SPELL_MORTAL_STRIKE = 71552,
- SPELL_SUNDER_ARMOR = 71554,
- SPELL_CONFLAGRATION = 71785,
+ SPELL_CHARGE = 71553,
+ SPELL_MORTAL_STRIKE = 71552,
+ SPELL_SUNDER_ARMOR = 71554,
+ SPELL_CONFLAGRATION = 71785,
// Captain Rupert
- SPELL_FEL_IRON_BOMB_NORMAL = 71592,
- SPELL_MACHINE_GUN_NORMAL = 71594,
- SPELL_ROCKET_LAUNCH_NORMAL = 71590,
- SPELL_FEL_IRON_BOMB_UNDEAD = 71787,
- SPELL_MACHINE_GUN_UNDEAD = 71788,
- SPELL_ROCKET_LAUNCH_UNDEAD = 71786,
+ SPELL_FEL_IRON_BOMB_NORMAL = 71592,
+ SPELL_MACHINE_GUN_NORMAL = 71594,
+ SPELL_ROCKET_LAUNCH_NORMAL = 71590,
+ SPELL_FEL_IRON_BOMB_UNDEAD = 71787,
+ SPELL_MACHINE_GUN_UNDEAD = 71788,
+ SPELL_ROCKET_LAUNCH_UNDEAD = 71786,
// Ymirjar Vrykuls
- SPELL_ARCTIC_CHILL = 71270,
- SPELL_FROZEN_ORB_CAST = 71274,
- SPELL_FROZEN_ORB_MISSILE = 71285,
- SPELL_SPIRIT_STREAM = 69929,
- SPELL_TWISTED_WINDS = 71306,
- SPELL_BARBARIC_STRIKE = 71257,
- SPELL_ADRENALINE_RUSH = 71258,
- SPELL_WHIRLWIND = 41056,
- SPELL_RAPID_SHOT = 71251,
- SPELL_ICE_TRAP = 71249,
- SPELL_SUMMON_WARHAWK = 71705,
- SPELL_VOLLEY = 71252,
- SPELL_YMIRJAR_SHOOT = 71253,
- SPELL_YMIRJAR_SHADOW_BOLT = 71296,
- SPELL_DEATH_EMBRACE = 71299,
- SPELL_BANISH = 71298,
- SPELL_SUMMON_YMIRJAR = 71303,
- SPELL_AWAKEN_YMIRJAR_FALLEN = 71302,
- SPELL_WARLORDS_PRESENCE = 71244,
+ SPELL_ARCTIC_CHILL = 71270,
+ SPELL_FROZEN_ORB_CAST = 71274,
+ SPELL_FROZEN_ORB_MISSILE = 71285,
+ SPELL_SPIRIT_STREAM = 69929,
+ SPELL_TWISTED_WINDS = 71306,
+ SPELL_BARBARIC_STRIKE = 71257,
+ SPELL_ADRENALINE_RUSH = 71258,
+ SPELL_WHIRLWIND = 41056,
+ SPELL_RAPID_SHOT = 71251,
+ SPELL_ICE_TRAP = 71249,
+ SPELL_SUMMON_WARHAWK = 71705,
+ SPELL_VOLLEY = 71252,
+ SPELL_YMIRJAR_SHOOT = 71253,
+ SPELL_YMIRJAR_SHADOW_BOLT = 71296,
+ SPELL_DEATH_EMBRACE = 71299,
+ SPELL_BANISH = 71298,
+ SPELL_SUMMON_YMIRJAR = 71303,
+ SPELL_AWAKEN_YMIRJAR_FALLEN = 71302,
+ SPELL_WARLORDS_PRESENCE = 71244
};
-enum ICCSisterSvalnaTimedEventIds
+enum SvalnaEvents
{
// Crok Scourgebane
EVENT_SCOURGE_STRIKE = 1,
@@ -182,7 +182,7 @@ enum ICCSisterSvalnaTimedEventIds
EVENT_YMIRJAR_SUMMON,
};
-enum ICCSisterSvalnaActions
+enum SvalnaActions
{
ACTION_KILL_CAPTAIN = 1,
ACTION_START_GAUNTLET,
@@ -191,12 +191,12 @@ enum ICCSisterSvalnaActions
ACTION_RESET_EVENT
};
-enum ICCSisterSvalnaMovePoints
+enum SvalnaPoints
{
POINT_SVALNA_LAND = 1
};
-enum ICCYmirjarFrostWingMisc
+enum SvalnaMisc
{
NPC_YMIRJAR_WARHAWK = 38154
};
@@ -302,6 +302,7 @@ private:
Creature const* _owner;
};
+// 37126 - Sister Svalna
struct boss_sister_svalna : public BossAI
{
boss_sister_svalna(Creature* creature) : BossAI(creature, DATA_SISTER_SVALNA), _isEventInProgress(false) { }
@@ -513,6 +514,7 @@ private:
bool _isEventInProgress;
};
+// 37129 - Crok Scourgebane
struct npc_crok_scourgebane : public EscortAI
{
npc_crok_scourgebane(Creature* creature) : EscortAI(creature), _instance(creature->GetInstanceScript()), _respawnTime(creature->GetRespawnDelay()), _corpseDelay(creature->GetCorpseDelay())
@@ -923,6 +925,7 @@ private:
bool _firstDeath;
};
+// 37122 - Captain Arnath
struct npc_captain_arnath : public npc_argent_captainAI
{
npc_captain_arnath(Creature* creature) : npc_argent_captainAI(creature)
@@ -997,6 +1000,7 @@ private:
}
};
+// 37123 - Captain Brandon
struct npc_captain_brandon : public npc_argent_captainAI
{
npc_captain_brandon(Creature* creature) : npc_argent_captainAI(creature)
@@ -1057,6 +1061,7 @@ struct npc_captain_brandon : public npc_argent_captainAI
}
};
+// 37124 - Captain Grondel
struct npc_captain_grondel : public npc_argent_captainAI
{
npc_captain_grondel(Creature* creature) : npc_argent_captainAI(creature)
@@ -1116,6 +1121,7 @@ struct npc_captain_grondel : public npc_argent_captainAI
}
};
+// 37125 - Captain Rupert
struct npc_captain_rupert : public npc_argent_captainAI
{
npc_captain_rupert(Creature* creature) : npc_argent_captainAI(creature)
@@ -1171,6 +1177,11 @@ struct npc_captain_rupert : public npc_argent_captainAI
}
};
+/* 37127 - Ymirjar Frostbinder
+ 37132 - Ymirjar Battle-Maiden
+ 37133 - Ymirjar Warlord
+ 37134 - Ymirjar Huntress
+ 38125 - Ymirjar Deathbringer */
struct npc_frostwing_ymirjar_vrykul : public ScriptedAI
{
npc_frostwing_ymirjar_vrykul(Creature* creature) : ScriptedAI(creature), _summons(creature)
@@ -1373,6 +1384,7 @@ private:
SummonList _summons;
};
+// 38248 - Impaling Spear
struct npc_impaling_spear : public CreatureAI
{
npc_impaling_spear(Creature* creature) : CreatureAI(creature)
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index 60e2fdd7e7e..2f3f1eb1810 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -32,7 +32,7 @@
#include "Vehicle.h"
#include "Weather.h"
-enum Texts
+enum LichKingTexts
{
// The Lich King
SAY_LK_INTRO_1 = 0,
@@ -73,7 +73,7 @@ enum Texts
SAY_TERENAS_INTRO_3 = 2,
};
-enum Spells
+enum LichKingSpells
{
// The Lich King
SPELL_PLAGUE_AVOIDANCE = 72846, // raging spirits also get it
@@ -193,7 +193,7 @@ enum Spells
#define HARVEST_SOUL RAID_MODE<uint32>(68980, 74325, 74296, 74297)
#define ENRAGE RAID_MODE<uint32>(72143, 72146, 72147, 72148)
-enum Events
+enum LichKingEvents
{
// The Lich King
// intro events
@@ -276,13 +276,13 @@ enum Events
EVENT_BOMB_EXPLOSION
};
-enum EventGroups
+enum LichKingEventGroups
{
EVENT_GROUP_BERSERK = 1,
EVENT_GROUP_VILE_SPIRITS = 2,
};
-enum Phases
+enum LichKingPhases
{
PHASE_INTRO = 1,
PHASE_ONE = 2,
@@ -311,7 +311,7 @@ Position const TerenasSpawn = {495.5542f, -2517.012f, 1050.000f, 4.6993f};
Position const TerenasSpawnHeroic = {495.7080f, -2523.760f, 1050.000f, 0.0f};
Position const SpiritWardenSpawn = {495.3406f, -2529.983f, 1050.000f, 1.5592f};
-enum MovePoints
+enum LichKingPoints
{
POINT_CENTER_1 = 1,
POINT_CENTER_2 = 2,
@@ -330,7 +330,7 @@ enum MovePoints
POINT_CHARGE = 1003, // globally used number for charge spell effects
};
-enum EncounterActions
+enum LichKingActions
{
ACTION_START_ENCOUNTER = 0,
ACTION_CONTINUE_INTRO = 1,
@@ -344,7 +344,7 @@ enum EncounterActions
ACTION_DISABLE_RAGING = 9
};
-enum MiscData
+enum LichKingMiscData
{
LIGHT_DEFAULT = 2488,
LIGHT_SNOWSTORM = 2490,
@@ -364,7 +364,7 @@ enum MiscData
MOVIE_FALL_OF_THE_LICH_KING = 16,
};
-enum Misc
+enum LichKingMisc
{
DATA_PLAGUE_STACK = 70337,
DATA_VILE = 45814622
@@ -512,6 +512,7 @@ class TriggerWickedSpirit : public BasicEvent
uint32 _counter;
};
+// 36597 - The Lich King
struct boss_the_lich_king : public BossAI
{
boss_the_lich_king(Creature* creature) : BossAI(creature, DATA_THE_LICH_KING)
@@ -1158,6 +1159,7 @@ private:
uint32 _vileSpiritExplosions;
};
+// 38995 - Highlord Tirion Fordring
struct npc_tirion_fordring_tft : public ScriptedAI
{
npc_tirion_fordring_tft(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1290,6 +1292,7 @@ private:
InstanceScript* _instance;
};
+// 37698 - Shambling Horror
struct npc_shambling_horror_icc : public ScriptedAI
{
npc_shambling_horror_icc(Creature* creature) : ScriptedAI(creature)
@@ -1356,6 +1359,7 @@ private:
bool _frenzied;
};
+// 36701 - Raging Spirit
struct npc_raging_spirit : public ScriptedAI
{
npc_raging_spirit(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1441,6 +1445,7 @@ private:
InstanceScript* _instance;
};
+// 36609 - Val'kyr Shadowguard
struct npc_valkyr_shadowguard : public ScriptedAI
{
npc_valkyr_shadowguard(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
@@ -1587,6 +1592,7 @@ private:
InstanceScript* _instance;
};
+// 36598 - Strangulate Vehicle
struct npc_strangulate_vehicle : public ScriptedAI
{
npc_strangulate_vehicle(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1683,6 +1689,7 @@ private:
InstanceScript* _instance;
};
+// 36823, 38579, 39217 - Terenas Menethil
struct npc_terenas_menethil : public ScriptedAI
{
npc_terenas_menethil(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1823,6 +1830,7 @@ private:
InstanceScript* _instance;
};
+// 36824 - Spirit Warden
struct npc_spirit_warden : public ScriptedAI
{
npc_spirit_warden(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1868,6 +1876,7 @@ private:
InstanceScript* _instance;
};
+// 39189 - Spirit Bomb
struct npc_spirit_bomb : public CreatureAI
{
npc_spirit_bomb(Creature* creature) : CreatureAI(creature) { }
@@ -1911,6 +1920,7 @@ private:
EventMap _events;
};
+// 38584 - Frostmourne Trigger
struct npc_broken_frostmourne : public CreatureAI
{
npc_broken_frostmourne(Creature* creature) : CreatureAI(creature) { }
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
index 54aaf207e6b..352e64a7824 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp
@@ -27,7 +27,7 @@
#include "SpellAuraEffects.h"
#include "SpellScript.h"
-enum Texts
+enum ValithriaTexts
{
// The Lich King
SAY_LICH_KING_INTRO = 0,
@@ -43,7 +43,7 @@ enum Texts
SAY_VALITHRIA_SUCCESS = 7,
};
-enum Spells
+enum ValithriaSpells
{
// Valithria Dreamwalker
SPELL_COPY_DAMAGE = 71948,
@@ -107,7 +107,7 @@ enum Spells
#define EMERALD_VIGOR RAID_MODE<uint32>(SPELL_EMERALD_VIGOR, SPELL_EMERALD_VIGOR, \
SPELL_TWISTED_NIGHTMARE, SPELL_TWISTED_NIGHTMARE)
-enum Events
+enum ValithriaEvents
{
// Valithria Dreamwalker
EVENT_INTRO_TALK = 1,
@@ -143,7 +143,7 @@ enum Events
EVENT_EXPLODE,
};
-enum Misc
+enum ValithriaMisc
{
ACTION_ENTER_COMBAT = 1,
MISSED_PORTALS = 2,
@@ -255,6 +255,7 @@ class ValithriaDespawner : public BasicEvent
Creature* _creature;
};
+// 36789 - Valithria Dreamwalker
struct boss_valithria_dreamwalker : public ScriptedAI
{
boss_valithria_dreamwalker(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _portalCount(RAID_MODE<uint32>(3, 8, 3, 8))
@@ -469,6 +470,7 @@ private:
bool _done;
};
+// 38752 - Green Dragon Combat Trigger
struct npc_green_dragon_combat_trigger : public BossAI
{
npc_green_dragon_combat_trigger(Creature* creature) : BossAI(creature, DATA_VALITHRIA_DREAMWALKER) { }
@@ -536,6 +538,7 @@ struct npc_green_dragon_combat_trigger : public BossAI
}
};
+// 16980 - The Lich King
struct npc_the_lich_king_controller : public ScriptedAI
{
npc_the_lich_king_controller(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -623,6 +626,7 @@ private:
InstanceScript* _instance;
};
+// 37868 - Risen Archmage
struct npc_risen_archmage : public ScriptedAI
{
npc_risen_archmage(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
@@ -738,6 +742,7 @@ private:
bool _isInitialArchmage;
};
+// 36791 - Blazing Skeleton
struct npc_blazing_skeleton : public ScriptedAI
{
npc_blazing_skeleton(Creature* creature) : ScriptedAI(creature) { }
@@ -787,6 +792,7 @@ private:
EventMap _events;
};
+// 37863 - Suppresser
struct npc_suppresser : public ScriptedAI
{
npc_suppresser(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -844,6 +850,7 @@ private:
InstanceScript* const _instance;
};
+// 37934 - Blistering Zombie
struct npc_blistering_zombie : public ScriptedAI
{
npc_blistering_zombie(Creature* creature) : ScriptedAI(creature) { }
@@ -862,6 +869,7 @@ struct npc_blistering_zombie : public ScriptedAI
}
};
+// 37886 - Gluttonous Abomination
struct npc_gluttonous_abomination : public ScriptedAI
{
npc_gluttonous_abomination(Creature* creature) : ScriptedAI(creature) { }
@@ -910,6 +918,8 @@ private:
EventMap _events;
};
+// 37945 - Dream Portal
+// 38430 - Nightmare Portal
struct npc_dream_portal : public CreatureAI
{
npc_dream_portal(Creature* creature) : CreatureAI(creature), _used(false) { }
@@ -937,6 +947,8 @@ private:
bool _used;
};
+// 37985 - Dream Cloud
+// 38421 - Nightmare Cloud
struct npc_dream_cloud : public ScriptedAI
{
npc_dream_cloud(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
index 748337fba72..490d57514cc 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/icecrown_citadel.cpp
@@ -135,7 +135,7 @@ enum ICCSpells
SPELL_DARK_MENDING = 71020
};
-enum ICCTimedEventIds
+enum ICCEvents
{
// Light's Hammer RP
EVENT_TIRION_INTRO_2 = 1,
@@ -208,7 +208,7 @@ enum ICCMisc
POINT_LAND = 1,
};
-// at Light's Hammer
+// 37119 - Highlord Tirion Fordring (At Light's Hammer)
struct npc_highlord_tirion_fordring_lh : public ScriptedAI
{
npc_highlord_tirion_fordring_lh(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
@@ -443,6 +443,7 @@ private:
Unit const* _me;
};
+// 38490, 38494 - Rotting Frost Giant
struct npc_rotting_frost_giant : public ScriptedAI
{
npc_rotting_frost_giant(Creature* creature) : ScriptedAI(creature) { }
@@ -507,6 +508,7 @@ private:
EventMap _events;
};
+// 37744 - Frost Freeze Trap
struct npc_frost_freeze_trap: public ScriptedAI
{
npc_frost_freeze_trap(Creature* creature) : ScriptedAI(creature)
@@ -542,6 +544,7 @@ private:
EventMap _events;
};
+// 38501 - Alchemist Adrianna
struct npc_alchemist_adrianna : public ScriptedAI
{
npc_alchemist_adrianna(Creature* creature) : ScriptedAI(creature) { }
@@ -555,6 +558,7 @@ struct npc_alchemist_adrianna : public ScriptedAI
}
};
+// 30298 - Invisible Stalker (Float, Uninteractible, LargeAOI)
class npc_arthas_teleport_visual : public CreatureScript
{
public:
@@ -605,6 +609,8 @@ class npc_arthas_teleport_visual : public CreatureScript
}
};
+// 39371 - King Varian Wrynn
+// 39372 - Garrosh Hellscream
struct npc_entrance_faction_leader : public ScriptedAI
{
npc_entrance_faction_leader(Creature* creature) : ScriptedAI(creature) { }
@@ -657,6 +663,7 @@ static Emote const DarkFallensEmotes[]=
EMOTE_ONESHOT_NO
};
+// 38463 - Empowering Orb Visual Stalker
struct npc_icc_orb_controller : public ScriptedAI
{
npc_icc_orb_controller(Creature* creature) : ScriptedAI(creature), _isInCombat(false), _isLongRepeat(false) { }
@@ -859,6 +866,7 @@ protected:
uint32 AttackSpellId;
};
+// 37595 - Darkfallen Blood Knight
struct npc_darkfallen_blood_knight : public DarkFallenAI
{
npc_darkfallen_blood_knight(Creature* creature) : DarkFallenAI(creature) { }
@@ -882,6 +890,7 @@ struct npc_darkfallen_blood_knight : public DarkFallenAI
}
};
+// 37663 - Darkfallen Noble
struct npc_darkfallen_noble : public DarkFallenAI
{
npc_darkfallen_noble(Creature* creature) : DarkFallenAI(creature) { }
@@ -905,6 +914,7 @@ struct npc_darkfallen_noble : public DarkFallenAI
}
};
+// 37901 - Vampiric Fiend
struct npc_vampiric_fiend : public ScriptedAI
{
npc_vampiric_fiend(Creature* creature) : ScriptedAI(creature) { }
@@ -942,6 +952,7 @@ private:
TaskScheduler _scheduler;
};
+// 37664 - Darkfallen Archmage
struct npc_darkfallen_archmage : public DarkFallenAI
{
npc_darkfallen_archmage(Creature* creature) : DarkFallenAI(creature) { }
@@ -969,6 +980,7 @@ struct npc_darkfallen_archmage : public DarkFallenAI
}
};
+// 37571 - Darkfallen Advisor
struct npc_darkfallen_advisor : public DarkFallenAI
{
npc_darkfallen_advisor(Creature* creature) : DarkFallenAI(creature) { }
@@ -989,6 +1001,7 @@ struct npc_darkfallen_advisor : public DarkFallenAI
}
};
+// 37666 - Darkfallen Tactician
struct npc_darkfallen_tactician : public DarkFallenAI
{
npc_darkfallen_tactician(Creature* creature) : DarkFallenAI(creature) { }
@@ -1012,6 +1025,7 @@ struct npc_darkfallen_tactician : public DarkFallenAI
}
};
+// 36725 - Nerub'ar Broodkeeper
struct npc_icc_nerubar_broodkeeper : public ScriptedAI
{
npc_icc_nerubar_broodkeeper(Creature* creature) : ScriptedAI(creature) { }
@@ -1111,6 +1125,7 @@ private:
EventMap _events;
};
+// 201741 - Empowering Blood Orb
struct go_empowering_blood_orb : public GameObjectAI
{
go_empowering_blood_orb(GameObject* go) : GameObjectAI(go) { }