Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_bjarngrim.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 General Bjarngrim
8
SD%Complete: 70%
9
SDComment: Waypoint needed, we expect boss to always have 2x Stormforged Lieutenant following
10
SDCategory: Halls of Lightning
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
halls_of_lightning.h
"
16
17
enum
Yells
18
{
19
SAY_AGGRO
= 0,
20
SAY_DEFENSIVE_STANCE
= 1,
21
SAY_BATTLE_STANCE
= 2,
22
SAY_BERSEKER_STANCE
= 3,
23
SAY_SLAY
= 4,
24
SAY_DEATH
= 5,
25
EMOTE_DEFENSIVE_STANCE
= 6,
26
EMOTE_BATTLE_STANCE
= 7,
27
EMOTE_BERSEKER_STANCE
= 8
28
};
29
30
enum
Spells
31
{
32
SPELL_DEFENSIVE_STANCE
= 53790,
33
//SPELL_DEFENSIVE_AURA = 41105,
34
SPELL_SPELL_REFLECTION
= 36096,
35
SPELL_PUMMEL
= 12555,
36
SPELL_KNOCK_AWAY
= 52029,
37
SPELL_IRONFORM
= 52022,
38
39
SPELL_BERSEKER_STANCE
= 53791,
40
//SPELL_BERSEKER_AURA = 41107,
41
SPELL_INTERCEPT
= 58769,
42
SPELL_WHIRLWIND
= 52027,
43
SPELL_CLEAVE
= 15284,
44
45
SPELL_BATTLE_STANCE
= 53792,
46
//SPELL_BATTLE_AURA = 41106,
47
SPELL_MORTAL_STRIKE
= 16856,
48
SPELL_SLAM
= 52026,
49
50
//OTHER SPELLS
51
//SPELL_CHARGE_UP = 52098, // only used when starting walk from one platform to the other
52
SPELL_TEMPORARY_ELECTRICAL_CHARGE
= 52092,
// triggered part of above
53
54
SPELL_ARC_WELD
= 59085,
55
SPELL_RENEW_STEEL_N
= 52774,
56
SPELL_RENEW_STEEL_H
= 59160
57
};
58
59
enum
Creatures
60
{
61
NPC_STORMFORGED_LIEUTENANT
= 29240
62
};
63
64
enum
Equips
65
{
66
EQUIP_SWORD
= 37871,
67
EQUIP_SHIELD
= 35642,
68
EQUIP_MACE
= 43623
69
};
70
71
enum
Stanges
72
{
73
STANCE_DEFENSIVE
= 0,
74
STANCE_BERSERKER
= 1,
75
STANCE_BATTLE
= 2
76
};
77
78
/*######
79
## boss_bjarngrim
80
######*/
81
82
class
boss_bjarngrim
:
public
CreatureScript
83
{
84
public
:
85
boss_bjarngrim
() :
CreatureScript
(
"boss_bjarngrim"
) { }
86
87
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
88
{
89
return
new
boss_bjarngrimAI
(creature);
90
}
91
92
struct
boss_bjarngrimAI
:
public
ScriptedAI
93
{
94
boss_bjarngrimAI
(
Creature
* creature) :
ScriptedAI
(creature)
95
{
96
instance
= creature->
GetInstanceScript
();
97
m_uiStance
=
STANCE_DEFENSIVE
;
98
memset(&
m_auiStormforgedLieutenantGUID
, 0,
sizeof
(
m_auiStormforgedLieutenantGUID
));
99
canBuff
=
true
;
100
}
101
102
InstanceScript
*
instance
;
103
104
bool
m_bIsChangingStance
;
105
bool
canBuff
;
106
107
uint8
m_uiChargingStatus
;
108
uint8
m_uiStance
;
109
110
uint32
m_uiCharge_Timer
;
111
uint32
m_uiChangeStance_Timer
;
112
113
uint32
m_uiReflection_Timer
;
114
uint32
m_uiKnockAway_Timer
;
115
uint32
m_uiPummel_Timer
;
116
uint32
m_uiIronform_Timer
;
117
118
uint32
m_uiIntercept_Timer
;
119
uint32
m_uiWhirlwind_Timer
;
120
uint32
m_uiCleave_Timer
;
121
122
uint32
m_uiMortalStrike_Timer
;
123
uint32
m_uiSlam_Timer
;
124
125
uint64
m_auiStormforgedLieutenantGUID
[2];
126
127
void
Reset
()
OVERRIDE
128
{
129
if
(
canBuff
)
130
if
(!
me
->HasAura(
SPELL_TEMPORARY_ELECTRICAL_CHARGE
))
131
me
->AddAura(
SPELL_TEMPORARY_ELECTRICAL_CHARGE
,
me
);
132
133
m_bIsChangingStance
=
false
;
134
135
m_uiChargingStatus
= 0;
136
m_uiCharge_Timer
= 1000;
137
138
m_uiChangeStance_Timer
= std::rand() % 25000 + 20000;
139
140
m_uiReflection_Timer
= 8000;
141
m_uiKnockAway_Timer
= 20000;
142
m_uiPummel_Timer
= 10000;
143
m_uiIronform_Timer
= 25000;
144
145
m_uiIntercept_Timer
= 5000;
146
m_uiWhirlwind_Timer
= 10000;
147
m_uiCleave_Timer
= 8000;
148
149
m_uiMortalStrike_Timer
= 8000;
150
m_uiSlam_Timer
= 10000;
151
152
for
(
uint8
i = 0; i < 2; ++i)
153
{
154
if
(
Creature
* pStormforgedLieutenant = (
Unit::GetCreature
((*
me
),
m_auiStormforgedLieutenantGUID
[i])))
155
{
156
if
(!pStormforgedLieutenant->IsAlive())
157
pStormforgedLieutenant->Respawn();
158
}
159
}
160
161
if
(
m_uiStance
!=
STANCE_DEFENSIVE
)
162
{
163
DoRemoveStanceAura
(
m_uiStance
);
164
DoCast
(
me
,
SPELL_DEFENSIVE_STANCE
);
165
m_uiStance
=
STANCE_DEFENSIVE
;
166
}
167
168
SetEquipmentSlots
(
false
,
EQUIP_SWORD
,
EQUIP_SHIELD
,
EQUIP_NO_CHANGE
);
169
170
if
(
instance
)
171
instance
->SetBossState(
DATA_BJARNGRIM
,
NOT_STARTED
);
172
}
173
174
void
EnterEvadeMode
()
OVERRIDE
175
{
176
if
(
me
->HasAura(
SPELL_TEMPORARY_ELECTRICAL_CHARGE
))
177
canBuff
=
true
;
178
else
179
canBuff
=
false
;
180
181
ScriptedAI::EnterEvadeMode
();
182
}
183
184
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
185
{
186
Talk
(
SAY_AGGRO
);
187
188
//must get both lieutenants here and make sure they are with him
189
me
->CallForHelp(30.0f);
190
191
if
(
instance
)
192
instance
->SetBossState(
DATA_BJARNGRIM
,
IN_PROGRESS
);
193
}
194
195
void
KilledUnit
(
Unit
*
/*victim*/
)
OVERRIDE
196
{
197
Talk
(
SAY_SLAY
);
198
}
199
200
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
201
{
202
Talk
(
SAY_DEATH
);
203
204
if
(
instance
)
205
instance
->SetBossState(
DATA_BJARNGRIM
,
DONE
);
206
}
207
209
void
DoRemoveStanceAura
(
uint8
uiStance)
210
{
211
switch
(uiStance)
212
{
213
case
STANCE_DEFENSIVE
:
214
me
->RemoveAurasDueToSpell(
SPELL_DEFENSIVE_STANCE
);
215
break
;
216
case
STANCE_BERSERKER
:
217
me
->RemoveAurasDueToSpell(
SPELL_BERSEKER_STANCE
);
218
break
;
219
case
STANCE_BATTLE
:
220
me
->RemoveAurasDueToSpell(
SPELL_BATTLE_STANCE
);
221
break
;
222
}
223
}
224
225
void
UpdateAI
(
uint32
uiDiff)
OVERRIDE
226
{
227
//Return since we have no target
228
if
(!
UpdateVictim
())
229
return
;
230
231
// Change stance
232
if
(
m_uiChangeStance_Timer
<= uiDiff)
233
{
234
//wait for current spell to finish before change stance
235
if
(
me
->IsNonMeleeSpellCasted(
false
))
236
return
;
237
238
DoRemoveStanceAura
(
m_uiStance
);
239
240
int
uiTempStance = rand()%(3-1);
241
242
if
(uiTempStance >=
m_uiStance
)
243
++uiTempStance;
244
245
m_uiStance
= uiTempStance;
246
247
switch
(
m_uiStance
)
248
{
249
case
STANCE_DEFENSIVE
:
250
Talk
(
SAY_DEFENSIVE_STANCE
);
251
Talk
(
EMOTE_DEFENSIVE_STANCE
);
252
DoCast
(
me
,
SPELL_DEFENSIVE_STANCE
);
253
SetEquipmentSlots
(
false
,
EQUIP_SWORD
,
EQUIP_SHIELD
,
EQUIP_NO_CHANGE
);
254
break
;
255
case
STANCE_BERSERKER
:
256
Talk
(
SAY_BERSEKER_STANCE
);
257
Talk
(
EMOTE_BERSEKER_STANCE
);
258
DoCast
(
me
,
SPELL_BERSEKER_STANCE
);
259
SetEquipmentSlots
(
false
,
EQUIP_SWORD
,
EQUIP_SWORD
,
EQUIP_NO_CHANGE
);
260
break
;
261
case
STANCE_BATTLE
:
262
Talk
(
SAY_BATTLE_STANCE
);
263
Talk
(
EMOTE_BATTLE_STANCE
);
264
DoCast
(
me
,
SPELL_BATTLE_STANCE
);
265
SetEquipmentSlots
(
false
,
EQUIP_MACE
,
EQUIP_UNEQUIP
,
EQUIP_NO_CHANGE
);
266
break
;
267
}
268
269
m_uiChangeStance_Timer
= std::rand() % 25000 + 20000;
270
return
;
271
}
272
else
273
m_uiChangeStance_Timer
-= uiDiff;
274
275
switch
(
m_uiStance
)
276
{
277
case
STANCE_DEFENSIVE
:
278
{
279
if
(
m_uiReflection_Timer
<= uiDiff)
280
{
281
DoCast
(
me
,
SPELL_SPELL_REFLECTION
);
282
m_uiReflection_Timer
= std::rand() % 9000 + 8000;
283
}
284
else
285
m_uiReflection_Timer
-= uiDiff;
286
287
if
(
m_uiKnockAway_Timer
<= uiDiff)
288
{
289
DoCast
(
me
,
SPELL_KNOCK_AWAY
);
290
m_uiKnockAway_Timer
= std::rand() % 21000 + 20000;
291
}
292
else
293
m_uiKnockAway_Timer
-= uiDiff;
294
295
if
(
m_uiPummel_Timer
<= uiDiff)
296
{
297
DoCastVictim
(
SPELL_PUMMEL
);
298
m_uiPummel_Timer
= std::rand() % 11000 + 10000;
299
}
300
else
301
m_uiPummel_Timer
-= uiDiff;
302
303
if
(
m_uiIronform_Timer
<= uiDiff)
304
{
305
DoCast
(
me
,
SPELL_IRONFORM
);
306
m_uiIronform_Timer
= std::rand() % 26000 + 25000;
307
}
308
else
309
m_uiIronform_Timer
-= uiDiff;
310
311
break
;
312
}
313
case
STANCE_BERSERKER
:
314
{
315
if
(
m_uiIntercept_Timer
<= uiDiff)
316
{
317
//not much point is this, better random target and more often?
318
DoCastVictim
(
SPELL_INTERCEPT
);
319
m_uiIntercept_Timer
= std::rand() % 46000 + 45000;
320
}
321
else
322
m_uiIntercept_Timer
-= uiDiff;
323
324
if
(
m_uiWhirlwind_Timer
<= uiDiff)
325
{
326
DoCast
(
me
,
SPELL_WHIRLWIND
);
327
m_uiWhirlwind_Timer
= std::rand() % 11000 + 10000;
328
}
329
else
330
m_uiWhirlwind_Timer
-= uiDiff;
331
332
if
(
m_uiCleave_Timer
<= uiDiff)
333
{
334
DoCastVictim
(
SPELL_CLEAVE
);
335
m_uiCleave_Timer
= std::rand() % 9000 + 8000;
336
}
337
else
338
m_uiCleave_Timer
-= uiDiff;
339
340
break
;
341
}
342
case
STANCE_BATTLE
:
343
{
344
if
(
m_uiMortalStrike_Timer
<= uiDiff)
345
{
346
DoCastVictim
(
SPELL_MORTAL_STRIKE
);
347
m_uiMortalStrike_Timer
= std::rand() % 21000 + 20000;
348
}
349
else
350
m_uiMortalStrike_Timer
-= uiDiff;
351
352
if
(
m_uiSlam_Timer
<= uiDiff)
353
{
354
DoCastVictim
(
SPELL_SLAM
);
355
m_uiSlam_Timer
= std::rand() % 16000 + 15000;
356
}
357
else
358
m_uiSlam_Timer
-= uiDiff;
359
360
break
;
361
}
362
}
363
364
DoMeleeAttackIfReady
();
365
}
366
};
367
};
368
369
/*######
370
## npc_stormforged_lieutenant
371
######*/
372
373
class
npc_stormforged_lieutenant
:
public
CreatureScript
374
{
375
public
:
376
npc_stormforged_lieutenant
() :
CreatureScript
(
"npc_stormforged_lieutenant"
) { }
377
378
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
379
{
380
return
new
npc_stormforged_lieutenantAI
(creature);
381
}
382
383
struct
npc_stormforged_lieutenantAI
:
public
ScriptedAI
384
{
385
npc_stormforged_lieutenantAI
(
Creature
* creature) :
ScriptedAI
(creature)
386
{
387
instance
= creature->
GetInstanceScript
();
388
}
389
390
InstanceScript
*
instance
;
391
392
uint32
m_uiArcWeld_Timer
;
393
uint32
m_uiRenewSteel_Timer
;
394
395
void
Reset
()
OVERRIDE
396
{
397
m_uiArcWeld_Timer
= std::rand() % 21000 + 20000;
398
m_uiRenewSteel_Timer
= std::rand() % 11000 + 10000;
399
}
400
401
void
EnterCombat
(
Unit
* who)
OVERRIDE
402
{
403
if
(
instance
)
404
{
405
if
(
Creature
* pBjarngrim =
instance
->instance->GetCreature(
instance
->GetData64(
DATA_BJARNGRIM
)))
406
{
407
if
(pBjarngrim->IsAlive() && !pBjarngrim->GetVictim())
408
pBjarngrim->AI()->AttackStart(who);
409
}
410
}
411
}
412
413
void
UpdateAI
(
uint32
uiDiff)
OVERRIDE
414
{
415
//Return since we have no target
416
if
(!
UpdateVictim
())
417
return
;
418
419
if
(
m_uiArcWeld_Timer
<= uiDiff)
420
{
421
DoCastVictim
(
SPELL_ARC_WELD
);
422
m_uiArcWeld_Timer
= std::rand() % 21000 + 20000;
423
}
424
else
425
m_uiArcWeld_Timer
-= uiDiff;
426
427
if
(
m_uiRenewSteel_Timer
<= uiDiff)
428
{
429
if
(
instance
)
430
{
431
if
(
Creature
* pBjarngrim =
instance
->instance->GetCreature(
instance
->GetData64(
DATA_BJARNGRIM
)))
432
{
433
if
(pBjarngrim->IsAlive())
434
DoCast
(pBjarngrim,
SPELL_RENEW_STEEL_N
);
435
}
436
}
437
m_uiRenewSteel_Timer
= std::rand() % 14000 + 10000;
438
}
439
else
440
m_uiRenewSteel_Timer
-= uiDiff;
441
442
DoMeleeAttackIfReady
();
443
}
444
};
445
};
446
447
void
AddSC_boss_bjarngrim
()
448
{
449
new
boss_bjarngrim
();
450
new
npc_stormforged_lieutenant
();
451
}
Spells
Spells
Definition
BattlegroundIC.h:645
EQUIP_UNEQUIP
@ EQUIP_UNEQUIP
Definition
CreatureAI.h:50
EQUIP_NO_CHANGE
@ EQUIP_NO_CHANGE
Definition
CreatureAI.h:49
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
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
DONE
@ DONE
Definition
InstanceScript.h:49
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
ScriptMgr.h
ScriptedCreature.h
Creatures
Creatures
Definition
alterac_valley.cpp:28
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
alterac_valley.cpp:12
SPELL_WHIRLWIND
@ SPELL_WHIRLWIND
Definition
alterac_valley.cpp:15
SAY_SLAY
@ SAY_SLAY
Definition
boss_alizabal.cpp:20
NPC_STORMFORGED_LIEUTENANT
@ NPC_STORMFORGED_LIEUTENANT
Definition
boss_bjarngrim.cpp:61
SAY_DEATH
@ SAY_DEATH
Definition
boss_bjarngrim.cpp:24
EMOTE_DEFENSIVE_STANCE
@ EMOTE_DEFENSIVE_STANCE
Definition
boss_bjarngrim.cpp:25
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_bjarngrim.cpp:19
EMOTE_BERSEKER_STANCE
@ EMOTE_BERSEKER_STANCE
Definition
boss_bjarngrim.cpp:27
SAY_BERSEKER_STANCE
@ SAY_BERSEKER_STANCE
Definition
boss_bjarngrim.cpp:22
SAY_SLAY
@ SAY_SLAY
Definition
boss_bjarngrim.cpp:23
EMOTE_BATTLE_STANCE
@ EMOTE_BATTLE_STANCE
Definition
boss_bjarngrim.cpp:26
SAY_BATTLE_STANCE
@ SAY_BATTLE_STANCE
Definition
boss_bjarngrim.cpp:21
SAY_DEFENSIVE_STANCE
@ SAY_DEFENSIVE_STANCE
Definition
boss_bjarngrim.cpp:20
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
boss_bjarngrim.cpp:43
SPELL_BATTLE_STANCE
@ SPELL_BATTLE_STANCE
Definition
boss_bjarngrim.cpp:45
SPELL_DEFENSIVE_STANCE
@ SPELL_DEFENSIVE_STANCE
Definition
boss_bjarngrim.cpp:32
SPELL_PUMMEL
@ SPELL_PUMMEL
Definition
boss_bjarngrim.cpp:35
SPELL_TEMPORARY_ELECTRICAL_CHARGE
@ SPELL_TEMPORARY_ELECTRICAL_CHARGE
Definition
boss_bjarngrim.cpp:52
SPELL_BERSEKER_STANCE
@ SPELL_BERSEKER_STANCE
Definition
boss_bjarngrim.cpp:39
SPELL_RENEW_STEEL_H
@ SPELL_RENEW_STEEL_H
Definition
boss_bjarngrim.cpp:56
SPELL_SLAM
@ SPELL_SLAM
Definition
boss_bjarngrim.cpp:48
SPELL_MORTAL_STRIKE
@ SPELL_MORTAL_STRIKE
Definition
boss_bjarngrim.cpp:47
SPELL_IRONFORM
@ SPELL_IRONFORM
Definition
boss_bjarngrim.cpp:37
SPELL_INTERCEPT
@ SPELL_INTERCEPT
Definition
boss_bjarngrim.cpp:41
SPELL_ARC_WELD
@ SPELL_ARC_WELD
Definition
boss_bjarngrim.cpp:54
SPELL_KNOCK_AWAY
@ SPELL_KNOCK_AWAY
Definition
boss_bjarngrim.cpp:36
SPELL_SPELL_REFLECTION
@ SPELL_SPELL_REFLECTION
Definition
boss_bjarngrim.cpp:34
SPELL_WHIRLWIND
@ SPELL_WHIRLWIND
Definition
boss_bjarngrim.cpp:42
SPELL_RENEW_STEEL_N
@ SPELL_RENEW_STEEL_N
Definition
boss_bjarngrim.cpp:55
Stanges
Stanges
Definition
boss_bjarngrim.cpp:72
STANCE_BERSERKER
@ STANCE_BERSERKER
Definition
boss_bjarngrim.cpp:74
STANCE_BATTLE
@ STANCE_BATTLE
Definition
boss_bjarngrim.cpp:75
STANCE_DEFENSIVE
@ STANCE_DEFENSIVE
Definition
boss_bjarngrim.cpp:73
AddSC_boss_bjarngrim
void AddSC_boss_bjarngrim()
Definition
boss_bjarngrim.cpp:447
Equips
Equips
Definition
boss_bjarngrim.cpp:65
EQUIP_SWORD
@ EQUIP_SWORD
Definition
boss_bjarngrim.cpp:66
EQUIP_SHIELD
@ EQUIP_SHIELD
Definition
boss_bjarngrim.cpp:67
EQUIP_MACE
@ EQUIP_MACE
Definition
boss_bjarngrim.cpp:68
SAY_DEATH
#define SAY_DEATH
Definition
boss_commander_kolurg.cpp:30
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
SPELL_MORTAL_STRIKE
@ SPELL_MORTAL_STRIKE
Definition
boss_galvangar.cpp:15
SPELL_INTERCEPT
@ SPELL_INTERCEPT
Definition
boss_grand_champions.cpp:31
SPELL_KNOCK_AWAY
@ SPELL_KNOCK_AWAY
Definition
boss_gyth.cpp:16
SPELL_SPELL_REFLECTION
@ SPELL_SPELL_REFLECTION
Definition
boss_ormorok.cpp:13
SPELL_PUMMEL
@ SPELL_PUMMEL
Definition
boss_warmaster_voone.cpp:16
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
CreatureAI::EnterEvadeMode
virtual void EnterEvadeMode()
Definition
CreatureAI.cpp:130
Creature
Definition
Creature.h:427
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
InstanceScript
Definition
InstanceScript.h:123
UnitAI::DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
Definition
UnitAI.cpp:28
UnitAI::DoCast
void DoCast(uint32 spellId)
Definition
UnitAI.cpp:110
UnitAI::DoCastVictim
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition
UnitAI.cpp:168
Unit
Definition
Unit.h:1367
Unit::GetCreature
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4905
WorldObject::GetInstanceScript
InstanceScript * GetInstanceScript()
Definition
Object.cpp:1612
boss_bjarngrim
Definition
boss_bjarngrim.cpp:83
boss_bjarngrim::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_bjarngrim.cpp:87
boss_bjarngrim::boss_bjarngrim
boss_bjarngrim()
Definition
boss_bjarngrim.cpp:85
npc_stormforged_lieutenant
Definition
boss_bjarngrim.cpp:374
npc_stormforged_lieutenant::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_bjarngrim.cpp:378
npc_stormforged_lieutenant::npc_stormforged_lieutenant
npc_stormforged_lieutenant()
Definition
boss_bjarngrim.cpp:376
halls_of_lightning.h
DATA_BJARNGRIM
@ DATA_BJARNGRIM
Definition
halls_of_lightning.h:16
ScriptedAI::SetEquipmentSlots
void SetEquipmentSlots(bool loadDefault, int32 mainHand=EQUIP_NO_CHANGE, int32 offHand=EQUIP_NO_CHANGE, int32 ranged=EQUIP_NO_CHANGE)
Definition
ScriptedCreature.cpp:376
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
Yells
Definition
boss_illidan.cpp:256
boss_bjarngrim::boss_bjarngrimAI
Definition
boss_bjarngrim.cpp:93
boss_bjarngrim::boss_bjarngrimAI::UpdateAI
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_bjarngrim.cpp:225
boss_bjarngrim::boss_bjarngrimAI::m_bIsChangingStance
bool m_bIsChangingStance
Definition
boss_bjarngrim.cpp:104
boss_bjarngrim::boss_bjarngrimAI::m_uiIntercept_Timer
uint32 m_uiIntercept_Timer
Definition
boss_bjarngrim.cpp:118
boss_bjarngrim::boss_bjarngrimAI::m_uiPummel_Timer
uint32 m_uiPummel_Timer
Definition
boss_bjarngrim.cpp:115
boss_bjarngrim::boss_bjarngrimAI::m_uiChangeStance_Timer
uint32 m_uiChangeStance_Timer
Definition
boss_bjarngrim.cpp:111
boss_bjarngrim::boss_bjarngrimAI::m_uiChargingStatus
uint8 m_uiChargingStatus
Definition
boss_bjarngrim.cpp:107
boss_bjarngrim::boss_bjarngrimAI::canBuff
bool canBuff
Definition
boss_bjarngrim.cpp:105
boss_bjarngrim::boss_bjarngrimAI::KilledUnit
void KilledUnit(Unit *) OVERRIDE
Definition
boss_bjarngrim.cpp:195
boss_bjarngrim::boss_bjarngrimAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_bjarngrim.cpp:200
boss_bjarngrim::boss_bjarngrimAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_bjarngrim.cpp:184
boss_bjarngrim::boss_bjarngrimAI::m_uiCharge_Timer
uint32 m_uiCharge_Timer
Definition
boss_bjarngrim.cpp:110
boss_bjarngrim::boss_bjarngrimAI::instance
InstanceScript * instance
Definition
boss_bjarngrim.cpp:102
boss_bjarngrim::boss_bjarngrimAI::m_auiStormforgedLieutenantGUID
uint64 m_auiStormforgedLieutenantGUID[2]
Definition
boss_bjarngrim.cpp:125
boss_bjarngrim::boss_bjarngrimAI::boss_bjarngrimAI
boss_bjarngrimAI(Creature *creature)
Definition
boss_bjarngrim.cpp:94
boss_bjarngrim::boss_bjarngrimAI::m_uiStance
uint8 m_uiStance
Definition
boss_bjarngrim.cpp:108
boss_bjarngrim::boss_bjarngrimAI::Reset
void Reset() OVERRIDE
Definition
boss_bjarngrim.cpp:127
boss_bjarngrim::boss_bjarngrimAI::m_uiReflection_Timer
uint32 m_uiReflection_Timer
Definition
boss_bjarngrim.cpp:113
boss_bjarngrim::boss_bjarngrimAI::m_uiWhirlwind_Timer
uint32 m_uiWhirlwind_Timer
Definition
boss_bjarngrim.cpp:119
boss_bjarngrim::boss_bjarngrimAI::m_uiIronform_Timer
uint32 m_uiIronform_Timer
Definition
boss_bjarngrim.cpp:116
boss_bjarngrim::boss_bjarngrimAI::DoRemoveStanceAura
void DoRemoveStanceAura(uint8 uiStance)
Definition
boss_bjarngrim.cpp:209
boss_bjarngrim::boss_bjarngrimAI::m_uiKnockAway_Timer
uint32 m_uiKnockAway_Timer
Definition
boss_bjarngrim.cpp:114
boss_bjarngrim::boss_bjarngrimAI::m_uiCleave_Timer
uint32 m_uiCleave_Timer
Definition
boss_bjarngrim.cpp:120
boss_bjarngrim::boss_bjarngrimAI::m_uiMortalStrike_Timer
uint32 m_uiMortalStrike_Timer
Definition
boss_bjarngrim.cpp:122
boss_bjarngrim::boss_bjarngrimAI::m_uiSlam_Timer
uint32 m_uiSlam_Timer
Definition
boss_bjarngrim.cpp:123
boss_bjarngrim::boss_bjarngrimAI::EnterEvadeMode
void EnterEvadeMode() OVERRIDE
Definition
boss_bjarngrim.cpp:174
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI
Definition
boss_bjarngrim.cpp:384
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::m_uiRenewSteel_Timer
uint32 m_uiRenewSteel_Timer
Definition
boss_bjarngrim.cpp:393
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::EnterCombat
void EnterCombat(Unit *who) OVERRIDE
Definition
boss_bjarngrim.cpp:401
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::UpdateAI
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_bjarngrim.cpp:413
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::npc_stormforged_lieutenantAI
npc_stormforged_lieutenantAI(Creature *creature)
Definition
boss_bjarngrim.cpp:385
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::Reset
void Reset() OVERRIDE
Definition
boss_bjarngrim.cpp:395
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::instance
InstanceScript * instance
Definition
boss_bjarngrim.cpp:390
npc_stormforged_lieutenant::npc_stormforged_lieutenantAI::m_uiArcWeld_Timer
uint32 m_uiArcWeld_Timer
Definition
boss_bjarngrim.cpp:392
src
server
scripts
Northrend
Ulduar
HallsOfLightning
boss_bjarngrim.cpp
Generated on
for Project SkyFire Core by
1.17.0