Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_skarvald_dalronn.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_Skarvald_Dalronn
8
SD%Complete: 95
9
SDComment: Needs adjustments to blizzlike timers, Yell Text + Sound to DB
10
SDCategory: Utgarde Keep
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
utgarde_keep.h
"
16
17
enum
Yells
18
{
19
// signed for 24200, but used by 24200, 27390
20
YELL_SKARVALD_AGGRO
= 0,
21
YELL_SKARVALD_DAL_DIED
= 1,
22
YELL_SKARVALD_SKA_DIEDFIRST
= 2,
23
YELL_SKARVALD_KILL
= 3,
24
YELL_SKARVALD_DAL_DIEDFIRST
= 4,
25
26
// signed for 24201, but used by 24201, 27389
27
YELL_DALRONN_AGGRO
= 0,
28
YELL_DALRONN_SKA_DIED
= 1,
29
YELL_DALRONN_DAL_DIEDFIRST
= 2,
30
YELL_DALRONN_KILL
= 3,
31
YELL_DALRONN_SKA_DIEDFIRST
= 4
32
};
33
34
enum
Spells
35
{
36
// Spells of Skarvald and his Ghost
37
SPELL_CHARGE
= 43651,
38
SPELL_STONE_STRIKE
= 48583,
39
SPELL_SUMMON_SKARVALD_GHOST
= 48613,
40
SPELL_ENRAGE
= 48193,
41
// Spells of Dalronn and his Ghost
42
SPELL_SHADOW_BOLT
= 43649,
43
H_SPELL_SHADOW_BOLT
= 59575,
44
H_SPELL_SUMMON_SKELETONS
= 52611,
45
SPELL_DEBILITATE
= 43650,
46
SPELL_SUMMON_DALRONN_GHOST
= 48612,
47
};
48
49
class
SkarvaldChargePredicate
50
{
51
public
:
52
SkarvaldChargePredicate
(
Unit
* unit) :
me
(unit) { }
53
54
bool
operator()
(
WorldObject
*
object
)
const
55
{
56
return
object
->GetDistance2d(
me
) >= 5.0f &&
object
->GetDistance2d(
me
) <= 30.0f;
57
}
58
59
private
:
60
Unit
*
me
;
61
};
62
63
class
boss_skarvald_the_constructor
:
public
CreatureScript
64
{
65
public
:
66
boss_skarvald_the_constructor
() :
CreatureScript
(
"boss_skarvald_the_constructor"
) { }
67
68
struct
boss_skarvald_the_constructorAI
:
public
BossAI
69
{
70
boss_skarvald_the_constructorAI
(
Creature
* creature) :
BossAI
(creature,
DATA_SKARVALD_DALRONN
)
71
{
72
bool
ghost
=
false
;
73
uint32
Charge_Timer
= 0;
74
uint32
StoneStrike_Timer
= 0;
75
uint32
Response_Timer
= 0;
76
uint32
Check_Timer
= 0;
77
bool
Dalronn_isDead
=
false
;
78
bool
Enraged
=
false
;
79
}
80
81
void
Reset
()
OVERRIDE
82
{
83
Charge_Timer
= 5000;
84
StoneStrike_Timer
= 10000;
85
Dalronn_isDead
=
false
;
86
Response_Timer
= 0;
87
Check_Timer
= 5000;
88
Enraged
=
false
;
89
90
ghost
=
me
->GetEntry() ==
NPC_SKARVALD_GHOST
;
91
if
(!
ghost
)
92
_Reset
();
93
}
94
95
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
96
{
97
if
(!
ghost
)
98
{
99
_EnterCombat
();
100
Talk
(
YELL_SKARVALD_AGGRO
);
101
}
102
}
103
104
void
DamageTaken
(
Unit
*
/*attacker*/
,
uint32
& damage)
OVERRIDE
105
{
106
if
(!
Enraged
&& !
ghost
&&
me
->HealthBelowPctDamaged(15, damage))
107
{
108
Enraged
=
true
;
109
DoCast
(
me
,
SPELL_ENRAGE
);
110
}
111
}
112
113
void
DoAction
(
int32
/*actionId*/
)
OVERRIDE
114
{
115
summons
.DespawnAll();
116
}
117
118
void
JustDied
(
Unit
* killer)
OVERRIDE
119
{
120
if
(!
ghost
)
121
{
122
if
(
Creature
* dalronn =
ObjectAccessor::GetCreature
(*
me
,
instance
->GetData64(
DATA_DALRONN
)))
123
{
124
if
(dalronn->IsAlive())
125
{
126
Talk
(
YELL_SKARVALD_SKA_DIEDFIRST
);
127
128
me
->RemoveFlag(
OBJECT_FIELD_DYNAMIC_FLAGS
,
UNIT_DYNFLAG_LOOTABLE
);
129
130
//DoCast(me, SPELL_SUMMON_SKARVALD_GHOST, true);
131
if
(
Creature
* temp =
me
->SummonCreature(
NPC_SKARVALD_GHOST
, *
me
,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 5000))
132
{
133
temp->SetFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
);
134
temp->AI()->AttackStart(killer);
135
}
136
}
137
else
138
{
139
dalronn->AI()->DoAction(0);
140
_JustDied
();
141
Talk
(
YELL_SKARVALD_DAL_DIED
);
142
}
143
}
144
}
145
}
146
147
void
KilledUnit
(
Unit
* who)
OVERRIDE
148
{
149
if
(!
ghost
&& who->GetTypeId() ==
TypeID::TYPEID_PLAYER
)
150
Talk
(
YELL_SKARVALD_KILL
);
151
}
152
153
void
UpdateAI
(
uint32
diff)
OVERRIDE
154
{
155
if
(!
UpdateVictim
())
156
return
;
157
158
if
(!
ghost
)
159
{
160
if
(
Check_Timer
)
161
{
162
if
(
Check_Timer
<= diff)
163
{
164
Check_Timer
= 5000;
165
Creature
* dalronn =
ObjectAccessor::GetCreature
(*
me
,
instance
->GetData64(
DATA_DALRONN
));
166
if
(dalronn && dalronn->
isDead
())
167
{
168
Dalronn_isDead
=
true
;
169
Response_Timer
= 2000;
170
Check_Timer
= 0;
171
}
172
}
173
else
174
Check_Timer
-= diff;
175
}
176
if
(
Response_Timer
&&
Dalronn_isDead
)
177
{
178
if
(
Response_Timer
<= diff)
179
{
180
Talk
(
YELL_SKARVALD_DAL_DIEDFIRST
);
181
182
Response_Timer
= 0;
183
}
184
else
185
Response_Timer
-= diff;
186
}
187
}
188
189
if
(
Charge_Timer
<= diff)
190
{
191
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0,
SkarvaldChargePredicate
(
me
)))
192
DoCast
(target,
SPELL_CHARGE
);
193
Charge_Timer
= 5000+rand()%5000;
194
}
195
else
196
Charge_Timer
-= diff;
197
198
if
(
StoneStrike_Timer
<= diff)
199
{
200
DoCastVictim
(
SPELL_STONE_STRIKE
);
201
StoneStrike_Timer
= 5000+rand()%5000;
202
}
203
else
204
StoneStrike_Timer
-= diff;
205
206
if
(!
me
->HasUnitState(
UNIT_STATE_CASTING
))
207
DoMeleeAttackIfReady
();
208
}
209
private
:
210
bool
ghost
;
211
uint32
Charge_Timer
;
212
uint32
StoneStrike_Timer
;
213
uint32
Response_Timer
;
214
uint32
Check_Timer
;
215
bool
Dalronn_isDead
;
216
bool
Enraged
;
217
};
218
219
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
220
{
221
return
GetUtgardeKeepAI<boss_skarvald_the_constructorAI>
(creature);
222
}
223
};
224
225
class
boss_dalronn_the_controller
:
public
CreatureScript
226
{
227
public
:
228
boss_dalronn_the_controller
() :
CreatureScript
(
"boss_dalronn_the_controller"
) { }
229
230
struct
boss_dalronn_the_controllerAI
:
public
BossAI
231
{
232
boss_dalronn_the_controllerAI
(
Creature
* creature) :
BossAI
(creature,
DATA_SKARVALD_DALRONN
)
233
{
234
bool
ghost
=
false
;
235
uint32
ShadowBolt_Timer
= 0;
236
uint32
Debilitate_Timer
= 0;
237
uint32
Summon_Timer
= 0;
238
239
uint32
Response_Timer
= 0;
240
uint32
Check_Timer
= 0;
241
uint32
AggroYell_Timer
= 0;
242
bool
Skarvald_isDead
=
false
;
243
}
244
245
void
Reset
()
OVERRIDE
246
{
247
ShadowBolt_Timer
= 1000;
248
Debilitate_Timer
= 5000;
249
Summon_Timer
= 10000;
250
Check_Timer
= 5000;
251
Skarvald_isDead
=
false
;
252
Response_Timer
= 0;
253
AggroYell_Timer
= 0;
254
255
ghost
=
me
->GetEntry() ==
NPC_DALRONN_GHOST
;
256
if
(!
ghost
)
257
_Reset
();
258
}
259
260
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
261
{
262
if
(!
ghost
)
263
{
264
_EnterCombat
();
265
AggroYell_Timer
= 5000;
266
}
267
}
268
269
void
DoAction
(
int32
/*actionId*/
)
OVERRIDE
270
{
271
summons
.DespawnAll();
272
}
273
274
void
JustDied
(
Unit
* killer)
OVERRIDE
275
{
276
if
(!
ghost
)
277
{
278
if
(
Creature
* skarvald =
ObjectAccessor::GetCreature
(*
me
,
instance
->GetData64(
DATA_SKARVALD
)))
279
{
280
if
(skarvald->IsAlive())
281
{
282
Talk
(
YELL_DALRONN_DAL_DIEDFIRST
);
283
284
me
->RemoveFlag(
OBJECT_FIELD_DYNAMIC_FLAGS
,
UNIT_DYNFLAG_LOOTABLE
);
285
286
//DoCast(me, SPELL_SUMMON_DALRONN_GHOST, true);
287
if
(
Creature
* temp =
me
->SummonCreature(
NPC_DALRONN_GHOST
, *
me
,
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 5000))
288
{
289
temp->SetFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
);
290
temp->AI()->AttackStart(killer);
291
}
292
}
293
else
294
{
295
skarvald->AI()->DoAction(0);
296
_JustDied
();
297
Talk
(
YELL_DALRONN_SKA_DIED
);
298
}
299
}
300
}
301
}
302
303
void
KilledUnit
(
Unit
* who)
OVERRIDE
304
{
305
if
(!
ghost
&& who->GetTypeId() ==
TypeID::TYPEID_PLAYER
)
306
Talk
(
YELL_DALRONN_KILL
);
307
}
308
309
void
UpdateAI
(
uint32
diff)
OVERRIDE
310
{
311
if
(!
UpdateVictim
())
312
return
;
313
314
if
(
AggroYell_Timer
)
315
{
316
if
(
AggroYell_Timer
<= diff)
317
{
318
Talk
(
YELL_DALRONN_AGGRO
);
319
320
AggroYell_Timer
= 0;
321
}
322
else
323
AggroYell_Timer
-= diff;
324
}
325
326
if
(!
ghost
)
327
{
328
if
(
Check_Timer
)
329
{
330
if
(
Check_Timer
<= diff)
331
{
332
Check_Timer
= 5000;
333
Creature
* skarvald =
ObjectAccessor::GetCreature
(*
me
,
instance
->GetData64(
DATA_SKARVALD
));
334
if
(skarvald && skarvald->
isDead
())
335
{
336
Skarvald_isDead
=
true
;
337
Response_Timer
= 2000;
338
Check_Timer
= 0;
339
}
340
}
341
else
342
Check_Timer
-= diff;
343
}
344
345
if
(
Response_Timer
&&
Skarvald_isDead
)
346
{
347
if
(
Response_Timer
<= diff)
348
{
349
Talk
(
YELL_DALRONN_SKA_DIEDFIRST
);
350
Response_Timer
= 0;
351
}
352
else
353
Response_Timer
-= diff;
354
}
355
}
356
357
if
(
ShadowBolt_Timer
<= diff)
358
{
359
if
(!
me
->IsNonMeleeSpellCasted(
false
))
360
{
361
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0, 0.0f,
true
))
362
DoCast
(target,
SPELL_SHADOW_BOLT
);
363
ShadowBolt_Timer
= 2100;
//give a 100ms pause to try cast other spells
364
}
365
}
366
else
367
ShadowBolt_Timer
-= diff;
368
369
if
(
Debilitate_Timer
<= diff)
370
{
371
if
(!
me
->IsNonMeleeSpellCasted(
false
))
372
{
373
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0, 0.0f,
true
))
374
DoCast
(target,
SPELL_DEBILITATE
);
375
Debilitate_Timer
= 5000+rand()%5000;
376
}
377
}
378
else
379
Debilitate_Timer
-= diff;
380
381
if
(
IsHeroic
())
382
{
383
if
(
Summon_Timer
<= diff)
384
{
385
if
(!
me
->IsNonMeleeSpellCasted(
false
))
386
{
387
DoCast
(
me
,
H_SPELL_SUMMON_SKELETONS
);
388
Summon_Timer
= (rand()%10000) + 20000;
389
}
390
}
391
else
392
Summon_Timer
-= diff;
393
}
394
395
DoMeleeAttackIfReady
();
396
}
397
private
:
398
bool
ghost
;
399
uint32
ShadowBolt_Timer
;
400
uint32
Debilitate_Timer
;
401
uint32
Summon_Timer
;
402
403
uint32
Response_Timer
;
404
uint32
Check_Timer
;
405
uint32
AggroYell_Timer
;
406
bool
Skarvald_isDead
;
407
};
408
409
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
410
{
411
return
GetUtgardeKeepAI<boss_dalronn_the_controllerAI>
(creature);
412
}
413
};
414
415
void
AddSC_boss_skarvald_dalronn
()
416
{
417
new
boss_skarvald_the_constructor
();
418
new
boss_dalronn_the_controller
();
419
}
Spells
Spells
Definition
BattlegroundIC.h:645
int32
std::int32_t int32
Definition
Define.h:73
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
TypeID::TYPEID_PLAYER
@ TYPEID_PLAYER
Definition
Object.h:55
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_DESPAWN
Definition
Object.h:72
ScriptMgr.h
ScriptedCreature.h
UNIT_DYNFLAG_LOOTABLE
@ UNIT_DYNFLAG_LOOTABLE
Definition
SharedDefines.h:3634
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE
Definition
Unit.h:626
SELECT_TARGET_RANDOM
@ SELECT_TARGET_RANDOM
Definition
UnitAI.h:23
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
OBJECT_FIELD_DYNAMIC_FLAGS
@ OBJECT_FIELD_DYNAMIC_FLAGS
Definition
UpdateFields.h:17
SPELL_ENRAGE
@ SPELL_ENRAGE
Definition
alterac_valley.cpp:14
SPELL_CHARGE
@ SPELL_CHARGE
Definition
alterac_valley.cpp:11
SPELL_SHADOW_BOLT
@ SPELL_SHADOW_BOLT
Definition
boss_gehennas.cpp:22
H_SPELL_SHADOW_BOLT
@ H_SPELL_SHADOW_BOLT
Definition
boss_salramm_the_fleshcrafter.cpp:24
YELL_DALRONN_SKA_DIEDFIRST
@ YELL_DALRONN_SKA_DIEDFIRST
Definition
boss_skarvald_dalronn.cpp:31
YELL_DALRONN_DAL_DIEDFIRST
@ YELL_DALRONN_DAL_DIEDFIRST
Definition
boss_skarvald_dalronn.cpp:29
YELL_SKARVALD_KILL
@ YELL_SKARVALD_KILL
Definition
boss_skarvald_dalronn.cpp:23
YELL_SKARVALD_DAL_DIED
@ YELL_SKARVALD_DAL_DIED
Definition
boss_skarvald_dalronn.cpp:21
YELL_SKARVALD_AGGRO
@ YELL_SKARVALD_AGGRO
Definition
boss_skarvald_dalronn.cpp:20
YELL_DALRONN_SKA_DIED
@ YELL_DALRONN_SKA_DIED
Definition
boss_skarvald_dalronn.cpp:28
YELL_DALRONN_AGGRO
@ YELL_DALRONN_AGGRO
Definition
boss_skarvald_dalronn.cpp:27
YELL_SKARVALD_SKA_DIEDFIRST
@ YELL_SKARVALD_SKA_DIEDFIRST
Definition
boss_skarvald_dalronn.cpp:22
YELL_SKARVALD_DAL_DIEDFIRST
@ YELL_SKARVALD_DAL_DIEDFIRST
Definition
boss_skarvald_dalronn.cpp:24
YELL_DALRONN_KILL
@ YELL_DALRONN_KILL
Definition
boss_skarvald_dalronn.cpp:30
SPELL_ENRAGE
@ SPELL_ENRAGE
Definition
boss_skarvald_dalronn.cpp:40
SPELL_CHARGE
@ SPELL_CHARGE
Definition
boss_skarvald_dalronn.cpp:37
SPELL_STONE_STRIKE
@ SPELL_STONE_STRIKE
Definition
boss_skarvald_dalronn.cpp:38
SPELL_SHADOW_BOLT
@ SPELL_SHADOW_BOLT
Definition
boss_skarvald_dalronn.cpp:42
SPELL_SUMMON_SKARVALD_GHOST
@ SPELL_SUMMON_SKARVALD_GHOST
Definition
boss_skarvald_dalronn.cpp:39
SPELL_SUMMON_DALRONN_GHOST
@ SPELL_SUMMON_DALRONN_GHOST
Definition
boss_skarvald_dalronn.cpp:46
H_SPELL_SUMMON_SKELETONS
@ H_SPELL_SUMMON_SKELETONS
Definition
boss_skarvald_dalronn.cpp:44
SPELL_DEBILITATE
@ SPELL_DEBILITATE
Definition
boss_skarvald_dalronn.cpp:45
AddSC_boss_skarvald_dalronn
void AddSC_boss_skarvald_dalronn()
Definition
boss_skarvald_dalronn.cpp:415
BossAI::instance
InstanceScript *const instance
Definition
ScriptedCreature.h:383
BossAI::summons
SummonList summons
Definition
ScriptedCreature.h:440
BossAI::BossAI
BossAI(Creature *creature, uint32 bossId)
Definition
ScriptedCreature.cpp:456
BossAI::_JustDied
void _JustDied()
Definition
ScriptedCreature.cpp:474
BossAI::_Reset
void _Reset()
Definition
ScriptedCreature.cpp:462
BossAI::_EnterCombat
void _EnterCombat()
Definition
ScriptedCreature.cpp:485
CreatureAI
Definition
CreatureAI.h:54
CreatureAI::Talk
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
Definition
CreatureAI.cpp:28
CreatureAI::UpdateVictim
bool UpdateVictim()
Definition
CreatureAI.cpp:192
Creature
Definition
Creature.h:427
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
ObjectAccessor::GetCreature
static Creature * GetCreature(WorldObject const &u, uint64 guid)
Definition
ObjectAccessor.cpp:209
SkarvaldChargePredicate
Definition
boss_skarvald_dalronn.cpp:50
SkarvaldChargePredicate::operator()
bool operator()(WorldObject *object) const
Definition
boss_skarvald_dalronn.cpp:54
SkarvaldChargePredicate::SkarvaldChargePredicate
SkarvaldChargePredicate(Unit *unit)
Definition
boss_skarvald_dalronn.cpp:52
SkarvaldChargePredicate::me
Unit * me
Definition
boss_skarvald_dalronn.cpp:60
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::isDead
bool isDead() const
Definition
Unit.h:2040
WorldObject
Definition
Object.h:610
boss_dalronn_the_controller
Definition
boss_skarvald_dalronn.cpp:226
boss_dalronn_the_controller::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_skarvald_dalronn.cpp:409
boss_dalronn_the_controller::boss_dalronn_the_controller
boss_dalronn_the_controller()
Definition
boss_skarvald_dalronn.cpp:228
boss_skarvald_the_constructor
Definition
boss_skarvald_dalronn.cpp:64
boss_skarvald_the_constructor::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_skarvald_dalronn.cpp:219
boss_skarvald_the_constructor::boss_skarvald_the_constructor
boss_skarvald_the_constructor()
Definition
boss_skarvald_dalronn.cpp:66
ScriptedAI::IsHeroic
bool IsHeroic() const
Definition
ScriptedCreature.h:279
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
Yells
Definition
boss_illidan.cpp:256
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::ShadowBolt_Timer
uint32 ShadowBolt_Timer
Definition
boss_skarvald_dalronn.cpp:399
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::JustDied
void JustDied(Unit *killer) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:274
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::Reset
void Reset() OVERRIDE
Definition
boss_skarvald_dalronn.cpp:245
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::Response_Timer
uint32 Response_Timer
Definition
boss_skarvald_dalronn.cpp:403
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::ghost
bool ghost
Definition
boss_skarvald_dalronn.cpp:398
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::Check_Timer
uint32 Check_Timer
Definition
boss_skarvald_dalronn.cpp:404
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::boss_dalronn_the_controllerAI
boss_dalronn_the_controllerAI(Creature *creature)
Definition
boss_skarvald_dalronn.cpp:232
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:260
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::KilledUnit
void KilledUnit(Unit *who) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:303
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::Summon_Timer
uint32 Summon_Timer
Definition
boss_skarvald_dalronn.cpp:401
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::Skarvald_isDead
bool Skarvald_isDead
Definition
boss_skarvald_dalronn.cpp:406
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_skarvald_dalronn.cpp:309
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::AggroYell_Timer
uint32 AggroYell_Timer
Definition
boss_skarvald_dalronn.cpp:405
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::Debilitate_Timer
uint32 Debilitate_Timer
Definition
boss_skarvald_dalronn.cpp:400
boss_dalronn_the_controller::boss_dalronn_the_controllerAI::DoAction
void DoAction(int32) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:269
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::Check_Timer
uint32 Check_Timer
Definition
boss_skarvald_dalronn.cpp:214
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:95
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::ghost
bool ghost
Definition
boss_skarvald_dalronn.cpp:210
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::Reset
void Reset() OVERRIDE
Definition
boss_skarvald_dalronn.cpp:81
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::KilledUnit
void KilledUnit(Unit *who) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:147
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::Dalronn_isDead
bool Dalronn_isDead
Definition
boss_skarvald_dalronn.cpp:215
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::JustDied
void JustDied(Unit *killer) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:118
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::boss_skarvald_the_constructorAI
boss_skarvald_the_constructorAI(Creature *creature)
Definition
boss_skarvald_dalronn.cpp:70
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_skarvald_dalronn.cpp:153
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::Enraged
bool Enraged
Definition
boss_skarvald_dalronn.cpp:216
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::Charge_Timer
uint32 Charge_Timer
Definition
boss_skarvald_dalronn.cpp:211
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::StoneStrike_Timer
uint32 StoneStrike_Timer
Definition
boss_skarvald_dalronn.cpp:212
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::DamageTaken
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:104
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::DoAction
void DoAction(int32) OVERRIDE
Definition
boss_skarvald_dalronn.cpp:113
boss_skarvald_the_constructor::boss_skarvald_the_constructorAI::Response_Timer
uint32 Response_Timer
Definition
boss_skarvald_dalronn.cpp:213
utgarde_keep.h
GetUtgardeKeepAI
AI * GetUtgardeKeepAI(Creature *creature)
Definition
utgarde_keep.h:76
NPC_SKARVALD_GHOST
@ NPC_SKARVALD_GHOST
Definition
utgarde_keep.h:38
NPC_DALRONN_GHOST
@ NPC_DALRONN_GHOST
Definition
utgarde_keep.h:37
DATA_DALRONN
@ DATA_DALRONN
Definition
utgarde_keep.h:22
DATA_SKARVALD_DALRONN
@ DATA_SKARVALD_DALRONN
Definition
utgarde_keep.h:17
DATA_SKARVALD
@ DATA_SKARVALD
Definition
utgarde_keep.h:21
src
server
scripts
Northrend
UtgardeKeep
UtgardeKeep
boss_skarvald_dalronn.cpp
Generated on
for Project SkyFire Core by
1.17.0