Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_warmaster_voone.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
10
enum
Spells
11
{
12
SPELL_SNAPKICK
= 15618,
13
SPELL_CLEAVE
= 15579,
14
SPELL_UPPERCUT
= 10966,
15
SPELL_MORTALSTRIKE
= 16856,
16
SPELL_PUMMEL
= 15615,
17
SPELL_THROWAXE
= 16075,
18
};
19
20
enum
Events
21
{
22
EVENT_SNAP_KICK
= 1,
23
EVENT_CLEAVE
= 2,
24
EVENT_UPPERCUT
= 3,
25
EVENT_MORTAL_STRIKE
= 4,
26
EVENT_PUMMEL
= 5,
27
EVENT_THROW_AXE
= 6,
28
};
29
30
class
boss_warmaster_voone
:
public
CreatureScript
31
{
32
public
:
33
boss_warmaster_voone
() :
CreatureScript
(
"boss_warmaster_voone"
) { }
34
35
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
36
{
37
return
new
boss_warmastervooneAI
(creature);
38
}
39
40
struct
boss_warmastervooneAI
:
public
BossAI
41
{
42
boss_warmastervooneAI
(
Creature
* creature) :
BossAI
(creature,
DATA_WARMASTER_VOONE
) { }
43
44
void
Reset
()
OVERRIDE
45
{
46
_Reset
();
47
}
48
49
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
50
{
51
_EnterCombat
();
52
events
.ScheduleEvent(
EVENT_SNAP_KICK
, 8 *
IN_MILLISECONDS
);
53
events
.ScheduleEvent(
EVENT_CLEAVE
, 14 *
IN_MILLISECONDS
);
54
events
.ScheduleEvent(
EVENT_UPPERCUT
, 20 *
IN_MILLISECONDS
);
55
events
.ScheduleEvent(
EVENT_MORTAL_STRIKE
, 12 *
IN_MILLISECONDS
);
56
events
.ScheduleEvent(
EVENT_PUMMEL
, 32 *
IN_MILLISECONDS
);
57
events
.ScheduleEvent(
EVENT_THROW_AXE
, 1 *
IN_MILLISECONDS
);
58
}
59
60
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
61
{
62
_JustDied
();
63
}
64
65
void
UpdateAI
(
uint32
diff)
OVERRIDE
66
{
67
if
(!
UpdateVictim
())
68
return
;
69
70
events
.Update(diff);
71
72
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
73
return
;
74
75
while
(
uint32
eventId =
events
.ExecuteEvent())
76
{
77
switch
(eventId)
78
{
79
case
EVENT_SNAP_KICK
:
80
DoCastVictim
(
SPELL_SNAPKICK
);
81
events
.ScheduleEvent(
EVENT_SNAP_KICK
, 6 *
IN_MILLISECONDS
);
82
break
;
83
case
EVENT_CLEAVE
:
84
DoCastVictim
(
SPELL_CLEAVE
);
85
events
.ScheduleEvent(
EVENT_CLEAVE
, 12 *
IN_MILLISECONDS
);
86
break
;
87
case
EVENT_UPPERCUT
:
88
DoCastVictim
(
SPELL_UPPERCUT
);
89
events
.ScheduleEvent(
EVENT_UPPERCUT
, 14 *
IN_MILLISECONDS
);
90
break
;
91
case
EVENT_MORTAL_STRIKE
:
92
DoCastVictim
(
SPELL_MORTALSTRIKE
);
93
events
.ScheduleEvent(
EVENT_MORTAL_STRIKE
, 10 *
IN_MILLISECONDS
);
94
break
;
95
case
EVENT_PUMMEL
:
96
DoCastVictim
(
SPELL_PUMMEL
);
97
events
.ScheduleEvent(
EVENT_MORTAL_STRIKE
, 16 *
IN_MILLISECONDS
);
98
break
;
99
case
EVENT_THROW_AXE
:
100
DoCastVictim
(
SPELL_THROWAXE
);
101
events
.ScheduleEvent(
EVENT_THROW_AXE
, 8 *
IN_MILLISECONDS
);
102
break
;
103
}
104
}
105
DoMeleeAttackIfReady
();
106
}
107
};
108
};
109
110
void
AddSC_boss_warmastervoone
()
111
{
112
new
boss_warmaster_voone
();
113
}
Spells
Spells
Definition
BattlegroundIC.h:645
IN_MILLISECONDS
@ IN_MILLISECONDS
Definition
Common.h:125
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
ScriptMgr.h
ScriptedCreature.h
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
alterac_valley.cpp:12
Events
Events
Definition
alterac_valley.cpp:40
EVENT_CLEAVE
@ EVENT_CLEAVE
Definition
alterac_valley.cpp:42
blackrock_spire.h
DATA_WARMASTER_VOONE
@ DATA_WARMASTER_VOONE
Definition
blackrock_spire.h:17
SPELL_MORTALSTRIKE
@ SPELL_MORTALSTRIKE
Definition
boss_gorosh_the_dervish.cpp:12
EVENT_MORTAL_STRIKE
@ EVENT_MORTAL_STRIKE
Definition
boss_rend_blackhand.cpp:144
AddSC_boss_warmastervoone
void AddSC_boss_warmastervoone()
Definition
boss_warmaster_voone.cpp:110
SPELL_SNAPKICK
@ SPELL_SNAPKICK
Definition
boss_warmaster_voone.cpp:12
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
boss_warmaster_voone.cpp:13
SPELL_MORTALSTRIKE
@ SPELL_MORTALSTRIKE
Definition
boss_warmaster_voone.cpp:15
SPELL_PUMMEL
@ SPELL_PUMMEL
Definition
boss_warmaster_voone.cpp:16
SPELL_THROWAXE
@ SPELL_THROWAXE
Definition
boss_warmaster_voone.cpp:17
SPELL_UPPERCUT
@ SPELL_UPPERCUT
Definition
boss_warmaster_voone.cpp:14
EVENT_THROW_AXE
@ EVENT_THROW_AXE
Definition
boss_warmaster_voone.cpp:27
EVENT_PUMMEL
@ EVENT_PUMMEL
Definition
boss_warmaster_voone.cpp:26
EVENT_UPPERCUT
@ EVENT_UPPERCUT
Definition
boss_warmaster_voone.cpp:24
EVENT_SNAP_KICK
@ EVENT_SNAP_KICK
Definition
boss_warmaster_voone.cpp:22
EVENT_CLEAVE
@ EVENT_CLEAVE
Definition
boss_warmaster_voone.cpp:23
EVENT_MORTAL_STRIKE
@ EVENT_MORTAL_STRIKE
Definition
boss_warmaster_voone.cpp:25
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::DoCastVictim
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition
UnitAI.cpp:168
Unit
Definition
Unit.h:1367
boss_warmaster_voone
Definition
boss_warmaster_voone.cpp:31
boss_warmaster_voone::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_warmaster_voone.cpp:35
boss_warmaster_voone::boss_warmaster_voone
boss_warmaster_voone()
Definition
boss_warmaster_voone.cpp:33
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
boss_warmaster_voone::boss_warmastervooneAI
Definition
boss_warmaster_voone.cpp:41
boss_warmaster_voone::boss_warmastervooneAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_warmaster_voone.cpp:65
boss_warmaster_voone::boss_warmastervooneAI::Reset
void Reset() OVERRIDE
Definition
boss_warmaster_voone.cpp:44
boss_warmaster_voone::boss_warmastervooneAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_warmaster_voone.cpp:60
boss_warmaster_voone::boss_warmastervooneAI::boss_warmastervooneAI
boss_warmastervooneAI(Creature *creature)
Definition
boss_warmaster_voone.cpp:42
boss_warmaster_voone::boss_warmastervooneAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_warmaster_voone.cpp:49
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockSpire
boss_warmaster_voone.cpp
Generated on
for Project SkyFire Core by
1.17.0