Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_terestian_illhoof.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
/* ScriptData
7
SDName: Boss_Terestian_Illhoof
8
SD%Complete: 95
9
SDComment: Complete! Needs adjustments to use spell though.
10
SDCategory: Karazhan
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
karazhan.h
"
16
#include "
PassiveAI.h
"
17
18
enum
TerestianIllhoof
19
{
20
SAY_SLAY
= 1,
21
SAY_DEATH
= 2,
22
SAY_AGGRO
= 3,
23
SAY_SACRIFICE
= 4,
24
SAY_SUMMON
= 5
25
};
26
27
enum
Spells
28
{
29
SPELL_SUMMON_DEMONCHAINS
= 30120,
// Summons demonic chains that maintain the ritual of sacrifice.
30
SPELL_DEMON_CHAINS
= 30206,
// Instant - Visual Effect
31
SPELL_ENRAGE
= 23537,
// Increases the caster's attack speed by 50% and the Physical damage it deals by 219 to 281 for 10 min.
32
SPELL_SHADOW_BOLT
= 30055,
// Hurls a bolt of dark magic at an enemy, inflicting Shadow damage.
33
SPELL_SACRIFICE
= 30115,
// Teleports and adds the debuff
34
SPELL_BERSERK
= 32965,
// Increases attack speed by 75%. Periodically casts Shadow Bolt Volley.
35
SPELL_SUMMON_FIENDISIMP
= 30184,
// Summons a Fiendish Imp.
36
SPELL_SUMMON_IMP
= 30066,
// Summons Kil'rek
37
38
SPELL_FIENDISH_PORTAL
= 30171,
// Opens portal and summons Fiendish Portal, 2 sec cast
39
SPELL_FIENDISH_PORTAL_1
= 30179,
// Opens portal and summons Fiendish Portal, instant cast
40
41
SPELL_FIREBOLT
= 30050,
// Blasts a target for 150 Fire damage.
42
SPELL_BROKEN_PACT
= 30065,
// All damage taken increased by 25%.
43
SPELL_AMPLIFY_FLAMES
= 30053,
// Increases the Fire damage taken by an enemy by 500 for 25 sec.
44
};
45
46
enum
Creatures
47
{
48
NPC_DEMONCHAINS
= 17248,
49
NPC_FIENDISHIMP
= 17267,
50
NPC_PORTAL
= 17265,
51
NPC_KILREK
= 17229
52
};
53
54
class
npc_kilrek
:
public
CreatureScript
55
{
56
public
:
57
npc_kilrek
() :
CreatureScript
(
"npc_kilrek"
) { }
58
59
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
60
{
61
return
new
npc_kilrekAI
(creature);
62
}
63
64
struct
npc_kilrekAI
:
public
ScriptedAI
65
{
66
npc_kilrekAI
(
Creature
* creature) :
ScriptedAI
(creature)
67
{
68
instance
= creature->
GetInstanceScript
();
69
70
TerestianGUID
= 0;
71
72
AmplifyTimer
= 0;
73
}
74
75
void
Reset
()
OVERRIDE
76
{
77
TerestianGUID
= 0;
78
AmplifyTimer
= 2000;
79
}
80
81
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
82
{
83
if
(!
instance
)
84
{
85
ERROR_INST_DATA
(
me
);
86
return
;
87
}
88
}
89
90
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
91
{
92
if
(
instance
)
93
{
94
uint64
TerestianGUID
=
instance
->GetData64(
DATA_TERESTIAN
);
95
if
(
TerestianGUID
)
96
{
97
Unit
* Terestian =
Unit::GetUnit
(*
me
,
TerestianGUID
);
98
if
(Terestian && Terestian->
IsAlive
())
99
DoCast
(Terestian,
SPELL_BROKEN_PACT
,
true
);
100
}
101
}
else
ERROR_INST_DATA
(
me
);
102
}
103
104
void
UpdateAI
(
uint32
diff)
OVERRIDE
105
{
106
//Return since we have no target
107
if
(!
UpdateVictim
())
108
return
;
109
110
if
(
AmplifyTimer
<= diff)
111
{
112
me
->InterruptNonMeleeSpells(
false
);
113
DoCastVictim
(
SPELL_AMPLIFY_FLAMES
);
114
115
AmplifyTimer
= std::rand() % 20000 + 10000;
116
}
else
AmplifyTimer
-= diff;
117
118
DoMeleeAttackIfReady
();
119
}
120
121
private
:
122
InstanceScript
*
instance
;
123
uint64
TerestianGUID
;
124
uint32
AmplifyTimer
;
125
};
126
};
127
128
class
npc_demon_chain
:
public
CreatureScript
129
{
130
public
:
131
npc_demon_chain
() :
CreatureScript
(
"npc_demon_chain"
) { }
132
133
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
134
{
135
return
new
npc_demon_chainAI
(creature);
136
}
137
138
struct
npc_demon_chainAI
:
public
ScriptedAI
139
{
140
npc_demon_chainAI
(
Creature
* creature) :
ScriptedAI
(creature)
141
{
142
SacrificeGUID
= 0;
143
}
144
145
void
Reset
()
OVERRIDE
146
{
147
SacrificeGUID
= 0;
148
}
149
150
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
{ }
151
void
AttackStart
(
Unit
*
/*who*/
)
OVERRIDE
{ }
152
void
MoveInLineOfSight
(
Unit
*
/*who*/
)
OVERRIDE
{ }
153
154
155
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
156
{
157
if
(
SacrificeGUID
)
158
{
159
Unit
* Sacrifice =
Unit::GetUnit
(*
me
,
SacrificeGUID
);
160
if
(Sacrifice)
161
Sacrifice->
RemoveAurasDueToSpell
(
SPELL_SACRIFICE
);
162
}
163
}
164
165
uint64
SacrificeGUID
;
166
};
167
};
168
169
class
npc_fiendish_portal
:
public
CreatureScript
170
{
171
public
:
172
npc_fiendish_portal
() :
CreatureScript
(
"npc_fiendish_portal"
) { }
173
174
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
175
{
176
return
new
npc_fiendish_portalAI
(creature);
177
}
178
179
struct
npc_fiendish_portalAI
:
public
PassiveAI
180
{
181
npc_fiendish_portalAI
(
Creature
* creature) :
PassiveAI
(creature),
summons
(
me
){ }
182
183
SummonList
summons
;
184
185
void
Reset
()
OVERRIDE
186
{
187
DespawnAllImp
();
188
}
189
190
void
JustSummoned
(
Creature
* summon)
OVERRIDE
191
{
192
summons
.Summon(summon);
193
DoZoneInCombat
(summon);
194
}
195
196
void
DespawnAllImp
()
197
{
198
summons
.DespawnAll();
199
}
200
};
201
};
202
203
class
npc_fiendish_imp
:
public
CreatureScript
204
{
205
public
:
206
npc_fiendish_imp
() :
CreatureScript
(
"npc_fiendish_imp"
) { }
207
208
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
209
{
210
return
new
npc_fiendish_impAI
(creature);
211
}
212
213
struct
npc_fiendish_impAI
:
public
ScriptedAI
214
{
215
npc_fiendish_impAI
(
Creature
* creature) :
ScriptedAI
(creature)
216
{
217
FireboltTimer
= 0;
218
}
219
220
void
Reset
()
OVERRIDE
221
{
222
FireboltTimer
= 2000;
223
224
me
->ApplySpellImmune(0,
IMMUNITY_SCHOOL
,
SPELL_SCHOOL_MASK_FIRE
,
true
);
225
}
226
227
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
{ }
228
229
void
UpdateAI
(
uint32
diff)
OVERRIDE
230
{
231
//Return since we have no target
232
if
(!
UpdateVictim
())
233
return
;
234
235
if
(
FireboltTimer
<= diff)
236
{
237
DoCastVictim
(
SPELL_FIREBOLT
);
238
FireboltTimer
= 2200;
239
}
else
FireboltTimer
-= diff;
240
241
DoMeleeAttackIfReady
();
242
}
243
244
private
:
245
uint32
FireboltTimer
;
246
};
247
};
248
249
class
boss_terestian_illhoof
:
public
CreatureScript
250
{
251
public
:
252
boss_terestian_illhoof
() :
CreatureScript
(
"boss_terestian_illhoof"
) { }
253
254
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
255
{
256
return
new
boss_terestianAI
(creature);
257
}
258
259
struct
boss_terestianAI
:
public
ScriptedAI
260
{
261
boss_terestianAI
(
Creature
* creature) :
ScriptedAI
(creature)
262
{
263
instance
= creature->
GetInstanceScript
();
264
for
(
uint8
i = 0; i < 2; ++i)
265
PortalGUID
[i] = 0;
266
267
PortalsCount
= 0;
268
269
SacrificeTimer
= 0;
270
ShadowboltTimer
= 0;
271
SummonTimer
= 0;
272
BerserkTimer
= 0;
273
274
SummonedPortals
=
false
;
275
Berserk
=
false
;
276
}
277
278
void
Reset
()
OVERRIDE
279
{
280
for
(
uint8
i = 0; i < 2; ++i)
281
{
282
if
(
PortalGUID
[i])
283
{
284
if
(
Creature
* pPortal =
Unit::GetCreature
(*
me
,
PortalGUID
[i]))
285
{
286
CAST_AI
(
npc_fiendish_portal::npc_fiendish_portalAI
, pPortal->AI())->DespawnAllImp();
287
pPortal->DespawnOrUnsummon();
288
}
289
290
PortalGUID
[i] = 0;
291
}
292
}
293
294
PortalsCount
= 0;
295
SacrificeTimer
= 30000;
296
ShadowboltTimer
= 5000;
297
SummonTimer
= 10000;
298
BerserkTimer
= 600000;
299
300
SummonedPortals
=
false
;
301
Berserk
=
false
;
302
303
if
(
instance
)
304
instance
->SetData(
TYPE_TERESTIAN
,
NOT_STARTED
);
305
306
me
->RemoveAurasDueToSpell(
SPELL_BROKEN_PACT
);
307
308
if
(
Minion
* Kilrek =
me
->GetFirstMinion())
309
{
310
if
(!Kilrek->IsAlive())
311
{
312
Kilrek->UnSummon();
313
DoCast
(
me
,
SPELL_SUMMON_IMP
,
true
);
314
}
315
}
316
else
DoCast
(
me
,
SPELL_SUMMON_IMP
,
true
);
317
}
318
319
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
320
{
321
Talk
(
SAY_AGGRO
);
322
}
323
324
void
JustSummoned
(
Creature
* summoned)
OVERRIDE
325
{
326
if
(summoned->GetEntry() ==
NPC_PORTAL
)
327
{
328
PortalGUID
[
PortalsCount
] = summoned->GetGUID();
329
++
PortalsCount
;
330
331
if
(summoned->GetUInt32Value(
UNIT_FIELD_CREATED_BY_SPELL
) ==
SPELL_FIENDISH_PORTAL_1
)
332
{
333
Talk
(
SAY_SUMMON
);
334
SummonedPortals
=
true
;
335
}
336
}
337
}
338
339
void
KilledUnit
(
Unit
*
/*victim*/
)
OVERRIDE
340
{
341
Talk
(
SAY_SLAY
);
342
}
343
344
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
345
{
346
for
(
uint8
i = 0; i < 2; ++i)
347
{
348
if
(
PortalGUID
[i])
349
{
350
if
(
Creature
* pPortal =
Unit::GetCreature
((*
me
),
PortalGUID
[i]))
351
pPortal->DespawnOrUnsummon();
352
353
PortalGUID
[i] = 0;
354
}
355
}
356
357
Talk
(
SAY_DEATH
);
358
359
if
(
instance
)
360
instance
->SetData(
TYPE_TERESTIAN
,
DONE
);
361
}
362
363
void
UpdateAI
(
uint32
diff)
OVERRIDE
364
{
365
if
(!
UpdateVictim
())
366
return
;
367
368
if
(
SacrificeTimer
<= diff)
369
{
370
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 1, 100,
true
);
371
if
(target && target->
IsAlive
())
372
{
373
DoCast
(target,
SPELL_SACRIFICE
,
true
);
374
DoCast
(target,
SPELL_SUMMON_DEMONCHAINS
,
true
);
375
376
if
(
Creature
* Chains =
me
->FindNearestCreature(
NPC_DEMONCHAINS
, 5000))
377
{
378
CAST_AI
(
npc_demon_chain::npc_demon_chainAI
, Chains->AI())->SacrificeGUID = target->
GetGUID
();
379
Chains->CastSpell(Chains,
SPELL_DEMON_CHAINS
,
true
);
380
Talk
(
SAY_SACRIFICE
);
381
SacrificeTimer
= 30000;
382
}
383
}
384
}
else
SacrificeTimer
-= diff;
385
386
if
(
ShadowboltTimer
<= diff)
387
{
388
DoCast
(
SelectTarget
(
SELECT_TARGET_TOPAGGRO
, 0),
SPELL_SHADOW_BOLT
);
389
ShadowboltTimer
= 10000;
390
}
else
ShadowboltTimer
-= diff;
391
392
if
(
SummonTimer
<= diff)
393
{
394
if
(!
PortalGUID
[0])
395
DoCastVictim
(
SPELL_FIENDISH_PORTAL
,
false
);
396
397
if
(!
PortalGUID
[1])
398
DoCastVictim
(
SPELL_FIENDISH_PORTAL_1
,
false
);
399
400
if
(
PortalGUID
[0] &&
PortalGUID
[1])
401
{
402
if
(
Creature
* pPortal =
Unit::GetCreature
(*
me
,
PortalGUID
[std::rand() % 1]))
403
pPortal->CastSpell(
me
->GetVictim(),
SPELL_SUMMON_FIENDISIMP
,
false
);
404
SummonTimer
= 5000;
405
}
406
}
else
SummonTimer
-= diff;
407
408
if
(!
Berserk
)
409
{
410
if
(
BerserkTimer
<= diff)
411
{
412
DoCast
(
me
,
SPELL_BERSERK
);
413
Berserk
=
true
;
414
}
else
BerserkTimer
-= diff;
415
}
416
417
DoMeleeAttackIfReady
();
418
}
419
420
private
:
421
InstanceScript
*
instance
;
422
423
uint64
PortalGUID
[2];
424
uint8
PortalsCount
;
425
426
uint32
SacrificeTimer
;
427
uint32
ShadowboltTimer
;
428
uint32
SummonTimer
;
429
uint32
BerserkTimer
;
430
431
bool
SummonedPortals
;
432
bool
Berserk
;
433
};
434
};
435
436
void
AddSC_boss_terestian_illhoof
()
437
{
438
new
boss_terestian_illhoof
();
439
new
npc_fiendish_imp
();
440
new
npc_fiendish_portal
();
441
new
npc_kilrek
();
442
new
npc_demon_chain
();
443
}
Spells
Spells
Definition
BattlegroundIC.h:645
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
uint64
std::uint64_t uint64
Definition
Define.h:76
DONE
@ DONE
Definition
InstanceScript.h:49
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
PassiveAI.h
ScriptMgr.h
ScriptedCreature.h
CAST_AI
#define CAST_AI(a, b)
Definition
ScriptedCreature.h:14
IMMUNITY_SCHOOL
@ IMMUNITY_SCHOOL
Definition
SharedDefines.h:1598
SPELL_SCHOOL_MASK_FIRE
@ SPELL_SCHOOL_MASK_FIRE
Definition
SharedDefines.h:272
SELECT_TARGET_TOPAGGRO
@ SELECT_TARGET_TOPAGGRO
Definition
UnitAI.h:24
SELECT_TARGET_RANDOM
@ SELECT_TARGET_RANDOM
Definition
UnitAI.h:23
UNIT_FIELD_CREATED_BY_SPELL
@ UNIT_FIELD_CREATED_BY_SPELL
Definition
UpdateFields.h:106
Creatures
Creatures
Definition
alterac_valley.cpp:28
SPELL_ENRAGE
@ SPELL_ENRAGE
Definition
alterac_valley.cpp:14
SAY_SLAY
@ SAY_SLAY
Definition
boss_alizabal.cpp:20
SAY_DEATH
#define SAY_DEATH
Definition
boss_commander_kolurg.cpp:30
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
SPELL_BERSERK
#define SPELL_BERSERK
Definition
boss_four_horsemen.cpp:62
SPELL_SHADOW_BOLT
@ SPELL_SHADOW_BOLT
Definition
boss_gehennas.cpp:22
AddSC_boss_terestian_illhoof
void AddSC_boss_terestian_illhoof()
Definition
boss_terestian_illhoof.cpp:436
NPC_KILREK
@ NPC_KILREK
Definition
boss_terestian_illhoof.cpp:51
NPC_FIENDISHIMP
@ NPC_FIENDISHIMP
Definition
boss_terestian_illhoof.cpp:49
NPC_DEMONCHAINS
@ NPC_DEMONCHAINS
Definition
boss_terestian_illhoof.cpp:48
NPC_PORTAL
@ NPC_PORTAL
Definition
boss_terestian_illhoof.cpp:50
TerestianIllhoof
TerestianIllhoof
Definition
boss_terestian_illhoof.cpp:19
SAY_DEATH
@ SAY_DEATH
Definition
boss_terestian_illhoof.cpp:21
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_terestian_illhoof.cpp:22
SAY_SACRIFICE
@ SAY_SACRIFICE
Definition
boss_terestian_illhoof.cpp:23
SAY_SLAY
@ SAY_SLAY
Definition
boss_terestian_illhoof.cpp:20
SAY_SUMMON
@ SAY_SUMMON
Definition
boss_terestian_illhoof.cpp:24
SPELL_DEMON_CHAINS
@ SPELL_DEMON_CHAINS
Definition
boss_terestian_illhoof.cpp:30
SPELL_SUMMON_DEMONCHAINS
@ SPELL_SUMMON_DEMONCHAINS
Definition
boss_terestian_illhoof.cpp:29
SPELL_FIENDISH_PORTAL_1
@ SPELL_FIENDISH_PORTAL_1
Definition
boss_terestian_illhoof.cpp:39
SPELL_AMPLIFY_FLAMES
@ SPELL_AMPLIFY_FLAMES
Definition
boss_terestian_illhoof.cpp:43
SPELL_FIREBOLT
@ SPELL_FIREBOLT
Definition
boss_terestian_illhoof.cpp:41
SPELL_SHADOW_BOLT
@ SPELL_SHADOW_BOLT
Definition
boss_terestian_illhoof.cpp:32
SPELL_SACRIFICE
@ SPELL_SACRIFICE
Definition
boss_terestian_illhoof.cpp:33
SPELL_BROKEN_PACT
@ SPELL_BROKEN_PACT
Definition
boss_terestian_illhoof.cpp:42
SPELL_FIENDISH_PORTAL
@ SPELL_FIENDISH_PORTAL
Definition
boss_terestian_illhoof.cpp:38
SPELL_SUMMON_IMP
@ SPELL_SUMMON_IMP
Definition
boss_terestian_illhoof.cpp:36
SPELL_BERSERK
@ SPELL_BERSERK
Definition
boss_terestian_illhoof.cpp:34
SPELL_SUMMON_FIENDISIMP
@ SPELL_SUMMON_FIENDISIMP
Definition
boss_terestian_illhoof.cpp:35
SAY_SUMMON
@ SAY_SUMMON
Definition
boss_urok_doomhowl.cpp:19
CreatureAI
Definition
CreatureAI.h:54
CreatureAI::DoZoneInCombat
void DoZoneInCombat(Creature *creature=NULL, float maxRangeToNearestTarget=50.0f)
Definition
CreatureAI.cpp:33
CreatureAI::Talk
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
Definition
CreatureAI.cpp:28
CreatureAI::UpdateVictim
bool UpdateVictim()
Definition
CreatureAI.cpp:192
CreatureAI::me
Creature *const me
Definition
CreatureAI.h:56
Creature
Definition
Creature.h:427
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
InstanceScript
Definition
InstanceScript.h:123
Minion
Definition
TemporarySummon.h:53
Object::GetGUID
uint64 GetGUID() const
Definition
Object.h:119
PassiveAI::PassiveAI
PassiveAI(Creature *c)
Definition
PassiveAI.cpp:10
SummonList
Definition
ScriptedCreature.h:19
UnitAI::DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
Definition
UnitAI.cpp:28
UnitAI::DoCast
void DoCast(uint32 spellId)
Definition
UnitAI.cpp:110
UnitAI::SelectTarget
Unit * SelectTarget(SelectAggroTarget targetType, uint32 position=0, float dist=0.0f, bool playerOnly=false, int32 aura=0)
Definition
UnitAI.cpp:66
UnitAI::DoCastVictim
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition
UnitAI.cpp:168
Unit
Definition
Unit.h:1367
Unit::RemoveAurasDueToSpell
void RemoveAurasDueToSpell(uint32 spellId, uint64 casterGUID=0, uint32 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition
UnitAuraState.cpp:532
Unit::IsAlive
bool IsAlive() const
Definition
Unit.h:2032
Unit::GetCreature
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4905
Unit::GetUnit
static Unit * GetUnit(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4895
WorldObject::GetInstanceScript
InstanceScript * GetInstanceScript()
Definition
Object.cpp:1612
boss_terestian_illhoof
Definition
boss_terestian_illhoof.cpp:250
boss_terestian_illhoof::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_terestian_illhoof.cpp:254
boss_terestian_illhoof::boss_terestian_illhoof
boss_terestian_illhoof()
Definition
boss_terestian_illhoof.cpp:252
npc_demon_chain
Definition
boss_terestian_illhoof.cpp:129
npc_demon_chain::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_terestian_illhoof.cpp:133
npc_demon_chain::npc_demon_chain
npc_demon_chain()
Definition
boss_terestian_illhoof.cpp:131
npc_fiendish_imp
Definition
boss_terestian_illhoof.cpp:204
npc_fiendish_imp::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_terestian_illhoof.cpp:208
npc_fiendish_imp::npc_fiendish_imp
npc_fiendish_imp()
Definition
boss_terestian_illhoof.cpp:206
npc_fiendish_portal
Definition
boss_terestian_illhoof.cpp:170
npc_fiendish_portal::npc_fiendish_portal
npc_fiendish_portal()
Definition
boss_terestian_illhoof.cpp:172
npc_fiendish_portal::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_terestian_illhoof.cpp:174
npc_kilrek
Definition
boss_terestian_illhoof.cpp:55
npc_kilrek::npc_kilrek
npc_kilrek()
Definition
boss_terestian_illhoof.cpp:57
npc_kilrek::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_terestian_illhoof.cpp:59
karazhan.h
ERROR_INST_DATA
#define ERROR_INST_DATA(a)
Definition
karazhan.h:52
DATA_TERESTIAN
@ DATA_TERESTIAN
Definition
karazhan.h:28
TYPE_TERESTIAN
@ TYPE_TERESTIAN
Definition
karazhan.h:18
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_terestian_illhoof::boss_terestianAI
Definition
boss_terestian_illhoof.cpp:260
boss_terestian_illhoof::boss_terestianAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_terestian_illhoof.cpp:363
boss_terestian_illhoof::boss_terestianAI::Reset
void Reset() OVERRIDE
Definition
boss_terestian_illhoof.cpp:278
boss_terestian_illhoof::boss_terestianAI::SummonTimer
uint32 SummonTimer
Definition
boss_terestian_illhoof.cpp:428
boss_terestian_illhoof::boss_terestianAI::boss_terestianAI
boss_terestianAI(Creature *creature)
Definition
boss_terestian_illhoof.cpp:261
boss_terestian_illhoof::boss_terestianAI::SacrificeTimer
uint32 SacrificeTimer
Definition
boss_terestian_illhoof.cpp:426
boss_terestian_illhoof::boss_terestianAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:319
boss_terestian_illhoof::boss_terestianAI::KilledUnit
void KilledUnit(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:339
boss_terestian_illhoof::boss_terestianAI::instance
InstanceScript * instance
Definition
boss_terestian_illhoof.cpp:421
boss_terestian_illhoof::boss_terestianAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:344
boss_terestian_illhoof::boss_terestianAI::PortalGUID
uint64 PortalGUID[2]
Definition
boss_terestian_illhoof.cpp:423
boss_terestian_illhoof::boss_terestianAI::PortalsCount
uint8 PortalsCount
Definition
boss_terestian_illhoof.cpp:424
boss_terestian_illhoof::boss_terestianAI::Berserk
bool Berserk
Definition
boss_terestian_illhoof.cpp:432
boss_terestian_illhoof::boss_terestianAI::JustSummoned
void JustSummoned(Creature *summoned) OVERRIDE
Definition
boss_terestian_illhoof.cpp:324
boss_terestian_illhoof::boss_terestianAI::ShadowboltTimer
uint32 ShadowboltTimer
Definition
boss_terestian_illhoof.cpp:427
boss_terestian_illhoof::boss_terestianAI::SummonedPortals
bool SummonedPortals
Definition
boss_terestian_illhoof.cpp:431
boss_terestian_illhoof::boss_terestianAI::BerserkTimer
uint32 BerserkTimer
Definition
boss_terestian_illhoof.cpp:429
npc_demon_chain::npc_demon_chainAI
Definition
boss_terestian_illhoof.cpp:139
npc_demon_chain::npc_demon_chainAI::AttackStart
void AttackStart(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:151
npc_demon_chain::npc_demon_chainAI::MoveInLineOfSight
void MoveInLineOfSight(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:152
npc_demon_chain::npc_demon_chainAI::SacrificeGUID
uint64 SacrificeGUID
Definition
boss_terestian_illhoof.cpp:165
npc_demon_chain::npc_demon_chainAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:155
npc_demon_chain::npc_demon_chainAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:150
npc_demon_chain::npc_demon_chainAI::npc_demon_chainAI
npc_demon_chainAI(Creature *creature)
Definition
boss_terestian_illhoof.cpp:140
npc_demon_chain::npc_demon_chainAI::Reset
void Reset() OVERRIDE
Definition
boss_terestian_illhoof.cpp:145
npc_fiendish_imp::npc_fiendish_impAI
Definition
boss_terestian_illhoof.cpp:214
npc_fiendish_imp::npc_fiendish_impAI::npc_fiendish_impAI
npc_fiendish_impAI(Creature *creature)
Definition
boss_terestian_illhoof.cpp:215
npc_fiendish_imp::npc_fiendish_impAI::FireboltTimer
uint32 FireboltTimer
Definition
boss_terestian_illhoof.cpp:245
npc_fiendish_imp::npc_fiendish_impAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:227
npc_fiendish_imp::npc_fiendish_impAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_terestian_illhoof.cpp:229
npc_fiendish_imp::npc_fiendish_impAI::Reset
void Reset() OVERRIDE
Definition
boss_terestian_illhoof.cpp:220
npc_fiendish_portal::npc_fiendish_portalAI
Definition
boss_terestian_illhoof.cpp:180
npc_fiendish_portal::npc_fiendish_portalAI::npc_fiendish_portalAI
npc_fiendish_portalAI(Creature *creature)
Definition
boss_terestian_illhoof.cpp:181
npc_fiendish_portal::npc_fiendish_portalAI::JustSummoned
void JustSummoned(Creature *summon) OVERRIDE
Definition
boss_terestian_illhoof.cpp:190
npc_fiendish_portal::npc_fiendish_portalAI::DespawnAllImp
void DespawnAllImp()
Definition
boss_terestian_illhoof.cpp:196
npc_fiendish_portal::npc_fiendish_portalAI::summons
SummonList summons
Definition
boss_terestian_illhoof.cpp:183
npc_fiendish_portal::npc_fiendish_portalAI::Reset
void Reset() OVERRIDE
Definition
boss_terestian_illhoof.cpp:185
npc_kilrek::npc_kilrekAI
Definition
boss_terestian_illhoof.cpp:65
npc_kilrek::npc_kilrekAI::AmplifyTimer
uint32 AmplifyTimer
Definition
boss_terestian_illhoof.cpp:124
npc_kilrek::npc_kilrekAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:81
npc_kilrek::npc_kilrekAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_terestian_illhoof.cpp:90
npc_kilrek::npc_kilrekAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_terestian_illhoof.cpp:104
npc_kilrek::npc_kilrekAI::instance
InstanceScript * instance
Definition
boss_terestian_illhoof.cpp:122
npc_kilrek::npc_kilrekAI::TerestianGUID
uint64 TerestianGUID
Definition
boss_terestian_illhoof.cpp:123
npc_kilrek::npc_kilrekAI::Reset
void Reset() OVERRIDE
Definition
boss_terestian_illhoof.cpp:75
npc_kilrek::npc_kilrekAI::npc_kilrekAI
npc_kilrekAI(Creature *creature)
Definition
boss_terestian_illhoof.cpp:66
src
server
scripts
EasternKingdoms
Karazhan
boss_terestian_illhoof.cpp
Generated on
for Project SkyFire Core by
1.17.0