Project SkyFire Core
SkyFire 5.4.8 server core API documentation
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
7SDName: Instance_Temple_of_Ahnqiraj
8SD%Complete: 80
9SDComment:
10SDCategory: Temple of Ahn'Qiraj
11EndScriptData */
12
13#include "ScriptMgr.h"
14#include "InstanceScript.h"
15#include "temple_of_ahnqiraj.h"
16
18{
19 public:
20 instance_temple_of_ahnqiraj() : InstanceMapScript("instance_temple_of_ahnqiraj", 531) { }
21
26
28 {
30
31 //If Vem is dead...
32 bool IsBossDied[3];
33
34 //Storing Skeram, Vem and Kri.
41
43
45
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
60
61 CthunPhase = 0;
62 }
63
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
90 {
91 //not active in AQ40
92 return false;
93 }
94
96 {
97 switch (type)
98 {
99 case DATA_VEMISDEAD:
100 if (IsBossDied[0])
101 return 1;
102 break;
103
105 if (IsBossDied[1])
106 return 1;
107 break;
108
110 if (IsBossDied[2])
111 return 1;
112 break;
113
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
153 break;
154
156 IsBossDied[1] = true;
157 break;
158
160 IsBossDied[2] = true;
161 break;
162
163 case DATA_CTHUN_PHASE:
164 CthunPhase = data;
165 break;
166 }
167 }
168 };
169};
170
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
InstanceMapScript(const char *name, uint32 mapId)
InstanceScript(Map *map)
Definition Map.h:238
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
void AddSC_instance_temple_of_ahnqiraj()
@ NPC_SKERAM
@ NPC_VEKLOR
@ NPC_KRI
@ NPC_VEM
@ NPC_VISCIDUS
@ NPC_VEKNILASH
@ DATA_VEM_DEATH
@ DATA_BUG_TRIO_DEATH
@ DATA_KRI
@ DATA_VEKNILASH
@ DATA_VISCIDUS
@ DATA_SKERAM
@ DATA_VEKLORISDEAD
@ DATA_VEKNILASH_DEATH
@ DATA_VEM
@ DATA_VEKLOR
@ DATA_CTHUN_PHASE
@ DATA_VEKLOR_DEATH
@ DATA_VEKNILASHISDEAD
@ DATA_VEMISDEAD