Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_razorfen_kraul.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: Instance_Razorfen_Kraul
8
SD%Complete:
9
SDComment:
10
SDCategory: Razorfen Kraul
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
InstanceScript.h
"
15
#include "
razorfen_kraul.h
"
16
#include "
Player.h
"
17
18
#define WARD_KEEPERS_NR 2
19
20
class
instance_razorfen_kraul
:
public
InstanceMapScript
21
{
22
public
:
23
instance_razorfen_kraul
() :
InstanceMapScript
(
"instance_razorfen_kraul"
, 47) { }
24
25
struct
instance_razorfen_kraul_InstanceMapScript
:
public
InstanceScript
26
{
27
instance_razorfen_kraul_InstanceMapScript
(
Map
* map) :
InstanceScript
(map)
28
{
29
DoorWardGUID
= 0;
30
WardKeeperDeath
= 0;
31
}
32
33
Player
*
GetPlayerInMap
()
34
{
35
Map::PlayerList
const
& players =
instance
->GetPlayers();
36
37
if
(!players.
isEmpty
())
38
{
39
for
(
Map::PlayerList::const_iterator
itr = players.
begin
(); itr != players.
end
(); ++itr)
40
{
41
if
(
Player
* player = itr->GetSource())
42
return
player;
43
}
44
}
45
SF_LOG_DEBUG
(
"scripts"
,
"Instance Razorfen Kraul: GetPlayerInMap, but PlayerList is empty!"
);
46
return
NULL;
47
}
48
49
void
OnGameObjectCreate
(
GameObject
* go)
OVERRIDE
50
{
51
switch
(go->GetEntry())
52
{
53
case
21099:
DoorWardGUID
= go->GetGUID();
break
;
54
case
20920: go->SetUInt32Value(
GAMEOBJECT_FIELD_FACTION_TEMPLATE
, 0);
break
;
// big fat fugly hack
55
}
56
}
57
58
void
Update
(
uint32
/*diff*/
)
OVERRIDE
59
{
60
if
(
WardKeeperDeath
==
WARD_KEEPERS_NR
)
61
{
62
if
(
GameObject
* go =
instance
->GetGameObject(
DoorWardGUID
))
63
{
64
go->SetUInt32Value(
GAMEOBJECT_FIELD_FLAGS
, 33);
65
go->SetGoState(
GOState::GO_STATE_ACTIVE
);
66
}
67
}
68
}
69
70
void
SetData
(
uint32
type,
uint32
/*data*/
)
OVERRIDE
71
{
72
switch
(type)
73
{
74
case
EVENT_WARD_KEEPER
:
WardKeeperDeath
++;
break
;
75
}
76
}
77
private
:
78
uint64
DoorWardGUID
;
79
int
WardKeeperDeath
;
80
};
81
82
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
83
{
84
return
new
instance_razorfen_kraul_InstanceMapScript
(map);
85
}
86
};
87
88
void
AddSC_instance_razorfen_kraul
()
89
{
90
new
instance_razorfen_kraul
();
91
}
uint32
std::uint32_t uint32
Definition
Define.h:77
OVERRIDE
#define OVERRIDE
Definition
Define.h:60
uint64
std::uint64_t uint64
Definition
Define.h:76
GOState::GO_STATE_ACTIVE
@ GO_STATE_ACTIVE
Definition
GameObject.h:576
InstanceScript.h
SF_LOG_DEBUG
#define SF_LOG_DEBUG(filterType__,...)
Definition
Log.h:134
Player.h
ScriptMgr.h
GAMEOBJECT_FIELD_FACTION_TEMPLATE
@ GAMEOBJECT_FIELD_FACTION_TEMPLATE
Definition
UpdateFields.h:252
GAMEOBJECT_FIELD_FLAGS
@ GAMEOBJECT_FIELD_FLAGS
Definition
UpdateFields.h:250
GameObject
Definition
GameObject.h:629
InstanceMap
Definition
Map.h:637
InstanceMapScript::InstanceMapScript
InstanceMapScript(const char *name, uint32 mapId)
Definition
ScriptMgr.cpp:1412
InstanceScript
Definition
InstanceScript.h:123
InstanceScript::InstanceScript
InstanceScript(Map *map)
Definition
InstanceScript.h:125
InstanceScript::instance
Map * instance
Definition
InstanceScript.h:129
LinkedListHead::isEmpty
bool isEmpty() const
Definition
LinkedList.h:86
Map
Definition
Map.h:238
Map::PlayerList
MapRefManager PlayerList
Definition
Map.h:406
MapRefManager::end
iterator end()
Definition
MapRefManager.h:25
MapRefManager::begin
iterator begin()
Definition
MapRefManager.h:24
MapRefManager::const_iterator
LinkedListHead::Iterator< MapReference const > const_iterator
Definition
MapRefManager.h:17
Player
Definition
Player.h:1289
instance_razorfen_kraul
Definition
instance_razorfen_kraul.cpp:21
instance_razorfen_kraul::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_razorfen_kraul.cpp:82
instance_razorfen_kraul::instance_razorfen_kraul
instance_razorfen_kraul()
Definition
instance_razorfen_kraul.cpp:23
AddSC_instance_razorfen_kraul
void AddSC_instance_razorfen_kraul()
Definition
instance_razorfen_kraul.cpp:88
WARD_KEEPERS_NR
#define WARD_KEEPERS_NR
Definition
instance_razorfen_kraul.cpp:18
razorfen_kraul.h
EVENT_WARD_KEEPER
#define EVENT_WARD_KEEPER
Definition
razorfen_kraul.h:9
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript
Definition
instance_razorfen_kraul.cpp:26
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::SetData
void SetData(uint32 type, uint32) OVERRIDE
Definition
instance_razorfen_kraul.cpp:70
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::WardKeeperDeath
int WardKeeperDeath
Definition
instance_razorfen_kraul.cpp:79
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::OnGameObjectCreate
void OnGameObjectCreate(GameObject *go) OVERRIDE
Definition
instance_razorfen_kraul.cpp:49
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::instance_razorfen_kraul_InstanceMapScript
instance_razorfen_kraul_InstanceMapScript(Map *map)
Definition
instance_razorfen_kraul.cpp:27
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::Update
void Update(uint32) OVERRIDE
Definition
instance_razorfen_kraul.cpp:58
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::DoorWardGUID
uint64 DoorWardGUID
Definition
instance_razorfen_kraul.cpp:78
instance_razorfen_kraul::instance_razorfen_kraul_InstanceMapScript::GetPlayerInMap
Player * GetPlayerInMap()
Definition
instance_razorfen_kraul.cpp:33
src
server
scripts
Kalimdor
RazorfenKraul
instance_razorfen_kraul.cpp
Generated on
for Project SkyFire Core by
1.17.0