Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_gelihast.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 "
blackfathom_deeps.h
"
9
10
enum
Spells
11
{
12
SPELL_NET
= 6533
13
};
14
15
class
boss_gelihast
:
public
CreatureScript
16
{
17
public
:
18
boss_gelihast
() :
CreatureScript
(
"boss_gelihast"
) { }
19
20
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
21
{
22
return
new
boss_gelihastAI
(creature);
23
}
24
25
struct
boss_gelihastAI
:
public
ScriptedAI
26
{
27
boss_gelihastAI
(
Creature
* creature) :
ScriptedAI
(creature)
28
{
29
instance
= creature->
GetInstanceScript
();
30
}
31
32
uint32
netTimer
;
33
34
InstanceScript
*
instance
;
35
36
void
Reset
()
OVERRIDE
37
{
38
netTimer
= std::rand() % 4000 + 2000;
39
if
(
instance
)
40
instance
->SetData(
TYPE_GELIHAST
,
NOT_STARTED
);
41
}
42
43
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
44
{
45
if
(
instance
)
46
instance
->SetData(
TYPE_GELIHAST
,
IN_PROGRESS
);
47
}
48
49
void
JustDied
(
Unit
*
/*killer*/
)
OVERRIDE
50
{
51
if
(
instance
)
52
instance
->SetData(
TYPE_GELIHAST
,
DONE
);
53
}
54
55
void
UpdateAI
(
uint32
diff)
OVERRIDE
56
{
57
if
(!
UpdateVictim
())
58
return
;
59
60
if
(
netTimer
< diff)
61
{
62
DoCastVictim
(
SPELL_NET
);
63
netTimer
= std::rand() % 7000 + 4000;
64
}
else
netTimer
-= diff;
65
66
DoMeleeAttackIfReady
();
67
}
68
};
69
};
70
71
void
AddSC_boss_gelihast
()
72
{
73
new
boss_gelihast
();
74
}
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
blackfathom_deeps.h
TYPE_GELIHAST
@ TYPE_GELIHAST
Definition
blackfathom_deeps.h:23
SPELL_NET
@ SPELL_NET
Definition
boss_gelihast.cpp:12
AddSC_boss_gelihast
void AddSC_boss_gelihast()
Definition
boss_gelihast.cpp:71
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
InstanceScript
Definition
InstanceScript.h:123
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
WorldObject::GetInstanceScript
InstanceScript * GetInstanceScript()
Definition
Object.cpp:1612
boss_gelihast
Definition
boss_gelihast.cpp:16
boss_gelihast::boss_gelihast
boss_gelihast()
Definition
boss_gelihast.cpp:18
boss_gelihast::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_gelihast.cpp:20
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_gelihast::boss_gelihastAI
Definition
boss_gelihast.cpp:26
boss_gelihast::boss_gelihastAI::instance
InstanceScript * instance
Definition
boss_gelihast.cpp:34
boss_gelihast::boss_gelihastAI::Reset
void Reset() OVERRIDE
Definition
boss_gelihast.cpp:36
boss_gelihast::boss_gelihastAI::netTimer
uint32 netTimer
Definition
boss_gelihast.cpp:32
boss_gelihast::boss_gelihastAI::boss_gelihastAI
boss_gelihastAI(Creature *creature)
Definition
boss_gelihast.cpp:27
boss_gelihast::boss_gelihastAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_gelihast.cpp:55
boss_gelihast::boss_gelihastAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_gelihast.cpp:43
boss_gelihast::boss_gelihastAI::JustDied
void JustDied(Unit *) OVERRIDE
Definition
boss_gelihast.cpp:49
src
server
scripts
Kalimdor
BlackfathomDeeps
boss_gelihast.cpp
Generated on
for Project SkyFire Core by
1.17.0