Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_temple_of_ahnqiraj.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_Temple_of_Ahnqiraj
8
SD%Complete: 80
9
SDComment:
10
SDCategory: Temple of Ahn'Qiraj
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
InstanceScript.h
"
15
#include "
temple_of_ahnqiraj.h
"
16
17
class
instance_temple_of_ahnqiraj
:
public
InstanceMapScript
18
{
19
public
:
20
instance_temple_of_ahnqiraj
() :
InstanceMapScript
(
"instance_temple_of_ahnqiraj"
, 531) { }
21
22
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
23
{
24
return
new
instance_temple_of_ahnqiraj_InstanceMapScript
(map);
25
}
26
27
struct
instance_temple_of_ahnqiraj_InstanceMapScript
:
public
InstanceScript
28
{
29
instance_temple_of_ahnqiraj_InstanceMapScript
(
Map
* map) :
InstanceScript
(map) { }
30
31
//If Vem is dead...
32
bool
IsBossDied
[3];
33
34
//Storing Skeram, Vem and Kri.
35
uint64
SkeramGUID
;
36
uint64
VemGUID
;
37
uint64
KriGUID
;
38
uint64
VeklorGUID
;
39
uint64
VeknilashGUID
;
40
uint64
ViscidusGUID
;
41
42
uint32
BugTrioDeathCount
;
43
44
uint32
CthunPhase
;
45
46
void
Initialize
()
OVERRIDE
47
{
48
IsBossDied
[0] =
false
;
49
IsBossDied
[1] =
false
;
50
IsBossDied
[2] =
false
;
51
52
SkeramGUID
= 0;
53
VemGUID
= 0;
54
KriGUID
= 0;
55
VeklorGUID
= 0;
56
VeknilashGUID
= 0;
57
ViscidusGUID
= 0;
58
59
BugTrioDeathCount
= 0;
60
61
CthunPhase
= 0;
62
}
63
64
void
OnCreatureCreate
(
Creature
* creature)
OVERRIDE
65
{
66
switch
(creature->GetEntry())
67
{
68
case
NPC_SKERAM
:
69
SkeramGUID
= creature->GetGUID();
70
break
;
71
case
NPC_VEM
:
72
VemGUID
= creature->GetGUID();
73
break
;
74
case
NPC_KRI
:
75
KriGUID
= creature->GetGUID();
76
break
;
77
case
NPC_VEKLOR
:
78
VeklorGUID
= creature->GetGUID();
79
break
;
80
case
NPC_VEKNILASH
:
81
VeknilashGUID
= creature->GetGUID();
82
break
;
83
case
NPC_VISCIDUS
:
84
ViscidusGUID
= creature->GetGUID();
85
break
;
86
}
87
}
88
89
bool
IsEncounterInProgress
() const
OVERRIDE
90
{
91
//not active in AQ40
92
return
false
;
93
}
94
95
uint32
GetData
(
uint32
type)
const
OVERRIDE
96
{
97
switch
(type)
98
{
99
case
DATA_VEMISDEAD
:
100
if
(
IsBossDied
[0])
101
return
1;
102
break
;
103
104
case
DATA_VEKLORISDEAD
:
105
if
(
IsBossDied
[1])
106
return
1;
107
break
;
108
109
case
DATA_VEKNILASHISDEAD
:
110
if
(
IsBossDied
[2])
111
return
1;
112
break
;
113
114
case
DATA_BUG_TRIO_DEATH
:
115
return
BugTrioDeathCount
;
116
117
case
DATA_CTHUN_PHASE
:
118
return
CthunPhase
;
119
}
120
return
0;
121
}
122
123
uint64
GetData64
(
uint32
identifier)
const
OVERRIDE
124
{
125
switch
(identifier)
126
{
127
case
DATA_SKERAM
:
128
return
SkeramGUID
;
129
case
DATA_VEM
:
130
return
VemGUID
;
131
case
DATA_KRI
:
132
return
KriGUID
;
133
case
DATA_VEKLOR
:
134
return
VeklorGUID
;
135
case
DATA_VEKNILASH
:
136
return
VeknilashGUID
;
137
case
DATA_VISCIDUS
:
138
return
ViscidusGUID
;
139
}
140
return
0;
141
}
// end GetData64
142
143
void
SetData
(
uint32
type,
uint32
data)
OVERRIDE
144
{
145
switch
(type)
146
{
147
case
DATA_VEM_DEATH
:
148
IsBossDied
[0] =
true
;
149
break
;
150
151
case
DATA_BUG_TRIO_DEATH
:
152
++
BugTrioDeathCount
;
153
break
;
154
155
case
DATA_VEKLOR_DEATH
:
156
IsBossDied
[1] =
true
;
157
break
;
158
159
case
DATA_VEKNILASH_DEATH
:
160
IsBossDied
[2] =
true
;
161
break
;
162
163
case
DATA_CTHUN_PHASE
:
164
CthunPhase
= data;
165
break
;
166
}
167
}
168
};
169
};
170
171
void
AddSC_instance_temple_of_ahnqiraj
()
172
{
173
new
instance_temple_of_ahnqiraj
();
174
}
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
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
Map
Definition
Map.h:238
instance_temple_of_ahnqiraj
Definition
instance_temple_of_ahnqiraj.cpp:18
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj
instance_temple_of_ahnqiraj()
Definition
instance_temple_of_ahnqiraj.cpp:20
instance_temple_of_ahnqiraj::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:22
AddSC_instance_temple_of_ahnqiraj
void AddSC_instance_temple_of_ahnqiraj()
Definition
instance_temple_of_ahnqiraj.cpp:171
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript
Definition
instance_temple_of_ahnqiraj.cpp:28
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::SetData
void SetData(uint32 type, uint32 data) OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:143
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::IsBossDied
bool IsBossDied[3]
Definition
instance_temple_of_ahnqiraj.cpp:32
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::VeklorGUID
uint64 VeklorGUID
Definition
instance_temple_of_ahnqiraj.cpp:38
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::Initialize
void Initialize() OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:46
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::IsEncounterInProgress
bool IsEncounterInProgress() const OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:89
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::VemGUID
uint64 VemGUID
Definition
instance_temple_of_ahnqiraj.cpp:36
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::GetData
uint32 GetData(uint32 type) const OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:95
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::instance_temple_of_ahnqiraj_InstanceMapScript
instance_temple_of_ahnqiraj_InstanceMapScript(Map *map)
Definition
instance_temple_of_ahnqiraj.cpp:29
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::GetData64
uint64 GetData64(uint32 identifier) const OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:123
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::SkeramGUID
uint64 SkeramGUID
Definition
instance_temple_of_ahnqiraj.cpp:35
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::CthunPhase
uint32 CthunPhase
Definition
instance_temple_of_ahnqiraj.cpp:44
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::BugTrioDeathCount
uint32 BugTrioDeathCount
Definition
instance_temple_of_ahnqiraj.cpp:42
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::ViscidusGUID
uint64 ViscidusGUID
Definition
instance_temple_of_ahnqiraj.cpp:40
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::KriGUID
uint64 KriGUID
Definition
instance_temple_of_ahnqiraj.cpp:37
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::VeknilashGUID
uint64 VeknilashGUID
Definition
instance_temple_of_ahnqiraj.cpp:39
instance_temple_of_ahnqiraj::instance_temple_of_ahnqiraj_InstanceMapScript::OnCreatureCreate
void OnCreatureCreate(Creature *creature) OVERRIDE
Definition
instance_temple_of_ahnqiraj.cpp:64
temple_of_ahnqiraj.h
NPC_SKERAM
@ NPC_SKERAM
Definition
temple_of_ahnqiraj.h:43
NPC_VEKLOR
@ NPC_VEKLOR
Definition
temple_of_ahnqiraj.h:46
NPC_KRI
@ NPC_KRI
Definition
temple_of_ahnqiraj.h:45
NPC_VEM
@ NPC_VEM
Definition
temple_of_ahnqiraj.h:44
NPC_VISCIDUS
@ NPC_VISCIDUS
Definition
temple_of_ahnqiraj.h:40
NPC_VEKNILASH
@ NPC_VEKNILASH
Definition
temple_of_ahnqiraj.h:47
DATA_VEM_DEATH
@ DATA_VEM_DEATH
Definition
temple_of_ahnqiraj.h:15
DATA_BUG_TRIO_DEATH
@ DATA_BUG_TRIO_DEATH
Definition
temple_of_ahnqiraj.h:22
DATA_KRI
@ DATA_KRI
Definition
temple_of_ahnqiraj.h:12
DATA_VEKNILASH
@ DATA_VEKNILASH
Definition
temple_of_ahnqiraj.h:19
DATA_VISCIDUS
@ DATA_VISCIDUS
Definition
temple_of_ahnqiraj.h:24
DATA_SKERAM
@ DATA_SKERAM
Definition
temple_of_ahnqiraj.h:11
DATA_VEKLORISDEAD
@ DATA_VEKLORISDEAD
Definition
temple_of_ahnqiraj.h:17
DATA_VEKNILASH_DEATH
@ DATA_VEKNILASH_DEATH
Definition
temple_of_ahnqiraj.h:21
DATA_VEM
@ DATA_VEM
Definition
temple_of_ahnqiraj.h:13
DATA_VEKLOR
@ DATA_VEKLOR
Definition
temple_of_ahnqiraj.h:16
DATA_CTHUN_PHASE
@ DATA_CTHUN_PHASE
Definition
temple_of_ahnqiraj.h:23
DATA_VEKLOR_DEATH
@ DATA_VEKLOR_DEATH
Definition
temple_of_ahnqiraj.h:18
DATA_VEKNILASHISDEAD
@ DATA_VEKNILASHISDEAD
Definition
temple_of_ahnqiraj.h:20
DATA_VEMISDEAD
@ DATA_VEMISDEAD
Definition
temple_of_ahnqiraj.h:14
src
server
scripts
Kalimdor
TempleOfAhnQiraj
instance_temple_of_ahnqiraj.cpp
Generated on
for Project SkyFire Core by
1.17.0