Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_infinite_corruptor.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 "
culling_of_stratholme.h
"
9
10
enum
Spells
11
{
12
SPELL_CORRUPTING_BLIGHT
= 60588,
13
SPELL_VOID_STRIKE
= 60590
14
};
15
16
enum
Yells
17
{
18
SAY_AGGRO
= 0,
19
SAY_DEATH
= 1,
20
SAY_FAIL
= 2
21
};
22
23
class
boss_infinite_corruptor
:
public
CreatureScript
24
{
25
public
:
26
boss_infinite_corruptor
() :
CreatureScript
(
"boss_infinite_corruptor"
) { }
27
28
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
29
{
30
return
new
boss_infinite_corruptorAI
(creature);
31
}
32
33
struct
boss_infinite_corruptorAI
:
public
ScriptedAI
34
{
35
boss_infinite_corruptorAI
(
Creature
* creature) :
ScriptedAI
(creature)
36
{
37
instance
= creature->
GetInstanceScript
();
38
}
39
40
InstanceScript
*
instance
;
41
42
void
Reset
()
OVERRIDE
43
{
44
if
(
instance
)
45
instance
->SetData(
DATA_INFINITE_EVENT
,
NOT_STARTED
);
46
}
47
48
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
49
{
50
Talk
(
SAY_AGGRO
);
51
if
(
instance
)
52
instance
->SetData(
DATA_INFINITE_EVENT
,
IN_PROGRESS
);
53
}
54
55
void
UpdateAI
(
uint32
/*diff*/
)
OVERRIDE
56
{
57
//Return since we have no target
58
if
(!
UpdateVictim
())
59
return
;
60
61
DoMeleeAttackIfReady
();
62
}
63
64
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
65
{
66
Talk
(
SAY_DEATH
);
67
if
(
instance
)
68
instance
->SetData(
DATA_INFINITE_EVENT
,
DONE
);
69
}
70
};
71
};
72
73
void
AddSC_boss_infinite_corruptor
()
74
{
75
new
boss_infinite_corruptor
();
76
}
Spells
Spells
Definition
BattlegroundIC.h:645
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
DONE
@ DONE
Definition
InstanceScript.h:49
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
ScriptMgr.h
ScriptedCreature.h
SAY_DEATH
#define SAY_DEATH
Definition
boss_commander_kolurg.cpp:30
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
SAY_DEATH
@ SAY_DEATH
Definition
boss_infinite_corruptor.cpp:19
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_infinite_corruptor.cpp:18
SAY_FAIL
@ SAY_FAIL
Definition
boss_infinite_corruptor.cpp:20
SPELL_CORRUPTING_BLIGHT
@ SPELL_CORRUPTING_BLIGHT
Definition
boss_infinite_corruptor.cpp:12
SPELL_VOID_STRIKE
@ SPELL_VOID_STRIKE
Definition
boss_infinite_corruptor.cpp:13
AddSC_boss_infinite_corruptor
void AddSC_boss_infinite_corruptor()
Definition
boss_infinite_corruptor.cpp:73
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
InstanceScript
Definition
InstanceScript.h:123
UnitAI::DoMeleeAttackIfReady
void DoMeleeAttackIfReady()
Definition
UnitAI.cpp:28
Unit
Definition
Unit.h:1367
WorldObject::GetInstanceScript
InstanceScript * GetInstanceScript()
Definition
Object.cpp:1612
boss_infinite_corruptor
Definition
boss_infinite_corruptor.cpp:24
boss_infinite_corruptor::boss_infinite_corruptor
boss_infinite_corruptor()
Definition
boss_infinite_corruptor.cpp:26
boss_infinite_corruptor::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_infinite_corruptor.cpp:28
culling_of_stratholme.h
DATA_INFINITE_EVENT
@ DATA_INFINITE_EVENT
Definition
culling_of_stratholme.h:15
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
Yells
Definition
boss_illidan.cpp:256
boss_infinite_corruptor::boss_infinite_corruptorAI
Definition
boss_infinite_corruptor.cpp:34
boss_infinite_corruptor::boss_infinite_corruptorAI::boss_infinite_corruptorAI
boss_infinite_corruptorAI(Creature *creature)
Definition
boss_infinite_corruptor.cpp:35
boss_infinite_corruptor::boss_infinite_corruptorAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_infinite_corruptor.cpp:48
boss_infinite_corruptor::boss_infinite_corruptorAI::Reset
void Reset() OVERRIDE
Definition
boss_infinite_corruptor.cpp:42
boss_infinite_corruptor::boss_infinite_corruptorAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_infinite_corruptor.cpp:64
boss_infinite_corruptor::boss_infinite_corruptorAI::UpdateAI
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_infinite_corruptor.cpp:55
boss_infinite_corruptor::boss_infinite_corruptorAI::instance
InstanceScript * instance
Definition
boss_infinite_corruptor.cpp:40
src
server
scripts
Kalimdor
CavernsOfTime
CullingOfStratholme
boss_infinite_corruptor.cpp
Generated on
for Project SkyFire Core by
1.17.0