Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_akilzon.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 "
zulaman.h
"
9
10
enum
Says
11
{
12
SAY_AGGRO
= 0,
13
SAY_PLAYER_KILL
= 1,
14
EMOTE_ELECTRICAL_STORM
= 2,
15
SAY_SUMMON_EAGLE
= 3,
16
SAY_SUMMON_BIRDS
= 4,
17
SAY_BERSERK
= 5,
18
SAY_DEATH
= 6
19
};
20
21
class
boss_akilzon
:
public
CreatureScript
22
{
23
public
:
24
boss_akilzon
() :
CreatureScript
(
"boss_akilzon"
) { }
25
26
struct
boss_akilzonAI
:
public
BossAI
27
{
28
boss_akilzonAI
(
Creature
* creature) :
BossAI
(creature,
DATA_AKILZON
) { }
29
30
void
Reset
()
OVERRIDE
31
{
32
_Reset
();
33
}
34
35
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
36
{
37
Talk
(
SAY_AGGRO
);
38
_EnterCombat
();
39
}
40
41
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
42
{
43
Talk
(
SAY_DEATH
);
44
_JustDied
();
45
}
46
47
void
KilledUnit
(
Unit
* victim)
OVERRIDE
48
{
49
if
(victim->GetTypeId() ==
TYPEID_PLAYER
)
50
Talk
(
SAY_PLAYER_KILL
);
51
}
52
53
void
UpdateAI
(
uint32
diff)
OVERRIDE
54
{
55
if
(!
UpdateVictim
())
56
return
;
57
58
events
.Update(diff);
59
60
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
61
return
;
62
/*
63
while (uint32 eventId = events.ExecuteEvent())
64
{
65
switch (eventId)
66
{
67
default:
68
break;
69
}
70
}
71
*/
72
73
DoMeleeAttackIfReady
();
74
}
75
};
76
77
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
78
{
79
return
GetZulAmanAI<boss_akilzonAI>
(creature);
80
}
81
};
82
83
void
AddSC_boss_akilzon
()
84
{
85
new
boss_akilzon
();
86
}
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
TYPEID_PLAYER
static constexpr TypeID TYPEID_PLAYER
Definition
ElunaCompatibility.h:20
ScriptMgr.h
ScriptedCreature.h
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
SAY_DEATH
@ SAY_DEATH
Definition
boss_akilzon.cpp:18
SAY_PLAYER_KILL
@ SAY_PLAYER_KILL
Definition
boss_akilzon.cpp:13
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_akilzon.cpp:12
SAY_SUMMON_EAGLE
@ SAY_SUMMON_EAGLE
Definition
boss_akilzon.cpp:15
EMOTE_ELECTRICAL_STORM
@ EMOTE_ELECTRICAL_STORM
Definition
boss_akilzon.cpp:14
SAY_BERSERK
@ SAY_BERSERK
Definition
boss_akilzon.cpp:17
SAY_SUMMON_BIRDS
@ SAY_SUMMON_BIRDS
Definition
boss_akilzon.cpp:16
AddSC_boss_akilzon
void AddSC_boss_akilzon()
Definition
boss_akilzon.cpp:83
SAY_DEATH
#define SAY_DEATH
Definition
boss_commander_kolurg.cpp:30
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
Says
Says
Definition
boss_halycon.cpp:17
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
UnitAI::DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
Definition
UnitAI.cpp:28
Unit
Definition
Unit.h:1367
boss_akilzon
Definition
boss_akilzon.cpp:22
boss_akilzon::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_akilzon.cpp:77
boss_akilzon::boss_akilzon
boss_akilzon()
Definition
boss_akilzon.cpp:24
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
boss_akilzon::boss_akilzonAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_akilzon.cpp:53
boss_akilzon::boss_akilzonAI::boss_akilzonAI
boss_akilzonAI(Creature *creature)
Definition
boss_akilzon.cpp:28
boss_akilzon::boss_akilzonAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_akilzon.cpp:35
boss_akilzon::boss_akilzonAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_akilzon.cpp:41
boss_akilzon::boss_akilzonAI::KilledUnit
void KilledUnit(Unit *victim) OVERRIDE
Definition
boss_akilzon.cpp:47
boss_akilzon::boss_akilzonAI::Reset
void Reset() OVERRIDE
Definition
boss_akilzon.cpp:30
zulaman.h
GetZulAmanAI
CreatureAI * GetZulAmanAI(Creature *creature)
Definition
zulaman.h:69
DATA_AKILZON
@ DATA_AKILZON
Definition
zulaman.h:15
src
server
scripts
EasternKingdoms
ZulAman
boss_akilzon.cpp
Generated on
for Project SkyFire Core by
1.17.0