aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2025-05-28 15:06:19 +0300
committerGitHub <noreply@github.com>2025-05-28 14:06:19 +0200
commitc8efee7a1378423db6d1b52ee01fad399c89bc76 (patch)
tree59be849faa15cb0ba7e3b103396c1cc7f148cce5 /src
parent8c5863596e428916aa5b9d2c5fa4c31ef67317e7 (diff)
Scripts/BlackTemple: Modernize scripts (#30963)
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.cpp26
-rw-r--r--src/server/scripts/Outland/BlackTemple/black_temple.h4
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp64
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidan.cpp165
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp43
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp17
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp40
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp88
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_supremus.cpp30
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp33
-rw-r--r--src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp22
11 files changed, 291 insertions, 241 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.cpp b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
index 6b93face40a..a44a5cb2dbb 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.cpp
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.cpp
@@ -22,7 +22,7 @@
#include "SpellAuraEffects.h"
#include "SpellScript.h"
-enum Spells
+enum BlackTempleSpells
{
// Wrathbone Flayer
SPELL_CLEAVE = 15496,
@@ -37,13 +37,13 @@ enum Spells
SPELL_SHADOW_INFERNO_DAMAGE = 39646
};
-enum Creatures
+enum BlackTempleCreatures
{
NPC_BLOOD_MAGE = 22945,
NPC_DEATHSHAPER = 22882
};
-enum Events
+enum BlackTempleEvents
{
// Wrathbone Flayer
EVENT_GET_CHANNELERS = 1,
@@ -52,11 +52,12 @@ enum Events
EVENT_IGNORED
};
-enum Misc
+enum BlackTempleMisc
{
GROUP_OUT_OF_COMBAT = 1
};
+// 22953 - Wrathbone Flayer
struct npc_wrathbone_flayer : public ScriptedAI
{
npc_wrathbone_flayer(Creature* creature) : ScriptedAI(creature)
@@ -135,7 +136,7 @@ struct npc_wrathbone_flayer : public ScriptedAI
if (Creature* deathshaper = ObjectAccessor::GetCreature(*me, guid))
deathshaper->CastSpell(nullptr, SPELL_SUMMON_CHANNEL);
- _events.ScheduleEvent(EVENT_SET_CHANNELERS, 12s);
+ _events.Repeat(12s);
break;
}
@@ -156,12 +157,12 @@ struct npc_wrathbone_flayer : public ScriptedAI
{
case EVENT_CLEAVE:
DoCastVictim(SPELL_CLEAVE);
- _events.ScheduleEvent(EVENT_CLEAVE, 1s, 2s);
+ _events.Repeat(1s, 2s);
break;
case EVENT_IGNORED:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_IGNORED);
- _events.ScheduleEvent(EVENT_IGNORED, 10s);
+ _events.Repeat(10s);
break;
default:
break;
@@ -178,6 +179,7 @@ private:
bool _enteredCombat;
};
+// 23398 - Angered Soul Fragment
struct npc_angered_soul_fragment : public ScriptedAI
{
npc_angered_soul_fragment(Creature* creature) : ScriptedAI(creature) { }
@@ -186,18 +188,18 @@ struct npc_angered_soul_fragment : public ScriptedAI
{
_scheduler.CancelAll();
- _scheduler.Schedule(Seconds(1), GROUP_OUT_OF_COMBAT, [this](TaskContext invi)
+ _scheduler.Schedule(1s, GROUP_OUT_OF_COMBAT, [this](TaskContext invi)
{
DoCastSelf(SPELL_GREATER_INVISIBILITY);
/* Workaround - On Retail creature appear and "vanish" again periodically, but i cant find packets
with UPDATE_AURA on sniffs about it */
- _scheduler.Schedule(Seconds(5), Seconds(10), GROUP_OUT_OF_COMBAT, [this](TaskContext /*context*/)
+ _scheduler.Schedule(5s, 10s, GROUP_OUT_OF_COMBAT, [this](TaskContext /*context*/)
{
me->RemoveAurasDueToSpell(SPELL_GREATER_INVISIBILITY);
});
- invi.Repeat(Seconds(15), Seconds(25));
+ invi.Repeat(15s, 25s);
});
}
@@ -206,13 +208,13 @@ struct npc_angered_soul_fragment : public ScriptedAI
me->RemoveAurasDueToSpell(SPELL_GREATER_INVISIBILITY);
_scheduler.CancelGroup(GROUP_OUT_OF_COMBAT);
- _scheduler.Schedule(Seconds(1), [this](TaskContext anger)
+ _scheduler.Schedule(1s, [this](TaskContext anger)
{
Unit* target = me->GetVictim();
if (target && me->IsWithinMeleeRange(target))
DoCastSelf(SPELL_ANGER);
else
- anger.Repeat(Seconds(1));
+ anger.Repeat(1s);
});
}
diff --git a/src/server/scripts/Outland/BlackTemple/black_temple.h b/src/server/scripts/Outland/BlackTemple/black_temple.h
index 96b6af6eb32..0fde0ce9d13 100644
--- a/src/server/scripts/Outland/BlackTemple/black_temple.h
+++ b/src/server/scripts/Outland/BlackTemple/black_temple.h
@@ -58,7 +58,7 @@ enum BTDataTypes
DATA_RELIQUARY_COMBAT_TRIGGER = 25
};
-enum TriggerEmotes
+enum BTTexts
{
EMOTE_HIGH_WARLORD_NAJENTUS_DIED = 0,
EMOTE_DEN_OF_MORTAL_DOOR_OPEN = 1
@@ -132,7 +132,7 @@ enum BTGameObjectIds
GO_ILLIDAN_MUSIC_CONTROLLER = 185966
};
-enum BlackTempleMisc
+enum BTMisc
{
AKAMA_INTRO = 1,
AKAMA_FIGHT = 2,
diff --git a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
index 52b66895bfe..45a439bfc3a 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_gurtogg_bloodboil.cpp
@@ -23,15 +23,15 @@
#include "ScriptedCreature.h"
#include "SpellScript.h"
-enum Says
+enum GurtoggTexts
{
- SAY_AGGRO = 0,
- SAY_SLAY = 1,
- SAY_SPECIAL = 2,
- SAY_ENRAGE = 3
+ SAY_AGGRO = 0,
+ SAY_SLAY = 1,
+ SAY_SPECIAL = 2,
+ SAY_ENRAGE = 3
};
-enum Spells
+enum GurtoggSpells
{
//Gurtogg
SPELL_BLOODBOIL = 42005,
@@ -59,23 +59,23 @@ enum Spells
SPELL_BIRTH = 40031
};
-enum Phases
+enum GurtoggPhases
{
- PHASE_1 = 1,
- PHASE_2 = 2,
- GROUP_PHASE_1 = 1,
- GROUP_PHASE_2 = 2
+ PHASE_1 = 1,
+ PHASE_2 = 2,
+ GROUP_PHASE_1 = 1,
+ GROUP_PHASE_2 = 2
};
-enum Sounds
+enum GurtoggSounds
{
- SOUND_ID_DEATH = 11439,
- SOUND_ID_ENRAGE = 11437
+ SOUND_ID_DEATH = 11439,
+ SOUND_ID_ENRAGE = 11437
};
-enum Events
+enum GurtoggEvents
{
- EVENT_BERSERK = 1,
+ EVENT_BERSERK = 1,
EVENT_BLOODBOIL,
EVENT_ARCING_SMASH,
EVENT_FEL_ACID_BREATH,
@@ -89,6 +89,7 @@ enum Events
EVENT_CHARGE_PLAYER
};
+// 22948 - Gurtogg Bloodboil
struct boss_gurtogg_bloodboil : public BossAI
{
boss_gurtogg_bloodboil(Creature* creature) : BossAI(creature, DATA_GURTOGG_BLOODBOIL)
@@ -143,18 +144,18 @@ struct boss_gurtogg_bloodboil : public BossAI
{
if (events.IsInPhase(PHASE_1))
{
- events.ScheduleEvent(EVENT_BLOODBOIL, Seconds(10), GROUP_PHASE_1, PHASE_1);
- events.ScheduleEvent(EVENT_ARCING_SMASH, Seconds(10), GROUP_PHASE_1, PHASE_1);
- events.ScheduleEvent(EVENT_FEL_ACID_BREATH, Seconds(25), GROUP_PHASE_1, PHASE_1);
- events.ScheduleEvent(EVENT_EJECT, Seconds(35), GROUP_PHASE_1, PHASE_1);
- events.ScheduleEvent(EVENT_BEWILDERING_STRIKE, Seconds(47), GROUP_PHASE_1, PHASE_1);
+ events.ScheduleEvent(EVENT_BLOODBOIL, 10s, GROUP_PHASE_1, PHASE_1);
+ events.ScheduleEvent(EVENT_ARCING_SMASH, 10s, GROUP_PHASE_1, PHASE_1);
+ events.ScheduleEvent(EVENT_FEL_ACID_BREATH, 25s, GROUP_PHASE_1, PHASE_1);
+ events.ScheduleEvent(EVENT_EJECT, 35s, GROUP_PHASE_1, PHASE_1);
+ events.ScheduleEvent(EVENT_BEWILDERING_STRIKE, 47s, GROUP_PHASE_1, PHASE_1);
}
else if (events.IsInPhase(PHASE_2))
{
- events.ScheduleEvent(EVENT_START_PHASE_2, Milliseconds(100), GROUP_PHASE_2, PHASE_2);
- events.ScheduleEvent(EVENT_EJECT_2, Seconds(14), GROUP_PHASE_2, PHASE_2);
- events.ScheduleEvent(EVENT_FEL_ACID_BREATH_2, Seconds(16), GROUP_PHASE_2, PHASE_2);
- events.ScheduleEvent(EVENT_ARCING_SMASH_2, Seconds(8), GROUP_PHASE_2, PHASE_2);
+ events.ScheduleEvent(EVENT_START_PHASE_2, 100ms, GROUP_PHASE_2, PHASE_2);
+ events.ScheduleEvent(EVENT_EJECT_2, 14s, GROUP_PHASE_2, PHASE_2);
+ events.ScheduleEvent(EVENT_FEL_ACID_BREATH_2, 16s, GROUP_PHASE_2, PHASE_2);
+ events.ScheduleEvent(EVENT_ARCING_SMASH_2, 8s, GROUP_PHASE_2, PHASE_2);
}
}
@@ -186,16 +187,16 @@ struct boss_gurtogg_bloodboil : public BossAI
{
case EVENT_BLOODBOIL:
DoCast(SPELL_BLOODBOIL);
- events.Repeat(Seconds(10));
+ events.Repeat(10s);
break;
case EVENT_ARCING_SMASH:
DoCastVictim(SPELL_ARCING_SMASH);
- events.Repeat(Seconds(10));
+ events.Repeat(10s);
break;
case EVENT_FEL_ACID_BREATH:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, me->GetCombatReach()))
DoCast(target, SPELL_FEL_ACID_BREATH);
- events.Repeat(Seconds(25), Seconds(30));
+ events.Repeat(25s, 30s);
break;
case EVENT_EJECT:
Talk(SAY_SPECIAL);
@@ -226,7 +227,7 @@ struct boss_gurtogg_bloodboil : public BossAI
target->CastSpell(target, SPELL_TAUNT_GURTOGG, true);
DoCastAOE(SPELL_INSIGNIFIGANCE, true);
- events.ScheduleEvent(EVENT_CHARGE_PLAYER, Seconds(2), GROUP_PHASE_2, PHASE_2);
+ events.ScheduleEvent(EVENT_CHARGE_PLAYER, 2s, GROUP_PHASE_2, PHASE_2);
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
@@ -236,7 +237,7 @@ struct boss_gurtogg_bloodboil : public BossAI
events.SetPhase(PHASE_1);
events.CancelEventGroup(GROUP_PHASE_2);
ScheduleEvents();
- events.RescheduleEvent(EVENT_CHANGE_PHASE, Seconds(60));
+ events.RescheduleEvent(EVENT_CHANGE_PHASE, 60s);
}
break;
case EVENT_CHARGE_PLAYER:
@@ -251,7 +252,7 @@ struct boss_gurtogg_bloodboil : public BossAI
break;
case EVENT_ARCING_SMASH_2:
DoCastVictim(SPELL_ARCING_SMASH_2);
- events.Repeat(Seconds(13));
+ events.Repeat(13s);
break;
case EVENT_BERSERK:
DoCast(SPELL_BERSERK);
@@ -303,6 +304,7 @@ private:
float _oldThreat;
};
+// 23254 - Fel Geyser
struct npc_fel_geyser : public PassiveAI
{
npc_fel_geyser(Creature* creature) : PassiveAI(creature) { }
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
index 1255bfc4dbd..f77f29f78e1 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp
@@ -32,7 +32,7 @@
#include "SpellScript.h"
#include "TemporarySummon.h"
-enum IllidanSay
+enum IllidanTexts
{
// Illidan
SAY_ILLIDAN_MINION = 0,
@@ -199,7 +199,7 @@ enum IllidanSpells
SPELL_DEMON_FIRE = 40029,
// Flame Crash
- SPELL_FLAME_CRASH_GROUND = 40836
+ SPELL_FLAME_CRASH_GROUND = 40836
};
enum IllidanMisc
@@ -465,6 +465,7 @@ public:
}
};
+// 22917 - Illidan Stormrage
struct boss_illidan_stormrage : public BossAI
{
boss_illidan_stormrage(Creature* creature) : BossAI(creature, DATA_ILLIDAN_STORMRAGE),
@@ -498,7 +499,7 @@ struct boss_illidan_stormrage : public BossAI
specialEvents.ScheduleEvent(EVENT_EVADE_CHECK, 10s);
specialEvents.ScheduleEvent(EVENT_BERSERK, 25min);
ScheduleEvents(GROUP_PHASE_1, GROUP_PHASE_1);
- events.ScheduleEvent(EVENT_TAUNT, Seconds(30), Seconds(60), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_TAUNT, 30s, 60s, GROUP_PHASE_ALL);
}
void JustSummoned(Creature* summon) override
@@ -512,7 +513,7 @@ struct boss_illidan_stormrage : public BossAI
void ChangeOrientation(float orientation)
{
_orientation = orientation;
- events.ScheduleEvent(EVENT_CHANGE_ORIENTATION, Milliseconds(1), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_CHANGE_ORIENTATION, 1ms, GROUP_PHASE_ALL);
}
void KilledUnit(Unit* victim) override
@@ -526,30 +527,30 @@ struct boss_illidan_stormrage : public BossAI
switch (phase)
{
case GROUP_PHASE_1:
- events.ScheduleEvent(EVENT_FLAME_CRASH, Seconds(30), group);
- events.ScheduleEvent(EVENT_DRAW_SOUL, Seconds(34), group);
- events.ScheduleEvent(EVENT_SHEAR, Seconds(10), group);
- events.ScheduleEvent(EVENT_PARASITIC_SHADOWFIEND, Seconds(26), group);
+ events.ScheduleEvent(EVENT_FLAME_CRASH, 30s, group);
+ events.ScheduleEvent(EVENT_DRAW_SOUL, 34s, group);
+ events.ScheduleEvent(EVENT_SHEAR, 10s, group);
+ events.ScheduleEvent(EVENT_PARASITIC_SHADOWFIEND, 26s, group);
break;
case GROUP_PHASE_2:
- events.ScheduleEvent(EVENT_FIREBALL, Seconds(1), Seconds(8), group);
- events.ScheduleEvent(EVENT_EYE_BLAST, Seconds(1), Seconds(30), group);
+ events.ScheduleEvent(EVENT_FIREBALL, 1s, 8s, group);
+ events.ScheduleEvent(EVENT_EYE_BLAST, 1s, 30s, group);
if (roll_chance_i(50))
- events.ScheduleEvent(EVENT_DARK_BARRAGE, Seconds(1), Seconds(20), group);
+ events.ScheduleEvent(EVENT_DARK_BARRAGE, 1s, 20s, group);
break;
case GROUP_PHASE_3:
ScheduleEvents(GROUP_PHASE_1, group);
- events.ScheduleEvent(EVENT_AGONIZING_FLAMES, Seconds(21), group);
- events.ScheduleEvent(EVENT_DEMON, Seconds(60), group);
+ events.ScheduleEvent(EVENT_AGONIZING_FLAMES, 21s, group);
+ events.ScheduleEvent(EVENT_DEMON, 60s, group);
break;
case GROUP_PHASE_DEMON:
- events.ScheduleEvent(EVENT_SHADOW_BLAST, Seconds(1), group);
- events.ScheduleEvent(EVENT_FLAME_BURST, Seconds(6), group);
- events.ScheduleEvent(EVENT_SHADOW_DEMON, Seconds(18), Seconds(30), group);
+ events.ScheduleEvent(EVENT_SHADOW_BLAST, 1s, group);
+ events.ScheduleEvent(EVENT_FLAME_BURST, 6s, group);
+ events.ScheduleEvent(EVENT_SHADOW_DEMON, 18s, 30s, group);
break;
case GROUP_PHASE_4:
ScheduleEvents(GROUP_PHASE_3, group);
- events.ScheduleEvent(EVENT_FRENZY, Seconds(40), group);
+ events.ScheduleEvent(EVENT_FRENZY, 40s, group);
break;
default:
break;
@@ -576,8 +577,8 @@ struct boss_illidan_stormrage : public BossAI
case ACTION_START_ENCOUNTER:
events.SetPhase(PHASE_INTRO);
me->RemoveAurasDueToSpell(SPELL_KNEEL);
- events.ScheduleEvent(EVENT_START_INTRO, Seconds(2), GROUP_PHASE_ALL);
- events.ScheduleEvent(EVENT_UNCONVINCED, Seconds(24), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_START_INTRO, 2s, GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_UNCONVINCED, 24s, GROUP_PHASE_ALL);
if (Creature* akama = instance->GetCreature(DATA_AKAMA))
akama->AI()->DoAction(ACTION_FREE);
break;
@@ -600,7 +601,7 @@ struct boss_illidan_stormrage : public BossAI
me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF);
me->SetDisableGravity(true);
DoPlaySoundToSet(me, ILLIDAN_TAKEOFF_SOUND_ID);
- events.ScheduleEvent(EVENT_FLY, Seconds(1), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_FLY, 1s, GROUP_PHASE_ALL);
events.CancelEventGroup(GROUP_PHASE_1);
break;
}
@@ -627,7 +628,7 @@ struct boss_illidan_stormrage : public BossAI
me->SetReactState(REACT_PASSIVE);
me->AttackStop();
me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
- events.ScheduleEvent(EVENT_SHADOW_PRISON_TEXT, Milliseconds(500), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_SHADOW_PRISON_TEXT, 500ms, GROUP_PHASE_ALL);
break;
case ACTION_ILLIDAN_CAGED:
for (uint32 summonSpell : SummonCageTrapSpells)
@@ -663,8 +664,8 @@ struct boss_illidan_stormrage : public BossAI
{
case POINT_THROW_GLAIVE:
DoPlaySoundToSet(me, ILLIDAN_WARGLAIVE_SOUND_ID);
- events.ScheduleEvent(EVENT_THROW_WARGLAIVE, Seconds(2), GROUP_PHASE_ALL);
- events.ScheduleEvent(EVENT_FACE_MIDDLE, Milliseconds(1), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_THROW_WARGLAIVE, 2s, GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_FACE_MIDDLE, 1ms, GROUP_PHASE_ALL);
break;
case POINT_RANDOM_PILLAR:
{
@@ -683,7 +684,7 @@ struct boss_illidan_stormrage : public BossAI
for (Creature* trigger : triggers)
trigger->CastSpell(trigger, SPELL_GLAIVE_RETURNS, true);
- events.ScheduleEvent(EVENT_GLAIVE_EMOTE, Seconds(3), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_GLAIVE_EMOTE, 3s, GROUP_PHASE_ALL);
break;
}
default:
@@ -755,7 +756,7 @@ struct boss_illidan_stormrage : public BossAI
events.CancelEventGroup(GROUP_PHASE_DEMON);
me->InterruptNonMeleeSpells(false);
DoCastSelf(SPELL_DEMON_TRANSFORM_1, true);
- events.ScheduleEvent(EVENT_PHASE_4_DELAYED, Seconds(12), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_PHASE_4_DELAYED, 12s, GROUP_PHASE_ALL);
}
else
DoAction(ACTION_START_PHASE_4);
@@ -777,12 +778,12 @@ struct boss_illidan_stormrage : public BossAI
me->SetControlled(false, UNIT_STATE_ROOT);
events.CancelEventGroup(GROUP_PHASE_DEMON);
DoCastSelf(SPELL_DEMON_TRANSFORM_1, true);
- events.ScheduleEvent(EVENT_RESUME_COMBAT_DEMON, Seconds(12), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_RESUME_COMBAT_DEMON, 12s, GROUP_PHASE_ALL);
_isDemon = false;
break;
case EVENT_EVADE_CHECK:
EnterEvadeModeIfNeeded();
- specialEvents.Repeat(Seconds(10));
+ specialEvents.Repeat(10s);
break;
default:
break;
@@ -813,12 +814,12 @@ struct boss_illidan_stormrage : public BossAI
break;
case EVENT_UNCONVINCED:
Talk(SAY_ILLIDAN_UNCONVINCED);
- events.ScheduleEvent(EVENT_PREPARED, Seconds(14), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_PREPARED, 14s, GROUP_PHASE_ALL);
break;
case EVENT_PREPARED:
Talk(SAY_ILLIDAN_PREPARED);
me->SetSheath(SHEATH_STATE_MELEE);
- events.ScheduleEvent(EVENT_ENCOUNTER_START, Seconds(3), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_ENCOUNTER_START, 3s, GROUP_PHASE_ALL);
break;
case EVENT_ENCOUNTER_START:
me->SetImmuneToAll(false);
@@ -828,26 +829,26 @@ struct boss_illidan_stormrage : public BossAI
break;
case EVENT_FLAME_CRASH:
DoCastVictim(SPELL_FLAME_CRASH);
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
case EVENT_DRAW_SOUL:
DoCastAOE(SPELL_DRAW_SOUL);
- events.Repeat(Seconds(34));
+ events.Repeat(34s);
break;
case EVENT_SHEAR:
DoCastVictim(SPELL_SHEAR);
- events.Repeat(Seconds(12));
+ events.Repeat(12s);
break;
case EVENT_PARASITIC_SHADOWFIEND:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 0.0f, true))
DoCast(target, SPELL_PARASITIC_SHADOWFIEND);
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
case EVENT_MINIONS_WEAVE:
if (_dead)
return;
SummonMinions();
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
case EVENT_MOVE_TO_WARGLAIVE_POINT:
{
@@ -872,26 +873,26 @@ struct boss_illidan_stormrage : public BossAI
}
case EVENT_THROW_WARGLAIVE:
DoCastAOE(SPELL_THROW_GLAIVE);
- events.ScheduleEvent(EVENT_THROW_WARGLAIVE_2, Seconds(1), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_THROW_WARGLAIVE_2, 1s, GROUP_PHASE_ALL);
break;
case EVENT_THROW_WARGLAIVE_2:
DoCastAOE(SPELL_THROW_GLAIVE2);
me->SetSheath(SHEATH_STATE_UNARMED);
- events.ScheduleEvent(EVENT_FLY_TO_RANDOM_PILLAR, Seconds(2), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_FLY_TO_RANDOM_PILLAR, 2s, GROUP_PHASE_ALL);
break;
case EVENT_CHANGE_ORIENTATION:
me->SetFacingTo(_orientation);
break;
case EVENT_FLY:
ChangeOrientation(3.137039f);
- events.ScheduleEvent(EVENT_MOVE_TO_WARGLAIVE_POINT, Seconds(6), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_MOVE_TO_WARGLAIVE_POINT, 6s, GROUP_PHASE_ALL);
break;
case EVENT_FLY_TO_RANDOM_PILLAR:
{
events.CancelEventGroup(GROUP_PHASE_2);
_pillarIndex = urand(0, 3);
me->GetMotionMaster()->MovePoint(POINT_RANDOM_PILLAR, IllidanPhase2Positions[_pillarIndex]);
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
}
case EVENT_FACE_MIDDLE:
@@ -916,7 +917,7 @@ struct boss_illidan_stormrage : public BossAI
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 150.0f, true))
DoCast(target, SPELL_DARK_BARRAGE);
- events.RescheduleEvent(EVENT_EYE_BLAST, Seconds(5), GROUP_PHASE_2);
+ events.RescheduleEvent(EVENT_EYE_BLAST, 5s, GROUP_PHASE_2);
Milliseconds currentTime = events.GetTimeUntilEvent(EVENT_FLY_TO_RANDOM_PILLAR);
events.RescheduleEvent(EVENT_FLY_TO_RANDOM_PILLAR, currentTime + 30s, GROUP_PHASE_2);
break;
@@ -924,13 +925,13 @@ struct boss_illidan_stormrage : public BossAI
case EVENT_FIREBALL:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 150.0f, true))
DoCast(target, SPELL_FIREBALL);
- events.Repeat(Seconds(2), Seconds(4));
+ events.Repeat(2s, 4s);
break;
case EVENT_GLAIVE_EMOTE:
me->SetDisableGravity(false);
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
me->SetSheath(SHEATH_STATE_MELEE);
- events.ScheduleEvent(EVENT_RESUME_COMBAT, Seconds(3), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_RESUME_COMBAT, 3s, GROUP_PHASE_ALL);
break;
case EVENT_RESUME_COMBAT:
me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
@@ -941,7 +942,7 @@ struct boss_illidan_stormrage : public BossAI
break;
case EVENT_AGONIZING_FLAMES:
DoCastSelf(SPELL_AGONIZING_FLAMES_SELECTOR);
- events.Repeat(Seconds(53));
+ events.Repeat(53s);
break;
case EVENT_DEMON:
me->SetControlled(true, UNIT_STATE_ROOT);
@@ -949,8 +950,8 @@ struct boss_illidan_stormrage : public BossAI
events.CancelEventGroup(_phase == PHASE_3 ? GROUP_PHASE_3 : GROUP_PHASE_4);
me->LoadEquipment(0, true);
DoCastSelf(SPELL_DEMON_TRANSFORM_1, true);
- events.ScheduleEvent(EVENT_DEMON_TEXT, Seconds(2), GROUP_PHASE_ALL);
- specialEvents.ScheduleEvent(EVENT_CANCEL_DEMON_FORM, Minutes(1) + Seconds(12));
+ events.ScheduleEvent(EVENT_DEMON_TEXT, 2s, GROUP_PHASE_ALL);
+ specialEvents.ScheduleEvent(EVENT_CANCEL_DEMON_FORM, 1min + 12s);
events.ScheduleEvent(EVENT_SCHEDULE_DEMON_SPELLS, 15s);
break;
case EVENT_SCHEDULE_DEMON_SPELLS:
@@ -970,31 +971,31 @@ struct boss_illidan_stormrage : public BossAI
}
case EVENT_FLAME_BURST:
DoCastSelf(SPELL_FLAME_BURST);
- events.Repeat(Seconds(22));
+ events.Repeat(22s);
break;
case EVENT_SHADOW_DEMON:
DoCastSelf(SPELL_SUMMON_SHADOWDEMON);
break;
case EVENT_SHADOW_BLAST:
DoCastVictim(SPELL_SHADOW_BLAST);
- events.Repeat(Seconds(2));
+ events.Repeat(2s);
break;
case EVENT_PHASE_4_DELAYED:
DoAction(ACTION_START_PHASE_4);
break;
case EVENT_SHADOW_PRISON_TEXT:
Talk(SAY_ILLIDAN_SHADOW_PRISON);
- events.ScheduleEvent(EVENT_SUMMON_MAIEV, Seconds(9), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_SUMMON_MAIEV, 9s, GROUP_PHASE_ALL);
break;
case EVENT_SUMMON_MAIEV:
DoCastSelf(SPELL_SUMMON_MAIEV);
if (Creature* maiev = instance->GetCreature(DATA_MAIEV))
me->SetFacingToObject(maiev);
- events.ScheduleEvent(EVENT_CONFRONT_MAIEV_TEXT, Seconds(9), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_CONFRONT_MAIEV_TEXT, 9s, GROUP_PHASE_ALL);
break;
case EVENT_CONFRONT_MAIEV_TEXT:
Talk(SAY_ILLIDAN_CONFRONT_MAIEV);
- events.ScheduleEvent(EVENT_RESUME_COMBAT_PHASE_4, Seconds(13), GROUP_PHASE_ALL);
+ events.ScheduleEvent(EVENT_RESUME_COMBAT_PHASE_4, 13s, GROUP_PHASE_ALL);
break;
case EVENT_RESUME_COMBAT_PHASE_4:
me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
@@ -1005,11 +1006,11 @@ struct boss_illidan_stormrage : public BossAI
case EVENT_FRENZY:
DoCastSelf(SPELL_FRENZY);
Talk(SAY_ILLIDAN_FRENZY);
- events.Repeat(Seconds(40));
+ events.Repeat(40s);
break;
case EVENT_TAUNT:
Talk(SAY_ILLIDAN_TAUNT);
- events.Repeat(Seconds(30), Seconds(60));
+ events.Repeat(30s, 60s);
break;
case EVENT_DEFEATED_TEXT:
Talk(SAY_ILLIDAN_DEFEATED);
@@ -1052,6 +1053,7 @@ private:
EventMap specialEvents;
};
+// 23089 - Akama
struct npc_akama_illidan : public ScriptedAI
{
npc_akama_illidan(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()),
@@ -1124,7 +1126,7 @@ struct npc_akama_illidan : public ScriptedAI
me->RemoveNpcFlag(UNIT_NPC_FLAG_GOSSIP);
_events.SetPhase(PHASE_INTRO);
_events.ScheduleEvent(EVENT_TELEPORT, 1s);
- _events.ScheduleEvent(EVENT_MOVE_TO_ILLIDARI_ROOM, Seconds(1) + Milliseconds(500));
+ _events.ScheduleEvent(EVENT_MOVE_TO_ILLIDARI_ROOM, 1s + 500ms);
break;
case ACTION_OPEN_DOOR:
_instance->SetData(ACTION_OPEN_DOOR, 0);
@@ -1183,7 +1185,7 @@ struct npc_akama_illidan : public ScriptedAI
break;
case POINT_TELEPORT:
DoCastSelf(SPELL_AKAMA_TELEPORT);
- _events.ScheduleEvent(EVENT_AKAMA_MINIONS_MOVE_2, Milliseconds(500));
+ _events.ScheduleEvent(EVENT_AKAMA_MINIONS_MOVE_2, 500ms);
break;
case POINT_MINIONS:
_events.SetPhase(PHASE_MINIONS);
@@ -1194,7 +1196,7 @@ struct npc_akama_illidan : public ScriptedAI
_events.ScheduleEvent(EVENT_CHAIN_LIGHTNING, 2s);
break;
case POINT_MOVE_BACK:
- _events.ScheduleEvent(EVENT_AKAMA_MOVE_TO_ILLIDAN, Milliseconds(1));
+ _events.ScheduleEvent(EVENT_AKAMA_MOVE_TO_ILLIDAN, 1ms);
break;
case POINT_ILLIDAN:
_events.ScheduleEvent(EVENT_AKAMA_LIGHT_TEXT, 1s);
@@ -1244,12 +1246,12 @@ struct npc_akama_illidan : public ScriptedAI
break;
case EVENT_SUMMON_SPIRITS:
me->SummonCreatureGroup(SUMMON_GROUP);
- _events.ScheduleEvent(EVENT_SPIRIT_SAY_1, Seconds(1));
+ _events.ScheduleEvent(EVENT_SPIRIT_SAY_1, 1s);
break;
case EVENT_SPIRIT_SAY_1:
if (Creature* undalo = ObjectAccessor::GetCreature(*me, _spiritOfUdaloGUID))
undalo->AI()->Talk(SAY_SPIRIT_ALONE);
- _events.ScheduleEvent(EVENT_SPIRIT_SAY_2, Seconds(6));
+ _events.ScheduleEvent(EVENT_SPIRIT_SAY_2, 6s);
break;
case EVENT_SPIRIT_SAY_2:
if (Creature* olum = ObjectAccessor::GetCreature(*me, _spiritOfOlumGUID))
@@ -1277,12 +1279,12 @@ struct npc_akama_illidan : public ScriptedAI
if (Creature* undalo = ObjectAccessor::GetCreature(*me, _spiritOfUdaloGUID))
{
undalo->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
- undalo->DespawnOrUnsummon(Seconds(7));
+ undalo->DespawnOrUnsummon(7s);
}
if (Creature* olum = ObjectAccessor::GetCreature(*me, _spiritOfOlumGUID))
{
olum->HandleEmoteCommand(EMOTE_ONESHOT_SALUTE);
- olum->DespawnOrUnsummon(Seconds(7));
+ olum->DespawnOrUnsummon(7s);
}
break;
case EVENT_RUN_FROM_ILLIDAN_ROOM:
@@ -1310,7 +1312,7 @@ struct npc_akama_illidan : public ScriptedAI
case EVENT_HEALING_POTION:
if (me->HealthBelowPct(20))
DoCastSelf(SPELL_HEALING_POTION);
- _events.Repeat(Seconds(1));
+ _events.Repeat(1s);
break;
case EVENT_AKAMA_MINIONS:
Talk(SAY_AKAMA_MINIONS);
@@ -1332,7 +1334,7 @@ struct npc_akama_illidan : public ScriptedAI
break;
case EVENT_CHAIN_LIGHTNING:
DoCastVictim(SPELL_CHAIN_LIGHTNING);
- _events.Repeat(Seconds(8) + Milliseconds(500));
+ _events.Repeat(8s + 500ms);
break;
case EVENT_AKAMA_MOVE_BACK:
me->GetMotionMaster()->MoveAlongSplineChain(POINT_MOVE_BACK, SPLINE_MOVE_BACK, false);
@@ -1372,6 +1374,7 @@ private:
bool _isTeleportToMinions;
};
+// 23498 - Parasitic Shadowfiend
struct npc_parasitic_shadowfiend : public ScriptedAI
{
npc_parasitic_shadowfiend(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1387,7 +1390,7 @@ struct npc_parasitic_shadowfiend : public ScriptedAI
if (Creature* illidan = _instance->GetCreature(DATA_ILLIDAN_STORMRAGE))
illidan->AI()->JustSummoned(me);
me->SetReactState(REACT_PASSIVE);
- _scheduler.Schedule(Seconds(2), [this](TaskContext /*context*/)
+ _scheduler.Schedule(2s, [this](TaskContext /*context*/)
{
me->SetReactState(REACT_AGGRESSIVE);
DoZoneInCombat();
@@ -1402,7 +1405,7 @@ struct npc_parasitic_shadowfiend : public ScriptedAI
me->AttackStop();
}
else if (action == ACTION_RESUME_COMBAT)
- _scheduler.Schedule(Seconds(2), [this](TaskContext /*context*/)
+ _scheduler.Schedule(2s, [this](TaskContext /*context*/)
{
me->SetReactState(REACT_AGGRESSIVE);
DoZoneInCombat();
@@ -1424,6 +1427,7 @@ private:
TaskScheduler _scheduler;
};
+// 22996 - Blade of Azzinoth
struct npc_blade_of_azzinoth : public NullCreatureAI
{
npc_blade_of_azzinoth(Creature* creature) : NullCreatureAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1441,10 +1445,10 @@ struct npc_blade_of_azzinoth : public NullCreatureAI
_flameGuid.Clear();
me->PlayDirectSound(WARGLAIVE_SPAWN_SOUND_ID);
DoCastSelf(SPELL_BIRTH, true);
- _scheduler.Schedule(Seconds(3), [this](TaskContext /*context*/)
+ _scheduler.Schedule(3s, [this](TaskContext /*context*/)
{
DoCastSelf(SPELL_SUMMON_TEAR_OF_AZZINOTH);
- _scheduler.Schedule(Milliseconds(500), [this](TaskContext /*context*/)
+ _scheduler.Schedule(500ms, [this](TaskContext /*context*/)
{
if (Creature* flame = ObjectAccessor::GetCreature(*me, _flameGuid))
DoCast(flame, SPELL_AZZINOTH_CHANNEL);
@@ -1469,6 +1473,7 @@ private:
ObjectGuid _flameGuid;
};
+// 22997 - Flame of Azzinoth
struct npc_flame_of_azzinoth : public ScriptedAI
{
npc_flame_of_azzinoth(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
@@ -1515,14 +1520,14 @@ struct npc_flame_of_azzinoth : public ScriptedAI
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, ChargeTargetSelector()))
{
DoCast(target, SPELL_CHARGE);
- _events.Repeat(Seconds(5));
+ _events.Repeat(5s);
}
else
- _events.Repeat(Seconds(1));
+ _events.Repeat(1s);
break;
case EVENT_FLAME_BLAST:
DoCastAOE(SPELL_FLAME_BLAST);
- _events.Repeat(Seconds(12));
+ _events.Repeat(12s);
break;
default:
break;
@@ -1546,6 +1551,7 @@ private:
EventMap _events;
};
+// 23070 - Illidan DB Target
struct npc_illidan_db_target : public NullCreatureAI
{
npc_illidan_db_target(Creature* creature) : NullCreatureAI(creature) { }
@@ -1571,6 +1577,7 @@ struct npc_illidan_db_target : public NullCreatureAI
}
};
+// 23375 - Shadow Demon
struct npc_shadow_demon : public PassiveAI
{
npc_shadow_demon(Creature* creature) : PassiveAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1585,7 +1592,7 @@ struct npc_shadow_demon : public PassiveAI
DoCastSelf(SPELL_SHADOW_DEMON_PASSIVE);
DoCastSelf(SPELL_FIND_TARGET);
- _scheduler.Schedule(Seconds(1), [this](TaskContext checkTarget)
+ _scheduler.Schedule(1s, [this](TaskContext checkTarget)
{
if (Unit* target = ObjectAccessor::GetUnit(*me, _targetGUID))
{
@@ -1619,6 +1626,7 @@ private:
ObjectGuid _targetGUID;
};
+// 23197 - Maiev Shadowsong
struct npc_maiev : public ScriptedAI
{
npc_maiev(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _canDown(true) { }
@@ -1714,25 +1722,25 @@ struct npc_maiev : public ScriptedAI
illidan->CastSpell(illidan, SPELL_CAGED_TRAP_TELEPORT, true);
DoCastSelf(SPELL_CAGE_TRAP_SUMMON);
Talk(SAY_MAIEV_SHADOWSONG_TRAP);
- _events.Repeat(Seconds(30));
+ _events.Repeat(30s);
break;
case EVENT_SHADOW_STRIKE:
DoCastVictim(SPELL_SHADOW_STRIKE);
- _events.Repeat(Seconds(50));
+ _events.Repeat(50s);
break;
case EVENT_THROW_DAGGER:
if (Unit* target = me->GetVictim())
if (!me->IsWithinMeleeRange(target))
{
DoCastVictim(SPELL_THROW_DAGGER);
- _events.Repeat(Seconds(5));
+ _events.Repeat(5s);
break;
}
- _events.Repeat(Seconds(1));
+ _events.Repeat(1s);
break;
case EVENT_TAUNT:
Talk(SAY_MAIEV_SHADOWSONG_TAUNT);
- _events.Repeat(Seconds(30), Seconds(60));
+ _events.Repeat(30s, 60s);
break;
case EVENT_MAIEV_OUTRO_TEXT:
Talk(SAY_MAIEV_SHADOWSONG_OUTRO);
@@ -1744,7 +1752,7 @@ struct npc_maiev : public ScriptedAI
break;
case EVENT_MAIEV_TELEPORT_DESPAWN:
DoCastSelf(SPELL_TELEPORT_VISUAL);
- me->DespawnOrUnsummon(Seconds(1));
+ me->DespawnOrUnsummon(1s);
break;
default:
break;
@@ -1763,13 +1771,14 @@ private:
bool _canDown;
};
+// 23304 - Cage Trap Disturb Trigger
struct npc_cage_trap_trigger : public PassiveAI
{
npc_cage_trap_trigger(Creature* creature) : PassiveAI(creature) { }
void Reset() override
{
- _scheduler.Schedule(Seconds(1), [this](TaskContext checkTarget)
+ _scheduler.Schedule(1s, [this](TaskContext checkTarget)
{
DoCastSelf(SPELL_CAGE_TRAP_PERIODIC);
checkTarget.Repeat();
@@ -1785,6 +1794,7 @@ private:
TaskScheduler _scheduler;
};
+// 23226 - Illidari Elite
struct npc_illidari_elite : public ScriptedAI
{
npc_illidari_elite(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -1809,6 +1819,9 @@ private:
InstanceScript* _instance;
};
+// 23069 - Demon Fire
+// 23259 - Blaze
+// 23336 - Flame Crash
struct npc_illidan_generic_fire : public ScriptedAI
{
npc_illidan_generic_fire(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
@@ -2347,7 +2360,7 @@ class spell_illidan_despawn_akama : public SpellScript
void HandleDummy(SpellEffIndex /*effIndex*/)
{
if (Creature* target = GetHitCreature())
- target->DespawnOrUnsummon(Seconds(1));
+ target->DespawnOrUnsummon(1s);
}
void Register() override
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
index 8515c2f0004..d06827b8975 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_illidari_council.cpp
@@ -26,7 +26,7 @@
#include "SpellAuraEffects.h"
#include "SpellScript.h"
-enum Says
+enum CouncilTexts
{
SAY_COUNCIL_AGRO = 0,
SAY_COUNCIL_ENRAGE = 1,
@@ -36,7 +36,7 @@ enum Says
SAY_COUNCIL_DEATH = 5
};
-enum Spells
+enum CouncilSpells
{
// Illidari Council (Trigger)
SPELL_EMPYREAL_BALANCE = 41499,
@@ -89,7 +89,7 @@ enum Spells
SPELL_ENVENOM_DUMMY = 41510
};
-enum IllidariEvents
+enum CouncilEvents
{
EVENT_EMPYREAL_EQUIVALENCY = 1,
EVENT_VANISH,
@@ -109,7 +109,7 @@ enum IllidariEvents
EVENT_BERSERK
};
-enum IllidariMisc
+enum CouncilMisc
{
SUMMON_COUNCIL_GROUP = 1,
ACTION_REFRESH_DAMPEN
@@ -133,6 +133,7 @@ static uint32 GetRandomBossExcept(uint32 exception)
return Trinity::Containers::SelectRandomContainerElement(bossData);
}
+// 23426 - The Illidari Council
struct boss_illidari_council : public BossAI
{
boss_illidari_council(Creature* creature) : BossAI(creature, DATA_ILLIDARI_COUNCIL), _inCombat(false) { }
@@ -206,7 +207,7 @@ struct boss_illidari_council : public BossAI
{
case EVENT_EMPYREAL_EQUIVALENCY:
DoCastSelf(SPELL_EMPYREAL_EQUIVALENCY, true);
- events.Repeat(Seconds(2));
+ events.Repeat(2s);
break;
case EVENT_BERSERK:
for (uint32 bossData : CouncilData)
@@ -301,6 +302,7 @@ private:
Unit const* _me;
};
+// 22949 - Gathios the Shatterer
struct boss_gathios_the_shatterer : public IllidariCouncilBossAI
{
boss_gathios_the_shatterer(Creature* creature) : IllidariCouncilBossAI(creature, DATA_GATHIOS_THE_SHATTERER) { }
@@ -331,25 +333,25 @@ struct boss_gathios_the_shatterer : public IllidariCouncilBossAI
Unit* target = Trinity::Containers::SelectRandomContainerElement(TargetList);
DoCast(target, RAND(SPELL_BLESS_PROTECTION, SPELL_BLESS_SPELL_WARDING));
}
- events.Repeat(Seconds(30), Seconds(45));
+ events.Repeat(30s, 45s);
break;
}
case EVENT_AURA:
DoCastSelf(RAND(SPELL_CHROMATIC_AURA, SPELL_DEVOTION_AURA));
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
case EVENT_HAMMER_OF_JUSTICE:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, HammerTargetSelector(me)))
DoCast(target, SPELL_HAMMER_OF_JUSTICE);
- events.Repeat(Seconds(20));
+ events.Repeat(20s);
break;
case EVENT_JUDGEMENT:
DoCastVictim(SPELL_JUDGEMENT);
- events.Repeat(Seconds(15));
+ events.Repeat(15s);
break;
case EVENT_CONSECRATION:
DoCastSelf(SPELL_CONSECRATION);
- events.Repeat(Seconds(30), Seconds(35));
+ events.Repeat(30s, 35s);
break;
default:
break;
@@ -357,6 +359,7 @@ struct boss_gathios_the_shatterer : public IllidariCouncilBossAI
}
};
+// 22950 - High Nethermancer Zerevor
struct boss_high_nethermancer_zerevor : public IllidariCouncilBossAI
{
boss_high_nethermancer_zerevor(Creature* creature) : IllidariCouncilBossAI(creature, DATA_HIGH_NETHERMANCER_ZEREVOR), _canUseArcaneExplosion(true) { }
@@ -381,6 +384,7 @@ struct boss_high_nethermancer_zerevor : public IllidariCouncilBossAI
if (actionId == ACTION_REFRESH_DAMPEN)
events.ScheduleEvent(EVENT_DAMPEN_MAGIC, 50s);
}
+
void ExecuteEvent(uint32 eventId) override
{
switch (eventId)
@@ -389,12 +393,12 @@ struct boss_high_nethermancer_zerevor : public IllidariCouncilBossAI
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_FLAMESTRIKE);
Talk(SAY_COUNCIL_SPECIAL);
- events.Repeat(Seconds(40));
+ events.Repeat(40s);
break;
case EVENT_BLIZZARD:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_BLIZZARD);
- events.Repeat(Seconds(15), Seconds(40));
+ events.Repeat(15s, 40s);
break;
case EVENT_ARCANE_EXPLOSION_CHECK:
_canUseArcaneExplosion = true;
@@ -406,7 +410,7 @@ struct boss_high_nethermancer_zerevor : public IllidariCouncilBossAI
_canUseArcaneExplosion = false;
events.ScheduleEvent(EVENT_ARCANE_EXPLOSION_CHECK, 5s);
}
- events.Repeat(Seconds(1));
+ events.Repeat(1s);
break;
case EVENT_DAMPEN_MAGIC:
DoCastSelf(SPELL_DAMPEN_MAGIC);
@@ -440,6 +444,7 @@ private:
bool _canUseArcaneExplosion;
};
+// 22951 - Lady Malande
struct boss_lady_malande : public IllidariCouncilBossAI
{
boss_lady_malande(Creature* creature) : IllidariCouncilBossAI(creature, DATA_LADY_MALANDE) { }
@@ -463,16 +468,16 @@ struct boss_lady_malande : public IllidariCouncilBossAI
{
case EVENT_CIRCLE_OF_HEALING:
DoCastSelf(SPELL_CIRCLE_OF_HEALING);
- events.Repeat(Seconds(20), Seconds(35));
+ events.Repeat(20s, 35s);
break;
case EVENT_REFLECTIVE_SHIELD:
DoCastSelf(SPELL_REFLECTIVE_SHIELD);
Talk(SAY_COUNCIL_SPECIAL);
- events.Repeat(Seconds(40));
+ events.Repeat(40s);
break;
case EVENT_DIVINE_WRATH:
DoCastVictim(SPELL_DIVINE_WRATH);
- events.Repeat(Seconds(20));
+ events.Repeat(20s);
break;
default:
break;
@@ -500,6 +505,7 @@ struct boss_lady_malande : public IllidariCouncilBossAI
}
};
+// 22952 - Veras Darkshadow
struct boss_veras_darkshadow : public IllidariCouncilBossAI
{
boss_veras_darkshadow(Creature* creature) : IllidariCouncilBossAI(creature, DATA_VERAS_DARKSHADOW) { }
@@ -522,7 +528,7 @@ struct boss_veras_darkshadow : public IllidariCouncilBossAI
Talk(SAY_COUNCIL_SPECIAL);
DoCastSelf(SPELL_VANISH);
DoCastSelf(SPELL_DEADLY_STRIKE);
- events.Repeat(Seconds(60));
+ events.Repeat(60s);
break;
default:
break;
@@ -530,6 +536,7 @@ struct boss_veras_darkshadow : public IllidariCouncilBossAI
}
};
+// 23451 - Veras Vanish Effect
struct npc_veras_vanish_effect : public PassiveAI
{
npc_veras_vanish_effect(Creature* creature) : PassiveAI(creature) { }
@@ -537,7 +544,7 @@ struct npc_veras_vanish_effect : public PassiveAI
void Reset() override
{
DoCastSelf(SPELL_BIRTH, true);
- _scheduler.Schedule(Seconds(1), [this](TaskContext /*context*/)
+ _scheduler.Schedule(1s, [this](TaskContext /*context*/)
{
DoCastSelf(SPELL_ENVENOM_DUMMY, true);
});
diff --git a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
index b876dc0900e..d8730117e5a 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_mother_shahraz.cpp
@@ -22,7 +22,7 @@
#include "SpellAuraEffects.h"
#include "GridNotifiers.h"
-enum Texts
+enum ShahrazTexts
{
SAY_TAUNT = 0,
SAY_AGGRO = 1,
@@ -34,7 +34,7 @@ enum Texts
EMOTE_BERSERK = 7
};
-enum Spells
+enum ShahrazSpells
{
SPELL_FATAL_ATTRACTION_DAMAGE = 40871,
SPELL_SILENCING_SHRIEK = 40823,
@@ -59,7 +59,7 @@ enum Spells
SPELL_BEAM_SINFUL = 40827
};
-enum Events
+enum ShahrazEvents
{
EVENT_RANDOM_BEAM = 1,
EVENT_PRISMATIC_SHIELD,
@@ -95,6 +95,7 @@ uint32 const PrismaticAuras[6]=
SPELL_PRISMATIC_AURA_HOLY
};
+// 22947 - Mother Shahraz
struct boss_mother_shahraz : public BossAI
{
boss_mother_shahraz(Creature* creature) : BossAI(creature, DATA_MOTHER_SHAHRAZ), _enraged(false) { }
@@ -151,24 +152,24 @@ struct boss_mother_shahraz : public BossAI
{
case EVENT_RANDOM_BEAM:
DoCastSelf(BeamTriggers[urand(0, 3)]);
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
case EVENT_PRISMATIC_SHIELD:
DoCastSelf(PrismaticAuras[urand(0, 5)]);
- events.Repeat(Seconds(15));
+ events.Repeat(15s);
break;
case EVENT_FATAL_ATTRACTION:
Talk(SAY_SPELL);
DoCastSelf(SPELL_FATAL_ATTRACTION_TELEPORT, { SPELLVALUE_MAX_TARGETS, 3 });
- events.Repeat(Seconds(30));
+ events.Repeat(30s);
break;
case EVENT_SILENCING_SHRIEK:
DoCastVictim(SPELL_SILENCING_SHRIEK);
- events.Repeat(Seconds(18), Seconds(30));
+ events.Repeat(18s, 30s);
break;
case EVENT_TAUNT:
Talk(SAY_TAUNT);
- events.Repeat(Seconds(30), Seconds(40));
+ events.Repeat(30s, 40s);
break;
case EVENT_BERSERK:
Talk(EMOTE_BERSERK, me);
diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
index 4e81dc242fd..f034cd97615 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp
@@ -26,7 +26,7 @@
#include "SpellAuraEffects.h"
#include "SpellScript.h"
-enum Says
+enum ReliquaryTexts
{
// Essence of Suffering
SUFF_SAY_AGRO = 0,
@@ -53,7 +53,7 @@ enum Says
//ANGER_SAY_DEATH = 6
};
-enum Spells
+enum ReliquarySpells
{
// Reliquary
SPELL_SUMMON_ESSENCE_OF_SUFFERING = 41488,
@@ -88,7 +88,7 @@ enum Spells
SUMMON_ENSLAVED_SOUL = 41538
};
-enum Misc
+enum ReliquaryMisc
{
RELIQUARY_DESPAWN_WAYPOINT = 0,
ACTION_ESSENCE_OF_SUFFERING_DEAD,
@@ -98,14 +98,14 @@ enum Misc
ANGER_SOUND_ID_DEATH = 11401
};
-enum Phases
+enum ReliquaryPhases
{
PHASE_ESSENCE_OF_SUFFERING = 1,
PHASE_ESSENCE_OF_DESIRE,
PHASE_ESSENCE_OF_ANGER
};
-enum Events
+enum ReliquaryEvents
{
EVENT_SUBMERGE = 1,
EVENT_SUMMON_ESSENCE,
@@ -138,6 +138,7 @@ class EnslavedSoulEvent : public BasicEvent
Creature* _owner;
};
+// 22856 - Reliquary of the Lost
struct boss_reliquary_of_souls : public BossAI
{
boss_reliquary_of_souls(Creature* creature) : BossAI(creature, DATA_RELIQUARY_OF_SOULS), _inCombat(false) { }
@@ -283,6 +284,7 @@ private:
bool _inCombat;
};
+// 23418 - Essence of Suffering
struct boss_essence_of_suffering : public BossAI
{
boss_essence_of_suffering(Creature* creature) : BossAI(creature, DATA_ESSENCE_OF_SUFFERING), _dead(false)
@@ -308,7 +310,7 @@ struct boss_essence_of_suffering : public BossAI
reliquary->AI()->DoAction(ACTION_ESSENCE_OF_SUFFERING_DEAD);
DoCastSelf(SPELL_SUBMERGE_VISUAL, true);
- me->DespawnOrUnsummon(Seconds(2));
+ me->DespawnOrUnsummon(2s);
}
}
@@ -362,12 +364,12 @@ struct boss_essence_of_suffering : public BossAI
{
case EVENT_SOUL_DRAIN:
DoCastSelf(SPELL_SOUL_DRAIN, { SPELLVALUE_MAX_TARGETS, 5 });
- events.Repeat(Seconds(30), Seconds(35));
+ events.Repeat(30s, 35s);
break;
case EVENT_FRENZY:
Talk(SUFF_SAY_ENRAGE);
DoCastSelf(SPELL_FRENZY);
- events.Repeat(Seconds(45), Seconds(50));
+ events.Repeat(45s, 50s);
break;
default:
break;
@@ -383,6 +385,7 @@ private:
bool _dead;
};
+// 23419 - Essence of Desire
struct boss_essence_of_desire : public BossAI
{
boss_essence_of_desire(Creature* creature) : BossAI(creature, DATA_ESSENCE_OF_DESIRE), _dead(false)
@@ -419,7 +422,7 @@ struct boss_essence_of_desire : public BossAI
reliquary->AI()->DoAction(ACTION_ESSENCE_OF_DESIRE_DEAD);
DoCastSelf(SPELL_SUBMERGE_VISUAL, true);
- me->DespawnOrUnsummon(Seconds(2));
+ me->DespawnOrUnsummon(2s);
}
}
@@ -463,16 +466,16 @@ struct boss_essence_of_desire : public BossAI
{
case EVENT_SPIRIT_SHOCK:
DoCastVictim(SPELL_SPIRIT_SHOCK);
- events.Repeat(Seconds(10), Seconds(15));
+ events.Repeat(10s, 15s);
break;
case EVENT_RUNE_SHIELD:
DoCastSelf(SPELL_RUNE_SHIELD);
- events.Repeat(Seconds(16));
+ events.Repeat(16s);
break;
case EVENT_DEADEN:
Talk(DESI_SAY_SPEC);
DoCastVictim(SPELL_DEADEN);
- events.Repeat(Seconds(31));
+ events.Repeat(31s);
break;
default:
break;
@@ -488,6 +491,7 @@ private:
bool _dead;
};
+// 23420 - Essence of Anger
struct boss_essence_of_anger : public BossAI
{
boss_essence_of_anger(Creature* creature) :BossAI(creature, DATA_ESSENCE_OF_ANGER)
@@ -509,7 +513,7 @@ struct boss_essence_of_anger : public BossAI
events.ScheduleEvent(EVENT_START_CHECK_TANKER, 5s);
events.ScheduleEvent(EVENT_SOUL_SCREAM, 11s);
events.ScheduleEvent(EVENT_SPITE, 20s);
- events.ScheduleEvent(EVENT_FREED_2, Seconds(1), Minutes(3));
+ events.ScheduleEvent(EVENT_FREED_2, 1s, 3min);
me->SetCombatPulseDelay(5);
me->setActive(true);
@@ -553,12 +557,12 @@ struct boss_essence_of_anger : public BossAI
}
case EVENT_SOUL_SCREAM:
DoCastSelf(SPELL_SOUL_SCREAM);
- events.Repeat(Seconds(11));
+ events.Repeat(11s);
break;
case EVENT_SPITE:
Talk(ANGER_SAY_SPITE);
DoCastSelf(SPELL_SPITE, { SPELLVALUE_MAX_TARGETS, 3 });
- events.Repeat(Seconds(20));
+ events.Repeat(20s);
break;
case EVENT_START_CHECK_TANKER:
if (Unit* target = me->GetVictim())
@@ -567,7 +571,7 @@ struct boss_essence_of_anger : public BossAI
events.ScheduleEvent(EVENT_CHECK_TANKER, 1s);
}
else
- events.Repeat(Seconds(1));
+ events.Repeat(1s);
break;
case EVENT_FREED_2:
Talk(ANGER_SAY_FREED_2);
@@ -587,6 +591,7 @@ private:
ObjectGuid _targetGUID;
};
+// 23469 - Enslaved Soul
struct npc_enslaved_soul : public ScriptedAI
{
npc_enslaved_soul(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()), _dead(false) { }
@@ -599,7 +604,7 @@ struct npc_enslaved_soul : public ScriptedAI
DoCastSelf(SPELL_ENSLAVED_SOUL_PASSIVE, true);
- _scheduler.Schedule(Seconds(3), [this](TaskContext /*context*/)
+ _scheduler.Schedule(3s, [this](TaskContext /*context*/)
{
me->SetReactState(REACT_AGGRESSIVE);
DoZoneInCombat();
@@ -651,6 +656,7 @@ private:
bool _dead;
};
+// 23417 - Reliquary Combat Trigger
struct npc_reliquary_combat_trigger : public ScriptedAI
{
npc_reliquary_combat_trigger(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript())
diff --git a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
index 00fc7d84e5d..2e6c0e37a6c 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_shade_of_akama.cpp
@@ -29,7 +29,7 @@
#include "SpellScript.h"
#include "TemporarySummon.h"
-enum Says
+enum AkamaTexts
{
// Akama
SAY_BROKEN_FREE_0 = 0,
@@ -42,7 +42,7 @@ enum Says
SAY_BROKEN_HAIL = 1
};
-enum Spells
+enum AkamaSpells
{
// Akama
SPELL_STEALTH = 34189,
@@ -79,14 +79,14 @@ enum Spells
SPELL_SPIRITBINDER_SPIRIT_HEAL = 42317
};
-enum Creatures
+enum AkamaCreatures
{
NPC_ASHTONGUE_CHANNELER = 23421,
NPC_ASHTONGUE_BROKEN = 23319,
NPC_CREATURE_SPAWNER_AKAMA = 23210
};
-enum Actions
+enum AkamaActions
{
ACTION_START_SPAWNING = 0,
ACTION_STOP_SPAWNING = 1,
@@ -97,7 +97,7 @@ enum Actions
ACTION_BROKEN_HAIL = 6
};
-enum Events
+enum AkamaEvents
{
// Akama
EVENT_SHADE_START = 1,
@@ -137,7 +137,7 @@ enum Events
EVENT_CHAIN_HEAL_RESET = 29
};
-enum Misc
+enum AkamaMisc
{
AKAMA_CHANNEL_WAYPOINT = 0,
AKAMA_INTRO_WAYPOINT = 1,
@@ -198,6 +198,7 @@ static float const MIDDLE_OF_ROOM = 400.0f;
static float const FACE_THE_DOOR = 0.08726646f;
static float const FACE_THE_PLATFORM = 3.118662f;
+// 22841 - Shade of Akama
struct boss_shade_of_akama : public BossAI
{
boss_shade_of_akama(Creature* creature) : BossAI(creature, DATA_SHADE_OF_AKAMA)
@@ -258,7 +259,7 @@ struct boss_shade_of_akama : public BossAI
me->RemoveUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
me->SetImmuneToPC(false);
me->SetWalk(false);
- events.ScheduleEvent(EVENT_ADD_THREAT, Milliseconds(100));
+ events.ScheduleEvent(EVENT_ADD_THREAT, 100ms);
for (ObjectGuid spawnerGuid : _spawners)
if (Creature* spawner = ObjectAccessor::GetCreature(*me, spawnerGuid))
@@ -327,11 +328,11 @@ struct boss_shade_of_akama : public BossAI
}
case EVENT_ADD_THREAT:
DoCast(SPELL_THREAT);
- events.Repeat(Seconds(3) + Milliseconds(500));
+ events.Repeat(3s + 500ms);
break;
case EVENT_EVADE_CHECK:
EnterEvadeModeIfNeeded();
- events.Repeat(Seconds(10));
+ events.Repeat(10s);
break;
default:
break;
@@ -346,6 +347,7 @@ private:
bool _isInPhaseOne;
};
+// 23191 - Akama
struct npc_akama_shade : public ScriptedAI
{
npc_akama_shade(Creature* creature) : ScriptedAI(creature), _summons(me)
@@ -474,11 +476,11 @@ struct npc_akama_shade : public ScriptedAI
break;
case EVENT_CHAIN_LIGHTNING:
DoCastVictim(SPELL_CHAIN_LIGHTNING);
- _events.Repeat(Seconds(8), Seconds(15));
+ _events.Repeat(8s, 15s);
break;
case EVENT_DESTRUCTIVE_POISON:
DoCastSelf(SPELL_DESTRUCTIVE_POISON);
- _events.Repeat(Seconds(3), Seconds(7));
+ _events.Repeat(3s, 7s);
break;
case EVENT_START_SOUL_RETRIEVE:
me->SetFacingTo(FACE_THE_DOOR);
@@ -489,22 +491,22 @@ struct npc_akama_shade : public ScriptedAI
me->HandleEmoteCommand(EMOTE_ONESHOT_ROAR);
Talk(SAY_BROKEN_FREE_0);
SummonBrokens();
- _events.ScheduleEvent(EVENT_BROKEN_FREE_1, Seconds(10));
+ _events.ScheduleEvent(EVENT_BROKEN_FREE_1, 10s);
break;
case EVENT_BROKEN_FREE_1:
Talk(SAY_BROKEN_FREE_1);
- _events.ScheduleEvent(EVENT_BROKEN_FREE_2, Seconds(12));
+ _events.ScheduleEvent(EVENT_BROKEN_FREE_2, 12s);
break;
case EVENT_BROKEN_FREE_2:
Talk(SAY_BROKEN_FREE_2);
- _events.ScheduleEvent(EVENT_BROKEN_FREE_3, Seconds(15));
+ _events.ScheduleEvent(EVENT_BROKEN_FREE_3, 15s);
break;
case EVENT_BROKEN_FREE_3:
if (Creature* special = ObjectAccessor::GetCreature(*me, _chosen))
special->AI()->Talk(SAY_BROKEN_SPECIAL);
_summons.DoAction(ACTION_BROKEN_EMOTE, _pred);
- _events.ScheduleEvent(EVENT_BROKEN_FREE_4, Seconds(5));
+ _events.ScheduleEvent(EVENT_BROKEN_FREE_4, 5s);
break;
case EVENT_BROKEN_FREE_4:
_summons.DoAction(ACTION_BROKEN_HAIL, _pred);
@@ -552,6 +554,7 @@ private:
bool _hasYelledOnce;
};
+// 23421 - Ashtongue Channeler
struct npc_ashtongue_channeler : public PassiveAI
{
npc_ashtongue_channeler(Creature* creature) : PassiveAI(creature)
@@ -561,7 +564,7 @@ struct npc_ashtongue_channeler : public PassiveAI
void Reset() override
{
- _scheduler.Schedule(Seconds(2), [this](TaskContext channel)
+ _scheduler.Schedule(2s, [this](TaskContext channel)
{
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
{
@@ -569,10 +572,10 @@ struct npc_ashtongue_channeler : public PassiveAI
DoCastSelf(SPELL_SHADE_SOUL_CHANNEL);
else
- me->DespawnOrUnsummon(Seconds(3));
+ me->DespawnOrUnsummon(3s);
}
- channel.Repeat(Seconds(2));
+ channel.Repeat(2s);
});
me->SetUnitFlag(UNIT_FLAG_UNINTERACTIBLE);
}
@@ -587,6 +590,7 @@ private:
TaskScheduler _scheduler;
};
+// 23210 - Creature Generator (Akama)
struct npc_creature_generator_akama : public ScriptedAI
{
npc_creature_generator_akama(Creature* creature) : ScriptedAI(creature), _summons(me)
@@ -621,7 +625,7 @@ struct npc_creature_generator_akama : public ScriptedAI
case ACTION_START_SPAWNING:
if (_leftSide)
{
- _events.ScheduleEvent(EVENT_SPAWN_WAVE_B, Milliseconds(100));
+ _events.ScheduleEvent(EVENT_SPAWN_WAVE_B, 100ms);
_events.ScheduleEvent(EVENT_SUMMON_ASHTONGUE_SORCERER, 2s, 5s);
}
else
@@ -652,15 +656,15 @@ struct npc_creature_generator_akama : public ScriptedAI
{
case EVENT_SPAWN_WAVE_B:
DoCastSelf(SPELL_ASHTONGUE_WAVE_B);
- _events.Repeat(Seconds(50), Seconds(60));
+ _events.Repeat(50s, 60s);
break;
case EVENT_SUMMON_ASHTONGUE_SORCERER: // left
DoCastSelf(SPELL_SUMMON_ASHTONGUE_SORCERER);
- _events.Repeat(Seconds(30), Seconds(35));
+ _events.Repeat(30s, 35s);
break;
case EVENT_SUMMON_ASHTONGUE_DEFENDER: // right
DoCastSelf(SPELL_SUMMON_ASHTONGUE_DEFENDER);
- _events.Repeat(Seconds(30), Seconds(40));
+ _events.Repeat(30s, 40s);
break;
default:
break;
@@ -674,6 +678,7 @@ private:
bool _leftSide;
};
+// 23215 - Ashtongue Sorcerer
struct npc_ashtongue_sorcerer : public ScriptedAI
{
npc_ashtongue_sorcerer(Creature* creature) : ScriptedAI(creature)
@@ -703,7 +708,7 @@ struct npc_ashtongue_sorcerer : public ScriptedAI
void JustDied(Unit* /*killer*/) override
{
- me->DespawnOrUnsummon(Seconds(5));
+ me->DespawnOrUnsummon(5s);
}
void EnterEvadeMode(EvadeReason /*why*/) override { }
@@ -726,7 +731,7 @@ struct npc_ashtongue_sorcerer : public ScriptedAI
me->GetMotionMaster()->Clear();
me->GetMotionMaster()->MovePoint(1, me->GetPositionX() + frand(-8.0f, 8.0f), me->GetPositionY() + frand(-8.0f, 8.0f), me->GetPositionZ());
- _scheduler.Schedule(Seconds(1) + Milliseconds(500), [this](TaskContext sorcer_channel)
+ _scheduler.Schedule(1s + 500ms, [this](TaskContext sorcer_channel)
{
if (Creature* shade = _instance->GetCreature(DATA_SHADE_OF_AKAMA))
{
@@ -734,7 +739,7 @@ struct npc_ashtongue_sorcerer : public ScriptedAI
{
me->SetFacingToObject(shade);
DoCastSelf(SPELL_SHADE_SOUL_CHANNEL);
- sorcer_channel.Repeat(Seconds(2));
+ sorcer_channel.Repeat(2s);
}
else
{
@@ -768,6 +773,7 @@ private:
bool _inBanish;
};
+// 23216 - Ashtongue Defender
struct npc_ashtongue_defender : public ScriptedAI
{
npc_ashtongue_defender(Creature* creature) : ScriptedAI(creature)
@@ -783,7 +789,7 @@ struct npc_ashtongue_defender : public ScriptedAI
void JustDied(Unit* /*killer*/) override
{
- me->DespawnOrUnsummon(Seconds(5));
+ me->DespawnOrUnsummon(5s);
}
void JustEngagedWith(Unit* /*who*/) override
@@ -807,19 +813,19 @@ struct npc_ashtongue_defender : public ScriptedAI
{
case EVENT_DEBILITATING_STRIKE:
DoCastVictim(SPELL_DEBILITATING_STRIKE);
- _events.Repeat(Seconds(20), Seconds(25));
+ _events.Repeat(20s, 25s);
break;
case EVENT_HEROIC_STRIKE:
DoCastSelf(SPELL_HEROIC_STRIKE);
- _events.Repeat(Seconds(5), Seconds(15));
+ _events.Repeat(5s, 15s);
break;
case EVENT_SHIELD_BASH:
DoCastVictim(SPELL_SHIELD_BASH);
- _events.Repeat(Seconds(10), Seconds(20));
+ _events.Repeat(10s, 20s);
break;
case EVENT_WINDFURY:
DoCastVictim(SPELL_WINDFURY);
- _events.Repeat(Seconds(6), Seconds(8));
+ _events.Repeat(6s, 8s);
break;
default:
break;
@@ -834,6 +840,7 @@ private:
EventMap _events;
};
+// 23318 - Ashtongue Rogue
struct npc_ashtongue_rogue : public ScriptedAI
{
npc_ashtongue_rogue(Creature* creature) : ScriptedAI(creature)
@@ -849,12 +856,12 @@ struct npc_ashtongue_rogue : public ScriptedAI
void JustDied(Unit* /*killer*/) override
{
- me->DespawnOrUnsummon(Seconds(5));
+ me->DespawnOrUnsummon(5s);
}
void JustEngagedWith(Unit* /*who*/) override
{
- _events.ScheduleEvent(EVENT_DEBILITATING_POISON, Milliseconds(500), Seconds(2));
+ _events.ScheduleEvent(EVENT_DEBILITATING_POISON, 500ms, 2s);
_events.ScheduleEvent(EVENT_EVISCERATE, 2s, 5s);
}
@@ -873,11 +880,11 @@ struct npc_ashtongue_rogue : public ScriptedAI
{
case EVENT_DEBILITATING_POISON:
DoCastVictim(SPELL_DEBILITATING_POISON);
- _events.Repeat(Seconds(15), Seconds(20));
+ _events.Repeat(15s, 20s);
break;
case EVENT_EVISCERATE:
DoCastVictim(SPELL_EVISCERATE);
- _events.Repeat(Seconds(12), Seconds(20));
+ _events.Repeat(12s, 20s);
break;
default:
break;
@@ -892,6 +899,7 @@ private:
EventMap _events;
};
+// 23523 - Ashtongue Elementalist
struct npc_ashtongue_elementalist : public ScriptedAI
{
npc_ashtongue_elementalist(Creature* creature) : ScriptedAI(creature)
@@ -907,7 +915,7 @@ struct npc_ashtongue_elementalist : public ScriptedAI
void JustDied(Unit* /*killer*/) override
{
- me->DespawnOrUnsummon(Seconds(5));
+ me->DespawnOrUnsummon(5s);
}
void JustEngagedWith(Unit* /*who*/) override
@@ -931,11 +939,11 @@ struct npc_ashtongue_elementalist : public ScriptedAI
{
case EVENT_RAIN_OF_FIRE:
DoCastVictim(SPELL_RAIN_OF_FIRE);
- _events.Repeat(Seconds(15), Seconds(20));
+ _events.Repeat(15s, 20s);
break;
case EVENT_LIGHTNING_BOLT:
DoCastVictim(SPELL_LIGHTNING_BOLT);
- _events.Repeat(Seconds(8), Seconds(15));
+ _events.Repeat(8s, 15s);
break;
default:
break;
@@ -950,6 +958,7 @@ private:
EventMap _events;
};
+// 23524 - Ashtongue Spiritbinder
struct npc_ashtongue_spiritbinder : public ScriptedAI
{
npc_ashtongue_spiritbinder(Creature* creature) : ScriptedAI(creature)
@@ -974,7 +983,7 @@ struct npc_ashtongue_spiritbinder : public ScriptedAI
void JustDied(Unit* /*killer*/) override
{
- me->DespawnOrUnsummon(Seconds(5));
+ me->DespawnOrUnsummon(5s);
}
void JustEngagedWith(Unit* /*who*/) override
@@ -1014,7 +1023,7 @@ struct npc_ashtongue_spiritbinder : public ScriptedAI
{
case EVENT_SPIRIT_HEAL:
DoCastSelf(SPELL_SPIRITBINDER_SPIRIT_HEAL);
- _events.Repeat(Seconds(13), Seconds(16));
+ _events.Repeat(13s, 16s);
break;
case EVENT_SPIRIT_MEND_RESET:
_spiritMend = false;
@@ -1040,6 +1049,7 @@ private:
bool _chainHeal;
};
+// 23319 - Ashtongue Broken
struct npc_ashtongue_broken : public ScriptedAI
{
npc_ashtongue_broken(Creature* creature) : ScriptedAI(creature)
diff --git a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
index dedc0e8739a..6a5d05e0541 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_supremus.cpp
@@ -22,14 +22,14 @@
#include "PassiveAI.h"
#include "ScriptedCreature.h"
-enum Texts
+enum SupremusTexts
{
EMOTE_NEW_TARGET = 0,
EMOTE_PUNCH_GROUND = 1,
EMOTE_GROUND_CRACK = 2
};
-enum Spells
+enum SupremusSpells
{
SPELL_MOLTEN_PUNCH = 40126,
SPELL_HATEFUL_STRIKE = 41926,
@@ -42,7 +42,7 @@ enum Spells
SPELL_CHARGE = 41581
};
-enum Events
+enum SupremusEvents
{
EVENT_BERSERK = 1,
EVENT_SWITCH_PHASE,
@@ -52,17 +52,19 @@ enum Events
EVENT_HATEFUL_STRIKE
};
-enum Phases
+enum SupremusPhases
{
PHASE_INITIAL = 1,
PHASE_STRIKE = 2,
PHASE_CHASE = 3
};
-enum Actions
+enum SupremusActions
{
ACTION_DISABLE_VULCANO = 1
};
+
+// 22898 - Supremus
struct boss_supremus : public BossAI
{
boss_supremus(Creature* creature) : BossAI(creature, DATA_SUPREMUS) { }
@@ -96,7 +98,7 @@ struct boss_supremus : public BossAI
events.SetPhase(PHASE_STRIKE);
DummyEntryCheckPredicate pred;
summons.DoAction(ACTION_DISABLE_VULCANO, pred);
- events.ScheduleEvent(EVENT_HATEFUL_STRIKE, Seconds(2), 0, PHASE_STRIKE);
+ events.ScheduleEvent(EVENT_HATEFUL_STRIKE, 2s, 0, PHASE_STRIKE);
me->RemoveAurasDueToSpell(SPELL_SNARE_SELF);
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, false);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, false);
@@ -104,8 +106,8 @@ struct boss_supremus : public BossAI
else
{
events.SetPhase(PHASE_CHASE);
- events.ScheduleEvent(EVENT_VOLCANO, Seconds(5), 0, PHASE_CHASE);
- events.ScheduleEvent(EVENT_SWITCH_TARGET, Seconds(10), 0, PHASE_CHASE);
+ events.ScheduleEvent(EVENT_VOLCANO, 5s, 0, PHASE_CHASE);
+ events.ScheduleEvent(EVENT_SWITCH_TARGET, 10s, 0, PHASE_CHASE);
me->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true);
me->ApplySpellImmune(0, IMMUNITY_EFFECT, SPELL_EFFECT_ATTACK_ME, true);
DoCast(SPELL_SNARE_SELF);
@@ -145,12 +147,12 @@ struct boss_supremus : public BossAI
break;
case EVENT_FLAME:
DoCast(SPELL_MOLTEN_PUNCH);
- events.Repeat(Seconds(15), Seconds(20));
+ events.Repeat(15s, 20s);
break;
case EVENT_HATEFUL_STRIKE:
if (Unit* target = CalculateHatefulStrikeTarget())
DoCast(target, SPELL_HATEFUL_STRIKE);
- events.Repeat(Seconds(5));
+ events.Repeat(5s);
break;
case EVENT_SWITCH_TARGET:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100.0f, true))
@@ -160,12 +162,12 @@ struct boss_supremus : public BossAI
DoCast(target, SPELL_CHARGE);
Talk(EMOTE_NEW_TARGET);
}
- events.Repeat(Seconds(10));
+ events.Repeat(10s);
break;
case EVENT_VOLCANO:
DoCastAOE(SPELL_VOLCANIC_SUMMON, true);
Talk(EMOTE_GROUND_CRACK);
- events.Repeat(Seconds(10));
+ events.Repeat(10s);
break;
case EVENT_SWITCH_PHASE:
ChangePhase();
@@ -176,6 +178,7 @@ struct boss_supremus : public BossAI
}
};
+// 23095 - Supremus Punch Invis Stalker
struct npc_molten_flame : public NullCreatureAI
{
npc_molten_flame(Creature* creature) : NullCreatureAI(creature) { }
@@ -189,13 +192,14 @@ struct npc_molten_flame : public NullCreatureAI
}
};
+// 23085 - Supremus Volcano
struct npc_volcano : public NullCreatureAI
{
npc_volcano(Creature* creature) : NullCreatureAI(creature) { }
void Reset() override
{
- _scheduler.Schedule(Seconds(3), [this](TaskContext /*context*/)
+ _scheduler.Schedule(3s, [this](TaskContext /*context*/)
{
DoCastSelf(SPELL_VOLCANIC_ERUPTION);
});
diff --git a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
index 8124325e761..c5b62d0dba5 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_teron_gorefiend.cpp
@@ -26,7 +26,7 @@
#include "SpellAuraEffects.h"
#include "SpellScript.h"
-enum Says
+enum TeronTexts
{
SAY_INTRO = 0,
SAY_AGGRO = 1,
@@ -37,7 +37,7 @@ enum Says
SAY_DEATH = 6
};
-enum Spells
+enum TeronSpells
{
//Teron
SPELL_INCINERATE = 40239,
@@ -71,14 +71,14 @@ enum Spells
SPELL_SPIRIT_LANCE = 40157
};
-enum Npcs
+enum TeronCreatures
{
NPC_DOOM_BLOSSOM = 23123,
NPC_SHADOWY_CONSTRUCT = 23111,
NPC_VENGEFUL_SPIRIT = 23109 //Npc controlled by player
};
-enum Events
+enum TeronEvents
{
EVENT_ENRAGE = 1,
EVENT_INCINERATE,
@@ -87,7 +87,7 @@ enum Events
EVENT_CRUSHING_SHADOWS
};
-enum Actions
+enum TeronActions
{
ACTION_START_INTRO = 1
};
@@ -100,6 +100,7 @@ uint32 const SkeletronSpells[4] =
SPELL_SUMMON_SKELETRON_4
};
+// 22871 - Teron Gorefiend
struct boss_teron_gorefiend : public BossAI
{
boss_teron_gorefiend(Creature* creature) : BossAI(creature, DATA_TERON_GOREFIEND) { }
@@ -162,22 +163,22 @@ struct boss_teron_gorefiend : public BossAI
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_INCINERATE);
Talk(SAY_INCINERATE);
- events.Repeat(Seconds(12), Seconds(20));
+ events.Repeat(12s, 20s);
break;
case EVENT_SUMMON_DOOM_BLOSSOM:
DoCastSelf(SPELL_SUMMON_DOOM_BLOSSOM, true);
Talk(SAY_BLOSSOM);
- events.Repeat(Seconds(30), Seconds(40));
+ events.Repeat(30s, 40s);
break;
case EVENT_SHADOW_DEATH:
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 1, 100.0f, true, true, -SPELL_SPIRITUAL_VENGEANCE))
DoCast(target, SPELL_SHADOW_OF_DEATH);
- events.Repeat(Seconds(30), Seconds(35));
+ events.Repeat(30s, 35s);
break;
case EVENT_CRUSHING_SHADOWS:
DoCastSelf(SPELL_CRUSHING_SHADOWS, { SPELLVALUE_MAX_TARGETS, 5 });
Talk(SAY_CRUSHING);
- events.Repeat(Seconds(18), Seconds(30));
+ events.Repeat(18s, 30s);
break;
default:
break;
@@ -191,6 +192,7 @@ struct boss_teron_gorefiend : public BossAI
}
};
+// 23123 - Doom Blossom
struct npc_doom_blossom : public NullCreatureAI
{
npc_doom_blossom(Creature* creature) : NullCreatureAI(creature), _instance(me->GetInstanceScript()) { }
@@ -206,12 +208,12 @@ struct npc_doom_blossom : public NullCreatureAI
DoCast(SPELL_SUMMON_BLOSSOM_MOVE_TARGET);
_scheduler.CancelAll();
DoZoneInCombat();
- _scheduler.Schedule(Seconds(12), [this](TaskContext shadowBolt)
+ _scheduler.Schedule(12s, [this](TaskContext shadowBolt)
{
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0))
DoCast(target, SPELL_SHADOWBOLT);
- shadowBolt.Repeat(Seconds(2));
+ shadowBolt.Repeat(2s);
});
}
@@ -228,6 +230,7 @@ private:
InstanceScript* _instance;
};
+// 23111 - Shadowy Construct
struct npc_shadowy_construct : public ScriptedAI
{
npc_shadowy_construct(Creature* creature) : ScriptedAI(creature), _instance(creature->GetInstanceScript()) { }
@@ -242,12 +245,12 @@ struct npc_shadowy_construct : public ScriptedAI
targetGUID.Clear();
_scheduler.CancelAll();
- _scheduler.Schedule(Seconds(12), [this](TaskContext atrophy)
+ _scheduler.Schedule(12s, [this](TaskContext atrophy)
{
DoCastVictim(SPELL_ATROPHY);
- atrophy.Repeat(Seconds(10), Seconds(12));
+ atrophy.Repeat(10s, 12s);
});
- _scheduler.Schedule(Milliseconds(200), [this](TaskContext checkPlayer)
+ _scheduler.Schedule(200ms, [this](TaskContext checkPlayer)
{
if (Unit* target = ObjectAccessor::GetUnit(*me, targetGUID))
{
@@ -257,7 +260,7 @@ struct npc_shadowy_construct : public ScriptedAI
else
SelectNewTarget();
- checkPlayer.Repeat(Seconds(1));
+ checkPlayer.Repeat(1s);
});
if (Creature* teron = _instance->GetCreature(DATA_TERON_GOREFIEND))
diff --git a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
index 0b59044f955..67a3cecfd94 100644
--- a/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
+++ b/src/server/scripts/Outland/BlackTemple/boss_warlord_najentus.cpp
@@ -26,7 +26,7 @@
#include "SpellInfo.h"
#include "SpellScript.h"
-enum Texts
+enum NajentusTexts
{
SAY_AGGRO = 0,
SAY_NEEDLE = 1,
@@ -36,7 +36,7 @@ enum Texts
SAY_DEATH = 5
};
-enum Spells
+enum NajentusSpells
{
SPELL_NEEDLE_SPINE_TARGETING = 39992,
SPELL_NEEDLE_SPINE = 39835,
@@ -48,7 +48,7 @@ enum Spells
SPELL_BERSERK = 26662
};
-enum Events
+enum NajentusEvents
{
EVENT_BERSERK = 1,
EVENT_YELL = 2,
@@ -57,12 +57,13 @@ enum Events
EVENT_SHIELD = 5
};
-enum Misc
+enum NajentusMisc
{
DATA_REMOVE_IMPALING_SPINE = 1,
ACTION_RESET_IMPALING_TARGET = 2
};
+// 22887 - High Warlord Naj'entus
struct boss_najentus : public BossAI
{
boss_najentus(Creature* creature) : BossAI(creature, DATA_HIGH_WARLORD_NAJENTUS) { }
@@ -97,7 +98,7 @@ struct boss_najentus : public BossAI
{
me->RemoveAurasDueToSpell(SPELL_TIDAL_SHIELD);
DoCastSelf(SPELL_TIDAL_BURST, true);
- events.RescheduleEvent(EVENT_SPINE, Seconds(2));
+ events.RescheduleEvent(EVENT_SPINE, 2s);
}
}
@@ -142,8 +143,8 @@ struct boss_najentus : public BossAI
{
case EVENT_SHIELD:
DoCastSelf(SPELL_TIDAL_SHIELD, true);
- events.RescheduleEvent(EVENT_SPINE, Seconds(50));
- events.Repeat(Seconds(55), Seconds(60));
+ events.RescheduleEvent(EVENT_SPINE, 50s);
+ events.Repeat(55s, 60s);
break;
case EVENT_BERSERK:
Talk(SAY_ENRAGE);
@@ -158,15 +159,15 @@ struct boss_najentus : public BossAI
target->SummonGameObject(GO_NAJENTUS_SPINE, *target, QuaternionData(), 30s);
Talk(SAY_NEEDLE);
}
- events.Repeat(Seconds(20), Seconds(25));
+ events.Repeat(20s, 25s);
break;
case EVENT_NEEDLE:
DoCastSelf(SPELL_NEEDLE_SPINE_TARGETING, true);
- events.Repeat(Seconds(2));
+ events.Repeat(2s);
break;
case EVENT_YELL:
Talk(SAY_SPECIAL);
- events.Repeat(Seconds(25), Seconds(100));
+ events.Repeat(25s, 100s);
break;
default:
break;
@@ -177,6 +178,7 @@ private:
ObjectGuid _spineTargetGUID;
};
+// 185584 - Naj'entus Spine
struct go_najentus_spine : public GameObjectAI
{
go_najentus_spine(GameObject* go) : GameObjectAI(go), _instance(go->GetInstanceScript()) { }