Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_magmus.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
9
enum
Spells
10
{
11
SPELL_FIERYBURST
= 13900,
12
SPELL_WARSTOMP
= 24375
13
};
14
15
enum
Misc
16
{
17
DATA_THRONE_DOOR
= 24
// not id or guid of doors but number of enum in blackrock_depths.h
18
};
19
20
class
boss_magmus
:
public
CreatureScript
21
{
22
public
:
23
boss_magmus
() :
CreatureScript
(
"boss_magmus"
) { }
24
25
struct
boss_magmusAI
:
public
ScriptedAI
26
{
27
boss_magmusAI
(
Creature
* creature) :
ScriptedAI
(creature)
28
{
29
FieryBurst_Timer
= 0;
30
WarStomp_Timer
= 0;
31
}
32
33
void
Reset
()
OVERRIDE
34
{
35
FieryBurst_Timer
= 5000;
36
WarStomp_Timer
=0;
37
}
38
39
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
{ }
40
41
void
UpdateAI
(
uint32
diff)
OVERRIDE
42
{
43
//Return since we have no target
44
if
(!
UpdateVictim
())
45
return
;
46
47
//FieryBurst_Timer
48
if
(
FieryBurst_Timer
<= diff)
49
{
50
DoCastVictim
(
SPELL_FIERYBURST
);
51
FieryBurst_Timer
= 6000;
52
}
else
FieryBurst_Timer
-= diff;
53
54
//WarStomp_Timer
55
if
(
HealthBelowPct
(51))
56
{
57
if
(
WarStomp_Timer
<= diff)
58
{
59
DoCastVictim
(
SPELL_WARSTOMP
);
60
WarStomp_Timer
= 8000;
61
}
else
WarStomp_Timer
-= diff;
62
}
63
64
DoMeleeAttackIfReady
();
65
}
66
// When he die open door to last chamber
67
void
JustDied
(
Unit
* killer)
OVERRIDE
68
{
69
if
(
InstanceScript
* instance = killer->GetInstanceScript())
70
instance->HandleGameObject(instance->GetData64(
DATA_THRONE_DOOR
),
true
);
71
}
72
73
private
:
74
uint32
FieryBurst_Timer
;
75
uint32
WarStomp_Timer
;
76
};
77
78
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
79
{
80
return
new
boss_magmusAI
(creature);
81
}
82
};
83
84
void
AddSC_boss_magmus
()
85
{
86
new
boss_magmus
();
87
}
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
DATA_THRONE_DOOR
@ DATA_THRONE_DOOR
Definition
blackrock_depths.h:44
DATA_THRONE_DOOR
@ DATA_THRONE_DOOR
Definition
boss_magmus.cpp:17
AddSC_boss_magmus
void AddSC_boss_magmus()
Definition
boss_magmus.cpp:84
SPELL_FIERYBURST
@ SPELL_FIERYBURST
Definition
boss_magmus.cpp:11
SPELL_WARSTOMP
@ SPELL_WARSTOMP
Definition
boss_magmus.cpp:12
Misc
Misc
Definition
boss_occuthar.cpp:37
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
boss_magmus
Definition
boss_magmus.cpp:21
boss_magmus::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_magmus.cpp:78
boss_magmus::boss_magmus
boss_magmus()
Definition
boss_magmus.cpp:23
ScriptedAI::HealthBelowPct
bool HealthBelowPct(uint32 pct) const
Definition
ScriptedCreature.h:247
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_magmus::boss_magmusAI
Definition
boss_magmus.cpp:26
boss_magmus::boss_magmusAI::JustDied
void JustDied(Unit *killer) OVERRIDE
Definition
boss_magmus.cpp:67
boss_magmus::boss_magmusAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_magmus.cpp:39
boss_magmus::boss_magmusAI::boss_magmusAI
boss_magmusAI(Creature *creature)
Definition
boss_magmus.cpp:27
boss_magmus::boss_magmusAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_magmus.cpp:41
boss_magmus::boss_magmusAI::FieryBurst_Timer
uint32 FieryBurst_Timer
Definition
boss_magmus.cpp:74
boss_magmus::boss_magmusAI::Reset
void Reset() OVERRIDE
Definition
boss_magmus.cpp:33
boss_magmus::boss_magmusAI::WarStomp_Timer
uint32 WarStomp_Timer
Definition
boss_magmus.cpp:75
src
server
scripts
EasternKingdoms
BlackrockMountain
BlackrockDepths
boss_magmus.cpp
Generated on
for Project SkyFire Core by
1.17.0