Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_sunken_temple.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_Sunken_Temple
8
SD%Complete: 100
9
SDComment:Place Holder
10
SDCategory: Sunken Temple
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
InstanceScript.h
"
15
#include "
sunken_temple.h
"
16
17
enum
Gameobject
18
{
19
GO_ATALAI_STATUE1
= 148830,
20
GO_ATALAI_STATUE2
= 148831,
21
GO_ATALAI_STATUE3
= 148832,
22
GO_ATALAI_STATUE4
= 148833,
23
GO_ATALAI_STATUE5
= 148834,
24
GO_ATALAI_STATUE6
= 148835,
25
GO_ATALAI_IDOL
= 148836,
26
GO_ATALAI_LIGHT1
= 148883,
27
GO_ATALAI_LIGHT2
= 148937
28
29
};
30
31
enum
CreatureIds
32
{
33
NPC_MALFURION_STORMRAGE
= 15362
34
};
35
36
class
instance_sunken_temple
:
public
InstanceMapScript
37
{
38
public
:
39
instance_sunken_temple
() :
InstanceMapScript
(
"instance_sunken_temple"
, 109) { }
40
41
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
42
{
43
return
new
instance_sunken_temple_InstanceMapScript
(map);
44
}
45
46
struct
instance_sunken_temple_InstanceMapScript
:
public
InstanceScript
47
{
48
instance_sunken_temple_InstanceMapScript
(
Map
* map) :
InstanceScript
(map)
49
{
50
}
51
52
uint64
GOAtalaiStatue1
;
53
uint64
GOAtalaiStatue2
;
54
uint64
GOAtalaiStatue3
;
55
uint64
GOAtalaiStatue4
;
56
uint64
GOAtalaiStatue5
;
57
uint64
GOAtalaiStatue6
;
58
uint64
GOAtalaiIdol
;
59
60
uint32
State
;
61
62
bool
s1
;
63
bool
s2
;
64
bool
s3
;
65
bool
s4
;
66
bool
s5
;
67
bool
s6
;
68
69
void
Initialize
()
OVERRIDE
70
{
71
GOAtalaiStatue1
= 0;
72
GOAtalaiStatue2
= 0;
73
GOAtalaiStatue3
= 0;
74
GOAtalaiStatue4
= 0;
75
GOAtalaiStatue5
= 0;
76
GOAtalaiStatue6
= 0;
77
GOAtalaiIdol
= 0;
78
79
State
= 0;
80
81
s1
=
false
;
82
s2
=
false
;
83
s3
=
false
;
84
s4
=
false
;
85
s5
=
false
;
86
s6
=
false
;
87
}
88
89
void
OnGameObjectCreate
(
GameObject
* go)
OVERRIDE
90
{
91
switch
(go->GetEntry())
92
{
93
case
GO_ATALAI_STATUE1
:
GOAtalaiStatue1
= go->GetGUID();
break
;
94
case
GO_ATALAI_STATUE2
:
GOAtalaiStatue2
= go->GetGUID();
break
;
95
case
GO_ATALAI_STATUE3
:
GOAtalaiStatue3
= go->GetGUID();
break
;
96
case
GO_ATALAI_STATUE4
:
GOAtalaiStatue4
= go->GetGUID();
break
;
97
case
GO_ATALAI_STATUE5
:
GOAtalaiStatue5
= go->GetGUID();
break
;
98
case
GO_ATALAI_STATUE6
:
GOAtalaiStatue6
= go->GetGUID();
break
;
99
case
GO_ATALAI_IDOL
:
GOAtalaiIdol
= go->GetGUID();
break
;
100
}
101
}
102
103
virtual
void
Update
(
uint32
/*diff*/
)
// correct order goes form 1-6
104
{
105
switch
(
State
)
106
{
107
case
GO_ATALAI_STATUE1
:
108
if
(!
s1
&& !
s2
&& !
s3
&& !
s4
&& !
s5
&& !
s6
)
109
{
110
if
(
GameObject
* pAtalaiStatue1 =
instance
->GetGameObject(
GOAtalaiStatue1
))
111
UseStatue
(pAtalaiStatue1);
112
s1
=
true
;
113
State
= 0;
114
};
115
break
;
116
case
GO_ATALAI_STATUE2
:
117
if
(
s1
&& !
s2
&& !
s3
&& !
s4
&& !
s5
&& !
s6
)
118
{
119
if
(
GameObject
* pAtalaiStatue2 =
instance
->GetGameObject(
GOAtalaiStatue2
))
120
UseStatue
(pAtalaiStatue2);
121
s2
=
true
;
122
State
= 0;
123
};
124
break
;
125
case
GO_ATALAI_STATUE3
:
126
if
(
s1
&&
s2
&& !
s3
&& !
s4
&& !
s5
&& !
s6
)
127
{
128
if
(
GameObject
* pAtalaiStatue3 =
instance
->GetGameObject(
GOAtalaiStatue3
))
129
UseStatue
(pAtalaiStatue3);
130
s3
=
true
;
131
State
= 0;
132
};
133
break
;
134
case
GO_ATALAI_STATUE4
:
135
if
(
s1
&&
s2
&&
s3
&& !
s4
&& !
s5
&& !
s6
)
136
{
137
if
(
GameObject
* pAtalaiStatue4 =
instance
->GetGameObject(
GOAtalaiStatue4
))
138
UseStatue
(pAtalaiStatue4);
139
s4
=
true
;
140
State
= 0;
141
}
142
break
;
143
case
GO_ATALAI_STATUE5
:
144
if
(
s1
&&
s2
&&
s3
&&
s4
&& !
s5
&& !
s6
)
145
{
146
if
(
GameObject
* pAtalaiStatue5 =
instance
->GetGameObject(
GOAtalaiStatue5
))
147
UseStatue
(pAtalaiStatue5);
148
s5
=
true
;
149
State
= 0;
150
}
151
break
;
152
case
GO_ATALAI_STATUE6
:
153
if
(
s1
&&
s2
&&
s3
&&
s4
&&
s5
&& !
s6
)
154
{
155
if
(
GameObject
* pAtalaiStatue6 =
instance
->GetGameObject(
GOAtalaiStatue6
))
156
UseStatue
(pAtalaiStatue6);
157
s6
=
true
;
158
State
= 0;
159
}
160
break
;
161
}
162
};
163
164
void
UseStatue
(
GameObject
* go)
165
{
166
go->
SummonGameObject
(
GO_ATALAI_LIGHT1
, go->
GetPositionX
(), go->
GetPositionY
(), go->
GetPositionZ
(), 0, 0, 0, 0, 0, 0);
167
go->
SetUInt32Value
(
GAMEOBJECT_FIELD_FLAGS
, 4);
168
}
169
170
/*
171
void UseLastStatue(GameObject* go)
172
{
173
AtalaiStatue1->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue1->GetPositionX(), AtalaiStatue1->GetPositionY(), AtalaiStatue1->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
174
AtalaiStatue2->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue2->GetPositionX(), AtalaiStatue2->GetPositionY(), AtalaiStatue2->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
175
AtalaiStatue3->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue3->GetPositionX(), AtalaiStatue3->GetPositionY(), AtalaiStatue3->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
176
AtalaiStatue4->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue4->GetPositionX(), AtalaiStatue4->GetPositionY(), AtalaiStatue4->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
177
AtalaiStatue5->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue5->GetPositionX(), AtalaiStatue5->GetPositionY(), AtalaiStatue5->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
178
AtalaiStatue6->SummonGameObject(GO_ATALAI_LIGHT2, AtalaiStatue6->GetPositionX(), AtalaiStatue6->GetPositionY(), AtalaiStatue6->GetPositionZ(), 0, 0, 0, 0, 0, 100000);
179
go->SummonGameObject(148838, -488.997, 96.61, -189.019, -1.52, 0, 0, 0, 0, 100000);
180
}
181
*/
182
183
void
SetData
(
uint32
type,
uint32
data)
OVERRIDE
184
{
185
if
(type ==
EVENT_STATE
)
186
State
= data;
187
}
188
189
uint32
GetData
(
uint32
type)
const
OVERRIDE
190
{
191
if
(type ==
EVENT_STATE
)
192
return
State
;
193
return
0;
194
}
195
};
196
197
};
198
199
void
AddSC_instance_sunken_temple
()
200
{
201
new
instance_sunken_temple
();
202
}
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
ScriptMgr.h
GAMEOBJECT_FIELD_FLAGS
@ GAMEOBJECT_FIELD_FLAGS
Definition
UpdateFields.h:250
CreatureIds
CreatureIds
Definition
baradin_hold.h:25
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
Map
Definition
Map.h:238
Object::SetUInt32Value
void SetUInt32Value(uint16 index, uint32 value)
Definition
Object.cpp:1038
WorldObject::SummonGameObject
GameObject * SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime)
Definition
Object.cpp:2729
instance_sunken_temple
Definition
instance_sunken_temple.cpp:37
instance_sunken_temple::instance_sunken_temple
instance_sunken_temple()
Definition
instance_sunken_temple.cpp:39
instance_sunken_temple::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_sunken_temple.cpp:41
Gameobject
Gameobject
Definition
instance_sunken_temple.cpp:18
GO_ATALAI_IDOL
@ GO_ATALAI_IDOL
Definition
instance_sunken_temple.cpp:25
GO_ATALAI_STATUE6
@ GO_ATALAI_STATUE6
Definition
instance_sunken_temple.cpp:24
GO_ATALAI_LIGHT1
@ GO_ATALAI_LIGHT1
Definition
instance_sunken_temple.cpp:26
GO_ATALAI_STATUE5
@ GO_ATALAI_STATUE5
Definition
instance_sunken_temple.cpp:23
GO_ATALAI_STATUE4
@ GO_ATALAI_STATUE4
Definition
instance_sunken_temple.cpp:22
GO_ATALAI_STATUE2
@ GO_ATALAI_STATUE2
Definition
instance_sunken_temple.cpp:20
GO_ATALAI_STATUE3
@ GO_ATALAI_STATUE3
Definition
instance_sunken_temple.cpp:21
GO_ATALAI_LIGHT2
@ GO_ATALAI_LIGHT2
Definition
instance_sunken_temple.cpp:27
GO_ATALAI_STATUE1
@ GO_ATALAI_STATUE1
Definition
instance_sunken_temple.cpp:19
NPC_MALFURION_STORMRAGE
@ NPC_MALFURION_STORMRAGE
Definition
instance_sunken_temple.cpp:33
AddSC_instance_sunken_temple
void AddSC_instance_sunken_temple()
Definition
instance_sunken_temple.cpp:199
Position::GetPositionZ
float GetPositionZ() const
Definition
Object.h:330
Position::GetPositionX
float GetPositionX() const
Definition
Object.h:328
Position::GetPositionY
float GetPositionY() const
Definition
Object.h:329
instance_sunken_temple::instance_sunken_temple_InstanceMapScript
Definition
instance_sunken_temple.cpp:47
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::Initialize
void Initialize() OVERRIDE
Definition
instance_sunken_temple.cpp:69
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::State
uint32 State
Definition
instance_sunken_temple.cpp:60
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::s2
bool s2
Definition
instance_sunken_temple.cpp:63
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiStatue5
uint64 GOAtalaiStatue5
Definition
instance_sunken_temple.cpp:56
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiStatue2
uint64 GOAtalaiStatue2
Definition
instance_sunken_temple.cpp:53
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiStatue1
uint64 GOAtalaiStatue1
Definition
instance_sunken_temple.cpp:52
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::s5
bool s5
Definition
instance_sunken_temple.cpp:66
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::s3
bool s3
Definition
instance_sunken_temple.cpp:64
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiIdol
uint64 GOAtalaiIdol
Definition
instance_sunken_temple.cpp:58
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::OnGameObjectCreate
void OnGameObjectCreate(GameObject *go) OVERRIDE
Definition
instance_sunken_temple.cpp:89
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::instance_sunken_temple_InstanceMapScript
instance_sunken_temple_InstanceMapScript(Map *map)
Definition
instance_sunken_temple.cpp:48
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiStatue3
uint64 GOAtalaiStatue3
Definition
instance_sunken_temple.cpp:54
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::Update
virtual void Update(uint32)
Definition
instance_sunken_temple.cpp:103
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::SetData
void SetData(uint32 type, uint32 data) OVERRIDE
Definition
instance_sunken_temple.cpp:183
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::s4
bool s4
Definition
instance_sunken_temple.cpp:65
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::s6
bool s6
Definition
instance_sunken_temple.cpp:67
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::s1
bool s1
Definition
instance_sunken_temple.cpp:62
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::UseStatue
void UseStatue(GameObject *go)
Definition
instance_sunken_temple.cpp:164
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiStatue6
uint64 GOAtalaiStatue6
Definition
instance_sunken_temple.cpp:57
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GOAtalaiStatue4
uint64 GOAtalaiStatue4
Definition
instance_sunken_temple.cpp:55
instance_sunken_temple::instance_sunken_temple_InstanceMapScript::GetData
uint32 GetData(uint32 type) const OVERRIDE
Definition
instance_sunken_temple.cpp:189
sunken_temple.h
EVENT_STATE
#define EVENT_STATE
Definition
sunken_temple.h:21
src
server
scripts
EasternKingdoms
SunkenTemple
instance_sunken_temple.cpp
Generated on
for Project SkyFire Core by
1.17.0