Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
boss_galgann_firehammer.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_Galgann_Firehammer
8
SD%Complete: 100
9
SDComment:
10
SDCategory: Uldaman
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
ScriptedCreature.h
"
15
16
enum
GalgannFirehammer
17
{
18
SAY_AGGRO
= 0,
19
SPELL_FLAME_LASH
= 3356,
20
SPELL_AMPLIFY_FLAMES
= 9482,
21
SPELL_FIRE_NOVA
= 11969
22
};
23
24
class
boss_galgann_firehammer
:
public
CreatureScript
25
{
26
public
:
27
boss_galgann_firehammer
() :
CreatureScript
(
"boss_galgann_firehammer"
) { }
28
29
struct
boss_galgann_firehammerAI
:
public
ScriptedAI
30
{
31
boss_galgann_firehammerAI
(
Creature
* creature) :
ScriptedAI
(creature) { }
32
33
uint32
uiFlameLashTimer
;
34
uint32
uiAmplifyFlamesTimer
;
35
uint32
uiFireNovaTimer
;
36
37
void
Reset
()
OVERRIDE
38
{
39
uiFlameLashTimer
= 7000;
40
uiAmplifyFlamesTimer
= 9000;
41
uiFireNovaTimer
= 10000;
42
}
43
44
void
EnterCombat
(
Unit
*
/*who*/
)
OVERRIDE
45
{
46
Talk
(
SAY_AGGRO
);
47
}
48
49
void
UpdateAI
(
uint32
uiDiff)
OVERRIDE
50
{
51
//Return since we have no target
52
if
(!
UpdateVictim
())
53
return
;
54
55
//uiFlameLashTimer
56
if
(
uiFlameLashTimer
<= uiDiff)
57
{
58
DoCastVictim
(
SPELL_FLAME_LASH
);
59
uiFlameLashTimer
= 20000;
60
}
else
uiFlameLashTimer
-= uiDiff;
61
62
//uiAmplifyFlamesTimer
63
if
(
uiAmplifyFlamesTimer
<= uiDiff)
64
{
65
DoCastVictim
(
SPELL_AMPLIFY_FLAMES
);
66
uiAmplifyFlamesTimer
= 20000;
67
}
68
else
uiAmplifyFlamesTimer
-= uiDiff;
69
70
//uiFireNovaTimer
71
if
(
uiFireNovaTimer
<= uiDiff)
72
{
73
DoCastVictim
(
SPELL_FIRE_NOVA
);
74
uiFireNovaTimer
= 6000;
75
}
76
else
uiFireNovaTimer
-= uiDiff;
77
78
DoMeleeAttackIfReady
();
79
}
80
};
81
82
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
83
{
84
return
new
boss_galgann_firehammerAI
(creature);
85
}
86
};
87
88
void
AddSC_boss_galgann_firehammer
()
89
{
90
new
boss_galgann_firehammer
();
91
}
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
ScriptMgr.h
ScriptedCreature.h
SAY_AGGRO
#define SAY_AGGRO
Definition
boss_commander_kolurg.cpp:28
GalgannFirehammer
GalgannFirehammer
Definition
boss_galgann_firehammer.cpp:17
SPELL_AMPLIFY_FLAMES
@ SPELL_AMPLIFY_FLAMES
Definition
boss_galgann_firehammer.cpp:20
SAY_AGGRO
@ SAY_AGGRO
Definition
boss_galgann_firehammer.cpp:18
SPELL_FIRE_NOVA
@ SPELL_FIRE_NOVA
Definition
boss_galgann_firehammer.cpp:21
SPELL_FLAME_LASH
@ SPELL_FLAME_LASH
Definition
boss_galgann_firehammer.cpp:19
AddSC_boss_galgann_firehammer
void AddSC_boss_galgann_firehammer()
Definition
boss_galgann_firehammer.cpp:88
SPELL_AMPLIFY_FLAMES
@ SPELL_AMPLIFY_FLAMES
Definition
boss_terestian_illhoof.cpp:43
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
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_galgann_firehammer
Definition
boss_galgann_firehammer.cpp:25
boss_galgann_firehammer::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
boss_galgann_firehammer.cpp:82
boss_galgann_firehammer::boss_galgann_firehammer
boss_galgann_firehammer()
Definition
boss_galgann_firehammer.cpp:27
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
boss_galgann_firehammer::boss_galgann_firehammerAI
Definition
boss_galgann_firehammer.cpp:30
boss_galgann_firehammer::boss_galgann_firehammerAI::uiAmplifyFlamesTimer
uint32 uiAmplifyFlamesTimer
Definition
boss_galgann_firehammer.cpp:34
boss_galgann_firehammer::boss_galgann_firehammerAI::EnterCombat
void EnterCombat(Unit *) OVERRIDE
Definition
boss_galgann_firehammer.cpp:44
boss_galgann_firehammer::boss_galgann_firehammerAI::uiFlameLashTimer
uint32 uiFlameLashTimer
Definition
boss_galgann_firehammer.cpp:33
boss_galgann_firehammer::boss_galgann_firehammerAI::Reset
void Reset() OVERRIDE
Definition
boss_galgann_firehammer.cpp:37
boss_galgann_firehammer::boss_galgann_firehammerAI::UpdateAI
void UpdateAI(uint32 uiDiff) OVERRIDE
== Triggered Actions Requested ==================
Definition
boss_galgann_firehammer.cpp:49
boss_galgann_firehammer::boss_galgann_firehammerAI::uiFireNovaTimer
uint32 uiFireNovaTimer
Definition
boss_galgann_firehammer.cpp:35
boss_galgann_firehammer::boss_galgann_firehammerAI::boss_galgann_firehammerAI
boss_galgann_firehammerAI(Creature *creature)
Definition
boss_galgann_firehammer.cpp:31
src
server
scripts
EasternKingdoms
Uldaman
boss_galgann_firehammer.cpp
Generated on
for Project SkyFire Core by
1.17.0