Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_blood_furnace.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_Blood_Furnace
8
SD%Complete: 85
9
SDComment:
10
SDCategory: Hellfire Citadel, Blood Furnace
11
EndScriptData */
12
13
#include "
ScriptMgr.h
"
14
#include "
InstanceScript.h
"
15
#include "
blood_furnace.h
"
16
#include "
CreatureAI.h
"
17
18
#define ENTRY_SEWER1 181823
19
#define ENTRY_SEWER2 181766
20
#define MAX_ENCOUNTER 3
21
22
class
instance_blood_furnace
:
public
InstanceMapScript
23
{
24
public
:
25
instance_blood_furnace
()
26
:
InstanceMapScript
(
"instance_blood_furnace"
, 542) { }
27
28
struct
instance_blood_furnace_InstanceMapScript
:
public
InstanceScript
29
{
30
instance_blood_furnace_InstanceMapScript
(
Map
* map) :
InstanceScript
(map) { }
31
32
uint64
The_MakerGUID
;
33
uint64
BroggokGUID
;
34
uint64
Kelidan_The_BreakerGUID
;
35
36
uint64
Door1GUID
;
37
uint64
Door2GUID
;
38
uint64
Door3GUID
;
39
uint64
Door4GUID
;
40
uint64
Door5GUID
;
41
uint64
Door6GUID
;
42
43
uint64
PrisonCell1GUID
;
44
uint64
PrisonCell2GUID
;
45
uint64
PrisonCell3GUID
;
46
uint64
PrisonCell4GUID
;
47
uint64
PrisonCell5GUID
;
48
uint64
PrisonCell6GUID
;
49
uint64
PrisonCell7GUID
;
50
uint64
PrisonCell8GUID
;
51
52
std::set<uint64>
PrisonersCell5
;
53
std::set<uint64>
PrisonersCell6
;
54
std::set<uint64>
PrisonersCell7
;
55
std::set<uint64>
PrisonersCell8
;
56
57
uint8
PrisonerCounter5
;
58
uint8
PrisonerCounter6
;
59
uint8
PrisonerCounter7
;
60
uint8
PrisonerCounter8
;
61
62
uint64
BroggokLeverGUID
;
63
64
uint32
m_auiEncounter
[
MAX_ENCOUNTER
];
65
std::string
str_data
;
66
67
void
Initialize
()
OVERRIDE
68
{
69
memset(&
m_auiEncounter
, 0,
sizeof
(
m_auiEncounter
));
70
71
The_MakerGUID
= 0;
72
BroggokGUID
= 0;
73
Kelidan_The_BreakerGUID
= 0;
74
75
Door1GUID
= 0;
76
Door2GUID
= 0;
77
Door3GUID
= 0;
78
Door4GUID
= 0;
79
Door5GUID
= 0;
80
Door6GUID
= 0;
81
82
PrisonCell1GUID
= 0;
83
PrisonCell2GUID
= 0;
84
PrisonCell3GUID
= 0;
85
PrisonCell4GUID
= 0;
86
PrisonCell5GUID
= 0;
87
PrisonCell6GUID
= 0;
88
PrisonCell7GUID
= 0;
89
PrisonCell8GUID
= 0;
90
91
PrisonersCell5
.clear();
92
PrisonersCell6
.clear();
93
PrisonersCell7
.clear();
94
PrisonersCell8
.clear();
95
96
PrisonerCounter5
= 0;
97
PrisonerCounter6
= 0;
98
PrisonerCounter7
= 0;
99
PrisonerCounter8
= 0;
100
101
BroggokLeverGUID
= 0;
102
}
103
104
void
OnCreatureCreate
(
Creature
* creature)
OVERRIDE
105
{
106
switch
(creature->GetEntry())
107
{
108
case
17381:
109
The_MakerGUID
= creature->GetGUID();
110
break
;
111
case
17380:
112
BroggokGUID
= creature->GetGUID();
113
break
;
114
case
17377:
115
Kelidan_The_BreakerGUID
= creature->GetGUID();
116
break
;
117
case
17398:
118
StorePrisoner
(creature);
119
break
;
120
}
121
}
122
123
void
OnUnitDeath
(
Unit
* unit)
OVERRIDE
124
{
125
if
(unit && unit->GetTypeId() ==
TypeID::TYPEID_UNIT
&& unit->GetEntry() == 17398)
126
PrisonerDied
(unit->GetGUID());
127
}
128
129
void
OnGameObjectCreate
(
GameObject
* go)
OVERRIDE
130
{
131
if
(go->GetEntry() == 181766)
//Final exit door
132
Door1GUID
= go->GetGUID();
133
if
(go->GetEntry() == 181811)
//The Maker Front door
134
Door2GUID
= go->GetGUID();
135
if
(go->GetEntry() == 181812)
//The Maker Rear door
136
Door3GUID
= go->GetGUID();
137
if
(go->GetEntry() == 181822)
//Broggok Front door
138
Door4GUID
= go->GetGUID();
139
if
(go->GetEntry() == 181819)
//Broggok Rear door
140
Door5GUID
= go->GetGUID();
141
if
(go->GetEntry() == 181823)
//Kelidan exit door
142
Door6GUID
= go->GetGUID();
143
144
if
(go->GetEntry() == 181813)
//The Maker prison cell front right
145
PrisonCell1GUID
= go->GetGUID();
146
if
(go->GetEntry() == 181814)
//The Maker prison cell back right
147
PrisonCell2GUID
= go->GetGUID();
148
if
(go->GetEntry() == 181816)
//The Maker prison cell front left
149
PrisonCell3GUID
= go->GetGUID();
150
if
(go->GetEntry() == 181815)
//The Maker prison cell back left
151
PrisonCell4GUID
= go->GetGUID();
152
if
(go->GetEntry() == 181821)
//Broggok prison cell front right
153
PrisonCell5GUID
= go->GetGUID();
154
if
(go->GetEntry() == 181818)
//Broggok prison cell back right
155
PrisonCell6GUID
= go->GetGUID();
156
if
(go->GetEntry() == 181820)
//Broggok prison cell front left
157
PrisonCell7GUID
= go->GetGUID();
158
if
(go->GetEntry() == 181817)
//Broggok prison cell back left
159
PrisonCell8GUID
= go->GetGUID();
160
161
if
(go->GetEntry() == 181982)
162
BroggokLeverGUID
= go->GetGUID();
//Broggok lever
163
}
164
165
uint64
GetData64
(
uint32
data)
const
OVERRIDE
166
{
167
switch
(data)
168
{
169
case
DATA_THE_MAKER
:
return
The_MakerGUID
;
170
case
DATA_BROGGOK
:
return
BroggokGUID
;
171
case
DATA_KELIDAN_THE_MAKER
:
return
Kelidan_The_BreakerGUID
;
172
case
DATA_DOOR1
:
return
Door1GUID
;
173
case
DATA_DOOR2
:
return
Door2GUID
;
174
case
DATA_DOOR3
:
return
Door3GUID
;
175
case
DATA_DOOR4
:
return
Door4GUID
;
176
case
DATA_DOOR5
:
return
Door5GUID
;
177
case
DATA_DOOR6
:
return
Door6GUID
;
178
case
DATA_PRISON_CELL1
:
return
PrisonCell1GUID
;
179
case
DATA_PRISON_CELL2
:
return
PrisonCell2GUID
;
180
case
DATA_PRISON_CELL3
:
return
PrisonCell3GUID
;
181
case
DATA_PRISON_CELL4
:
return
PrisonCell4GUID
;
182
case
DATA_PRISON_CELL5
:
return
PrisonCell5GUID
;
183
case
DATA_PRISON_CELL6
:
return
PrisonCell6GUID
;
184
case
DATA_PRISON_CELL7
:
return
PrisonCell7GUID
;
185
case
DATA_PRISON_CELL8
:
return
PrisonCell8GUID
;
186
case
DATA_BROGGOK_LEVER
:
return
BroggokLeverGUID
;
187
}
188
return
0;
189
}
190
191
void
SetData
(
uint32
type,
uint32
data)
OVERRIDE
192
{
193
switch
(type)
194
{
195
case
TYPE_THE_MAKER_EVENT
:
196
m_auiEncounter
[0] = data;
197
break
;
198
case
TYPE_BROGGOK_EVENT
:
199
m_auiEncounter
[1] = data;
200
UpdateBroggokEvent
(data);
201
break
;
202
case
TYPE_KELIDAN_THE_BREAKER_EVENT
:
203
m_auiEncounter
[2] = data;
204
break
;
205
}
206
207
if
(data ==
DONE
)
208
{
209
OUT_SAVE_INST_DATA
;
210
211
std::ostringstream saveStream;
212
saveStream <<
m_auiEncounter
[0] <<
' '
<<
m_auiEncounter
[1] <<
' '
<<
m_auiEncounter
[2];
213
214
str_data
= saveStream.str();
215
216
SaveToDB
();
217
OUT_SAVE_INST_DATA_COMPLETE
;
218
}
219
}
220
221
uint32
GetData
(
uint32
type)
const
OVERRIDE
222
{
223
switch
(type)
224
{
225
case
TYPE_THE_MAKER_EVENT
:
return
m_auiEncounter
[0];
226
case
TYPE_BROGGOK_EVENT
:
return
m_auiEncounter
[1];
227
case
TYPE_KELIDAN_THE_BREAKER_EVENT
:
return
m_auiEncounter
[2];
228
}
229
return
0;
230
}
231
232
const
char
*
Save
()
233
{
234
return
str_data
.c_str();
235
}
236
237
void
Load
(
const
char
* in)
OVERRIDE
238
{
239
if
(!in)
240
{
241
OUT_LOAD_INST_DATA_FAIL
;
242
return
;
243
}
244
245
OUT_LOAD_INST_DATA
(in);
246
247
std::istringstream loadStream(in);
248
loadStream >>
m_auiEncounter
[0] >>
m_auiEncounter
[1] >>
m_auiEncounter
[2];
249
250
for
(
uint8
i = 0; i <
MAX_ENCOUNTER
; ++i)
251
if
(
m_auiEncounter
[i] ==
IN_PROGRESS
||
m_auiEncounter
[i] ==
FAIL
)
252
m_auiEncounter
[i] =
NOT_STARTED
;
253
254
OUT_LOAD_INST_DATA_COMPLETE
;
255
}
256
257
void
UpdateBroggokEvent
(
uint32
data)
258
{
259
switch
(data)
260
{
261
case
IN_PROGRESS
:
262
ActivateCell
(
DATA_PRISON_CELL5
);
263
HandleGameObject
(
Door4GUID
,
false
);
264
break
;
265
case
NOT_STARTED
:
266
ResetPrisons
();
267
HandleGameObject
(
Door5GUID
,
false
);
268
HandleGameObject
(
Door4GUID
,
true
);
269
if
(
GameObject
* lever =
instance
->GetGameObject(
BroggokLeverGUID
))
270
lever->Respawn();
271
break
;
272
}
273
}
274
275
void
ResetPrisons
()
276
{
277
PrisonerCounter5
=
PrisonersCell5
.size();
278
ResetPrisoners
(
PrisonersCell5
);
279
HandleGameObject
(
PrisonCell5GUID
,
false
);
280
281
PrisonerCounter6
=
PrisonersCell6
.size();
282
ResetPrisoners
(
PrisonersCell6
);
283
HandleGameObject
(
PrisonCell6GUID
,
false
);
284
285
PrisonerCounter7
=
PrisonersCell7
.size();
286
ResetPrisoners
(
PrisonersCell7
);
287
HandleGameObject
(
PrisonCell7GUID
,
false
);
288
289
PrisonerCounter8
=
PrisonersCell8
.size();
290
ResetPrisoners
(
PrisonersCell8
);
291
HandleGameObject
(
PrisonCell8GUID
,
false
);
292
}
293
294
void
ResetPrisoners
(
const
std::set<uint64>& prisoners)
295
{
296
for
(std::set<uint64>::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
297
if
(
Creature
* prisoner =
instance
->GetCreature(*i))
298
ResetPrisoner
(prisoner);
299
}
300
301
void
ResetPrisoner
(
Creature
* prisoner)
302
{
303
if
(!prisoner->
IsAlive
())
304
prisoner->
Respawn
(
true
);
305
prisoner->
SetFlag
(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_IMMUNE_TO_PC
|
UNIT_FLAG_IMMUNE_TO_NPC
|
UNIT_FLAG_NON_ATTACKABLE
);
306
}
307
308
void
StorePrisoner
(
Creature
* creature)
309
{
310
float
posX = creature->
GetPositionX
();
311
float
posY = creature->
GetPositionY
();
312
313
if
(posX >= 405.0f && posX <= 423.0f)
314
{
315
if
(posY >= 106.0f && posY <= 123.0f)
316
{
317
PrisonersCell5
.insert(creature->
GetGUID
());
318
++
PrisonerCounter5
;
319
}
320
else
if
(posY >= 76.0f && posY <= 91.0f)
321
{
322
PrisonersCell6
.insert(creature->
GetGUID
());
323
++
PrisonerCounter6
;
324
}
325
else
return
;
326
}
327
else
if
(posX >= 490.0f && posX <= 506.0f)
328
{
329
if
(posY >= 106.0f && posY <= 123.0f)
330
{
331
PrisonersCell7
.insert(creature->
GetGUID
());
332
++
PrisonerCounter7
;
333
}
334
else
if
(posY >= 76.0f && posY <= 91.0f)
335
{
336
PrisonersCell8
.insert(creature->
GetGUID
());
337
++
PrisonerCounter8
;
338
}
339
else
340
return
;
341
}
342
else
343
return
;
344
345
ResetPrisoner
(creature);
346
}
347
348
void
PrisonerDied
(
uint64
guid)
349
{
350
if
(
PrisonersCell5
.find(guid) !=
PrisonersCell5
.end() && --
PrisonerCounter5
<= 0)
351
ActivateCell
(
DATA_PRISON_CELL6
);
352
else
if
(
PrisonersCell6
.find(guid) !=
PrisonersCell6
.end() && --
PrisonerCounter6
<= 0)
353
ActivateCell
(
DATA_PRISON_CELL7
);
354
else
if
(
PrisonersCell7
.find(guid) !=
PrisonersCell7
.end() && --
PrisonerCounter7
<= 0)
355
ActivateCell
(
DATA_PRISON_CELL8
);
356
else
if
(
PrisonersCell8
.find(guid) !=
PrisonersCell8
.end() && --
PrisonerCounter8
<= 0)
357
ActivateCell
(
DATA_DOOR5
);
358
}
359
360
void
ActivateCell
(
uint8
id
)
361
{
362
switch
(
id
)
363
{
364
case
DATA_PRISON_CELL5
:
365
HandleGameObject
(
PrisonCell5GUID
,
true
);
366
ActivatePrisoners
(
PrisonersCell5
);
367
break
;
368
case
DATA_PRISON_CELL6
:
369
HandleGameObject
(
PrisonCell6GUID
,
true
);
370
ActivatePrisoners
(
PrisonersCell6
);
371
break
;
372
case
DATA_PRISON_CELL7
:
373
HandleGameObject
(
PrisonCell7GUID
,
true
);
374
ActivatePrisoners
(
PrisonersCell7
);
375
break
;
376
case
DATA_PRISON_CELL8
:
377
HandleGameObject
(
PrisonCell8GUID
,
true
);
378
ActivatePrisoners
(
PrisonersCell8
);
379
break
;
380
case
DATA_DOOR5
:
381
HandleGameObject
(
Door5GUID
,
true
);
382
if
(
Creature
* broggok =
instance
->GetCreature(
BroggokGUID
))
383
broggok->AI()->DoAction(
ACTION_ACTIVATE_BROGGOK
);
384
break
;
385
}
386
}
387
388
void
ActivatePrisoners
(
const
std::set<uint64>& prisoners)
389
{
390
for
(std::set<uint64>::const_iterator i = prisoners.begin(); i != prisoners.end(); ++i)
391
if
(
Creature
* prisoner =
instance
->GetCreature(*i))
392
{
393
prisoner->RemoveFlag(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_IMMUNE_TO_PC
|
UNIT_FLAG_IMMUNE_TO_NPC
|
UNIT_FLAG_NON_ATTACKABLE
);
394
prisoner->SetInCombatWithZone();
395
}
396
}
397
};
398
399
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
400
{
401
return
new
instance_blood_furnace_InstanceMapScript
(map);
402
}
403
};
404
405
void
AddSC_instance_blood_furnace
()
406
{
407
new
instance_blood_furnace
();
408
}
409
CreatureAI.h
uint8
std::uint8_t uint8
Definition
Define.h:79
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
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
FAIL
@ FAIL
Definition
InstanceScript.h:48
DONE
@ DONE
Definition
InstanceScript.h:49
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
TypeID::TYPEID_UNIT
@ TYPEID_UNIT
Definition
Object.h:54
ScriptMgr.h
UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE
Definition
Unit.h:626
UNIT_FLAG_IMMUNE_TO_NPC
@ UNIT_FLAG_IMMUNE_TO_NPC
Definition
Unit.h:634
UNIT_FLAG_IMMUNE_TO_PC
@ UNIT_FLAG_IMMUNE_TO_PC
Definition
Unit.h:633
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
blood_furnace.h
ACTION_ACTIVATE_BROGGOK
@ ACTION_ACTIVATE_BROGGOK
Definition
blood_furnace.h:36
DATA_BROGGOK_LEVER
@ DATA_BROGGOK_LEVER
Definition
blood_furnace.h:31
DATA_DOOR6
@ DATA_DOOR6
Definition
blood_furnace.h:22
DATA_THE_MAKER
@ DATA_THE_MAKER
Definition
blood_furnace.h:11
DATA_PRISON_CELL2
@ DATA_PRISON_CELL2
Definition
blood_furnace.h:24
DATA_PRISON_CELL1
@ DATA_PRISON_CELL1
Definition
blood_furnace.h:23
DATA_PRISON_CELL3
@ DATA_PRISON_CELL3
Definition
blood_furnace.h:25
TYPE_THE_MAKER_EVENT
@ TYPE_THE_MAKER_EVENT
Definition
blood_furnace.h:14
DATA_DOOR1
@ DATA_DOOR1
Definition
blood_furnace.h:17
DATA_PRISON_CELL7
@ DATA_PRISON_CELL7
Definition
blood_furnace.h:29
TYPE_BROGGOK_EVENT
@ TYPE_BROGGOK_EVENT
Definition
blood_furnace.h:15
DATA_PRISON_CELL5
@ DATA_PRISON_CELL5
Definition
blood_furnace.h:27
TYPE_KELIDAN_THE_BREAKER_EVENT
@ TYPE_KELIDAN_THE_BREAKER_EVENT
Definition
blood_furnace.h:16
DATA_DOOR3
@ DATA_DOOR3
Definition
blood_furnace.h:19
DATA_DOOR5
@ DATA_DOOR5
Definition
blood_furnace.h:21
DATA_BROGGOK
@ DATA_BROGGOK
Definition
blood_furnace.h:12
DATA_DOOR2
@ DATA_DOOR2
Definition
blood_furnace.h:18
DATA_DOOR4
@ DATA_DOOR4
Definition
blood_furnace.h:20
DATA_PRISON_CELL6
@ DATA_PRISON_CELL6
Definition
blood_furnace.h:28
DATA_PRISON_CELL8
@ DATA_PRISON_CELL8
Definition
blood_furnace.h:30
DATA_PRISON_CELL4
@ DATA_PRISON_CELL4
Definition
blood_furnace.h:26
DATA_KELIDAN_THE_MAKER
@ DATA_KELIDAN_THE_MAKER
Definition
blood_furnace.h:13
Creature
Definition
Creature.h:427
Creature::Respawn
void Respawn(bool force=false)
Definition
Creature.cpp:1513
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
InstanceScript::SaveToDB
void SaveToDB()
Definition
InstanceScript.cpp:20
InstanceScript::HandleGameObject
void HandleGameObject(uint64 guid, bool open, GameObject *go=NULL)
Definition
InstanceScript.cpp:33
Map
Definition
Map.h:238
Object::GetGUID
uint64 GetGUID() const
Definition
Object.h:119
Object::SetFlag
void SetFlag(uint16 index, uint32 newFlag)
Definition
Object.cpp:1261
Unit
Definition
Unit.h:1367
Unit::IsAlive
bool IsAlive() const
Definition
Unit.h:2032
instance_blood_furnace
Definition
instance_blood_furnace.cpp:23
instance_blood_furnace::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_blood_furnace.cpp:399
instance_blood_furnace::instance_blood_furnace
instance_blood_furnace()
Definition
instance_blood_furnace.cpp:25
MAX_ENCOUNTER
#define MAX_ENCOUNTER
Definition
instance_blood_furnace.cpp:20
AddSC_instance_blood_furnace
void AddSC_instance_blood_furnace()
Definition
instance_blood_furnace.cpp:405
Position::GetPositionX
float GetPositionX() const
Definition
Object.h:328
Position::GetPositionY
float GetPositionY() const
Definition
Object.h:329
instance_blood_furnace::instance_blood_furnace_InstanceMapScript
Definition
instance_blood_furnace.cpp:29
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::UpdateBroggokEvent
void UpdateBroggokEvent(uint32 data)
Definition
instance_blood_furnace.cpp:257
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonersCell8
std::set< uint64 > PrisonersCell8
Definition
instance_blood_furnace.cpp:55
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonerCounter6
uint8 PrisonerCounter6
Definition
instance_blood_furnace.cpp:58
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::GetData
uint32 GetData(uint32 type) const OVERRIDE
Definition
instance_blood_furnace.cpp:221
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell3GUID
uint64 PrisonCell3GUID
Definition
instance_blood_furnace.cpp:45
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::GetData64
uint64 GetData64(uint32 data) const OVERRIDE
Definition
instance_blood_furnace.cpp:165
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::BroggokGUID
uint64 BroggokGUID
Definition
instance_blood_furnace.cpp:33
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Door5GUID
uint64 Door5GUID
Definition
instance_blood_furnace.cpp:40
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Door1GUID
uint64 Door1GUID
Definition
instance_blood_furnace.cpp:36
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell7GUID
uint64 PrisonCell7GUID
Definition
instance_blood_furnace.cpp:49
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ResetPrisoner
void ResetPrisoner(Creature *prisoner)
Definition
instance_blood_furnace.cpp:301
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Initialize
void Initialize() OVERRIDE
Definition
instance_blood_furnace.cpp:67
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonerDied
void PrisonerDied(uint64 guid)
Definition
instance_blood_furnace.cpp:348
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonerCounter5
uint8 PrisonerCounter5
Definition
instance_blood_furnace.cpp:57
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell2GUID
uint64 PrisonCell2GUID
Definition
instance_blood_furnace.cpp:44
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ResetPrisons
void ResetPrisons()
Definition
instance_blood_furnace.cpp:275
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::str_data
std::string str_data
Definition
instance_blood_furnace.cpp:65
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::OnCreatureCreate
void OnCreatureCreate(Creature *creature) OVERRIDE
Definition
instance_blood_furnace.cpp:104
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::OnGameObjectCreate
void OnGameObjectCreate(GameObject *go) OVERRIDE
Definition
instance_blood_furnace.cpp:129
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::OnUnitDeath
void OnUnitDeath(Unit *unit) OVERRIDE
Definition
instance_blood_furnace.cpp:123
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell4GUID
uint64 PrisonCell4GUID
Definition
instance_blood_furnace.cpp:46
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Load
void Load(const char *in) OVERRIDE
Definition
instance_blood_furnace.cpp:237
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Save
const char * Save()
Definition
instance_blood_furnace.cpp:232
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ResetPrisoners
void ResetPrisoners(const std::set< uint64 > &prisoners)
Definition
instance_blood_furnace.cpp:294
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Door3GUID
uint64 Door3GUID
Definition
instance_blood_furnace.cpp:38
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonersCell6
std::set< uint64 > PrisonersCell6
Definition
instance_blood_furnace.cpp:53
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Door2GUID
uint64 Door2GUID
Definition
instance_blood_furnace.cpp:37
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Door6GUID
uint64 Door6GUID
Definition
instance_blood_furnace.cpp:41
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell1GUID
uint64 PrisonCell1GUID
Definition
instance_blood_furnace.cpp:43
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Kelidan_The_BreakerGUID
uint64 Kelidan_The_BreakerGUID
Definition
instance_blood_furnace.cpp:34
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::BroggokLeverGUID
uint64 BroggokLeverGUID
Definition
instance_blood_furnace.cpp:62
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonerCounter7
uint8 PrisonerCounter7
Definition
instance_blood_furnace.cpp:59
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonersCell7
std::set< uint64 > PrisonersCell7
Definition
instance_blood_furnace.cpp:54
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell8GUID
uint64 PrisonCell8GUID
Definition
instance_blood_furnace.cpp:50
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ActivateCell
void ActivateCell(uint8 id)
Definition
instance_blood_furnace.cpp:360
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::Door4GUID
uint64 Door4GUID
Definition
instance_blood_furnace.cpp:39
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell5GUID
uint64 PrisonCell5GUID
Definition
instance_blood_furnace.cpp:47
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::ActivatePrisoners
void ActivatePrisoners(const std::set< uint64 > &prisoners)
Definition
instance_blood_furnace.cpp:388
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonersCell5
std::set< uint64 > PrisonersCell5
Definition
instance_blood_furnace.cpp:52
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::The_MakerGUID
uint64 The_MakerGUID
Definition
instance_blood_furnace.cpp:32
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::instance_blood_furnace_InstanceMapScript
instance_blood_furnace_InstanceMapScript(Map *map)
Definition
instance_blood_furnace.cpp:30
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::m_auiEncounter
uint32 m_auiEncounter[MAX_ENCOUNTER]
Definition
instance_blood_furnace.cpp:64
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::StorePrisoner
void StorePrisoner(Creature *creature)
Definition
instance_blood_furnace.cpp:308
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::SetData
void SetData(uint32 type, uint32 data) OVERRIDE
Definition
instance_blood_furnace.cpp:191
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonerCounter8
uint8 PrisonerCounter8
Definition
instance_blood_furnace.cpp:60
instance_blood_furnace::instance_blood_furnace_InstanceMapScript::PrisonCell6GUID
uint64 PrisonCell6GUID
Definition
instance_blood_furnace.cpp:48
src
server
scripts
Outland
HellfireCitadel
BloodFurnace
instance_blood_furnace.cpp
Generated on
for Project SkyFire Core by
1.17.0