Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_urok_doomhowl.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_REND
= 16509,
13
SPELL_STRIKE
= 15580,
14
SPELL_INTIMIDATING_ROAR
= 16508
15
};
16
17
enum
Says
18
{
19
SAY_SUMMON
= 0,
20
SAY_AGGRO
= 1,
21
};
22
23
enum
Events
24
{
25
EVENT_REND
= 1,
26
EVENT_STRIKE
= 2,
27
EVENT_INTIMIDATING_ROAR
= 3
28
};
29
30
class
boss_urok_doomhowl
:
public
CreatureScript
31
{
32
public
:
33
boss_urok_doomhowl
() :
CreatureScript
(
"boss_urok_doomhowl"
) { }
34
35
struct
boss_urok_doomhowlAI
:
public
BossAI
36
{
37
boss_urok_doomhowlAI
(
Creature
* creature) :
BossAI
(creature,
DATA_UROK_DOOMHOWL
) { }
38
39
void
Reset
()
OVERRIDE
40
{
41
_Reset
();
42
}
43
44
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
45
{
46
_EnterCombat
();
47
events
.ScheduleEvent(
SPELL_REND
, std::rand() % 20000 + 17000);
48
events
.ScheduleEvent(
SPELL_STRIKE
, std::rand() % 12000 + 10000);
49
Talk
(
SAY_AGGRO
);
50
}
51
52
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
53
{
54
_JustDied
();
55
}
56
57
void
UpdateAI
(
uint32
diff)
OVERRIDE
58
{
59
if
(!
UpdateVictim
())
60
return
;
61
62
events
.Update(diff);
63
64
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
65
return
;
66
67
while
(
uint32
eventId =
events
.ExecuteEvent())
68
{
69
switch
(eventId)
70
{
71
case
SPELL_REND
:
72
DoCastVictim
(
SPELL_REND
);
73
events
.ScheduleEvent(
SPELL_REND
, std::rand() % 10000 + 8000);
74
break
;
75
case
SPELL_STRIKE
:
76
DoCastVictim
(
SPELL_STRIKE
);
77
events
.ScheduleEvent(
SPELL_STRIKE
, std::rand() % 10000 + 8000);
78
break
;
79
default
:
80
break
;
81
}
82
}
83
DoMeleeAttackIfReady
();
84
}
85
};
86
87
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
88
{
89
return
new
boss_urok_doomhowlAI
(creature);
90
}
91
};
92
93
void
AddSC_boss_urok_doomhowl
()
94
{
95
new
boss_urok_doomhowl
();
96
}
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
UNIT_STATE_CASTING
@ UNIT_STATE_CASTING
Definition
Unit.h:527
Events
Events
Definition
alterac_valley.cpp:40
blackrock_spire.h
DATA_UROK_DOOMHOWL
@ DATA_UROK_DOOMHOWL
Definition
blackrock_spire.h:19
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
Says
Says
Definition
boss_halycon.cpp:17
SPELL_REND
@ SPELL_REND
Definition
boss_halycon.cpp:12
EVENT_REND
@ EVENT_REND
Definition
boss_halycon.cpp:23
SPELL_STRIKE
@ SPELL_STRIKE
Definition
boss_pyroguard_emberseer.cpp:35
EVENT_STRIKE
@ EVENT_STRIKE
Definition
boss_pyroguard_emberseer.cpp:320
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_urok_doomhowl.cpp:20
SAY_SUMMON
@ SAY_SUMMON
Definition
boss_urok_doomhowl.cpp:19
AddSC_boss_urok_doomhowl
void AddSC_boss_urok_doomhowl()
Definition
boss_urok_doomhowl.cpp:93
SPELL_STRIKE
@ SPELL_STRIKE
Definition
boss_urok_doomhowl.cpp:13
SPELL_REND
@ SPELL_REND
Definition
boss_urok_doomhowl.cpp:12
SPELL_INTIMIDATING_ROAR
@ SPELL_INTIMIDATING_ROAR
Definition
boss_urok_doomhowl.cpp:14
EVENT_INTIMIDATING_ROAR
@ EVENT_INTIMIDATING_ROAR
Definition
boss_urok_doomhowl.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::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::DoCastVictim
void DoCastVictim(uint32 spellId, bool triggered=false)
Definition
UnitAI.cpp:168
Unit
Definition
Unit.h:1367
boss_urok_doomhowl
Definition
boss_urok_doomhowl.cpp:31
boss_urok_doomhowl::boss_urok_doomhowl
boss_urok_doomhowl()
Definition
boss_urok_doomhowl.cpp:33
boss_urok_doomhowl::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_urok_doomhowl.cpp:87
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
boss_urok_doomhowl::boss_urok_doomhowlAI
Definition
boss_urok_doomhowl.cpp:36
boss_urok_doomhowl::boss_urok_doomhowlAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_urok_doomhowl.cpp:57
boss_urok_doomhowl::boss_urok_doomhowlAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_urok_doomhowl.cpp:52
boss_urok_doomhowl::boss_urok_doomhowlAI::Reset
void Reset() OVERRIDE
Definition
boss_urok_doomhowl.cpp:39
boss_urok_doomhowl::boss_urok_doomhowlAI::boss_urok_doomhowlAI
boss_urok_doomhowlAI(Creature *creature)
Definition
boss_urok_doomhowl.cpp:37
boss_urok_doomhowl::boss_urok_doomhowlAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_urok_doomhowl.cpp:44
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockSpire
boss_urok_doomhowl.cpp
Generated on
for Project SkyFire Core by
1.17.0