Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
zone_valley_of_the_four_winds.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 "
ScriptedGossip.h
"
9
#include "
Player.h
"
10
#include "
Spell.h
"
11
12
class
npc_glade_glimmer
:
public
CreatureScript
13
{
14
public
:
15
npc_glade_glimmer
() :
CreatureScript
(
"npc_glade_glimmer"
) {}
16
17
struct
npc_glade_glimmerAI
:
public
ScriptedAI
18
{
19
npc_glade_glimmerAI
(
Creature
* creature) :
ScriptedAI
(creature)
20
{
21
cooldown
= 0;
22
}
23
24
void
Reset
()
OVERRIDE
25
{
26
cooldown
= 0;
27
me
->SetFlag(
UNIT_FIELD_NPC_FLAGS
,
UNIT_NPC_FLAG_SPELLCLICK
);
28
me
->SetFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
);
29
}
30
31
void
JustRespawned
()
OVERRIDE
32
{
33
Reset
();
34
}
35
36
void
OnSpellClick
(
Unit
* clicker,
bool
& result)
OVERRIDE
37
{
38
if
(!result)
39
return
;
40
41
cooldown
= 60000;
42
me
->RemoveFlag(
UNIT_FIELD_NPC_FLAGS
,
UNIT_NPC_FLAG_SPELLCLICK
);
43
44
}
45
void
UpdateAI
(
uint32
diff)
OVERRIDE
46
{
47
if
(
cooldown
)
48
{
49
if
(
cooldown
<= diff)
50
{
51
Reset
();
52
cooldown
= 0;
53
}
54
else
55
cooldown
-= diff;
56
}
57
}
58
private
:
59
uint32
cooldown
;
60
};
61
62
CreatureAI
*
GetAI
(
Creature
* creature)
const
OVERRIDE
63
{
64
return
new
npc_glade_glimmerAI
(creature);
65
}
66
};
67
68
void
AddSC_valley_of_the_four_winds
()
69
{
70
new
npc_glade_glimmer
();
71
}
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
Player.h
ScriptMgr.h
ScriptedCreature.h
ScriptedGossip.h
Spell.h
UNIT_NPC_FLAG_SPELLCLICK
@ UNIT_NPC_FLAG_SPELLCLICK
Definition
Unit.h:711
UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE
Definition
Unit.h:626
UNIT_FIELD_NPC_FLAGS
@ UNIT_FIELD_NPC_FLAGS
Definition
UpdateFields.h:107
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
CreatureAI
Definition
CreatureAI.h:54
Creature
Definition
Creature.h:427
CreatureScript::CreatureScript
CreatureScript(const char *name)
Definition
ScriptMgr.cpp:1436
Unit
Definition
Unit.h:1367
npc_glade_glimmer
Definition
zone_valley_of_the_four_winds.cpp:13
npc_glade_glimmer::GetAI
CreatureAI * GetAI(Creature *creature) const OVERRIDE
Definition
zone_valley_of_the_four_winds.cpp:62
npc_glade_glimmer::npc_glade_glimmer
npc_glade_glimmer()
Definition
zone_valley_of_the_four_winds.cpp:15
ScriptedAI::me
Creature * me
Definition
ScriptedCreature.h:182
ScriptedAI::ScriptedAI
ScriptedAI(Creature *creature)
Definition
ScriptedCreature.cpp:85
npc_glade_glimmer::npc_glade_glimmerAI
Definition
zone_valley_of_the_four_winds.cpp:18
npc_glade_glimmer::npc_glade_glimmerAI::JustRespawned
void JustRespawned() OVERRIDE
Definition
zone_valley_of_the_four_winds.cpp:31
npc_glade_glimmer::npc_glade_glimmerAI::OnSpellClick
void OnSpellClick(Unit *clicker, bool &result) OVERRIDE
Definition
zone_valley_of_the_four_winds.cpp:36
npc_glade_glimmer::npc_glade_glimmerAI::UpdateAI
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
Definition
zone_valley_of_the_four_winds.cpp:45
npc_glade_glimmer::npc_glade_glimmerAI::cooldown
uint32 cooldown
Definition
zone_valley_of_the_four_winds.cpp:59
npc_glade_glimmer::npc_glade_glimmerAI::npc_glade_glimmerAI
npc_glade_glimmerAI(Creature *creature)
Definition
zone_valley_of_the_four_winds.cpp:19
npc_glade_glimmer::npc_glade_glimmerAI::Reset
void Reset() OVERRIDE
Definition
zone_valley_of_the_four_winds.cpp:24
AddSC_valley_of_the_four_winds
void AddSC_valley_of_the_four_winds()
Definition
zone_valley_of_the_four_winds.cpp:68
src
server
scripts
Pandaria
zone_valley_of_the_four_winds.cpp
Generated on
for Project SkyFire Core by
1.17.0