Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_rend_blackhand.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 "
Player.h
"
9
#include "
blackrock_spire.h
"
10
11
enum
Spells
12
{
13
SPELL_WHIRLWIND
= 13736,
// sniffed
14
SPELL_CLEAVE
= 15284,
15
SPELL_MORTAL_STRIKE
= 16856,
16
SPELL_FRENZY
= 8269,
17
SPELL_KNOCKDOWN
= 13360
// On spawn during Gyth fight
18
};
19
20
enum
Says
21
{
22
// Rend Blackhand
23
SAY_BLACKHAND_1
= 0,
24
SAY_BLACKHAND_2
= 1,
25
EMOTE_BLACKHAND_DISMOUNT
= 2,
26
// Victor Nefarius
27
SAY_NEFARIUS_0
= 0,
28
SAY_NEFARIUS_1
= 1,
29
SAY_NEFARIUS_2
= 2,
30
SAY_NEFARIUS_3
= 3,
31
SAY_NEFARIUS_4
= 4,
32
SAY_NEFARIUS_5
= 5,
33
SAY_NEFARIUS_6
= 6,
34
SAY_NEFARIUS_7
= 7,
35
SAY_NEFARIUS_8
= 8,
36
SAY_NEFARIUS_9
= 9,
37
};
38
39
enum
Adds
40
{
41
NPC_CHROMATIC_WHELP
= 10442,
42
NPC_CHROMATIC_DRAGONSPAWN
= 10447,
43
NPC_BLACKHAND_DRAGON_HANDLER
= 10742
44
};
45
46
enum
Misc
47
{
48
NEFARIUS_PATH_1
= 1379670,
49
NEFARIUS_PATH_2
= 1379671,
50
NEFARIUS_PATH_3
= 1379672,
51
REND_PATH_1
= 1379680,
52
REND_PATH_2
= 1379681,
53
};
54
55
/*
56
struct Wave
57
{
58
uint32 entry;
59
float x_pos;
60
float y_pos;
61
float z_pos;
62
float o_pos;
63
};
64
65
static Wave Wave2[]= // 22 sec
66
{
67
{ 10447, 209.8637f, -428.2729f, 110.9877f, 0.6632251f },
68
{ 10442, 209.3122f, -430.8724f, 110.9814f, 2.9147f },
69
{ 10442, 211.3309f, -425.9111f, 111.0006f, 1.727876f }
70
};
71
72
static Wave Wave3[]= // 60 sec
73
{
74
{ 10742, 208.6493f, -424.5787f, 110.9872f, 5.8294f },
75
{ 10447, 203.9482f, -428.9446f, 110.982f, 4.677482f },
76
{ 10442, 203.3441f, -426.8668f, 110.9772f, 4.712389f },
77
{ 10442, 206.3079f, -424.7509f, 110.9943f, 4.08407f }
78
};
79
80
static Wave Wave4[]= // 49 sec
81
{
82
{ 10742, 212.3541f, -412.6826f, 111.0352f, 5.88176f },
83
{ 10447, 212.5754f, -410.2841f, 111.0296f, 2.740167f },
84
{ 10442, 212.3449f, -414.8659f, 111.0348f, 2.356194f },
85
{ 10442, 210.6568f, -412.1552f, 111.0124f, 0.9773844f }
86
};
87
88
static Wave Wave5[]= // 60 sec
89
{
90
{ 10742, 210.2188f, -410.6686f, 111.0211f, 5.8294f },
91
{ 10447, 209.4078f, -414.13f, 111.0264f, 4.677482f },
92
{ 10442, 208.0858f, -409.3145f, 111.0118f, 4.642576f },
93
{ 10442, 207.9811f, -413.0728f, 111.0098f, 5.288348f },
94
{ 10442, 208.0854f, -412.1505f, 111.0057f, 4.08407f }
95
};
96
97
static Wave Wave6[]= // 27 sec
98
{
99
{ 10742, 213.9138f, -426.512f, 111.0013f, 3.316126f },
100
{ 10447, 213.7121f, -429.8102f, 110.9888f, 1.413717f },
101
{ 10447, 213.7157f, -424.4268f, 111.009f, 3.001966f },
102
{ 10442, 210.8935f, -423.913f, 111.0125f, 5.969026f },
103
{ 10442, 212.2642f, -430.7648f, 110.9807f, 5.934119f }
104
};
105
*/
106
107
Position
const
GythLoc
= { 211.762f, -397.5885f, 111.1817f, 4.747295f };
108
Position
const
Teleport1Loc
= { 194.2993f, -474.0814f, 121.4505f, -0.01225555f };
109
Position
const
Teleport2Loc
= { 216.485f, -434.93f, 110.888f, -0.01225555f };
110
111
enum
Events
112
{
113
EVENT_START_1
= 1,
114
EVENT_START_2
= 2,
115
EVENT_START_3
= 3,
116
EVENT_START_4
= 4,
117
EVENT_TURN_TO_REND
= 5,
118
EVENT_TURN_TO_PLAYER
= 6,
119
EVENT_TURN_TO_FACING_1
= 7,
120
EVENT_TURN_TO_FACING_2
= 8,
121
EVENT_TURN_TO_FACING_3
= 9,
122
EVENT_WAVE_1
= 10,
123
EVENT_WAVE_2
= 11,
124
EVENT_WAVE_3
= 12,
125
EVENT_WAVE_4
= 13,
126
EVENT_WAVE_5
= 14,
127
EVENT_WAVE_6
= 15,
128
EVENT_WAVES_TEXT_1
= 16,
129
EVENT_WAVES_TEXT_2
= 17,
130
EVENT_WAVES_TEXT_3
= 18,
131
EVENT_WAVES_TEXT_4
= 19,
132
EVENT_WAVES_TEXT_5
= 20,
133
EVENT_WAVES_COMPLETE_TEXT_1
= 21,
134
EVENT_WAVES_COMPLETE_TEXT_2
= 22,
135
EVENT_WAVES_COMPLETE_TEXT_3
= 23,
136
EVENT_WAVES_EMOTE_1
= 24,
137
EVENT_WAVES_EMOTE_2
= 25,
138
EVENT_PATH_REND
= 26,
139
EVENT_PATH_NEFARIUS
= 27,
140
EVENT_TELEPORT_1
= 28,
141
EVENT_TELEPORT_2
= 29,
142
EVENT_WHIRLWIND
= 30,
143
EVENT_CLEAVE
= 31,
144
EVENT_MORTAL_STRIKE
= 32,
145
};
146
147
class
boss_rend_blackhand
:
public
CreatureScript
148
{
149
public
:
150
boss_rend_blackhand
() :
CreatureScript
(
"boss_rend_blackhand"
) { }
151
152
struct
boss_rend_blackhandAI
:
public
BossAI
153
{
154
boss_rend_blackhandAI
(
Creature
* creature) :
BossAI
(creature,
DATA_WARCHIEF_REND_BLACKHAND
) { }
155
156
void
Reset
()
OVERRIDE
157
{
158
_Reset
();
159
gythEvent
=
false
;
160
victorGUID
= 0;
161
}
162
163
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
164
{
165
_EnterCombat
();
166
events
.ScheduleEvent(
EVENT_WHIRLWIND
, std::rand() % 15000 + 13000);
167
events
.ScheduleEvent(
EVENT_CLEAVE
, std::rand() % 17000 + 15000);
168
events
.ScheduleEvent(
EVENT_MORTAL_STRIKE
, std::rand() % 19000 + 17000);
169
}
170
171
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
172
{
173
_JustDied
();
174
if
(
Creature
* victor =
me
->FindNearestCreature(
NPC_LORD_VICTOR_NEFARIUS
, 75.0f,
true
))
175
victor->AI()->SetData(1, 2);
176
}
177
178
void
SetData
(
uint32
type,
uint32
data)
OVERRIDE
179
{
180
if
(
instance
&& type ==
AREATRIGGER
&& data ==
AREATRIGGER_BLACKROCK_STADIUM
)
181
{
182
if
(!
gythEvent
)
183
{
184
gythEvent
=
true
;
185
186
if
(
Creature
* victor =
me
->FindNearestCreature(
NPC_LORD_VICTOR_NEFARIUS
, 5.0f,
true
))
187
victorGUID
= victor->GetGUID();
188
189
if
(
GameObject
* portcullis =
me
->FindNearestGameObject(
GO_DR_PORTCULLIS
, 50.0f))
190
portcullisGUID
= portcullis->GetGUID();
191
192
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
193
events
.ScheduleEvent(
EVENT_START_1
, 1000);
194
}
195
}
196
}
197
198
void
MovementInform
(
uint32
type,
uint32
id
)
OVERRIDE
199
{
200
if
(type ==
WAYPOINT_MOTION_TYPE
)
201
{
202
switch
(
id
)
203
{
204
case
5:
205
events
.ScheduleEvent(
EVENT_TELEPORT_1
, 2000);
206
break
;
207
case
11:
208
if
(
Creature
* gyth =
me
->FindNearestCreature(
NPC_GYTH
, 10.0f,
true
))
209
gyth->AI()->SetData(1, 1);
210
me
->DespawnOrUnsummon(1000);
211
break
;
212
}
213
}
214
}
215
216
void
UpdateAI
(
uint32
diff)
OVERRIDE
217
{
218
if
(
gythEvent
)
219
{
220
events
.Update(diff);
221
222
while
(
uint32
eventId =
events
.ExecuteEvent())
223
{
224
switch
(eventId)
225
{
226
case
EVENT_START_1
:
227
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
228
victor->AI()->Talk(
SAY_NEFARIUS_0
);
229
events
.ScheduleEvent(
EVENT_START_2
, 4000);
230
break
;
231
case
EVENT_START_2
:
232
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
233
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
234
victor->HandleEmoteCommand(
EMOTE_ONESHOT_POINT
);
235
events
.ScheduleEvent(
EVENT_START_3
, 4000);
236
break
;
237
case
EVENT_START_3
:
238
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
239
victor->AI()->Talk(
SAY_NEFARIUS_1
);
240
events
.ScheduleEvent(
EVENT_WAVE_1
, 2000);
241
events
.ScheduleEvent(
EVENT_TURN_TO_REND
, 4000);
242
events
.ScheduleEvent(
EVENT_WAVES_TEXT_1
, 20000);
243
break
;
244
case
EVENT_TURN_TO_REND
:
245
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
246
{
247
victor->SetFacingToObject(
me
);
248
victor->HandleEmoteCommand(
EMOTE_ONESHOT_TALK
);
249
}
250
break
;
251
case
EVENT_TURN_TO_PLAYER
:
252
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
253
if
(
Unit
* player = victor->SelectNearestPlayer(60.0f))
254
victor->SetFacingToObject(player);
255
break
;
256
case
EVENT_TURN_TO_FACING_1
:
257
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
258
victor->SetFacingTo(1.518436f);
259
break
;
260
case
EVENT_TURN_TO_FACING_2
:
261
me
->SetFacingTo(1.658063f);
262
break
;
263
case
EVENT_TURN_TO_FACING_3
:
264
me
->SetFacingTo(1.500983f);
265
break
;
266
case
EVENT_WAVES_EMOTE_1
:
267
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
268
victor->HandleEmoteCommand(
EMOTE_ONESHOT_QUESTION
);
269
break
;
270
case
EVENT_WAVES_EMOTE_2
:
271
me
->HandleEmoteCommand(
EMOTE_ONESHOT_ROAR
);
272
break
;
273
case
EVENT_WAVES_TEXT_1
:
274
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
275
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
276
victor->AI()->Talk(
SAY_NEFARIUS_2
);
277
me
->HandleEmoteCommand(
EMOTE_ONESHOT_TALK
);
278
events
.ScheduleEvent(
EVENT_TURN_TO_FACING_1
, 4000);
279
events
.ScheduleEvent(
EVENT_WAVES_EMOTE_1
, 5000);
280
events
.ScheduleEvent(
EVENT_WAVE_2
, 2000);
281
events
.ScheduleEvent(
EVENT_WAVES_TEXT_2
, 20000);
282
break
;
283
case
EVENT_WAVES_TEXT_2
:
284
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
285
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
286
victor->AI()->Talk(
SAY_NEFARIUS_3
);
287
events
.ScheduleEvent(
EVENT_TURN_TO_FACING_1
, 4000);
288
events
.ScheduleEvent(
EVENT_WAVE_3
, 2000);
289
events
.ScheduleEvent(
EVENT_WAVES_TEXT_3
, 20000);
290
break
;
291
case
EVENT_WAVES_TEXT_3
:
292
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
293
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
294
victor->AI()->Talk(
SAY_NEFARIUS_4
);
295
events
.ScheduleEvent(
EVENT_TURN_TO_FACING_1
, 4000);
296
events
.ScheduleEvent(
EVENT_WAVE_4
, 2000);
297
events
.ScheduleEvent(
EVENT_WAVES_TEXT_4
, 20000);
298
break
;
299
case
EVENT_WAVES_TEXT_4
:
300
Talk
(
SAY_BLACKHAND_1
);
301
events
.ScheduleEvent(
EVENT_WAVES_EMOTE_2
, 4000);
302
events
.ScheduleEvent(
EVENT_TURN_TO_FACING_3
, 8000);
303
events
.ScheduleEvent(
EVENT_WAVE_5
, 2000);
304
events
.ScheduleEvent(
EVENT_WAVES_TEXT_5
, 20000);
305
break
;
306
case
EVENT_WAVES_TEXT_5
:
307
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
308
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
309
victor->AI()->Talk(
SAY_NEFARIUS_5
);
310
events
.ScheduleEvent(
EVENT_TURN_TO_FACING_1
, 4000);
311
events
.ScheduleEvent(
EVENT_WAVE_6
, 2000);
312
events
.ScheduleEvent(
EVENT_WAVES_COMPLETE_TEXT_1
, 20000);
313
break
;
314
case
EVENT_WAVES_COMPLETE_TEXT_1
:
315
events
.ScheduleEvent(
EVENT_TURN_TO_PLAYER
, 0);
316
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
317
victor->AI()->Talk(
SAY_NEFARIUS_6
);
318
events
.ScheduleEvent(
EVENT_TURN_TO_FACING_1
, 4000);
319
events
.ScheduleEvent(
EVENT_WAVES_COMPLETE_TEXT_2
, 13000);
320
break
;
321
case
EVENT_WAVES_COMPLETE_TEXT_2
:
322
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
323
victor->AI()->Talk(
SAY_NEFARIUS_7
);
324
Talk
(
SAY_BLACKHAND_2
);
325
events
.ScheduleEvent(
EVENT_PATH_REND
, 1000);
326
events
.ScheduleEvent(
EVENT_WAVES_COMPLETE_TEXT_3
, 4000);
327
break
;
328
case
EVENT_WAVES_COMPLETE_TEXT_3
:
329
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
330
victor->AI()->Talk(
SAY_NEFARIUS_8
);
331
events
.ScheduleEvent(
EVENT_PATH_NEFARIUS
, 1000);
332
events
.ScheduleEvent(
EVENT_PATH_REND
, 1000);
333
break
;
334
case
EVENT_PATH_NEFARIUS
:
335
if
(
Creature
* victor =
me
->GetCreature(*
me
,
victorGUID
))
336
victor->GetMotionMaster()->MovePath(
NEFARIUS_PATH_1
,
true
);
337
break
;
338
case
EVENT_PATH_REND
:
339
me
->GetMotionMaster()->MovePath(
REND_PATH_1
,
false
);
340
break
;
341
case
EVENT_TELEPORT_1
:
342
me
->NearTeleportTo(194.2993f, -474.0814f, 121.4505f, -0.01225555f);
343
events
.ScheduleEvent(
EVENT_TELEPORT_2
, 50000);
344
break
;
345
case
EVENT_TELEPORT_2
:
346
me
->NearTeleportTo(216.485f, -434.93f, 110.888f, -0.01225555f);
347
me
->SummonCreature(
NPC_GYTH
, 211.762f, -397.5885f, 111.1817f, 4.747295f);
348
break
;
349
case
EVENT_WAVE_1
:
350
if
(
GameObject
* portcullis =
me
->GetMap()->GetGameObject(
portcullisGUID
))
351
portcullis->UseDoorOrButton();
352
// move wave
353
break
;
354
case
EVENT_WAVE_2
:
355
// spawn wave
356
if
(
GameObject
* portcullis =
me
->GetMap()->GetGameObject(
portcullisGUID
))
357
portcullis->UseDoorOrButton();
358
// move wave
359
break
;
360
case
EVENT_WAVE_3
:
361
// spawn wave
362
if
(
GameObject
* portcullis =
me
->GetMap()->GetGameObject(
portcullisGUID
))
363
portcullis->UseDoorOrButton();
364
// move wave
365
break
;
366
case
EVENT_WAVE_4
:
367
// spawn wave
368
if
(
GameObject
* portcullis =
me
->GetMap()->GetGameObject(
portcullisGUID
))
369
portcullis->UseDoorOrButton();
370
// move wave
371
break
;
372
case
EVENT_WAVE_5
:
373
// spawn wave
374
if
(
GameObject
* portcullis =
me
->GetMap()->GetGameObject(
portcullisGUID
))
375
portcullis->UseDoorOrButton();
376
// move wave
377
break
;
378
case
EVENT_WAVE_6
:
379
// spawn wave
380
if
(
GameObject
* portcullis =
me
->GetMap()->GetGameObject(
portcullisGUID
))
381
portcullis->UseDoorOrButton();
382
// move wave
383
break
;
384
default
:
385
break
;
386
}
387
}
388
}
389
390
if
(!
UpdateVictim
())
391
return
;
392
393
events
.Update(diff);
394
395
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
396
return
;
397
398
while
(
uint32
eventId =
events
.ExecuteEvent())
399
{
400
switch
(eventId)
401
{
402
case
EVENT_WHIRLWIND
:
403
DoCast
(
SPELL_WHIRLWIND
);
404
events
.ScheduleEvent(
EVENT_WHIRLWIND
, std::rand() % 18000 + 13000);
405
break
;
406
case
EVENT_CLEAVE
:
407
DoCastVictim
(
SPELL_CLEAVE
);
408
events
.ScheduleEvent(
EVENT_CLEAVE
, std::rand() % 14000 + 10000);
409
break
;
410
case
EVENT_MORTAL_STRIKE
:
411
DoCastVictim
(
SPELL_MORTAL_STRIKE
);
412
events
.ScheduleEvent(
EVENT_MORTAL_STRIKE
, std::rand() % 16000 + 14000);
413
break
;
414
}
415
}
416
DoMeleeAttackIfReady
();
417
}
418
419
private
:
420
bool
gythEvent
;
421
uint64
victorGUID
;
422
uint64
portcullisGUID
;
423
};
424
425
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
426
{
427
return
new
boss_rend_blackhandAI
(creature);
428
}
429
};
430
431
void
AddSC_boss_rend_blackhand
()
432
{
433
new
boss_rend_blackhand
();
434
}
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
WAYPOINT_MOTION_TYPE
@ WAYPOINT_MOTION_TYPE
Definition
MotionMaster.h:26
Player.h
ScriptMgr.h
ScriptedCreature.h
EMOTE_ONESHOT_POINT
@ EMOTE_ONESHOT_POINT
Definition
SharedDefines.h:2154
EMOTE_ONESHOT_QUESTION
@ EMOTE_ONESHOT_QUESTION
Definition
SharedDefines.h:2137
EMOTE_ONESHOT_ROAR
@ EMOTE_ONESHOT_ROAR
Definition
SharedDefines.h:2144
EMOTE_ONESHOT_TALK
@ EMOTE_ONESHOT_TALK
Definition
SharedDefines.h:2132
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
alterac_valley.cpp:12
SPELL_WHIRLWIND
@ SPELL_WHIRLWIND
Definition
alterac_valley.cpp:15
Events
Events
Definition
alterac_valley.cpp:40
EVENT_WHIRLWIND
@ EVENT_WHIRLWIND
Definition
alterac_valley.cpp:44
EVENT_CLEAVE
@ EVENT_CLEAVE
Definition
alterac_valley.cpp:42
blackrock_spire.h
NPC_GYTH
@ NPC_GYTH
Definition
blackrock_spire.h:54
NPC_LORD_VICTOR_NEFARIUS
@ NPC_LORD_VICTOR_NEFARIUS
Definition
blackrock_spire.h:61
AREATRIGGER
@ AREATRIGGER
Definition
blackrock_spire.h:69
AREATRIGGER_BLACKROCK_STADIUM
@ AREATRIGGER_BLACKROCK_STADIUM
Definition
blackrock_spire.h:71
GO_DR_PORTCULLIS
@ GO_DR_PORTCULLIS
Definition
blackrock_spire.h:103
DATA_WARCHIEF_REND_BLACKHAND
@ DATA_WARCHIEF_REND_BLACKHAND
Definition
blackrock_spire.h:25
SPELL_FRENZY
@ SPELL_FRENZY
Definition
boss_drekthar.cpp:14
SPELL_KNOCKDOWN
@ SPELL_KNOCKDOWN
Definition
boss_drekthar.cpp:13
SPELL_MORTAL_STRIKE
@ SPELL_MORTAL_STRIKE
Definition
boss_galvangar.cpp:15
NEFARIUS_PATH_2
@ NEFARIUS_PATH_2
Definition
boss_gyth.cpp:22
NEFARIUS_PATH_3
@ NEFARIUS_PATH_3
Definition
boss_gyth.cpp:23
Says
Says
Definition
boss_halycon.cpp:17
Misc
Misc
Definition
boss_occuthar.cpp:37
Adds
Adds
Definition
boss_overlord_wyrmthalak.cpp:27
AddSC_boss_rend_blackhand
void AddSC_boss_rend_blackhand()
Definition
boss_rend_blackhand.cpp:431
EMOTE_BLACKHAND_DISMOUNT
@ EMOTE_BLACKHAND_DISMOUNT
Definition
boss_rend_blackhand.cpp:25
SAY_NEFARIUS_0
@ SAY_NEFARIUS_0
Definition
boss_rend_blackhand.cpp:27
SAY_NEFARIUS_4
@ SAY_NEFARIUS_4
Definition
boss_rend_blackhand.cpp:31
SAY_NEFARIUS_6
@ SAY_NEFARIUS_6
Definition
boss_rend_blackhand.cpp:33
SAY_NEFARIUS_3
@ SAY_NEFARIUS_3
Definition
boss_rend_blackhand.cpp:30
SAY_NEFARIUS_9
@ SAY_NEFARIUS_9
Definition
boss_rend_blackhand.cpp:36
SAY_NEFARIUS_5
@ SAY_NEFARIUS_5
Definition
boss_rend_blackhand.cpp:32
SAY_NEFARIUS_7
@ SAY_NEFARIUS_7
Definition
boss_rend_blackhand.cpp:34
SAY_BLACKHAND_1
@ SAY_BLACKHAND_1
Definition
boss_rend_blackhand.cpp:23
SAY_NEFARIUS_1
@ SAY_NEFARIUS_1
Definition
boss_rend_blackhand.cpp:28
SAY_BLACKHAND_2
@ SAY_BLACKHAND_2
Definition
boss_rend_blackhand.cpp:24
SAY_NEFARIUS_8
@ SAY_NEFARIUS_8
Definition
boss_rend_blackhand.cpp:35
SAY_NEFARIUS_2
@ SAY_NEFARIUS_2
Definition
boss_rend_blackhand.cpp:29
GythLoc
Position const GythLoc
Definition
boss_rend_blackhand.cpp:107
NPC_CHROMATIC_WHELP
@ NPC_CHROMATIC_WHELP
Definition
boss_rend_blackhand.cpp:41
NPC_BLACKHAND_DRAGON_HANDLER
@ NPC_BLACKHAND_DRAGON_HANDLER
Definition
boss_rend_blackhand.cpp:43
NPC_CHROMATIC_DRAGONSPAWN
@ NPC_CHROMATIC_DRAGONSPAWN
Definition
boss_rend_blackhand.cpp:42
REND_PATH_1
@ REND_PATH_1
Definition
boss_rend_blackhand.cpp:51
REND_PATH_2
@ REND_PATH_2
Definition
boss_rend_blackhand.cpp:52
NEFARIUS_PATH_1
@ NEFARIUS_PATH_1
Definition
boss_rend_blackhand.cpp:48
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
boss_rend_blackhand.cpp:14
SPELL_MORTAL_STRIKE
@ SPELL_MORTAL_STRIKE
Definition
boss_rend_blackhand.cpp:15
SPELL_WHIRLWIND
@ SPELL_WHIRLWIND
Definition
boss_rend_blackhand.cpp:13
Teleport2Loc
Position const Teleport2Loc
Definition
boss_rend_blackhand.cpp:109
EVENT_WAVES_TEXT_2
@ EVENT_WAVES_TEXT_2
Definition
boss_rend_blackhand.cpp:129
EVENT_START_4
@ EVENT_START_4
Definition
boss_rend_blackhand.cpp:116
EVENT_WAVE_1
@ EVENT_WAVE_1
Definition
boss_rend_blackhand.cpp:122
EVENT_WAVES_TEXT_3
@ EVENT_WAVES_TEXT_3
Definition
boss_rend_blackhand.cpp:130
EVENT_PATH_REND
@ EVENT_PATH_REND
Definition
boss_rend_blackhand.cpp:138
EVENT_START_1
@ EVENT_START_1
Definition
boss_rend_blackhand.cpp:113
EVENT_TELEPORT_1
@ EVENT_TELEPORT_1
Definition
boss_rend_blackhand.cpp:140
EVENT_WAVES_COMPLETE_TEXT_2
@ EVENT_WAVES_COMPLETE_TEXT_2
Definition
boss_rend_blackhand.cpp:134
EVENT_WHIRLWIND
@ EVENT_WHIRLWIND
Definition
boss_rend_blackhand.cpp:142
EVENT_WAVE_2
@ EVENT_WAVE_2
Definition
boss_rend_blackhand.cpp:123
EVENT_TURN_TO_REND
@ EVENT_TURN_TO_REND
Definition
boss_rend_blackhand.cpp:117
EVENT_WAVE_4
@ EVENT_WAVE_4
Definition
boss_rend_blackhand.cpp:125
EVENT_WAVES_TEXT_1
@ EVENT_WAVES_TEXT_1
Definition
boss_rend_blackhand.cpp:128
EVENT_TURN_TO_FACING_1
@ EVENT_TURN_TO_FACING_1
Definition
boss_rend_blackhand.cpp:119
EVENT_START_2
@ EVENT_START_2
Definition
boss_rend_blackhand.cpp:114
EVENT_WAVE_5
@ EVENT_WAVE_5
Definition
boss_rend_blackhand.cpp:126
EVENT_PATH_NEFARIUS
@ EVENT_PATH_NEFARIUS
Definition
boss_rend_blackhand.cpp:139
EVENT_TURN_TO_FACING_3
@ EVENT_TURN_TO_FACING_3
Definition
boss_rend_blackhand.cpp:121
EVENT_WAVES_EMOTE_2
@ EVENT_WAVES_EMOTE_2
Definition
boss_rend_blackhand.cpp:137
EVENT_TELEPORT_2
@ EVENT_TELEPORT_2
Definition
boss_rend_blackhand.cpp:141
EVENT_WAVES_TEXT_5
@ EVENT_WAVES_TEXT_5
Definition
boss_rend_blackhand.cpp:132
EVENT_START_3
@ EVENT_START_3
Definition
boss_rend_blackhand.cpp:115
EVENT_WAVES_TEXT_4
@ EVENT_WAVES_TEXT_4
Definition
boss_rend_blackhand.cpp:131
EVENT_TURN_TO_FACING_2
@ EVENT_TURN_TO_FACING_2
Definition
boss_rend_blackhand.cpp:120
EVENT_CLEAVE
@ EVENT_CLEAVE
Definition
boss_rend_blackhand.cpp:143
EVENT_WAVES_COMPLETE_TEXT_3
@ EVENT_WAVES_COMPLETE_TEXT_3
Definition
boss_rend_blackhand.cpp:135
EVENT_WAVE_6
@ EVENT_WAVE_6
Definition
boss_rend_blackhand.cpp:127
EVENT_WAVES_EMOTE_1
@ EVENT_WAVES_EMOTE_1
Definition
boss_rend_blackhand.cpp:136
EVENT_MORTAL_STRIKE
@ EVENT_MORTAL_STRIKE
Definition
boss_rend_blackhand.cpp:144
EVENT_WAVES_COMPLETE_TEXT_1
@ EVENT_WAVES_COMPLETE_TEXT_1
Definition
boss_rend_blackhand.cpp:133
EVENT_TURN_TO_PLAYER
@ EVENT_TURN_TO_PLAYER
Definition
boss_rend_blackhand.cpp:118
EVENT_WAVE_3
@ EVENT_WAVE_3
Definition
boss_rend_blackhand.cpp:124
Teleport1Loc
Position const Teleport1Loc
Definition
boss_rend_blackhand.cpp:108
BossAI::instance
InstanceScript *const instance
Definition
ScriptedCreature.h:383
BossAI::events
EventMap events
Definition
ScriptedCreature.h:439
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
GameObject
Definition
GameObject.h:629
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
boss_rend_blackhand
Definition
boss_rend_blackhand.cpp:148
boss_rend_blackhand::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_rend_blackhand.cpp:425
boss_rend_blackhand::boss_rend_blackhand
boss_rend_blackhand()
Definition
boss_rend_blackhand.cpp:150
Position
Definition
Object.h:274
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
boss_rend_blackhand::boss_rend_blackhandAI
Definition
boss_rend_blackhand.cpp:153
boss_rend_blackhand::boss_rend_blackhandAI::victorGUID
uint64 victorGUID
Definition
boss_rend_blackhand.cpp:421
boss_rend_blackhand::boss_rend_blackhandAI::boss_rend_blackhandAI
boss_rend_blackhandAI(Creature *creature)
Definition
boss_rend_blackhand.cpp:154
boss_rend_blackhand::boss_rend_blackhandAI::SetData
void SetData(uint32 type, uint32 data) OVERRIDE
Definition
boss_rend_blackhand.cpp:178
boss_rend_blackhand::boss_rend_blackhandAI::MovementInform
void MovementInform(uint32 type, uint32 id) OVERRIDE
Definition
boss_rend_blackhand.cpp:198
boss_rend_blackhand::boss_rend_blackhandAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_rend_blackhand.cpp:163
boss_rend_blackhand::boss_rend_blackhandAI::portcullisGUID
uint64 portcullisGUID
Definition
boss_rend_blackhand.cpp:422
boss_rend_blackhand::boss_rend_blackhandAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_rend_blackhand.cpp:216
boss_rend_blackhand::boss_rend_blackhandAI::gythEvent
bool gythEvent
Definition
boss_rend_blackhand.cpp:420
boss_rend_blackhand::boss_rend_blackhandAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_rend_blackhand.cpp:171
boss_rend_blackhand::boss_rend_blackhandAI::Reset
void Reset() OVERRIDE
Definition
boss_rend_blackhand.cpp:156
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockSpire
boss_rend_blackhand.cpp
Generated on
for Project SkyFire Core by
1.17.0