Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_gizrul_the_slavener.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 "
blackrock_spire.h
"
9
#include "
TemporarySummon.h
"
10
11
enum
Spells
12
{
13
SPELL_FATAL_BITE
= 16495,
14
SPELL_INFECTED_BITE
= 16128,
15
SPELL_FRENZY
= 8269
16
};
17
18
enum
Paths
19
{
20
GIZRUL_PATH
= 402450
21
};
22
23
enum
Events
24
{
25
EVENT_FATAL_BITE
= 1,
26
EVENT_INFECTED_BITE
= 2,
27
EVENT_FRENZY
= 3
28
};
29
30
class
boss_gizrul_the_slavener
:
public
CreatureScript
31
{
32
public
:
33
boss_gizrul_the_slavener
() :
CreatureScript
(
"boss_gizrul_the_slavener"
) { }
34
35
struct
boss_gizrul_the_slavenerAI
:
public
BossAI
36
{
37
boss_gizrul_the_slavenerAI
(
Creature
* creature) :
BossAI
(creature,
DATA_GIZRUL_THE_SLAVENER
) { }
38
39
void
Reset
()
OVERRIDE
40
{
41
_Reset
();
42
}
43
44
void
IsSummonedBy
(
Unit
*
/*summoner*/
)
OVERRIDE
45
{
46
me
->GetMotionMaster()->MovePath(
GIZRUL_PATH
,
false
);
47
}
48
49
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
50
{
51
_EnterCombat
();
52
events
.ScheduleEvent(
EVENT_FATAL_BITE
, std::rand() % 20000 + 17000);
53
events
.ScheduleEvent(
EVENT_INFECTED_BITE
, std::rand() % 12000 + 10000);
54
}
55
56
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
57
{
58
_JustDied
();
59
}
60
61
void
UpdateAI
(
uint32
diff)
OVERRIDE
62
{
63
if
(!
UpdateVictim
())
64
return
;
65
66
events
.Update(diff);
67
68
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
69
return
;
70
71
while
(
uint32
eventId =
events
.ExecuteEvent())
72
{
73
switch
(eventId)
74
{
75
case
EVENT_FATAL_BITE
:
76
DoCastVictim
(
SPELL_FATAL_BITE
);
77
events
.ScheduleEvent(
EVENT_FATAL_BITE
, std::rand() % 10000 + 8000);
78
break
;
79
case
EVENT_INFECTED_BITE
:
80
DoCast
(
me
,
SPELL_INFECTED_BITE
);
81
events
.ScheduleEvent(
EVENT_FATAL_BITE
, std::rand() % 10000 + 8000);
82
break
;
83
default
:
84
break
;
85
}
86
}
87
DoMeleeAttackIfReady
();
88
}
89
};
90
91
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
92
{
93
return
new
boss_gizrul_the_slavenerAI
(creature);
94
}
95
};
96
97
void
AddSC_boss_gizrul_the_slavener
()
98
{
99
new
boss_gizrul_the_slavener
();
100
}
Spells
Spells
Definition
BattlegroundIC.h:645
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
ScriptMgr.h
ScriptedCreature.h
TemporarySummon.h
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
Events
Events
Definition
alterac_valley.cpp:40
blackrock_spire.h
DATA_GIZRUL_THE_SLAVENER
@ DATA_GIZRUL_THE_SLAVENER
Definition
blackrock_spire.h:21
SPELL_FRENZY
@ SPELL_FRENZY
Definition
boss_drekthar.cpp:14
SPELL_FATAL_BITE
@ SPELL_FATAL_BITE
Definition
boss_gizrul_the_slavener.cpp:13
SPELL_INFECTED_BITE
@ SPELL_INFECTED_BITE
Definition
boss_gizrul_the_slavener.cpp:14
AddSC_boss_gizrul_the_slavener
void AddSC_boss_gizrul_the_slavener()
Definition
boss_gizrul_the_slavener.cpp:97
Paths
Paths
Definition
boss_gizrul_the_slavener.cpp:19
GIZRUL_PATH
@ GIZRUL_PATH
Definition
boss_gizrul_the_slavener.cpp:20
EVENT_INFECTED_BITE
@ EVENT_INFECTED_BITE
Definition
boss_gizrul_the_slavener.cpp:26
EVENT_FATAL_BITE
@ EVENT_FATAL_BITE
Definition
boss_gizrul_the_slavener.cpp:25
EVENT_FRENZY
@ EVENT_FRENZY
Definition
boss_gizrul_the_slavener.cpp:27
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::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_gizrul_the_slavener
Definition
boss_gizrul_the_slavener.cpp:31
boss_gizrul_the_slavener::boss_gizrul_the_slavener
boss_gizrul_the_slavener()
Definition
boss_gizrul_the_slavener.cpp:33
boss_gizrul_the_slavener::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_gizrul_the_slavener.cpp:91
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI
Definition
boss_gizrul_the_slavener.cpp:36
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI::boss_gizrul_the_slavenerAI
boss_gizrul_the_slavenerAI(Creature *creature)
Definition
boss_gizrul_the_slavener.cpp:37
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_gizrul_the_slavener.cpp:56
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_gizrul_the_slavener.cpp:61
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_gizrul_the_slavener.cpp:49
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI::Reset
void Reset() OVERRIDE
Definition
boss_gizrul_the_slavener.cpp:39
boss_gizrul_the_slavener::boss_gizrul_the_slavenerAI::IsSummonedBy
void IsSummonedBy(Unit *) OVERRIDE
Definition
boss_gizrul_the_slavener.cpp:44
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockSpire
boss_gizrul_the_slavener.cpp
Generated on
for Project SkyFire Core by
1.17.0