25 #define HYJAL_AI_MAX_SPELLS 3
52 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL, 0, 0, 0, 0, 0, 0, 0, 0}, 120000,
false},
53 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND, 0, 0, 0, 0, 0, 0}, 120000,
false},
54 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND, 0, 0, 0, 0, 0, 0}, 120000,
false},
55 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0, 0, 0}, 120000,
false},
56 {{
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0, 0, 0}, 120000,
false},
57 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION, 0, 0, 0, 0, 0, 0}, 120000,
false},
58 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION, 0, 0, 0, 0, 0, 0}, 120000,
false},
59 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
ABOMINATION,
ABOMINATION,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0}, 180000,
false},
61 {{
RAGE_WINTERCHILL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0,
true},
63 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL, 0, 0, 0, 0, 0, 0, 0, 0}, 120000,
false},
64 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION, 0, 0, 0, 0, 0, 0}, 120000,
false},
65 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0, 0, 0}, 120000,
false},
66 {{
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
BANSHEE,
BANSHEE, 0, 0, 0, 0, 0, 0}, 120000,
false},
67 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
NECROMANCER,
NECROMANCER,
BANSHEE,
BANSHEE,
BANSHEE,
BANSHEE, 0, 0, 0, 0, 0, 0}, 120000,
false},
68 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0, 0, 0}, 120000,
false},
69 {{
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
BANSHEE,
BANSHEE,
BANSHEE,
BANSHEE,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
GHOUL,
GHOUL, 0, 0, 0, 0}, 120000,
false},
70 {{
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
BANSHEE,
BANSHEE,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0}, 180000,
false},
72 {{
ANETHERON, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0,
true}
77 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
BANSHEE,
BANSHEE,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0, 0, 0}, 180000,
false},
78 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE, 0, 0, 0, 0}, 180000,
false},
79 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0}, 180000,
false},
80 {{
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0}, 180000,
false},
81 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0}, 180000,
false},
82 {{
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
FROST_WYRM, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 180000,
false},
83 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
FROST_WYRM, 0, 0, 0, 0, 0, 0, 0}, 180000,
false},
84 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
BANSHEE,
BANSHEE,
NECROMANCER,
NECROMANCER, 0, 0}, 240000,
false},
86 {{
KAZROGAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0,
true},
88 {{
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0, 0, 0}, 180000,
false},
89 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
FROST_WYRM,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE,
GARGOYLE, 0, 0, 0, 0}, 180000,
false},
90 {{
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GHOUL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL, 0, 0, 0, 0}, 180000,
false},
91 {{
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER, 0, 0, 0, 0}, 180000,
false},
92 {{
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
FEL_STALKER,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER, 0, 0, 0, 0}, 180000,
false},
93 {{
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
NECROMANCER,
BANSHEE,
BANSHEE,
BANSHEE,
BANSHEE,
BANSHEE,
BANSHEE, 0, 0, 0, 0, 0, 0}, 180000,
false},
94 {{
GHOUL,
GHOUL,
CRYPT_FIEND,
CRYPT_FIEND,
FEL_STALKER,
FEL_STALKER,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL,
GIANT_INFERNAL, 0, 0, 0, 0}, 180000,
false},
95 {{
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
CRYPT_FIEND,
FEL_STALKER,
FEL_STALKER,
ABOMINATION,
ABOMINATION,
ABOMINATION,
ABOMINATION,
BANSHEE,
BANSHEE,
BANSHEE,
BANSHEE,
NECROMANCER,
NECROMANCER, 0, 0}, 240000,
false},
97 {{
AZGALOR, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0,
true}
124 void Reset()
override;
bool EventBegun
Definition: hyjalAI.h:174
#define HYJAL_AI_MAX_SPELLS
Definition: hyjalAI.h:25
void WaypointReached(uint32 waypointId) override
Definition: hyjalAI.cpp:943
uint32 RespawnTimer
Definition: hyjalAI.h:190
ObjectGuid BossGUID[2]
Definition: hyjalAI.h:164
SummonList Summons
Definition: hyjalAI.h:182
uint32 TeleportTimer
Definition: hyjalAI.h:186
bool SecondBossDead
Definition: hyjalAI.h:176
Definition: ScriptedEscortAI.h:52
void MoveInLineOfSight(Unit *who) override
Definition: hyjalAI.cpp:444
uint32 EnemyCount
Definition: hyjalAI.h:171
uint32 Faction
Definition: hyjalAI.h:170
InstanceScript * instance
Definition: hyjalAI.h:161
void JustSummoned(Creature *summoned) override
Definition: hyjalAI.cpp:373
uint32 NextWaveTimer
Definition: hyjalAI.h:167
Spells
Definition: BattlegroundIC.h:707
void EnterCombat(Unit *) override
Definition: hyjalAI.cpp:434
Faction
Definition: boss_zum_rah.cpp:50
uint32 OverrunCounter2
Definition: hyjalAI.h:188
void SpawnVeins()
Definition: hyjalAI.cpp:645
void JustDied(Unit *) override
Definition: hyjalAI.cpp:886
uint32 RetreatTimer
Definition: hyjalAI.h:172
EvadeReason
Definition: CreatureAI.h:85
bool FirstBossDead
Definition: hyjalAI.h:175
bool VeinsSpawned[2]
Definition: hyjalAI.h:180
const Wave AllianceWaves[]
Definition: hyjalAI.h:50
const Wave HordeWaves[]
Definition: hyjalAI.h:75
hyjalAI(Creature *creature)
Definition: hyjalAI.cpp:318
Definition: Creature.h:467
void SummonNextWave(const Wave wave[18], uint32 Count, float Base[4][3])
Definition: hyjalAI.cpp:536
uint32 MassTeleportTimer
Definition: hyjalAI.h:194
uint32 CheckTimer
Definition: hyjalAI.h:169
bool Overrun
Definition: hyjalAI.h:183
void UpdateAI(uint32 diff) override
Definition: hyjalAI.cpp:703
Definition: hyjalAI.h:114
SpellIds
Definition: stratholme.h:79
bool DoMassTeleport
Definition: hyjalAI.h:195
void DeSpawnVeins()
Definition: hyjalAI.cpp:673
void Initialize()
Definition: hyjalAI.cpp:338
uint32 Mob[18]
Definition: hyjalAI.h:45
ObjectGuid VeinGUID[14]
Definition: hyjalAI.h:165
Definition: hyjalAI.h:118
bool Debug
Definition: hyjalAI.h:179
Definition: CreatureAI.h:90
Definition: hyjalAI.h:103
uint32 TargetType
Definition: hyjalAI.h:202
TargetType
Definition: hyjalAI.h:100
bool Teleported
Definition: hyjalAI.h:184
void StartEvent(Player *player)
Definition: hyjalAI.cpp:586
bool bRetreat
Definition: hyjalAI.h:178
bool DoHide
Definition: hyjalAI.h:192
uint32_t uint32
Definition: Define.h:150
bool DoRespawn
Definition: hyjalAI.h:191
G3D::int16 y
Definition: Vector2int16.h:38
Definition: hyjalAI.h:111
Definition: hyjalAI.h:113
bool WaitForTeleport
Definition: hyjalAI.h:185
uint32 Cooldown
Definition: hyjalAI.h:201
uint32 SpellTimer[3]
Definition: hyjalAI.h:206
Definition: hyjalAI.h:198
void DoOverrun(uint32 faction, const uint32 diff)
Definition: hyjalAI.cpp:998
uint8 InfernalCount
Definition: hyjalAI.h:181
Definition: hyjalAI.h:110
Definition: hyjalAI.h:109
bool IsDummy
Definition: hyjalAI.h:193
bool Summon
Definition: hyjalAI.h:177
uint32 WaveCount
Definition: hyjalAI.h:168
void RespawnNearPos(float x, float y)
Definition: hyjalAI.cpp:931
void SetFaction(uint32 _faction)
Definition: hyjalAI.h:134
uint32 WaveTimer
Definition: hyjalAI.h:46
Definition: hyjalAI.h:102
void Retreat()
Definition: hyjalAI.cpp:614
Definition: InstanceScript.h:141
uint8_t uint8
Definition: Define.h:152
YellId
Definition: hyjalAI.h:107
uint32 InfernalPoint
Definition: hyjalAI.h:189
void EnterEvadeMode(EvadeReason=EVADE_REASON_OTHER) override
Definition: hyjalAI.cpp:420
uint32 GetInstanceData(uint32 Event)
Definition: hyjalAI.cpp:609
Definition: ScriptedCreature.h:41
Definition: ObjectGuid.h:189
Definition: hyjalAI.h:104
G3D::int16 x
Definition: Vector2int16.h:37
ObjectGuid DummyGuid
Definition: hyjalAI.h:196
void SummonCreature(uint32 entry, float Base[4][3])
Definition: hyjalAI.cpp:452
Definition: hyjalAI.h:112
void Reset() override
Definition: hyjalAI.cpp:383
Definition: hyjalAI.h:115
uint32 SpellId
Definition: hyjalAI.h:200
void SummonedCreatureDespawn(Creature *summoned) override
Definition: hyjalAI.cpp:378
void HideNearPos(float x, float y)
Definition: hyjalAI.cpp:907
bool IsBoss
Definition: hyjalAI.h:47
ObjectGuid PlayerGUID
Definition: hyjalAI.h:163
uint32 OverrunCounter
Definition: hyjalAI.h:187