Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_scorn.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
/* ScriptData
7
SDName: Boss_Scorn
8
SD%Complete: 100
9
SDComment:
10
SDCategory: Scarlet Monastery
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
16
enum
Spells
17
{
18
SPELL_LICHSLAP
= 28873,
19
SPELL_FROSTBOLTVOLLEY
= 8398,
20
SPELL_MINDFLAY
= 17313,
21
SPELL_FROSTNOVA
= 15531
22
};
23
24
class
boss_scorn
:
public
CreatureScript
25
{
26
public
:
27
boss_scorn
() :
CreatureScript
(
"boss_scorn"
) { }
28
29
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
30
{
31
return
new
boss_scornAI
(creature);
32
}
33
34
struct
boss_scornAI
:
public
ScriptedAI
35
{
36
boss_scornAI
(
Creature
* creature) :
ScriptedAI
(creature) { }
37
38
uint32
LichSlap_Timer
;
39
uint32
FrostboltVolley_Timer
;
40
uint32
MindFlay_Timer
;
41
uint32
FrostNova_Timer
;
42
43
void
Reset
()
OVERRIDE
44
{
45
LichSlap_Timer
= 45000;
46
FrostboltVolley_Timer
= 30000;
47
MindFlay_Timer
= 30000;
48
FrostNova_Timer
= 30000;
49
}
50
51
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
{ }
52
53
void
UpdateAI
(
uint32
diff)
OVERRIDE
54
{
55
if
(!
UpdateVictim
())
56
return
;
57
58
//LichSlap_Timer
59
if
(
LichSlap_Timer
<= diff)
60
{
61
DoCastVictim
(
SPELL_LICHSLAP
);
62
LichSlap_Timer
= 45000;
63
}
64
else
LichSlap_Timer
-= diff;
65
66
//FrostboltVolley_Timer
67
if
(
FrostboltVolley_Timer
<= diff)
68
{
69
DoCastVictim
(
SPELL_FROSTBOLTVOLLEY
);
70
FrostboltVolley_Timer
= 20000;
71
}
72
else
FrostboltVolley_Timer
-= diff;
73
74
//MindFlay_Timer
75
if
(
MindFlay_Timer
<= diff)
76
{
77
DoCastVictim
(
SPELL_MINDFLAY
);
78
MindFlay_Timer
= 20000;
79
}
80
else
MindFlay_Timer
-= diff;
81
82
//FrostNova_Timer
83
if
(
FrostNova_Timer
<= diff)
84
{
85
DoCastVictim
(
SPELL_FROSTNOVA
);
86
FrostNova_Timer
= 15000;
87
}
88
else
FrostNova_Timer
-= diff;
89
90
DoMeleeAttackIfReady
();
91
}
92
};
93
};
94
95
void
AddSC_boss_scorn
()
96
{
97
new
boss_scorn
();
98
}
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
SPELL_MINDFLAY
@ SPELL_MINDFLAY
Definition
boss_scorn.cpp:20
SPELL_LICHSLAP
@ SPELL_LICHSLAP
Definition
boss_scorn.cpp:18
SPELL_FROSTBOLTVOLLEY
@ SPELL_FROSTBOLTVOLLEY
Definition
boss_scorn.cpp:19
SPELL_FROSTNOVA
@ SPELL_FROSTNOVA
Definition
boss_scorn.cpp:21
AddSC_boss_scorn
void AddSC_boss_scorn()
Definition
boss_scorn.cpp:95
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_scorn
Definition
boss_scorn.cpp:25
boss_scorn::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_scorn.cpp:29
boss_scorn::boss_scorn
boss_scorn()
Definition
boss_scorn.cpp:27
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_scorn::boss_scornAI
Definition
boss_scorn.cpp:35
boss_scorn::boss_scornAI::boss_scornAI
boss_scornAI(Creature *creature)
Definition
boss_scorn.cpp:36
boss_scorn::boss_scornAI::MindFlay_Timer
uint32 MindFlay_Timer
Definition
boss_scorn.cpp:40
boss_scorn::boss_scornAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_scorn.cpp:51
boss_scorn::boss_scornAI::Reset
void Reset() OVERRIDE
Definition
boss_scorn.cpp:43
boss_scorn::boss_scornAI::FrostboltVolley_Timer
uint32 FrostboltVolley_Timer
Definition
boss_scorn.cpp:39
boss_scorn::boss_scornAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_scorn.cpp:53
boss_scorn::boss_scornAI::LichSlap_Timer
uint32 LichSlap_Timer
Definition
boss_scorn.cpp:38
boss_scorn::boss_scornAI::FrostNova_Timer
uint32 FrostNova_Timer
Definition
boss_scorn.cpp:41
src
server
scripts
EasternKingdoms
ScarletMonastery
boss_scorn.cpp
Generated on
for Project SkyFire Core by
1.17.0