Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_grizzle.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
9
enum
Grizzle
10
{
11
SPELL_GROUNDTREMOR
= 6524,
12
SPELL_FRENZY
= 28371,
13
EMOTE_FRENZY_KILL
= 0
14
};
15
16
class
boss_grizzle
:
public
CreatureScript
17
{
18
public
:
19
boss_grizzle
() :
CreatureScript
(
"boss_grizzle"
) { }
20
21
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
22
{
23
return
new
boss_grizzleAI
(creature);
24
}
25
26
struct
boss_grizzleAI
:
public
ScriptedAI
27
{
28
boss_grizzleAI
(
Creature
* creature) :
ScriptedAI
(creature) { }
29
30
uint32
GroundTremor_Timer
;
31
uint32
Frenzy_Timer
;
32
33
void
Reset
()
OVERRIDE
34
{
35
GroundTremor_Timer
= 12000;
36
Frenzy_Timer
=0;
37
}
38
39
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
{ }
40
41
void
UpdateAI
(
uint32
diff)
OVERRIDE
42
{
43
//Return since we have no target
44
if
(!
UpdateVictim
())
45
return
;
46
47
//GroundTremor_Timer
48
if
(
GroundTremor_Timer
<= diff)
49
{
50
DoCastVictim
(
SPELL_GROUNDTREMOR
);
51
GroundTremor_Timer
= 8000;
52
}
else
GroundTremor_Timer
-= diff;
53
54
//Frenzy_Timer
55
if
(
HealthBelowPct
(51))
56
{
57
if
(
Frenzy_Timer
<= diff)
58
{
59
DoCast
(
me
,
SPELL_FRENZY
);
60
Talk
(
EMOTE_FRENZY_KILL
);
61
62
Frenzy_Timer
= 15000;
63
}
else
Frenzy_Timer
-= diff;
64
}
65
66
DoMeleeAttackIfReady
();
67
}
68
};
69
};
70
71
void
AddSC_boss_grizzle
()
72
{
73
new
boss_grizzle
();
74
}
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
ScriptMgr.h
ScriptedCreature.h
SPELL_FRENZY
@ SPELL_FRENZY
Definition
boss_drekthar.cpp:14
Grizzle
Grizzle
Definition
boss_grizzle.cpp:10
SPELL_GROUNDTREMOR
@ SPELL_GROUNDTREMOR
Definition
boss_grizzle.cpp:11
SPELL_FRENZY
@ SPELL_FRENZY
Definition
boss_grizzle.cpp:12
EMOTE_FRENZY_KILL
@ EMOTE_FRENZY_KILL
Definition
boss_grizzle.cpp:13
AddSC_boss_grizzle
void AddSC_boss_grizzle()
Definition
boss_grizzle.cpp:71
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
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_grizzle
Definition
boss_grizzle.cpp:17
boss_grizzle::boss_grizzle
boss_grizzle()
Definition
boss_grizzle.cpp:19
boss_grizzle::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_grizzle.cpp:21
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
boss_grizzle::boss_grizzleAI
Definition
boss_grizzle.cpp:27
boss_grizzle::boss_grizzleAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_grizzle.cpp:39
boss_grizzle::boss_grizzleAI::boss_grizzleAI
boss_grizzleAI(Creature *creature)
Definition
boss_grizzle.cpp:28
boss_grizzle::boss_grizzleAI::GroundTremor_Timer
uint32 GroundTremor_Timer
Definition
boss_grizzle.cpp:30
boss_grizzle::boss_grizzleAI::Frenzy_Timer
uint32 Frenzy_Timer
Definition
boss_grizzle.cpp:31
boss_grizzle::boss_grizzleAI::Reset
void Reset() OVERRIDE
Definition
boss_grizzle.cpp:33
boss_grizzle::boss_grizzleAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_grizzle.cpp:41
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockDepths
boss_grizzle.cpp
Generated on
for Project SkyFire Core by
1.17.0