Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_ragnaros.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_Ragnaros
8
SD%Complete: 95
9
SDComment: some spells doesnt work correctly
10
SDCategory: Molten Core
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
#include "
molten_core.h
"
16
17
enum
Texts
18
{
19
SAY_SUMMON_MAJ
= 0,
20
SAY_ARRIVAL1_RAG
= 1,
21
SAY_ARRIVAL2_MAJ
= 2,
22
SAY_ARRIVAL3_RAG
= 3,
23
SAY_ARRIVAL5_RAG
= 4,
24
SAY_REINFORCEMENTS1
= 5,
25
SAY_REINFORCEMENTS2
= 6,
26
SAY_HAND
= 7,
27
SAY_WRATH
= 8,
28
SAY_KILL
= 9,
29
SAY_MAGMABURST
= 10
30
};
31
32
enum
Spells
33
{
34
SPELL_HAND_OF_RAGNAROS
= 19780,
35
SPELL_WRATH_OF_RAGNAROS
= 20566,
36
SPELL_LAVA_BURST
= 21158,
37
SPELL_MAGMA_BLAST
= 20565,
// Ranged attack
38
SPELL_SONS_OF_FLAME_DUMMY
= 21108,
// Server side effect
39
SPELL_RAGSUBMERGE
= 21107,
// Stealth aura
40
SPELL_RAGEMERGE
= 20568,
41
SPELL_MELT_WEAPON
= 21388,
42
SPELL_ELEMENTAL_FIRE
= 20564,
43
SPELL_ERRUPTION
= 17731
44
};
45
46
enum
Events
47
{
48
EVENT_ERUPTION
= 1,
49
EVENT_WRATH_OF_RAGNAROS
= 2,
50
EVENT_HAND_OF_RAGNAROS
= 3,
51
EVENT_LAVA_BURST
= 4,
52
EVENT_ELEMENTAL_FIRE
= 5,
53
EVENT_MAGMA_BLAST
= 6,
54
EVENT_SUBMERGE
= 7,
55
56
EVENT_INTRO_1
= 8,
57
EVENT_INTRO_2
= 9,
58
EVENT_INTRO_3
= 10,
59
EVENT_INTRO_4
= 11,
60
EVENT_INTRO_5
= 12
61
};
62
63
class
boss_ragnaros
:
public
CreatureScript
64
{
65
public
:
66
boss_ragnaros
() :
CreatureScript
(
"boss_ragnaros"
) { }
67
68
struct
boss_ragnarosAI
:
public
BossAI
69
{
70
boss_ragnarosAI
(
Creature
* creature) :
BossAI
(creature,
BOSS_RAGNAROS
)
71
{
72
_introState
= 0;
73
me
->SetReactState(
REACT_PASSIVE
);
74
me
->SetFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
);
75
}
76
77
void
Reset
()
OVERRIDE
78
{
79
BossAI::Reset
();
80
_emergeTimer
= 90000;
81
_hasYelledMagmaBurst
=
false
;
82
_hasSubmergedOnce
=
false
;
83
_isBanished
=
false
;
84
me
->SetUInt32Value(
UNIT_FIELD_NPC_EMOTESTATE
, 0);
85
}
86
87
void
EnterCombat
(
Unit
* victim)
OVERRIDE
88
{
89
BossAI::EnterCombat
(victim);
90
events
.ScheduleEvent(
EVENT_ERUPTION
, 15000);
91
events
.ScheduleEvent(
EVENT_WRATH_OF_RAGNAROS
, 30000);
92
events
.ScheduleEvent(
EVENT_HAND_OF_RAGNAROS
, 25000);
93
events
.ScheduleEvent(
EVENT_LAVA_BURST
, 10000);
94
events
.ScheduleEvent(
EVENT_ELEMENTAL_FIRE
, 3000);
95
events
.ScheduleEvent(
EVENT_MAGMA_BLAST
, 2000);
96
events
.ScheduleEvent(
EVENT_SUBMERGE
, 180000);
97
}
98
99
void
KilledUnit
(
Unit
*
/*victim*/
)
OVERRIDE
100
{
101
if
((std::rand() % 99) < 25)
102
Talk
(
SAY_KILL
);
103
}
104
105
void
UpdateAI
(
uint32
diff)
OVERRIDE
106
{
107
if
(
_introState
!= 2)
108
{
109
if
(!
_introState
)
110
{
111
me
->HandleEmoteCommand(
EMOTE_ONESHOT_EMERGE
);
112
events
.ScheduleEvent(
EVENT_INTRO_1
, 4000);
113
events
.ScheduleEvent(
EVENT_INTRO_2
, 23000);
114
events
.ScheduleEvent(
EVENT_INTRO_3
, 42000);
115
events
.ScheduleEvent(
EVENT_INTRO_4
, 43000);
116
events
.ScheduleEvent(
EVENT_INTRO_5
, 53000);
117
_introState
= 1;
118
}
119
120
events
.Update(diff);
121
122
while
(
uint32
eventId =
events
.ExecuteEvent())
123
{
124
switch
(eventId)
125
{
126
case
EVENT_INTRO_1
:
127
Talk
(
SAY_ARRIVAL1_RAG
);
128
break
;
129
case
EVENT_INTRO_2
:
130
Talk
(
SAY_ARRIVAL3_RAG
);
131
break
;
132
case
EVENT_INTRO_3
:
133
me
->HandleEmoteCommand(
EMOTE_ONESHOT_ATTACK1H
);
134
break
;
135
case
EVENT_INTRO_4
:
136
Talk
(
SAY_ARRIVAL5_RAG
);
137
if
(
instance
)
138
if
(
Creature
* executus =
Unit::GetCreature
(*
me
,
instance
->GetData64(
BOSS_MAJORDOMO_EXECUTUS
)))
139
me
->Kill(executus);
140
break
;
141
case
EVENT_INTRO_5
:
142
me
->SetReactState(
REACT_AGGRESSIVE
);
143
me
->RemoveFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
);
144
_introState
= 2;
145
break
;
146
default
:
147
break
;
148
}
149
}
150
}
151
else
152
{
153
if
(
instance
)
154
{
155
if
(
_isBanished
&& ((
_emergeTimer
<= diff) || (
instance
->GetData(
DATA_RAGNAROS_ADDS
)) > 8))
156
{
157
//Become unbanished again
158
me
->SetReactState(
REACT_AGGRESSIVE
);
159
me
->setFaction(14);
160
me
->RemoveFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NOT_SELECTABLE
);
161
me
->SetUInt32Value(
UNIT_FIELD_NPC_EMOTESTATE
, 0);
162
me
->HandleEmoteCommand(
EMOTE_ONESHOT_EMERGE
);
163
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0))
164
AttackStart
(target);
165
instance
->SetData(
DATA_RAGNAROS_ADDS
, 0);
166
167
//DoCast(me, SPELL_RAGEMERGE); //"phase spells" didnt worked correctly so Ive commented them and wrote solution witch doesnt need core support
168
_isBanished
=
false
;
169
}
170
else
if
(
_isBanished
)
171
{
172
_emergeTimer
-= diff;
173
//Do nothing while banished
174
return
;
175
}
176
}
177
178
//Return since we have no target
179
if
(!
UpdateVictim
())
180
return
;
181
182
events
.Update(diff);
183
184
while
(
uint32
eventId =
events
.ExecuteEvent())
185
{
186
switch
(eventId)
187
{
188
case
EVENT_ERUPTION
:
189
DoCastVictim
(
SPELL_ERRUPTION
);
190
events
.ScheduleEvent(
EVENT_ERUPTION
, std::rand() % 45000 + 20000);
191
break
;
192
case
EVENT_WRATH_OF_RAGNAROS
:
193
DoCastVictim
(
SPELL_WRATH_OF_RAGNAROS
);
194
if
(std::rand() % 1)
195
Talk
(
SAY_WRATH
);
196
events
.ScheduleEvent(
EVENT_WRATH_OF_RAGNAROS
, 25000);
197
break
;
198
case
EVENT_HAND_OF_RAGNAROS
:
199
DoCast
(
me
,
SPELL_HAND_OF_RAGNAROS
);
200
if
(std::rand() % 1)
201
Talk
(
SAY_HAND
);
202
events
.ScheduleEvent(
EVENT_HAND_OF_RAGNAROS
, 20000);
203
break
;
204
case
EVENT_LAVA_BURST
:
205
DoCastVictim
(
SPELL_LAVA_BURST
);
206
events
.ScheduleEvent(
EVENT_LAVA_BURST
, 10000);
207
break
;
208
case
EVENT_ELEMENTAL_FIRE
:
209
DoCastVictim
(
SPELL_ELEMENTAL_FIRE
);
210
events
.ScheduleEvent(
EVENT_ELEMENTAL_FIRE
, std::rand() % 14000 + 10000);
211
break
;
212
case
EVENT_MAGMA_BLAST
:
213
if
(
me
->IsWithinMeleeRange(
me
->GetVictim()))
214
{
215
DoCastVictim
(
SPELL_MAGMA_BLAST
);
216
if
(!
_hasYelledMagmaBurst
)
217
{
218
//Say our dialog
219
Talk
(
SAY_MAGMABURST
);
220
_hasYelledMagmaBurst
=
true
;
221
}
222
}
223
events
.ScheduleEvent(
EVENT_MAGMA_BLAST
, 2500);
224
break
;
225
case
EVENT_SUBMERGE
:
226
{
227
if
(
instance
&& !
_isBanished
)
228
{
229
//Creature spawning and ragnaros becomming unattackable
230
//is not very well supported in the core //no it really isnt
231
//so added normaly spawning and banish workaround and attack again after 90 secs.
232
me
->AttackStop();
233
DoResetThreat
();
234
me
->SetReactState(
REACT_PASSIVE
);
235
me
->InterruptNonMeleeSpells(
false
);
236
//Root self
237
//DoCast(me, 23973);
238
me
->setFaction(35);
239
me
->SetFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NOT_SELECTABLE
);
240
me
->SetUInt32Value(
UNIT_FIELD_NPC_EMOTESTATE
,
EMOTE_STATE_SUBMERGED
);
241
me
->HandleEmoteCommand(
EMOTE_ONESHOT_SUBMERGE
);
242
instance
->SetData(
DATA_RAGNAROS_ADDS
, 0);
243
244
if
(!
_hasSubmergedOnce
)
245
{
246
Talk
(
SAY_REINFORCEMENTS1
);
247
248
// summon 8 elementals
249
for
(
uint8
i = 0; i < 8; ++i)
250
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0))
251
if
(
Creature
* summoned =
me
->SummonCreature(12143, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f,
TempSummonType::TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
, 900000))
252
summoned->AI()->AttackStart(target);
253
254
_hasSubmergedOnce
=
true
;
255
_isBanished
=
true
;
256
//DoCast(me, SPELL_RAGSUBMERGE);
257
_emergeTimer
= 90000;
258
}
259
else
260
{
261
Talk
(
SAY_REINFORCEMENTS2
);
262
263
for
(
uint8
i = 0; i < 8; ++i)
264
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0))
265
if
(
Creature
* summoned =
me
->SummonCreature(12143, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0.0f,
TempSummonType::TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
, 900000))
266
summoned->AI()->AttackStart(target);
267
268
_isBanished
=
true
;
269
//DoCast(me, SPELL_RAGSUBMERGE);
270
_emergeTimer
= 90000;
271
}
272
}
273
events
.ScheduleEvent(
EVENT_SUBMERGE
, 180000);
274
break
;
275
}
276
default
:
277
break
;
278
}
279
}
280
281
DoMeleeAttackIfReady
();
282
}
283
}
284
285
private
:
286
uint32
_emergeTimer
;
287
uint8
_introState
;
288
bool
_hasYelledMagmaBurst
;
289
bool
_hasSubmergedOnce
;
290
bool
_isBanished
;
291
};
292
293
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
294
{
295
return
new
boss_ragnarosAI
(creature);
296
}
297
};
298
299
class
npc_son_of_flame
:
public
CreatureScript
300
{
301
public
:
302
npc_son_of_flame
() :
CreatureScript
(
"npc_SonOfFlame"
) { }
303
304
struct
npc_son_of_flameAI
:
public
ScriptedAI
//didnt work correctly in EAI for me...
305
{
306
npc_son_of_flameAI
(
Creature
* creature) :
ScriptedAI
(creature)
307
{
308
instance
=
me
->GetInstanceScript();
309
}
310
311
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
312
{
313
if
(
instance
)
314
instance
->SetData(
DATA_RAGNAROS_ADDS
, 1);
315
}
316
317
void
UpdateAI
(
uint32
/*diff*/
)
OVERRIDE
318
{
319
if
(!
UpdateVictim
())
320
return
;
321
322
DoMeleeAttackIfReady
();
323
}
324
325
private
:
326
InstanceScript
*
instance
;
327
};
328
329
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
330
{
331
return
new
npc_son_of_flameAI
(creature);
332
}
333
};
334
335
void
AddSC_boss_ragnaros
()
336
{
337
new
boss_ragnaros
();
338
new
npc_son_of_flame
();
339
}
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
TempSummonType::TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
@ TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN
Definition
Object.h:69
ScriptMgr.h
ScriptedCreature.h
EMOTE_ONESHOT_ATTACK1H
@ EMOTE_ONESHOT_ATTACK1H
Definition
SharedDefines.h:2163
EMOTE_ONESHOT_EMERGE
@ EMOTE_ONESHOT_EMERGE
Definition
SharedDefines.h:2280
EMOTE_ONESHOT_SUBMERGE
@ EMOTE_ONESHOT_SUBMERGE
Definition
SharedDefines.h:2206
EMOTE_STATE_SUBMERGED
@ EMOTE_STATE_SUBMERGED
Definition
SharedDefines.h:2205
REACT_PASSIVE
@ REACT_PASSIVE
Definition
Unit.h:1156
REACT_AGGRESSIVE
@ REACT_AGGRESSIVE
Definition
Unit.h:1158
UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE
Definition
Unit.h:626
UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FLAG_NOT_SELECTABLE
Definition
Unit.h:650
SELECT_TARGET_RANDOM
@ SELECT_TARGET_RANDOM
Definition
UnitAI.h:23
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
UNIT_FIELD_NPC_EMOTESTATE
@ UNIT_FIELD_NPC_EMOTESTATE
Definition
UpdateFields.h:108
Events
Events
Definition
alterac_valley.cpp:40
Texts
Texts
Definition
boss_alizabal.cpp:13
SAY_KILL
#define SAY_KILL
Definition
boss_commander_kolurg.cpp:29
SAY_ARRIVAL2_MAJ
@ SAY_ARRIVAL2_MAJ
Definition
boss_majordomo_executus.cpp:29
SAY_SUMMON_MAJ
@ SAY_SUMMON_MAJ
Definition
boss_majordomo_executus.cpp:28
SPELL_RAGSUBMERGE
@ SPELL_RAGSUBMERGE
Definition
boss_ragnaros.cpp:39
SPELL_ELEMENTAL_FIRE
@ SPELL_ELEMENTAL_FIRE
Definition
boss_ragnaros.cpp:42
SPELL_RAGEMERGE
@ SPELL_RAGEMERGE
Definition
boss_ragnaros.cpp:40
SPELL_WRATH_OF_RAGNAROS
@ SPELL_WRATH_OF_RAGNAROS
Definition
boss_ragnaros.cpp:35
SPELL_MAGMA_BLAST
@ SPELL_MAGMA_BLAST
Definition
boss_ragnaros.cpp:37
SPELL_HAND_OF_RAGNAROS
@ SPELL_HAND_OF_RAGNAROS
Definition
boss_ragnaros.cpp:34
SPELL_LAVA_BURST
@ SPELL_LAVA_BURST
Definition
boss_ragnaros.cpp:36
SPELL_SONS_OF_FLAME_DUMMY
@ SPELL_SONS_OF_FLAME_DUMMY
Definition
boss_ragnaros.cpp:38
SPELL_ERRUPTION
@ SPELL_ERRUPTION
Definition
boss_ragnaros.cpp:43
SPELL_MELT_WEAPON
@ SPELL_MELT_WEAPON
Definition
boss_ragnaros.cpp:41
AddSC_boss_ragnaros
void AddSC_boss_ragnaros()
Definition
boss_ragnaros.cpp:335
SAY_ARRIVAL5_RAG
@ SAY_ARRIVAL5_RAG
Definition
boss_ragnaros.cpp:23
SAY_HAND
@ SAY_HAND
Definition
boss_ragnaros.cpp:26
SAY_MAGMABURST
@ SAY_MAGMABURST
Definition
boss_ragnaros.cpp:29
SAY_REINFORCEMENTS1
@ SAY_REINFORCEMENTS1
Definition
boss_ragnaros.cpp:24
SAY_ARRIVAL1_RAG
@ SAY_ARRIVAL1_RAG
Definition
boss_ragnaros.cpp:20
SAY_KILL
@ SAY_KILL
Definition
boss_ragnaros.cpp:28
SAY_REINFORCEMENTS2
@ SAY_REINFORCEMENTS2
Definition
boss_ragnaros.cpp:25
SAY_ARRIVAL3_RAG
@ SAY_ARRIVAL3_RAG
Definition
boss_ragnaros.cpp:22
SAY_WRATH
@ SAY_WRATH
Definition
boss_ragnaros.cpp:27
EVENT_INTRO_4
@ EVENT_INTRO_4
Definition
boss_ragnaros.cpp:59
EVENT_MAGMA_BLAST
@ EVENT_MAGMA_BLAST
Definition
boss_ragnaros.cpp:53
EVENT_INTRO_1
@ EVENT_INTRO_1
Definition
boss_ragnaros.cpp:56
EVENT_INTRO_2
@ EVENT_INTRO_2
Definition
boss_ragnaros.cpp:57
EVENT_INTRO_5
@ EVENT_INTRO_5
Definition
boss_ragnaros.cpp:60
EVENT_ELEMENTAL_FIRE
@ EVENT_ELEMENTAL_FIRE
Definition
boss_ragnaros.cpp:52
EVENT_WRATH_OF_RAGNAROS
@ EVENT_WRATH_OF_RAGNAROS
Definition
boss_ragnaros.cpp:49
EVENT_HAND_OF_RAGNAROS
@ EVENT_HAND_OF_RAGNAROS
Definition
boss_ragnaros.cpp:50
EVENT_SUBMERGE
@ EVENT_SUBMERGE
Definition
boss_ragnaros.cpp:54
EVENT_INTRO_3
@ EVENT_INTRO_3
Definition
boss_ragnaros.cpp:58
EVENT_LAVA_BURST
@ EVENT_LAVA_BURST
Definition
boss_ragnaros.cpp:51
EVENT_ERUPTION
@ EVENT_ERUPTION
Definition
boss_ragnaros.cpp:48
BossAI::instance
InstanceScript *const instance
Definition
ScriptedCreature.h:383
BossAI::events
EventMap events
Definition
ScriptedCreature.h:439
BossAI::Reset
void Reset() OVERRIDE
Definition
ScriptedCreature.h:400
BossAI::BossAI
BossAI(Creature *creature, uint32 bossId)
Definition
ScriptedCreature.cpp:456
BossAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
ScriptedCreature.h:404
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
InstanceScript
Definition
InstanceScript.h:123
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::GetCreature
static Creature * GetCreature(WorldObject &object, uint64 guid)
Definition
Unit.cpp:4905
boss_ragnaros
Definition
boss_ragnaros.cpp:64
boss_ragnaros::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_ragnaros.cpp:293
boss_ragnaros::boss_ragnaros
boss_ragnaros()
Definition
boss_ragnaros.cpp:66
npc_son_of_flame
Definition
boss_ragnaros.cpp:300
npc_son_of_flame::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_ragnaros.cpp:329
npc_son_of_flame::npc_son_of_flame
npc_son_of_flame()
Definition
boss_ragnaros.cpp:302
molten_core.h
BOSS_RAGNAROS
@ BOSS_RAGNAROS
Definition
molten_core.h:20
BOSS_MAJORDOMO_EXECUTUS
@ BOSS_MAJORDOMO_EXECUTUS
Definition
molten_core.h:19
DATA_RAGNAROS_ADDS
@ DATA_RAGNAROS_ADDS
Definition
molten_core.h:56
ScriptedAI::DoResetThreat
void DoResetThreat()
Definition
ScriptedCreature.cpp:260
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
ScriptedAI::AttackStart
void AttackStart(Unit *) OVERRIDE
Definition
ScriptedCreature.cpp:118
boss_ragnaros::boss_ragnarosAI
Definition
boss_ragnaros.cpp:69
boss_ragnaros::boss_ragnarosAI::_introState
uint8 _introState
Definition
boss_ragnaros.cpp:287
boss_ragnaros::boss_ragnarosAI::_hasSubmergedOnce
bool _hasSubmergedOnce
Definition
boss_ragnaros.cpp:289
boss_ragnaros::boss_ragnarosAI::EnterCombat
void EnterCombat(Unit *victim) OVERRIDE
Definition
boss_ragnaros.cpp:87
boss_ragnaros::boss_ragnarosAI::_hasYelledMagmaBurst
bool _hasYelledMagmaBurst
Definition
boss_ragnaros.cpp:288
boss_ragnaros::boss_ragnarosAI::_emergeTimer
uint32 _emergeTimer
Definition
boss_ragnaros.cpp:286
boss_ragnaros::boss_ragnarosAI::KilledUnit
void KilledUnit(Unit *) OVERRIDE
Definition
boss_ragnaros.cpp:99
boss_ragnaros::boss_ragnarosAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_ragnaros.cpp:105
boss_ragnaros::boss_ragnarosAI::boss_ragnarosAI
boss_ragnarosAI(Creature *creature)
Definition
boss_ragnaros.cpp:70
boss_ragnaros::boss_ragnarosAI::Reset
void Reset() OVERRIDE
Definition
boss_ragnaros.cpp:77
boss_ragnaros::boss_ragnarosAI::_isBanished
bool _isBanished
Definition
boss_ragnaros.cpp:290
npc_son_of_flame::npc_son_of_flameAI
Definition
boss_ragnaros.cpp:305
npc_son_of_flame::npc_son_of_flameAI::UpdateAI
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_ragnaros.cpp:317
npc_son_of_flame::npc_son_of_flameAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_ragnaros.cpp:311
npc_son_of_flame::npc_son_of_flameAI::instance
InstanceScript * instance
Definition
boss_ragnaros.cpp:326
npc_son_of_flame::npc_son_of_flameAI::npc_son_of_flameAI
npc_son_of_flameAI(Creature *creature)
Definition
boss_ragnaros.cpp:306
src
server
scripts
EasternKingdoms
BlackrockMountain
MoltenCore
boss_ragnaros.cpp
Generated on
for Project SkyFire Core by
1.17.0