Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_temple_of_jade_serpent.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 "
InstanceScript.h
"
8
#include "
temple_of_jade_serpent.h
"
9
10
class
instance_jade_serpent
:
public
InstanceMapScript
11
{
12
public
:
13
instance_jade_serpent
() :
InstanceMapScript
(
JadeSerpentScriptName
, 960) { }
14
15
struct
instance_jade_serpent_InstanceScript
:
public
InstanceScript
16
{
17
instance_jade_serpent_InstanceScript
(
Map
* map) :
InstanceScript
(map)
18
{
19
SetBossNumber
(
EncounterCount
);
20
//LoadDoorData(doorData);
21
22
WiseMariGUID
= 0;
23
StonestepGUID
= 0;
24
FlameheartGUID
= 0;
25
ShaOfDoubtGUID
= 0;
26
}
27
28
void
OnCreatureCreate
(
Creature
* creature)
OVERRIDE
29
{
30
switch
(creature->GetEntry())
31
{
32
case
NPC_WISE_MARI
:
33
WiseMariGUID
= creature->GetGUID();
34
break
;
35
case
NPC_STONESTEP
:
36
StonestepGUID
= creature->GetGUID();
37
break
;
38
case
NPC_FLAMEHEART
:
39
FlameheartGUID
= creature->GetGUID();
40
break
;
41
case
NPC_SHA_OF_DOUBT
:
42
ShaOfDoubtGUID
= creature->GetGUID();
43
break
;
44
default
:
45
break
;
46
}
47
}
48
49
//void OnGameObjectCreate(GameObject* go) OVERRIDE
50
//{}
51
52
//void OnGameObjectRemove(GameObject* go) OVERRIDE
53
//{}
54
55
uint64
GetData64
(
uint32
type)
const
OVERRIDE
56
{
57
switch
(type)
58
{
59
case
DATA_WISE_MARI
:
60
return
WiseMariGUID
;
61
case
DATA_STONESTEP
:
62
return
StonestepGUID
;
63
case
DATA_FLAMEHEART
:
64
return
FlameheartGUID
;
65
case
DATA_SHA_OF_DOUBT
:
66
return
ShaOfDoubtGUID
;
67
default
:
68
break
;
69
}
70
return
0;
71
}
72
73
std::string
GetSaveData
()
OVERRIDE
74
{
75
OUT_SAVE_INST_DATA
;
76
77
std::ostringstream saveStream;
78
saveStream <<
"T J S "
<<
GetBossSaveData
();
79
80
OUT_SAVE_INST_DATA_COMPLETE
;
81
return
saveStream.str();
82
}
83
84
void
Load
(
char
const
* str)
OVERRIDE
85
{
86
if
(!str)
87
{
88
OUT_LOAD_INST_DATA_FAIL
;
89
return
;
90
}
91
92
OUT_LOAD_INST_DATA
(str);
93
94
char
dataHead1, dataHead2, dataHead3;
95
96
std::istringstream loadStream(str);
97
loadStream >> dataHead1 >> dataHead2 >> dataHead3;
98
99
if
(dataHead1 ==
'T'
&& dataHead2 ==
'J'
&& dataHead3 ==
'S'
)
100
{
101
for
(
uint32
i = 0; i <
EncounterCount
; ++i)
102
{
103
uint32
tmpState;
104
loadStream >> tmpState;
105
if
(tmpState ==
IN_PROGRESS
|| tmpState >
SPECIAL
)
106
tmpState =
NOT_STARTED
;
107
SetBossState
(i,
EncounterState
(tmpState));
108
}
109
}
110
else
111
OUT_LOAD_INST_DATA_FAIL
;
112
113
OUT_LOAD_INST_DATA_COMPLETE
;
114
}
115
116
protected
:
117
uint64
WiseMariGUID
;
118
uint64
StonestepGUID
;
119
uint64
FlameheartGUID
;
120
uint64
ShaOfDoubtGUID
;
121
};
122
123
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
124
{
125
return
new
instance_jade_serpent_InstanceScript
(map);
126
}
127
};
128
129
void
AddSC_instance_jade_serpent
()
130
{
131
new
instance_jade_serpent
();
132
}
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
InstanceScript.h
OUT_LOAD_INST_DATA_FAIL
#define OUT_LOAD_INST_DATA_FAIL
Definition
InstanceScript.h:18
EncounterState
EncounterState
Definition
InstanceScript.h:45
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
SPECIAL
@ SPECIAL
Definition
InstanceScript.h:50
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
OUT_SAVE_INST_DATA_COMPLETE
#define OUT_SAVE_INST_DATA_COMPLETE
Definition
InstanceScript.h:15
OUT_LOAD_INST_DATA_COMPLETE
#define OUT_LOAD_INST_DATA_COMPLETE
Definition
InstanceScript.h:17
OUT_SAVE_INST_DATA
#define OUT_SAVE_INST_DATA
Definition
InstanceScript.h:14
OUT_LOAD_INST_DATA
#define OUT_LOAD_INST_DATA(a)
Definition
InstanceScript.h:16
ScriptMgr.h
EncounterCount
uint32 const EncounterCount
Definition
baradin_hold.h:15
Creature
Definition
Creature.h:427
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::SetBossNumber
void SetBossNumber(uint32 number)
Definition
InstanceScript.h:212
InstanceScript::SetBossState
virtual bool SetBossState(uint32 id, EncounterState state)
Definition
InstanceScript.cpp:182
InstanceScript::GetBossSaveData
std::string GetBossSaveData()
Definition
InstanceScript.cpp:239
Map
Definition
Map.h:238
instance_jade_serpent
Definition
instance_temple_of_jade_serpent.cpp:11
instance_jade_serpent::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_temple_of_jade_serpent.cpp:123
instance_jade_serpent::instance_jade_serpent
instance_jade_serpent()
Definition
instance_temple_of_jade_serpent.cpp:13
AddSC_instance_jade_serpent
void AddSC_instance_jade_serpent()
Definition
instance_temple_of_jade_serpent.cpp:129
instance_jade_serpent::instance_jade_serpent_InstanceScript
Definition
instance_temple_of_jade_serpent.cpp:16
instance_jade_serpent::instance_jade_serpent_InstanceScript::WiseMariGUID
uint64 WiseMariGUID
Definition
instance_temple_of_jade_serpent.cpp:117
instance_jade_serpent::instance_jade_serpent_InstanceScript::GetSaveData
std::string GetSaveData() OVERRIDE
Definition
instance_temple_of_jade_serpent.cpp:73
instance_jade_serpent::instance_jade_serpent_InstanceScript::FlameheartGUID
uint64 FlameheartGUID
Definition
instance_temple_of_jade_serpent.cpp:119
instance_jade_serpent::instance_jade_serpent_InstanceScript::StonestepGUID
uint64 StonestepGUID
Definition
instance_temple_of_jade_serpent.cpp:118
instance_jade_serpent::instance_jade_serpent_InstanceScript::OnCreatureCreate
void OnCreatureCreate(Creature *creature) OVERRIDE
Definition
instance_temple_of_jade_serpent.cpp:28
instance_jade_serpent::instance_jade_serpent_InstanceScript::ShaOfDoubtGUID
uint64 ShaOfDoubtGUID
Definition
instance_temple_of_jade_serpent.cpp:120
instance_jade_serpent::instance_jade_serpent_InstanceScript::Load
void Load(char const *str) OVERRIDE
Definition
instance_temple_of_jade_serpent.cpp:84
instance_jade_serpent::instance_jade_serpent_InstanceScript::GetData64
uint64 GetData64(uint32 type) const OVERRIDE
Definition
instance_temple_of_jade_serpent.cpp:55
instance_jade_serpent::instance_jade_serpent_InstanceScript::instance_jade_serpent_InstanceScript
instance_jade_serpent_InstanceScript(Map *map)
Definition
instance_temple_of_jade_serpent.cpp:17
temple_of_jade_serpent.h
JadeSerpentScriptName
#define JadeSerpentScriptName
Definition
temple_of_jade_serpent.h:9
NPC_FLAMEHEART
@ NPC_FLAMEHEART
Definition
temple_of_jade_serpent.h:26
NPC_STONESTEP
@ NPC_STONESTEP
Definition
temple_of_jade_serpent.h:25
NPC_SHA_OF_DOUBT
@ NPC_SHA_OF_DOUBT
Definition
temple_of_jade_serpent.h:27
NPC_WISE_MARI
@ NPC_WISE_MARI
Definition
temple_of_jade_serpent.h:24
DATA_SHA_OF_DOUBT
@ DATA_SHA_OF_DOUBT
Definition
temple_of_jade_serpent.h:19
DATA_WISE_MARI
@ DATA_WISE_MARI
Definition
temple_of_jade_serpent.h:16
DATA_FLAMEHEART
@ DATA_FLAMEHEART
Definition
temple_of_jade_serpent.h:18
DATA_STONESTEP
@ DATA_STONESTEP
Definition
temple_of_jade_serpent.h:17
src
server
scripts
Pandaria
TempleOfJadeSerpent
instance_temple_of_jade_serpent.cpp
Generated on
for Project SkyFire Core by
1.17.0