Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_forgemaster_garfrost.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 "
SpellScript.h
"
9
#include "
SpellAuras.h
"
10
#include "
pit_of_saron.h
"
11
12
enum
Yells
13
{
14
SAY_AGGRO
= 0,
15
SAY_PHASE2
= 1,
16
SAY_PHASE3
= 2,
17
SAY_DEATH
= 3,
18
SAY_SLAY
= 4,
19
SAY_THROW_SARONITE
= 5,
20
SAY_CAST_DEEP_FREEZE
= 6,
21
22
SAY_TYRANNUS_DEATH
= 0
23
};
24
25
enum
Spells
26
{
27
SPELL_PERMAFROST
= 70326,
28
SPELL_THROW_SARONITE
= 68788,
29
SPELL_THUNDERING_STOMP
= 68771,
30
SPELL_CHILLING_WAVE
= 68778,
31
SPELL_DEEP_FREEZE
= 70381,
32
SPELL_FORGE_MACE
= 68785,
33
SPELL_FORGE_BLADE
= 68774
34
};
35
36
#define SPELL_PERMAFROST_HELPER RAID_MODE<uint32>(68786, 70336)
37
#define SPELL_FORGE_BLADE_HELPER RAID_MODE<uint32>(68774, 70334)
38
39
enum
Phases
40
{
41
PHASE_ONE
= 1,
42
PHASE_TWO
= 2,
43
PHASE_THREE
= 3
44
};
45
46
enum
MiscData
47
{
48
EQUIP_ID_SWORD
= 49345,
49
EQUIP_ID_MACE
= 49344,
50
ACHIEV_DOESNT_GO_TO_ELEVEN
= 0,
51
POINT_FORGE
= 0
52
};
53
54
enum
Events
55
{
56
EVENT_THROW_SARONITE
= 1,
57
EVENT_CHILLING_WAVE
= 2,
58
EVENT_DEEP_FREEZE
= 3,
59
EVENT_FORGE_JUMP
= 4,
60
EVENT_RESUME_ATTACK
= 5
61
};
62
63
Position
const
northForgePos
= { 722.5643f, -234.1615f, 527.182f, 2.16421f };
64
Position
const
southForgePos
= { 639.257f, -210.1198f, 529.015f, 0.523599f };
65
66
class
boss_garfrost
:
public
CreatureScript
67
{
68
public
:
69
boss_garfrost
() :
CreatureScript
(
"boss_garfrost"
) { }
70
71
struct
boss_garfrostAI
:
public
BossAI
72
{
73
boss_garfrostAI
(
Creature
* creature) :
BossAI
(creature,
DATA_GARFROST
) { }
74
75
void
Reset
()
OVERRIDE
76
{
77
_Reset
();
78
events
.SetPhase(
PHASE_ONE
);
79
SetEquipmentSlots
(
true
);
80
_permafrostStack
= 0;
81
}
82
83
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
84
{
85
_EnterCombat
();
86
Talk
(
SAY_AGGRO
);
87
DoCast
(
me
,
SPELL_PERMAFROST
);
88
me
->CallForHelp(70.0f);
89
events
.ScheduleEvent(
EVENT_THROW_SARONITE
, 7000);
90
}
91
92
void
KilledUnit
(
Unit
* victim)
OVERRIDE
93
{
94
if
(victim->GetTypeId() ==
TypeID::TYPEID_PLAYER
)
95
Talk
(
SAY_SLAY
);
96
}
97
98
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
99
{
100
_JustDied
();
101
Talk
(
SAY_DEATH
);
102
103
if
(
Creature
* tyrannus =
me
->GetCreature(*
me
,
instance
->GetData64(
DATA_TYRANNUS
)))
104
tyrannus->AI()->Talk(
SAY_TYRANNUS_DEATH
);
105
}
106
107
void
DamageTaken
(
Unit
*
/*attacker*/
,
uint32
&
/*uiDamage*/
)
OVERRIDE
108
{
109
if
(
events
.IsInPhase(
PHASE_ONE
) && !
HealthAbovePct
(66))
110
{
111
events
.SetPhase(
PHASE_TWO
);
112
Talk
(
SAY_PHASE2
);
113
events
.DelayEvents(8000);
114
DoCast
(
me
,
SPELL_THUNDERING_STOMP
);
115
events
.ScheduleEvent(
EVENT_FORGE_JUMP
, 1500);
116
return
;
117
}
118
119
if
(
events
.IsInPhase(
PHASE_TWO
) && !
HealthAbovePct
(33))
120
{
121
events
.SetPhase(
PHASE_THREE
);
122
Talk
(
SAY_PHASE3
);
123
events
.DelayEvents(8000);
124
DoCast
(
me
,
SPELL_THUNDERING_STOMP
);
125
events
.ScheduleEvent(
EVENT_FORGE_JUMP
, 1500);
126
return
;
127
}
128
}
129
130
void
MovementInform
(
uint32
type,
uint32
id
)
OVERRIDE
131
{
132
if
(type !=
EFFECT_MOTION_TYPE
||
id
!=
POINT_FORGE
)
133
return
;
134
135
if
(
events
.IsInPhase(
PHASE_TWO
))
136
{
137
DoCast
(
me
,
SPELL_FORGE_BLADE
);
138
SetEquipmentSlots
(
false
,
EQUIP_ID_SWORD
);
139
}
140
if
(
events
.IsInPhase(
PHASE_THREE
))
141
{
142
me
->RemoveAurasDueToSpell(
SPELL_FORGE_BLADE_HELPER
);
143
DoCast
(
me
,
SPELL_FORGE_MACE
);
144
SetEquipmentSlots
(
false
,
EQUIP_ID_MACE
);
145
}
146
events
.ScheduleEvent(
EVENT_RESUME_ATTACK
, 5000);
147
}
148
149
void
SpellHitTarget
(
Unit
* target,
const
SpellInfo
* spell)
OVERRIDE
150
{
151
if
(spell->Id ==
SPELL_PERMAFROST_HELPER
)
152
{
153
if
(
Aura
* aura = target->GetAura(
SPELL_PERMAFROST_HELPER
))
154
_permafrostStack
= std::max<uint32>(
_permafrostStack
, aura->GetStackAmount());
155
}
156
}
157
158
uint32
GetData
(
uint32
/*type*/
)
const
OVERRIDE
159
{
160
return
_permafrostStack
;
161
}
162
163
void
UpdateAI
(
uint32
diff)
OVERRIDE
164
{
165
if
(!
UpdateVictim
())
166
return
;
167
168
events
.Update(diff);
169
170
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
171
return
;
172
173
while
(
uint32
eventId =
events
.ExecuteEvent())
174
{
175
switch
(eventId)
176
{
177
case
EVENT_THROW_SARONITE
:
178
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0))
179
{
180
Talk
(
SAY_THROW_SARONITE
, target);
181
DoCast
(target,
SPELL_THROW_SARONITE
);
182
}
183
events
.ScheduleEvent(
EVENT_THROW_SARONITE
, std::rand() % 20000 + 12500);
184
break
;
185
case
EVENT_CHILLING_WAVE
:
186
DoCast
(
me
,
SPELL_CHILLING_WAVE
);
187
events
.ScheduleEvent(
EVENT_CHILLING_WAVE
, 40000, 0,
PHASE_TWO
);
188
break
;
189
case
EVENT_DEEP_FREEZE
:
190
if
(
Unit
* target =
SelectTarget
(
SELECT_TARGET_RANDOM
, 0))
191
{
192
Talk
(
SAY_CAST_DEEP_FREEZE
, target);
193
DoCast
(target,
SPELL_DEEP_FREEZE
);
194
}
195
events
.ScheduleEvent(
EVENT_DEEP_FREEZE
, 35000, 0,
PHASE_THREE
);
196
break
;
197
case
EVENT_FORGE_JUMP
:
198
me
->AttackStop();
199
if
(
events
.IsInPhase(
PHASE_TWO
))
200
me
->GetMotionMaster()->MoveJump(
northForgePos
, 25.0f, 15.0f,
POINT_FORGE
);
201
else
if
(
events
.IsInPhase(
PHASE_THREE
))
202
me
->GetMotionMaster()->MoveJump(
southForgePos
, 25.0f, 15.0f,
POINT_FORGE
);
203
break
;
204
case
EVENT_RESUME_ATTACK
:
205
if
(
events
.IsInPhase(
PHASE_TWO
))
206
events
.ScheduleEvent(
EVENT_CHILLING_WAVE
, 5000, 0,
PHASE_TWO
);
207
else
if
(
events
.IsInPhase(
PHASE_THREE
))
208
events
.ScheduleEvent(
EVENT_DEEP_FREEZE
, 10000, 0,
PHASE_THREE
);
209
AttackStart
(
me
->GetVictim());
210
break
;
211
default
:
212
break
;
213
}
214
}
215
216
DoMeleeAttackIfReady
();
217
}
218
219
private
:
220
uint32
_permafrostStack
;
221
};
222
223
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
224
{
225
return
GetPitOfSaronAI<boss_garfrostAI>
(creature);
226
}
227
};
228
229
class
spell_garfrost_permafrost
:
public
SpellScriptLoader
230
{
231
public
:
232
spell_garfrost_permafrost
() :
SpellScriptLoader
(
"spell_garfrost_permafrost"
) { }
233
234
class
spell_garfrost_permafrost_SpellScript
:
public
SpellScript
235
{
236
PrepareSpellScript
(
spell_garfrost_permafrost_SpellScript
);
237
238
bool
Load
()
OVERRIDE
239
{
240
prevented
=
false
;
241
return
true
;
242
}
243
244
void
PreventHitByLoS
()
245
{
246
if
(
Unit
* target =
GetHitUnit
())
247
{
248
Unit
* caster =
GetCaster
();
249
//Temporary Line of Sight Check
250
std::list<GameObject*> blockList;
251
caster->
GetGameObjectListWithEntryInGrid
(blockList,
GO_SARONITE_ROCK
, 100.0f);
252
if
(!blockList.empty())
253
{
254
for
(std::list<GameObject*>::const_iterator itr = blockList.begin(); itr != blockList.end(); ++itr)
255
{
256
if
(!(*itr)->IsInvisibleDueToDespawn())
257
{
258
if
((*itr)->IsInBetween(caster, target, 4.0f))
259
{
260
prevented
=
true
;
261
target->ApplySpellImmune(
GetSpellInfo
()->Id,
IMMUNITY_ID
,
GetSpellInfo
()->Id,
true
);
262
PreventHitDefaultEffect
(
EFFECT_0
);
263
PreventHitDefaultEffect
(
EFFECT_1
);
264
PreventHitDefaultEffect
(
EFFECT_2
);
265
PreventHitDamage
();
266
break
;
267
}
268
}
269
}
270
}
271
}
272
}
273
274
void
RestoreImmunity
()
275
{
276
if
(
Unit
* target =
GetHitUnit
())
277
{
278
target->ApplySpellImmune(
GetSpellInfo
()->Id,
IMMUNITY_ID
,
GetSpellInfo
()->Id,
false
);
279
if
(
prevented
)
280
PreventHitAura
();
281
}
282
}
283
284
void
Register
()
OVERRIDE
285
{
286
BeforeHit
+=
SpellHitFn
(
spell_garfrost_permafrost_SpellScript::PreventHitByLoS
);
287
AfterHit
+=
SpellHitFn
(
spell_garfrost_permafrost_SpellScript::RestoreImmunity
);
288
}
289
290
bool
prevented
;
291
};
292
293
SpellScript
*
GetSpellScript
() const
OVERRIDE
294
{
295
return
new
spell_garfrost_permafrost_SpellScript
();
296
}
297
};
298
299
class
achievement_doesnt_go_to_eleven
:
public
AchievementCriteriaScript
300
{
301
public
:
302
achievement_doesnt_go_to_eleven
() :
AchievementCriteriaScript
(
"achievement_doesnt_go_to_eleven"
) { }
303
304
bool
OnCheck
(
Player
*
/*source*/
,
Unit
* target)
OVERRIDE
305
{
306
if
(target)
307
if
(
Creature
* garfrost = target->
ToCreature
())
308
if
(garfrost->AI()->GetData(
ACHIEV_DOESNT_GO_TO_ELEVEN
) <= 10)
309
return
true
;
310
311
return
false
;
312
}
313
};
314
315
void
AddSC_boss_garfrost
()
316
{
317
new
boss_garfrost
();
318
new
spell_garfrost_permafrost
();
319
new
achievement_doesnt_go_to_eleven
();
320
}
Spells
Spells
Definition
BattlegroundIC.h:645
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
EFFECT_MOTION_TYPE
@ EFFECT_MOTION_TYPE
Definition
MotionMaster.h:41
TypeID::TYPEID_PLAYER
@ TYPEID_PLAYER
Definition
Object.h:55
ScriptMgr.h
ScriptedCreature.h
EFFECT_1
@ EFFECT_1
Definition
SharedDefines.h:19
EFFECT_0
@ EFFECT_0
Definition
SharedDefines.h:18
EFFECT_2
@ EFFECT_2
Definition
SharedDefines.h:20
IMMUNITY_ID
@ IMMUNITY_ID
Definition
SharedDefines.h:1602
SpellAuras.h
SpellScript.h
SpellHitFn
#define SpellHitFn(F)
Definition
SpellScript.h:278
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
SELECT_TARGET_RANDOM
@ SELECT_TARGET_RANDOM
Definition
UnitAI.h:23
Events
Events
Definition
alterac_valley.cpp:40
SAY_SLAY
@ SAY_SLAY
Definition
boss_alizabal.cpp:20
MiscData
MiscData
Definition
boss_alysrazor.cpp:84
Phases
Phases
Definition
boss_anraphet.cpp:80
SPELL_PERMAFROST
@ SPELL_PERMAFROST
Definition
boss_anubarak_trial.cpp:80
SAY_DEATH
#define SAY_DEATH
Definition
boss_commander_kolurg.cpp:30
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
EQUIP_ID_SWORD
@ EQUIP_ID_SWORD
Definition
boss_forgemaster_garfrost.cpp:48
ACHIEV_DOESNT_GO_TO_ELEVEN
@ ACHIEV_DOESNT_GO_TO_ELEVEN
Definition
boss_forgemaster_garfrost.cpp:50
POINT_FORGE
@ POINT_FORGE
Definition
boss_forgemaster_garfrost.cpp:51
EQUIP_ID_MACE
@ EQUIP_ID_MACE
Definition
boss_forgemaster_garfrost.cpp:49
SPELL_PERMAFROST_HELPER
#define SPELL_PERMAFROST_HELPER
Definition
boss_forgemaster_garfrost.cpp:36
SAY_DEATH
@ SAY_DEATH
Definition
boss_forgemaster_garfrost.cpp:17
SAY_THROW_SARONITE
@ SAY_THROW_SARONITE
Definition
boss_forgemaster_garfrost.cpp:19
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_forgemaster_garfrost.cpp:14
SAY_PHASE3
@ SAY_PHASE3
Definition
boss_forgemaster_garfrost.cpp:16
SAY_CAST_DEEP_FREEZE
@ SAY_CAST_DEEP_FREEZE
Definition
boss_forgemaster_garfrost.cpp:20
SAY_TYRANNUS_DEATH
@ SAY_TYRANNUS_DEATH
Definition
boss_forgemaster_garfrost.cpp:22
SAY_SLAY
@ SAY_SLAY
Definition
boss_forgemaster_garfrost.cpp:18
SAY_PHASE2
@ SAY_PHASE2
Definition
boss_forgemaster_garfrost.cpp:15
northForgePos
Position const northForgePos
Definition
boss_forgemaster_garfrost.cpp:63
SPELL_DEEP_FREEZE
@ SPELL_DEEP_FREEZE
Definition
boss_forgemaster_garfrost.cpp:31
SPELL_THROW_SARONITE
@ SPELL_THROW_SARONITE
Definition
boss_forgemaster_garfrost.cpp:28
SPELL_FORGE_BLADE
@ SPELL_FORGE_BLADE
Definition
boss_forgemaster_garfrost.cpp:33
SPELL_THUNDERING_STOMP
@ SPELL_THUNDERING_STOMP
Definition
boss_forgemaster_garfrost.cpp:29
SPELL_FORGE_MACE
@ SPELL_FORGE_MACE
Definition
boss_forgemaster_garfrost.cpp:32
SPELL_PERMAFROST
@ SPELL_PERMAFROST
Definition
boss_forgemaster_garfrost.cpp:27
SPELL_CHILLING_WAVE
@ SPELL_CHILLING_WAVE
Definition
boss_forgemaster_garfrost.cpp:30
PHASE_ONE
@ PHASE_ONE
Definition
boss_forgemaster_garfrost.cpp:41
PHASE_THREE
@ PHASE_THREE
Definition
boss_forgemaster_garfrost.cpp:43
PHASE_TWO
@ PHASE_TWO
Definition
boss_forgemaster_garfrost.cpp:42
SPELL_FORGE_BLADE_HELPER
#define SPELL_FORGE_BLADE_HELPER
Definition
boss_forgemaster_garfrost.cpp:37
AddSC_boss_garfrost
void AddSC_boss_garfrost()
Definition
boss_forgemaster_garfrost.cpp:315
southForgePos
Position const southForgePos
Definition
boss_forgemaster_garfrost.cpp:64
EVENT_CHILLING_WAVE
@ EVENT_CHILLING_WAVE
Definition
boss_forgemaster_garfrost.cpp:57
EVENT_DEEP_FREEZE
@ EVENT_DEEP_FREEZE
Definition
boss_forgemaster_garfrost.cpp:58
EVENT_RESUME_ATTACK
@ EVENT_RESUME_ATTACK
Definition
boss_forgemaster_garfrost.cpp:60
EVENT_THROW_SARONITE
@ EVENT_THROW_SARONITE
Definition
boss_forgemaster_garfrost.cpp:56
EVENT_FORGE_JUMP
@ EVENT_FORGE_JUMP
Definition
boss_forgemaster_garfrost.cpp:59
PHASE_ONE
@ PHASE_ONE
Definition
boss_halion.cpp:153
PHASE_THREE
@ PHASE_THREE
Definition
boss_halion.cpp:155
PHASE_TWO
@ PHASE_TWO
Definition
boss_halion.cpp:154
AchievementCriteriaScript::AchievementCriteriaScript
AchievementCriteriaScript(const char *name)
Definition
ScriptMgr.cpp:1508
Aura
Definition
SpellAuras.h:74
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
Object::ToCreature
Creature * ToCreature()
Definition
Object.h:207
Player
Definition
Player.h:1289
SpellInfo
Definition
SpellInfo.h:158
SpellScript
Definition
SpellScript.h:139
SpellScript::AfterHit
HookList< HitHandler > AfterHit
Definition
SpellScript.h:276
SpellScript::GetSpellInfo
SpellInfo const * GetSpellInfo()
Definition
SpellScript.cpp:362
SpellScript::PreventHitDamage
void PreventHitDamage()
Definition
SpellScript.h:359
SpellScript::PreventHitDefaultEffect
void PreventHitDefaultEffect(SpellEffIndex effIndex)
Definition
SpellScript.cpp:541
SpellScript::GetHitUnit
Unit * GetHitUnit()
Definition
SpellScript.cpp:399
SpellScript::PreventHitAura
void PreventHitAura()
Definition
SpellScript.cpp:519
SpellScript::GetCaster
Unit * GetCaster()
Definition
SpellScript.cpp:352
SpellScript::BeforeHit
HookList< HitHandler > BeforeHit
Definition
SpellScript.h:272
SpellScriptLoader::SpellScriptLoader
SpellScriptLoader(const char *name)
Definition
ScriptMgr.cpp:1372
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
Unit
Definition
Unit.h:1367
WorldObject::GetGameObjectListWithEntryInGrid
void GetGameObjectListWithEntryInGrid(std::list< GameObject * > &lList, uint32 uiEntry, float fMaxSearchRange) const
Definition
Object.cpp:2828
achievement_doesnt_go_to_eleven
Definition
boss_forgemaster_garfrost.cpp:300
achievement_doesnt_go_to_eleven::OnCheck
bool OnCheck(Player *, Unit *target) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:304
achievement_doesnt_go_to_eleven::achievement_doesnt_go_to_eleven
achievement_doesnt_go_to_eleven()
Definition
boss_forgemaster_garfrost.cpp:302
boss_garfrost
Definition
boss_forgemaster_garfrost.cpp:67
boss_garfrost::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:223
boss_garfrost::boss_garfrost
boss_garfrost()
Definition
boss_forgemaster_garfrost.cpp:69
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript
Definition
boss_forgemaster_garfrost.cpp:235
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript::Register
void Register() OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:284
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript::Load
bool Load() OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:238
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript::PreventHitByLoS
void PreventHitByLoS()
Definition
boss_forgemaster_garfrost.cpp:244
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript::PrepareSpellScript
PrepareSpellScript(spell_garfrost_permafrost_SpellScript)
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript::RestoreImmunity
void RestoreImmunity()
Definition
boss_forgemaster_garfrost.cpp:274
spell_garfrost_permafrost::spell_garfrost_permafrost_SpellScript::prevented
bool prevented
Definition
boss_forgemaster_garfrost.cpp:290
spell_garfrost_permafrost
Definition
boss_forgemaster_garfrost.cpp:230
spell_garfrost_permafrost::spell_garfrost_permafrost
spell_garfrost_permafrost()
Definition
boss_forgemaster_garfrost.cpp:232
spell_garfrost_permafrost::GetSpellScript
SpellScript * GetSpellScript() const OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:293
pit_of_saron.h
GO_SARONITE_ROCK
@ GO_SARONITE_ROCK
Definition
pit_of_saron.h:81
GetPitOfSaronAI
AI * GetPitOfSaronAI(Creature *creature)
Definition
pit_of_saron.h:87
DATA_GARFROST
@ DATA_GARFROST
Definition
pit_of_saron.h:16
DATA_TYRANNUS
@ DATA_TYRANNUS
Definition
pit_of_saron.h:18
Position
Definition
Object.h:274
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::HealthAbovePct
bool HealthAbovePct(uint32 pct) const
Definition
ScriptedCreature.h:251
ScriptedAI::AttackStart
void AttackStart(Unit *) OVERRIDE
Definition
ScriptedCreature.cpp:118
Yells
Definition
boss_illidan.cpp:256
boss_garfrost::boss_garfrostAI::_permafrostStack
uint32 _permafrostStack
Definition
boss_forgemaster_garfrost.cpp:220
boss_garfrost::boss_garfrostAI::SpellHitTarget
void SpellHitTarget(Unit *target, const SpellInfo *spell) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:149
boss_garfrost::boss_garfrostAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:98
boss_garfrost::boss_garfrostAI::GetData
uint32 GetData(uint32) const OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:158
boss_garfrost::boss_garfrostAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:83
boss_garfrost::boss_garfrostAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_forgemaster_garfrost.cpp:163
boss_garfrost::boss_garfrostAI::KilledUnit
void KilledUnit(Unit *victim) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:92
boss_garfrost::boss_garfrostAI::DamageTaken
void DamageTaken(Unit *, uint32 &) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:107
boss_garfrost::boss_garfrostAI::MovementInform
void MovementInform(uint32 type, uint32 id) OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:130
boss_garfrost::boss_garfrostAI::boss_garfrostAI
boss_garfrostAI(Creature *creature)
Definition
boss_forgemaster_garfrost.cpp:73
boss_garfrost::boss_garfrostAI::Reset
void Reset() OVERRIDE
Definition
boss_forgemaster_garfrost.cpp:75
src
server
scripts
Northrend
FrozenHalls
PitOfSaron
boss_forgemaster_garfrost.cpp
Generated on
for Project SkyFire Core by
1.17.0