Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_drakkisath.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_FIRENOVA
= 23462,
13
SPELL_CLEAVE
= 20691,
14
SPELL_CONFLIGURATION
= 16805,
15
SPELL_THUNDERCLAP
= 15548,
//Not sure if right ID. 23931 would be a harder possibility.
16
};
17
18
enum
Events
19
{
20
EVENT_FIRE_NOVA
= 1,
21
EVENT_CLEAVE
= 2,
22
EVENT_CONFLIGURATION
= 3,
23
EVENT_THUNDERCLAP
= 4,
24
};
25
26
class
boss_drakkisath
:
public
CreatureScript
27
{
28
public
:
29
boss_drakkisath
() :
CreatureScript
(
"boss_drakkisath"
) { }
30
31
struct
boss_drakkisathAI
:
public
BossAI
32
{
33
boss_drakkisathAI
(
Creature
* creature) :
BossAI
(creature,
DATA_GENERAL_DRAKKISATH
) { }
34
35
void
Reset
()
OVERRIDE
36
{
37
_Reset
();
38
}
39
40
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
41
{
42
_EnterCombat
();
43
events
.ScheduleEvent(
EVENT_FIRE_NOVA
, 6000);
44
events
.ScheduleEvent(
EVENT_CLEAVE
, 8000);
45
events
.ScheduleEvent(
EVENT_CONFLIGURATION
, 15000);
46
events
.ScheduleEvent(
EVENT_THUNDERCLAP
, 17000);
47
}
48
49
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
50
{
51
_JustDied
();
52
}
53
54
void
UpdateAI
(
uint32
diff)
OVERRIDE
55
{
56
if
(!
UpdateVictim
())
57
return
;
58
59
events
.Update(diff);
60
61
if
(
me
->HasUnitState(
UNIT_STATE_CASTING
))
62
return
;
63
64
while
(
uint32
eventId =
events
.ExecuteEvent())
65
{
66
switch
(eventId)
67
{
68
case
EVENT_FIRE_NOVA
:
69
DoCastVictim
(
SPELL_FIRENOVA
);
70
events
.ScheduleEvent(
EVENT_FIRE_NOVA
, 10000);
71
break
;
72
case
EVENT_CLEAVE
:
73
DoCastVictim
(
SPELL_CLEAVE
);
74
events
.ScheduleEvent(
EVENT_CLEAVE
, 8000);
75
break
;
76
case
EVENT_CONFLIGURATION
:
77
DoCastVictim
(
SPELL_CONFLIGURATION
);
78
events
.ScheduleEvent(
EVENT_CONFLIGURATION
, 18000);
79
break
;
80
case
EVENT_THUNDERCLAP
:
81
DoCastVictim
(
SPELL_THUNDERCLAP
);
82
events
.ScheduleEvent(
EVENT_THUNDERCLAP
, 20000);
83
break
;
84
}
85
}
86
DoMeleeAttackIfReady
();
87
}
88
};
89
90
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
91
{
92
return
new
boss_drakkisathAI
(creature);
93
}
94
};
95
96
void
AddSC_boss_drakkisath
()
97
{
98
new
boss_drakkisath
();
99
}
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
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_GENERAL_DRAKKISATH
@ DATA_GENERAL_DRAKKISATH
Definition
blackrock_spire.h:28
AddSC_boss_drakkisath
void AddSC_boss_drakkisath()
Definition
boss_drakkisath.cpp:96
SPELL_CLEAVE
@ SPELL_CLEAVE
Definition
boss_drakkisath.cpp:13
SPELL_CONFLIGURATION
@ SPELL_CONFLIGURATION
Definition
boss_drakkisath.cpp:14
SPELL_THUNDERCLAP
@ SPELL_THUNDERCLAP
Definition
boss_drakkisath.cpp:15
SPELL_FIRENOVA
@ SPELL_FIRENOVA
Definition
boss_drakkisath.cpp:12
EVENT_CONFLIGURATION
@ EVENT_CONFLIGURATION
Definition
boss_drakkisath.cpp:22
EVENT_THUNDERCLAP
@ EVENT_THUNDERCLAP
Definition
boss_drakkisath.cpp:23
EVENT_FIRE_NOVA
@ EVENT_FIRE_NOVA
Definition
boss_drakkisath.cpp:20
EVENT_CLEAVE
@ EVENT_CLEAVE
Definition
boss_drakkisath.cpp:21
SPELL_THUNDERCLAP
@ SPELL_THUNDERCLAP
Definition
boss_vanndar.cpp:22
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_drakkisath
Definition
boss_drakkisath.cpp:27
boss_drakkisath::boss_drakkisath
boss_drakkisath()
Definition
boss_drakkisath.cpp:29
boss_drakkisath::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_drakkisath.cpp:90
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
boss_drakkisath::boss_drakkisathAI
Definition
boss_drakkisath.cpp:32
boss_drakkisath::boss_drakkisathAI::Reset
void Reset() OVERRIDE
Definition
boss_drakkisath.cpp:35
boss_drakkisath::boss_drakkisathAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_drakkisath.cpp:49
boss_drakkisath::boss_drakkisathAI::boss_drakkisathAI
boss_drakkisathAI(Creature *creature)
Definition
boss_drakkisath.cpp:33
boss_drakkisath::boss_drakkisathAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_drakkisath.cpp:54
boss_drakkisath::boss_drakkisathAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_drakkisath.cpp:40
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockSpire
boss_drakkisath.cpp
Generated on
for Project SkyFire Core by
1.17.0