Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_erekem.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
#include "
ScriptMgr.h
"
7
#include "
ScriptedCreature.h
"
8
#include "
violet_hold.h
"
9
10
enum
Spells
11
{
12
SPELL_BLOODLUST
= 54516,
13
SPELL_BREAK_BONDS
= 59463,
14
SPELL_CHAIN_HEAL
= 54481,
15
H_SPELL_CHAIN_HEAL
= 59473,
16
SPELL_EARTH_SHIELD
= 54479,
17
H_SPELL_EARTH_SHIELD
= 59471,
18
SPELL_EARTH_SHOCK
= 54511,
19
SPELL_LIGHTNING_BOLT
= 53044,
20
SPELL_STORMSTRIKE
= 51876
21
};
22
23
enum
Yells
24
{
25
SAY_AGGRO
= 0,
26
SAY_SLAY
= 1,
27
SAY_DEATH
= 2,
28
SAY_SPAWN
= 3,
29
SAY_ADD_KILLED
= 4,
30
SAY_BOTH_ADDS_KILLED
= 5
31
};
32
33
class
boss_erekem
:
public
CreatureScript
34
{
35
public
:
36
boss_erekem
() :
CreatureScript
(
"boss_erekem"
) { }
37
38
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
39
{
40
return
new
boss_erekemAI
(creature);
41
}
42
43
struct
boss_erekemAI
:
public
ScriptedAI
44
{
45
boss_erekemAI
(
Creature
* creature) :
ScriptedAI
(creature)
46
{
47
instance
= creature->
GetInstanceScript
();
48
}
49
50
uint32
uiBloodlustTimer
;
51
uint32
uiChainHealTimer
;
52
uint32
uiEarthShockTimer
;
53
uint32
uiLightningBoltTimer
;
54
uint32
uiEarthShieldTimer
;
55
56
InstanceScript
*
instance
;
57
58
void
Reset
()
OVERRIDE
59
{
60
uiBloodlustTimer
= 15000;
61
uiChainHealTimer
= 0;
62
uiEarthShockTimer
= std::rand() % 8000 + 2000;
63
uiLightningBoltTimer
= std::rand() % 10000 + 5000;
64
uiEarthShieldTimer
= 20000;
65
if
(
instance
)
66
{
67
if
(
instance
->GetData(
DATA_WAVE_COUNT
) == 6)
68
instance
->SetData(
DATA_1ST_BOSS_EVENT
,
NOT_STARTED
);
69
else
if
(
instance
->GetData(
DATA_WAVE_COUNT
) == 12)
70
instance
->SetData(
DATA_2ND_BOSS_EVENT
,
NOT_STARTED
);
71
}
72
73
if
(
Creature
* pGuard1 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_1
) : 0))
74
{
75
if
(!pGuard1->IsAlive())
76
pGuard1->Respawn();
77
}
78
if
(
Creature
* pGuard2 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_2
) : 0))
79
{
80
if
(!pGuard2->IsAlive())
81
pGuard2->Respawn();
82
}
83
}
84
85
void
AttackStart
(
Unit
* who)
OVERRIDE
86
{
87
if
(
me
->HasFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_IMMUNE_TO_PC
) ||
me
->HasFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
))
88
return
;
89
90
if
(
me
->Attack(who,
true
))
91
{
92
me
->AddThreat(who, 0.0f);
93
me
->SetInCombatWith(who);
94
who->SetInCombatWith(
me
);
95
DoStartMovement
(who);
96
97
if
(
Creature
* pGuard1 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_1
) : 0))
98
{
99
pGuard1->RemoveFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_IMMUNE_TO_PC
|
UNIT_FLAG_NON_ATTACKABLE
);
100
if
(!pGuard1->GetVictim() && pGuard1->AI())
101
pGuard1->AI()->AttackStart(who);
102
}
103
if
(
Creature
* pGuard2 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_2
) : 0))
104
{
105
pGuard2->RemoveFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_IMMUNE_TO_PC
|
UNIT_FLAG_NON_ATTACKABLE
);
106
if
(!pGuard2->GetVictim() && pGuard2->AI())
107
pGuard2->AI()->AttackStart(who);
108
}
109
}
110
}
111
112
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
113
{
114
Talk
(
SAY_AGGRO
);
115
DoCast
(
me
,
SPELL_EARTH_SHIELD
);
116
117
if
(
instance
)
118
{
119
if
(
GameObject
* pDoor =
instance
->instance->GetGameObject(
instance
->GetData64(
DATA_EREKEM_CELL
)))
120
if
(pDoor->GetGoState() ==
GOState::GO_STATE_READY
)
121
{
122
EnterEvadeMode
();
123
return
;
124
}
125
126
if
(
instance
->GetData(
DATA_WAVE_COUNT
) == 6)
127
instance
->SetData(
DATA_1ST_BOSS_EVENT
,
IN_PROGRESS
);
128
else
if
(
instance
->GetData(
DATA_WAVE_COUNT
) == 12)
129
instance
->SetData(
DATA_2ND_BOSS_EVENT
,
IN_PROGRESS
);
130
}
131
}
132
133
void
MoveInLineOfSight
(
Unit
*
/*who*/
)
OVERRIDE
{ }
134
135
136
void
UpdateAI
(
uint32
diff)
OVERRIDE
137
{
138
//Return since we have no target
139
if
(!
UpdateVictim
())
140
return
;
141
142
//spam stormstrike in hc mode if spawns are dead
143
if
(
IsHeroic
())
144
{
145
if
(
Creature
* pGuard1 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_1
) : 0))
146
{
147
if
(
Creature
* pGuard2 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_2
) : 0))
148
{
149
if
(!pGuard1->IsAlive() && !pGuard2->IsAlive())
150
DoCastVictim
(
SPELL_STORMSTRIKE
);
151
}
152
}
153
}
154
155
if
(
uiEarthShieldTimer
<= diff)
156
{
157
DoCast
(
me
,
SPELL_EARTH_SHIELD
);
158
uiEarthShieldTimer
= 20000;
159
}
else
uiEarthShieldTimer
-= diff;
160
161
if
(
uiChainHealTimer
<= diff)
162
{
163
if
(
uint64
TargetGUID =
GetChainHealTargetGUID
())
164
{
165
if
(
Creature
* target =
Unit::GetCreature
(*
me
, TargetGUID))
166
DoCast
(target,
SPELL_CHAIN_HEAL
);
167
168
//If one of the adds is dead spawn heals faster
169
Creature
* pGuard1 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_1
) : 0);
170
Creature
* pGuard2 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_2
) : 0);
171
uiChainHealTimer
= ((pGuard1 && !pGuard1->
IsAlive
()) || (pGuard2 && !pGuard2->
IsAlive
()) ? 3000 : 8000) + rand()%3000;
172
}
173
}
else
uiChainHealTimer
-= diff;
174
175
if
(
uiBloodlustTimer
<= diff)
176
{
177
DoCast
(
me
,
SPELL_BLOODLUST
);
178
uiBloodlustTimer
= std::rand() % 45000 + 35000;
179
}
else
uiBloodlustTimer
-= diff;
180
181
if
(
uiEarthShockTimer
<= diff)
182
{
183
DoCastVictim
(
SPELL_EARTH_SHOCK
);
184
uiEarthShockTimer
= std::rand() % 13000 + 8000;
185
}
else
uiEarthShockTimer
-= diff;
186
187
if
(
uiLightningBoltTimer
<= diff)
188
{
189
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0, 100,
true
))
190
DoCast
(target,
SPELL_LIGHTNING_BOLT
);
191
uiLightningBoltTimer
= std::rand() % 24000 + 18000;
192
}
else
uiLightningBoltTimer
-= diff;
193
194
DoMeleeAttackIfReady
();
195
}
196
197
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
198
{
199
Talk
(
SAY_DEATH
);
200
201
if
(
instance
)
202
{
203
if
(
instance
->GetData(
DATA_WAVE_COUNT
) == 6)
204
{
205
instance
->SetData(
DATA_1ST_BOSS_EVENT
,
DONE
);
206
instance
->SetData(
DATA_WAVE_COUNT
, 7);
207
}
208
else
if
(
instance
->GetData(
DATA_WAVE_COUNT
) == 12)
209
{
210
instance
->SetData(
DATA_2ND_BOSS_EVENT
,
DONE
);
211
instance
->SetData(
DATA_WAVE_COUNT
, 13);
212
}
213
}
214
}
215
216
void
KilledUnit
(
Unit
* victim)
OVERRIDE
217
{
218
if
(victim->GetTypeId() !=
TypeID::TYPEID_PLAYER
)
219
return
;
220
221
Talk
(
SAY_SLAY
);
222
}
223
224
uint64
GetChainHealTargetGUID
()
225
{
226
if
(
HealthBelowPct
(85))
227
return
me
->GetGUID();
228
229
Creature
* pGuard1 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_1
) : 0);
230
if
(pGuard1 && pGuard1->
IsAlive
() && !pGuard1->
HealthAbovePct
(75))
231
return
pGuard1->
GetGUID
();
232
233
Creature
* pGuard2 =
Unit::GetCreature
(*
me
,
instance
?
instance
->GetData64(
DATA_EREKEM_GUARD_2
) : 0);
234
if
(pGuard2 && pGuard2->
IsAlive
() && !pGuard2->
HealthAbovePct
(75))
235
return
pGuard2->
GetGUID
();
236
237
return
0;
238
}
239
};
240
};
241
242
enum
GuardSpells
243
{
244
SPELL_GUSHING_WOUND
= 39215,
245
SPELL_HOWLING_SCREECH
= 54462,
246
SPELL_STRIKE
= 14516
247
};
248
249
class
npc_erekem_guard
:
public
CreatureScript
250
{
251
public
:
252
npc_erekem_guard
() :
CreatureScript
(
"npc_erekem_guard"
) { }
253
254
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
255
{
256
return
new
npc_erekem_guardAI
(creature);
257
}
258
259
struct
npc_erekem_guardAI
:
public
ScriptedAI
260
{
261
npc_erekem_guardAI
(
Creature
* creature) :
ScriptedAI
(creature)
262
{
263
instance
= creature->
GetInstanceScript
();
264
}
265
266
uint32
uiGushingWoundTimer
;
267
uint32
uiHowlingScreechTimer
;
268
uint32
uiStrikeTimer
;
269
270
InstanceScript
*
instance
;
271
272
void
Reset
()
OVERRIDE
273
{
274
uiStrikeTimer
= std::rand() % 8000 + 4000;
275
uiHowlingScreechTimer
= std::rand() % 130000 + 8000;
276
uiGushingWoundTimer
= std::rand() % 3000 + 1000;
277
}
278
279
void
AttackStart
(
Unit
* who)
OVERRIDE
280
{
281
if
(
me
->HasFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_IMMUNE_TO_PC
) ||
me
->HasFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
))
282
return
;
283
284
if
(
me
->Attack(who,
true
))
285
{
286
me
->AddThreat(who, 0.0f);
287
me
->SetInCombatWith(who);
288
who->SetInCombatWith(
me
);
289
DoStartMovement
(who);
290
}
291
}
292
293
void
MoveInLineOfSight
(
Unit
*
/*who*/
)
OVERRIDE
{ }
294
295
296
void
UpdateAI
(
uint32
diff)
OVERRIDE
297
{
298
if
(!
UpdateVictim
())
299
return
;
300
301
DoMeleeAttackIfReady
();
302
303
if
(
uiStrikeTimer
<= diff)
304
{
305
DoCastVictim
(
SPELL_STRIKE
);
306
uiStrikeTimer
= std::rand() % 8000 + 4000;
307
}
else
uiStrikeTimer
-= diff;
308
309
if
(
uiHowlingScreechTimer
<= diff)
310
{
311
DoCastVictim
(
SPELL_HOWLING_SCREECH
);
312
uiHowlingScreechTimer
= std::rand() % 13000 + 8000;
313
}
else
uiHowlingScreechTimer
-= diff;
314
315
if
(
uiGushingWoundTimer
<= diff)
316
{
317
DoCastVictim
(
SPELL_GUSHING_WOUND
);
318
uiGushingWoundTimer
= std::rand() % 12000 + 7000;
319
}
else
uiGushingWoundTimer
-= diff;
320
}
321
};
322
};
323
324
void
AddSC_boss_erekem
()
325
{
326
new
boss_erekem
();
327
new
npc_erekem_guard
();
328
}
Spells
Spells
Definition
BattlegroundIC.h:645
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
GOState::GO_STATE_READY
@ GO_STATE_READY
Definition
GameObject.h:577
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
DONE
@ DONE
Definition
InstanceScript.h:49
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
TypeID::TYPEID_PLAYER
@ TYPEID_PLAYER
Definition
Object.h:55
ScriptMgr.h
ScriptedCreature.h
UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE
Definition
Unit.h:626
UNIT_FLAG_IMMUNE_TO_PC
@ UNIT_FLAG_IMMUNE_TO_PC
Definition
Unit.h:633
SELECT_TARGET_RANDOM
@ SELECT_TARGET_RANDOM
Definition
UnitAI.h:23
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
SAY_SLAY
@ SAY_SLAY
Definition
boss_alizabal.cpp:20
SPELL_GUSHING_WOUND
@ SPELL_GUSHING_WOUND
Definition
boss_blood_queen_lana_thel.cpp:65
SAY_DEATH
#define SAY_DEATH
Definition
boss_commander_kolurg.cpp:30
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
SAY_DEATH
@ SAY_DEATH
Definition
boss_erekem.cpp:27
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_erekem.cpp:25
SAY_ADD_KILLED
@ SAY_ADD_KILLED
Definition
boss_erekem.cpp:29
SAY_BOTH_ADDS_KILLED
@ SAY_BOTH_ADDS_KILLED
Definition
boss_erekem.cpp:30
SAY_SLAY
@ SAY_SLAY
Definition
boss_erekem.cpp:26
SPELL_BLOODLUST
@ SPELL_BLOODLUST
Definition
boss_erekem.cpp:12
SPELL_STORMSTRIKE
@ SPELL_STORMSTRIKE
Definition
boss_erekem.cpp:20
SPELL_BREAK_BONDS
@ SPELL_BREAK_BONDS
Definition
boss_erekem.cpp:13
SPELL_CHAIN_HEAL
@ SPELL_CHAIN_HEAL
Definition
boss_erekem.cpp:14
SPELL_EARTH_SHIELD
@ SPELL_EARTH_SHIELD
Definition
boss_erekem.cpp:16
SPELL_LIGHTNING_BOLT
@ SPELL_LIGHTNING_BOLT
Definition
boss_erekem.cpp:19
H_SPELL_CHAIN_HEAL
@ H_SPELL_CHAIN_HEAL
Definition
boss_erekem.cpp:15
H_SPELL_EARTH_SHIELD
@ H_SPELL_EARTH_SHIELD
Definition
boss_erekem.cpp:17
SPELL_EARTH_SHOCK
@ SPELL_EARTH_SHOCK
Definition
boss_erekem.cpp:18
AddSC_boss_erekem
void AddSC_boss_erekem()
Definition
boss_erekem.cpp:324
GuardSpells
GuardSpells
Definition
boss_erekem.cpp:243
SPELL_STRIKE
@ SPELL_STRIKE
Definition
boss_erekem.cpp:246
SPELL_HOWLING_SCREECH
@ SPELL_HOWLING_SCREECH
Definition
boss_erekem.cpp:245
SPELL_GUSHING_WOUND
@ SPELL_GUSHING_WOUND
Definition
boss_erekem.cpp:244
SPELL_STORMSTRIKE
@ SPELL_STORMSTRIKE
Definition
boss_faction_champions.cpp:163
SPELL_EARTH_SHIELD
@ SPELL_EARTH_SHIELD
Definition
boss_grand_champions.cpp:46
SPELL_LIGHTNING_BOLT
@ SPELL_LIGHTNING_BOLT
Definition
boss_grimlok.cpp:20
SPELL_BLOODLUST
@ SPELL_BLOODLUST
Definition
boss_houndmaster_loksey.cpp:24
SAY_SPAWN
@ SAY_SPAWN
Definition
boss_majordomo_executus.cpp:23
SPELL_STRIKE
@ SPELL_STRIKE
Definition
boss_pyroguard_emberseer.cpp:35
SPELL_EARTH_SHOCK
@ SPELL_EARTH_SHOCK
Definition
boss_skeram.cpp:22
SPELL_CHAIN_HEAL
@ SPELL_CHAIN_HEAL
Definition
chapter5.cpp:204
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
GameObject
Definition
GameObject.h:629
InstanceScript
Definition
InstanceScript.h:123
Object::GetGUID
uint64 GetGUID() const
Definition
Object.h:119
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::HealthAbovePct
bool HealthAbovePct(int32 pct) const
Definition
Unit.h:1621
Unit::IsAlive
bool IsAlive() const
Definition
Unit.h:2032
Unit::GetCreature
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4905
WorldObject::GetInstanceScript
InstanceScript * GetInstanceScript()
Definition
Object.cpp:1612
boss_erekem
Definition
boss_erekem.cpp:34
boss_erekem::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_erekem.cpp:38
boss_erekem::boss_erekem
boss_erekem()
Definition
boss_erekem.cpp:36
npc_erekem_guard
Definition
boss_erekem.cpp:250
npc_erekem_guard::npc_erekem_guard
npc_erekem_guard()
Definition
boss_erekem.cpp:252
npc_erekem_guard::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_erekem.cpp:254
DATA_WAVE_COUNT
@ DATA_WAVE_COUNT
Definition
halls_of_reflection.h:26
ScriptedAI::IsHeroic
bool IsHeroic() const
Definition
ScriptedCreature.h:279
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::HealthBelowPct
bool HealthBelowPct(uint32 pct) const
Definition
ScriptedCreature.h:247
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
ScriptedAI::DoStartMovement
void DoStartMovement(Unit *target, float distance=0.0f, float angle=0.0f)
Definition
ScriptedCreature.cpp:135
Yells
Definition
boss_illidan.cpp:256
boss_erekem::boss_erekemAI
Definition
boss_erekem.cpp:44
boss_erekem::boss_erekemAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_erekem.cpp:112
boss_erekem::boss_erekemAI::uiLightningBoltTimer
uint32 uiLightningBoltTimer
Definition
boss_erekem.cpp:53
boss_erekem::boss_erekemAI::boss_erekemAI
boss_erekemAI(Creature *creature)
Definition
boss_erekem.cpp:45
boss_erekem::boss_erekemAI::MoveInLineOfSight
void MoveInLineOfSight(Unit *) OVERRIDE
Definition
boss_erekem.cpp:133
boss_erekem::boss_erekemAI::GetChainHealTargetGUID
uint64 GetChainHealTargetGUID()
Definition
boss_erekem.cpp:224
boss_erekem::boss_erekemAI::uiBloodlustTimer
uint32 uiBloodlustTimer
Definition
boss_erekem.cpp:50
boss_erekem::boss_erekemAI::KilledUnit
void KilledUnit(Unit *victim) OVERRIDE
Definition
boss_erekem.cpp:216
boss_erekem::boss_erekemAI::uiEarthShockTimer
uint32 uiEarthShockTimer
Definition
boss_erekem.cpp:52
boss_erekem::boss_erekemAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_erekem.cpp:197
boss_erekem::boss_erekemAI::uiChainHealTimer
uint32 uiChainHealTimer
Definition
boss_erekem.cpp:51
boss_erekem::boss_erekemAI::AttackStart
void AttackStart(Unit *who) OVERRIDE
Definition
boss_erekem.cpp:85
boss_erekem::boss_erekemAI::instance
InstanceScript * instance
Definition
boss_erekem.cpp:56
boss_erekem::boss_erekemAI::Reset
void Reset() OVERRIDE
Definition
boss_erekem.cpp:58
boss_erekem::boss_erekemAI::uiEarthShieldTimer
uint32 uiEarthShieldTimer
Definition
boss_erekem.cpp:54
boss_erekem::boss_erekemAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_erekem.cpp:136
npc_erekem_guard::npc_erekem_guardAI
Definition
boss_erekem.cpp:260
npc_erekem_guard::npc_erekem_guardAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_erekem.cpp:296
npc_erekem_guard::npc_erekem_guardAI::Reset
void Reset() OVERRIDE
Definition
boss_erekem.cpp:272
npc_erekem_guard::npc_erekem_guardAI::uiGushingWoundTimer
uint32 uiGushingWoundTimer
Definition
boss_erekem.cpp:266
npc_erekem_guard::npc_erekem_guardAI::instance
InstanceScript * instance
Definition
boss_erekem.cpp:270
npc_erekem_guard::npc_erekem_guardAI::AttackStart
void AttackStart(Unit *who) OVERRIDE
Definition
boss_erekem.cpp:279
npc_erekem_guard::npc_erekem_guardAI::npc_erekem_guardAI
npc_erekem_guardAI(Creature *creature)
Definition
boss_erekem.cpp:261
npc_erekem_guard::npc_erekem_guardAI::uiHowlingScreechTimer
uint32 uiHowlingScreechTimer
Definition
boss_erekem.cpp:267
npc_erekem_guard::npc_erekem_guardAI::MoveInLineOfSight
void MoveInLineOfSight(Unit *) OVERRIDE
Definition
boss_erekem.cpp:293
npc_erekem_guard::npc_erekem_guardAI::uiStrikeTimer
uint32 uiStrikeTimer
Definition
boss_erekem.cpp:268
violet_hold.h
DATA_EREKEM_GUARD_2
@ DATA_EREKEM_GUARD_2
Definition
violet_hold.h:34
DATA_EREKEM_CELL
@ DATA_EREKEM_CELL
Definition
violet_hold.h:41
DATA_EREKEM_GUARD_1
@ DATA_EREKEM_GUARD_1
Definition
violet_hold.h:33
DATA_1ST_BOSS_EVENT
@ DATA_1ST_BOSS_EVENT
Definition
violet_hold.h:11
DATA_2ND_BOSS_EVENT
@ DATA_2ND_BOSS_EVENT
Definition
violet_hold.h:12
src
server
scripts
Northrend
VioletHold
boss_erekem.cpp
Generated on
for Project SkyFire Core by
1.17.0