TrinityCore
Loading...
Searching...
No Matches
instance_zulgurub.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "zulgurub.h"
19#include "Creature.h"
20#include "InstanceScript.h"
21#include "ScriptMgr.h"
22
31
32static constexpr DungeonEncounterData encounters[] =
33{
34 { DATA_VENOXIS, {{ 1178 }} },
35 { DATA_MANDOKIR, {{ 1179 }} },
36 { DATA_KILNARA, {{ 1180 }} },
37 { DATA_ZANZIL, {{ 1181 }} },
38 { DATA_JINDO, {{ 1182 }} },
39 { DATA_HAZZARAH, {{ 1188 }} },
40 { DATA_RENATAKI, {{ 1188 }} },
41 { DATA_WUSHOOLAY, {{ 1188 }} },
42 { DATA_GRILEK, {{ 1188 }} }
43};
44
46{
47 public:
49
51 {
59
60 void OnCreatureCreate(Creature* creature) override
61 {
62 switch (creature->GetEntry())
63 {
64 case NPC_VENOXIS:
65 venoxisGUID = creature->GetGUID();
66 break;
67 case NPC_MANDOKIR:
68 mandokirGUID = creature->GetGUID();
69 break;
70 case NPC_KILNARA:
71 kilnaraGUID = creature->GetGUID();
72 break;
73 case NPC_ZANZIL:
74 zanzilGUID = creature->GetGUID();
75 break;
76 case NPC_JINDO:
77 jindoGUID = creature->GetGUID();
78 break;
79 case NPC_HAZZARAH:
80 hazzarahGUID = creature->GetGUID();
81 break;
82 case NPC_RENATAKI:
83 renatakiGUID = creature->GetGUID();
84 break;
85 case NPC_WUSHOOLAY:
86 wushoolayGUID = creature->GetGUID();
87 break;
88 case NPC_GRILEK:
89 grilekGUID = creature->GetGUID();
90 break;
92 jindoTiggerGUID = creature->GetGUID();
93 break;
94 default:
95 break;
96 }
97 }
98
99 bool SetBossState(uint32 type, EncounterState state) override
100 {
101 if (!InstanceScript::SetBossState(type, state))
102 return false;
103
104 switch (type)
105 {
106 case DATA_VENOXIS:
107 case DATA_MANDOKIR:
108 case DATA_KILNARA:
109 case DATA_ZANZIL:
110 case DATA_JINDO:
111 case DATA_HAZZARAH:
112 case DATA_RENATAKI:
113 case DATA_WUSHOOLAY:
114 case DATA_GRILEK:
115 break;
116 default:
117 break;
118 }
119
120 return true;
121 }
122
123 /*
124 void SetData(uint32 type, uint32 data) override
125 {
126 switch (type)
127 {
128 }
129 }
130
131 uint32 GetData(uint32 type) const override
132 {
133 switch (type)
134 {
135 }
136
137 return 0;
138 }
139 */
140
141 ObjectGuid GetGuidData(uint32 type) const override
142 {
143 switch (type)
144 {
145 case DATA_VENOXIS:
146 return venoxisGUID;
147 case DATA_MANDOKIR:
148 return mandokirGUID;
149 case DATA_KILNARA:
150 return kilnaraGUID;
151 case DATA_ZANZIL:
152 return zanzilGUID;
153 case DATA_JINDO:
154 return jindoGUID;
155 case DATA_HAZZARAH:
156 return hazzarahGUID;
157 case DATA_RENATAKI:
158 return renatakiGUID;
159 case DATA_WUSHOOLAY:
160 return wushoolayGUID;
161 case DATA_GRILEK:
162 return grilekGUID;
164 return jindoTiggerGUID;
165 default:
166 break;
167 }
168
169 return ObjectGuid::Empty;
170 }
171
172 protected:
183 };
184
186 {
188 }
189};
190
192{
193 new instance_zulgurub();
194}
uint32_t uint32
Definition Define.h:154
EncounterState
#define DataHeader
uint32 const EncounterCount
ObjectGuid const & GetGUID() const
Definition BaseEntity.h:163
void SetBossNumber(uint32 number)
virtual bool SetBossState(uint32 id, EncounterState state)
void SetHeaders(std::string_view dataHeaders)
void LoadDungeonEncounterData(std::span< DungeonEncounterData const > encounters)
void LoadDoorData(std::span< DoorData const > data)
static ObjectGuid const Empty
Definition ObjectGuid.h:314
uint32 GetEntry() const
Definition Object.h:89
InstanceScript * GetInstanceScript(InstanceMap *map) const override
void AddSC_instance_zulgurub()
static constexpr DoorData doorData[]
static constexpr DungeonEncounterData encounters[]
bool SetBossState(uint32 type, EncounterState state) override
@ GO_ARENA_DOOR_1
Definition zulgurub.h:76
@ GO_FORCEFIELD
Definition zulgurub.h:83
@ GO_ZANZIL_DOOR
Definition zulgurub.h:86
@ GO_VENOXIS_COIL
Definition zulgurub.h:73
@ NPC_KILNARA
Definition zulgurub.h:50
@ NPC_JINDO_TRIGGER
Definition zulgurub.h:65
@ NPC_VENOXIS
Definition zulgurub.h:48
@ NPC_HAZZARAH
Definition zulgurub.h:55
@ NPC_ZANZIL
Definition zulgurub.h:51
@ NPC_RENATAKI
Definition zulgurub.h:56
@ NPC_MANDOKIR
Definition zulgurub.h:49
@ NPC_WUSHOOLAY
Definition zulgurub.h:57
@ NPC_JINDO
Definition zulgurub.h:52
@ NPC_GRILEK
Definition zulgurub.h:58
@ DATA_GRILEK
Definition zulgurub.h:40
@ DATA_HAZZARAH
Definition zulgurub.h:37
@ DATA_JINDO
Definition zulgurub.h:34
@ DATA_MANDOKIR
Definition zulgurub.h:31
@ DATA_WUSHOOLAY
Definition zulgurub.h:39
@ DATA_JINDOR_TRIGGER
Definition zulgurub.h:43
@ DATA_KILNARA
Definition zulgurub.h:32
@ DATA_ZANZIL
Definition zulgurub.h:33
@ DATA_RENATAKI
Definition zulgurub.h:38
@ DATA_VENOXIS
Definition zulgurub.h:30
#define ZGScriptName
Definition zulgurub.h:23