Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_the_black_morass.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
/*
7
Name: Instance_The_Black_Morass
8
%Complete: 50
9
Comment: Quest support: 9836, 10297. Currently in progress.
10
Category: Caverns of Time, The Black Morass
11
*/
12
13
#include "
ScriptMgr.h
"
14
#include "
InstanceScript.h
"
15
#include "
the_black_morass.h
"
16
#include "
Player.h
"
17
#include "
TemporarySummon.h
"
18
#include "
SpellInfo.h
"
19
#include "
ScriptedCreature.h
"
20
21
enum
Misc
22
{
23
SPELL_RIFT_CHANNEL
= 31387,
24
RIFT_BOSS
= 1
25
};
26
27
inline
uint32
RandRiftBoss
() {
return
((rand()%2) ?
NPC_RIFT_KEEPER
:
NPC_RIFT_LORD
); }
28
29
float
PortalLocation
[4][4]=
30
{
31
{-2041.06f, 7042.08f, 29.99f, 1.30f},
32
{-1968.18f, 7042.11f, 21.93f, 2.12f},
33
{-1885.82f, 7107.36f, 22.32f, 3.07f},
34
{-1928.11f, 7175.95f, 22.11f, 3.44f}
35
};
36
37
struct
Wave
38
{
39
uint32
PortalBoss
;
//protector of current portal
40
uint32
NextPortalTime
;
//time to next portal, or 0 if portal boss need to be killed
41
};
42
43
static
Wave
RiftWaves
[]=
44
{
45
{
RIFT_BOSS
, 0 },
46
{
NPC_CRONO_LORD_DEJA
, 0 },
47
{
RIFT_BOSS
, 120000 },
48
{
NPC_TEMPORUS
, 140000 },
49
{
RIFT_BOSS
, 120000 },
50
{
NPC_AEONUS
, 0 }
51
};
52
53
enum
EventIds
54
{
55
EVENT_NEXT_PORTAL
= 1
56
};
57
58
class
instance_the_black_morass
:
public
InstanceMapScript
59
{
60
public
:
61
instance_the_black_morass
() :
InstanceMapScript
(
"instance_the_black_morass"
, 269) { }
62
63
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
64
{
65
return
new
instance_the_black_morass_InstanceMapScript
(map);
66
}
67
68
struct
instance_the_black_morass_InstanceMapScript
:
public
InstanceScript
69
{
70
instance_the_black_morass_InstanceMapScript
(
Map
* map) :
InstanceScript
(map) { }
71
72
uint32
m_auiEncounter
[
EncounterCount
];
73
74
uint32
mRiftPortalCount
;
75
uint32
mShieldPercent
;
76
uint8
mRiftWaveCount
;
77
uint8
mRiftWaveId
;
78
79
uint64
_medivhGUID
;
80
uint8
_currentRiftId
;
81
82
void
Initialize
()
OVERRIDE
83
{
84
_medivhGUID
= 0;
85
Clear
();
86
}
87
88
void
Clear
()
89
{
90
memset(&
m_auiEncounter
, 0,
sizeof
(
m_auiEncounter
));
91
92
mRiftPortalCount
= 0;
93
mShieldPercent
= 100;
94
mRiftWaveCount
= 0;
95
mRiftWaveId
= 0;
96
97
_currentRiftId
= 0;
98
}
99
100
void
InitWorldState
(
bool
Enable =
true
)
101
{
102
DoUpdateWorldState
(
WORLD_STATE_BM
, Enable ? 1 : 0);
103
DoUpdateWorldState
(
WORLD_STATE_BM_SHIELD
, 100);
104
DoUpdateWorldState
(
WORLD_STATE_BM_RIFT
, 0);
105
}
106
107
bool
IsEncounterInProgress
() const
OVERRIDE
108
{
109
if
(
GetData
(
TYPE_MEDIVH
) ==
IN_PROGRESS
)
110
return
true
;
111
112
return
false
;
113
}
114
115
void
OnPlayerEnter
(
Player
* player)
OVERRIDE
116
{
117
if
(
GetData
(
TYPE_MEDIVH
) ==
IN_PROGRESS
)
118
return
;
119
120
player->SendUpdateWorldState(
WORLD_STATE_BM
, 0);
121
}
122
123
void
OnCreatureCreate
(
Creature
* creature)
OVERRIDE
124
{
125
if
(creature->GetEntry() ==
NPC_MEDIVH
)
126
_medivhGUID
= creature->GetGUID();
127
}
128
129
//what other conditions to check?
130
bool
CanProgressEvent
()
131
{
132
if
(
instance
->GetPlayers().isEmpty())
133
return
false
;
134
135
return
true
;
136
}
137
138
uint8
GetRiftWaveId
()
139
{
140
switch
(
mRiftPortalCount
)
141
{
142
case
6:
143
mRiftWaveId
= 2;
144
return
1;
145
case
12:
146
mRiftWaveId
= 4;
147
return
3;
148
case
18:
149
return
5;
150
default
:
151
return
mRiftWaveId
;
152
}
153
}
154
155
void
SetData
(
uint32
type,
uint32
data)
OVERRIDE
156
{
157
switch
(type)
158
{
159
case
TYPE_MEDIVH
:
160
if
(data ==
SPECIAL
&&
m_auiEncounter
[0] ==
IN_PROGRESS
)
161
{
162
--
mShieldPercent
;
163
164
DoUpdateWorldState
(
WORLD_STATE_BM_SHIELD
,
mShieldPercent
);
165
166
if
(!
mShieldPercent
)
167
{
168
if
(
Creature
* medivh =
instance
->GetCreature(
_medivhGUID
))
169
{
170
if
(medivh->IsAlive())
171
{
172
medivh->DealDamage(medivh, medivh->GetHealth(), NULL,
DIRECT_DAMAGE
,
SPELL_SCHOOL_MASK_NORMAL
, NULL,
false
);
173
m_auiEncounter
[0] =
FAIL
;
174
m_auiEncounter
[1] =
NOT_STARTED
;
175
}
176
}
177
}
178
}
179
else
180
{
181
if
(data ==
IN_PROGRESS
)
182
{
183
SF_LOG_DEBUG
(
"scripts"
,
"Instance The Black Morass: Starting event."
);
184
InitWorldState
();
185
m_auiEncounter
[1] =
IN_PROGRESS
;
186
ScheduleEventNextPortal
(15000);
187
}
188
189
if
(data ==
DONE
)
190
{
191
//this may be completed further out in the post-event
192
SF_LOG_DEBUG
(
"scripts"
,
"Instance The Black Morass: Event completed."
);
193
Map::PlayerList
const
& players =
instance
->GetPlayers();
194
195
if
(!players.
isEmpty
())
196
{
197
for
(
Map::PlayerList::const_iterator
itr = players.
begin
(); itr != players.
end
(); ++itr)
198
{
199
if
(
Player
* player = itr->GetSource())
200
{
201
if
(player->GetQuestStatus(
QUEST_OPENING_PORTAL
) ==
QUEST_STATUS_INCOMPLETE
)
202
player->AreaExploredOrEventHappens(
QUEST_OPENING_PORTAL
);
203
204
if
(player->GetQuestStatus(
QUEST_MASTER_TOUCH
) ==
QUEST_STATUS_INCOMPLETE
)
205
player->AreaExploredOrEventHappens(
QUEST_MASTER_TOUCH
);
206
}
207
}
208
}
209
}
210
211
m_auiEncounter
[0] = data;
212
}
213
break
;
214
case
TYPE_RIFT
:
215
if
(data ==
SPECIAL
)
216
{
217
if
(
mRiftPortalCount
< 7)
218
ScheduleEventNextPortal
(5000);
219
}
220
else
221
m_auiEncounter
[1] = data;
222
break
;
223
}
224
}
225
226
uint32
GetData
(
uint32
type)
const
OVERRIDE
227
{
228
switch
(type)
229
{
230
case
TYPE_MEDIVH
:
231
return
m_auiEncounter
[0];
232
case
TYPE_RIFT
:
233
return
m_auiEncounter
[1];
234
case
DATA_PORTAL_COUNT
:
235
return
mRiftPortalCount
;
236
case
DATA_SHIELD
:
237
return
mShieldPercent
;
238
}
239
return
0;
240
}
241
242
uint64
GetData64
(
uint32
data)
const
OVERRIDE
243
{
244
if
(data ==
DATA_MEDIVH
)
245
return
_medivhGUID
;
246
247
return
0;
248
}
249
250
Creature
*
SummonedPortalBoss
(
Creature
* me)
251
{
252
uint32
entry =
RiftWaves
[
GetRiftWaveId
()].PortalBoss;
253
254
if
(entry ==
RIFT_BOSS
)
255
entry =
RandRiftBoss
();
256
257
SF_LOG_DEBUG
(
"scripts"
,
"Instance The Black Morass: Summoning rift boss entry %u."
, entry);
258
259
Position
pos;
260
me->
GetRandomNearPosition
(pos, 10.0f);
261
262
//normalize Z-level if we can, if rift is not at ground level.
263
pos.
m_positionZ
= std::max(me->
GetMap
()->
GetHeight
(pos.
m_positionX
, pos.
m_positionY
,
MAX_HEIGHT
), me->
GetMap
()->
GetWaterLevel
(pos.
m_positionX
, pos.
m_positionY
));
264
265
if
(
Creature
* summon = me->
SummonCreature
(entry, pos,
TempSummonType::TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
, 600000))
266
return
summon;
267
268
SF_LOG_DEBUG
(
"scripts"
,
"Instance The Black Morass: What just happened there? No boss, no loot, no fun..."
);
269
return
NULL;
270
}
271
272
void
DoSpawnPortal
()
273
{
274
if
(
Creature
* medivh =
instance
->GetCreature(
_medivhGUID
))
275
{
276
uint8
tmp = std::rand() % 2;
277
278
if
(tmp >=
_currentRiftId
)
279
++tmp;
280
281
SF_LOG_DEBUG
(
"scripts"
,
"Instance The Black Morass: Creating Time Rift at locationId %i (old locationId was %u)."
, tmp,
_currentRiftId
);
282
283
_currentRiftId
= tmp;
284
285
Creature
* temp = medivh->
SummonCreature
(
NPC_TIME_RIFT
,
286
PortalLocation
[tmp][0],
PortalLocation
[tmp][1],
PortalLocation
[tmp][2],
PortalLocation
[tmp][3],
287
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
, 0);
288
if
(temp)
289
{
290
temp->
SetFlag
(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NON_ATTACKABLE
);
291
temp->
SetFlag
(
UNIT_FIELD_FLAGS
,
UNIT_FLAG_NOT_SELECTABLE
);
292
293
if
(
Creature
* boss =
SummonedPortalBoss
(temp))
294
{
295
if
(boss->GetEntry() ==
NPC_AEONUS
)
296
boss->AddThreat(medivh, 0.0f);
297
else
298
{
299
boss->AddThreat(temp, 0.0f);
300
temp->
CastSpell
(boss,
SPELL_RIFT_CHANNEL
,
false
);
301
}
302
}
303
}
304
}
305
}
306
307
void
Update
(
uint32
diff)
OVERRIDE
308
{
309
if
(
m_auiEncounter
[1] !=
IN_PROGRESS
)
310
return
;
311
312
//add delay timer?
313
if
(!
CanProgressEvent
())
314
{
315
Clear
();
316
return
;
317
}
318
319
Events
.Update(diff);
320
321
if
(
Events
.ExecuteEvent() ==
EVENT_NEXT_PORTAL
)
322
{
323
++
mRiftPortalCount
;
324
DoUpdateWorldState
(
WORLD_STATE_BM_RIFT
,
mRiftPortalCount
);
325
DoSpawnPortal
();
326
ScheduleEventNextPortal
(
RiftWaves
[
GetRiftWaveId
()].NextPortalTime);
327
}
328
}
329
330
void
ScheduleEventNextPortal
(
uint32
nextPortalTime)
331
{
332
if
(nextPortalTime > 0)
333
Events
.RescheduleEvent(
EVENT_NEXT_PORTAL
, nextPortalTime);
334
}
335
336
protected
:
337
EventMap
Events
;
338
};
339
};
340
341
void
AddSC_instance_the_black_morass
()
342
{
343
new
instance_the_black_morass
();
344
}
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
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
FAIL
@ FAIL
Definition
InstanceScript.h:48
DONE
@ DONE
Definition
InstanceScript.h:49
SPECIAL
@ SPECIAL
Definition
InstanceScript.h:50
NOT_STARTED
@ NOT_STARTED
Definition
InstanceScript.h:46
SF_LOG_DEBUG
#define SF_LOG_DEBUG(filterType__,...)
Definition
Log.h:134
MAX_HEIGHT
#define MAX_HEIGHT
Definition
Map.h:141
TempSummonType::TEMPSUMMON_CORPSE_DESPAWN
@ TEMPSUMMON_CORPSE_DESPAWN
Definition
Object.h:72
TempSummonType::TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
@ TEMPSUMMON_TIMED_OR_DEAD_DESPAWN
Definition
Object.h:68
Player.h
QUEST_STATUS_INCOMPLETE
@ QUEST_STATUS_INCOMPLETE
Definition
QuestDef.h:89
ScriptMgr.h
ScriptedCreature.h
SPELL_SCHOOL_MASK_NORMAL
@ SPELL_SCHOOL_MASK_NORMAL
Definition
SharedDefines.h:270
SpellInfo.h
TemporarySummon.h
UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_NON_ATTACKABLE
Definition
Unit.h:626
UNIT_FLAG_NOT_SELECTABLE
@ UNIT_FLAG_NOT_SELECTABLE
Definition
Unit.h:650
DIRECT_DAMAGE
@ DIRECT_DAMAGE
Definition
Unit.h:614
UNIT_FIELD_FLAGS
@ UNIT_FIELD_FLAGS
Definition
UpdateFields.h:82
EncounterCount
uint32 const EncounterCount
Definition
baradin_hold.h:15
Misc
Misc
Definition
boss_occuthar.cpp:37
Creature
Definition
Creature.h:427
EventMap
Definition
CreatureAIImpl.h:304
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::DoUpdateWorldState
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
Definition
InstanceScript.cpp:284
LinkedListHead::isEmpty
bool isEmpty() const
Definition
LinkedList.h:86
Map
Definition
Map.h:238
Map::GetWaterLevel
float GetWaterLevel(float x, float y) const
Definition
Map.cpp:2195
Map::GetHeight
float GetHeight(float x, float y, float z, bool checkVMap=true, float maxSearchDist=DEFAULT_HEIGHT_SEARCH) const
Definition
Map.cpp:1959
Map::PlayerList
MapRefManager PlayerList
Definition
Map.h:406
MapRefManager::end
iterator end()
Definition
MapRefManager.h:25
MapRefManager::begin
iterator begin()
Definition
MapRefManager.h:24
MapRefManager::const_iterator
LinkedListHead::Iterator< MapReference const > const_iterator
Definition
MapRefManager.h:17
Object::SetFlag
void SetFlag(uint16 index, uint32 newFlag)
Definition
Object.cpp:1261
Player
Definition
Player.h:1289
Unit::CastSpell
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
Definition
UnitCombat.cpp:324
WorldObject::GetMap
Map * GetMap() const
Definition
Object.h:740
WorldObject::GetRandomNearPosition
void GetRandomNearPosition(Position &pos, float radius)
Definition
Object.cpp:3088
WorldObject::SummonCreature
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TempSummonType::TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0) const
Definition
Object.cpp:2703
instance_the_black_morass
Definition
instance_the_black_morass.cpp:59
instance_the_black_morass::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_the_black_morass.cpp:63
instance_the_black_morass::instance_the_black_morass
instance_the_black_morass()
Definition
instance_the_black_morass.cpp:61
NPC_TIME_RIFT
@ NPC_TIME_RIFT
Definition
culling_of_stratholme.cpp:102
EventIds
EventIds
Definition
instance_blackrock_spire.cpp:22
SPELL_RIFT_CHANNEL
@ SPELL_RIFT_CHANNEL
Definition
instance_the_black_morass.cpp:23
RIFT_BOSS
@ RIFT_BOSS
Definition
instance_the_black_morass.cpp:24
PortalLocation
float PortalLocation[4][4]
Definition
instance_the_black_morass.cpp:29
AddSC_instance_the_black_morass
void AddSC_instance_the_black_morass()
Definition
instance_the_black_morass.cpp:341
RandRiftBoss
uint32 RandRiftBoss()
Definition
instance_the_black_morass.cpp:27
EVENT_NEXT_PORTAL
@ EVENT_NEXT_PORTAL
Definition
instance_the_black_morass.cpp:55
RiftWaves
static Wave RiftWaves[]
Definition
instance_the_black_morass.cpp:43
Position
Definition
Object.h:274
Position::m_positionZ
float m_positionZ
Definition
Object.h:289
Position::m_positionX
float m_positionX
Definition
Object.h:287
Position::m_positionY
float m_positionY
Definition
Object.h:288
Wave
Definition
hyjalAI.h:31
Wave::PortalBoss
uint32 PortalBoss
Definition
instance_the_black_morass.cpp:39
Wave::NextPortalTime
uint32 NextPortalTime
Definition
instance_the_black_morass.cpp:40
instance_the_black_morass::instance_the_black_morass_InstanceMapScript
Definition
instance_the_black_morass.cpp:69
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::mRiftWaveId
uint8 mRiftWaveId
Definition
instance_the_black_morass.cpp:77
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::GetData64
uint64 GetData64(uint32 data) const OVERRIDE
Definition
instance_the_black_morass.cpp:242
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SetData
void SetData(uint32 type, uint32 data) OVERRIDE
Definition
instance_the_black_morass.cpp:155
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::Events
EventMap Events
Definition
instance_the_black_morass.cpp:337
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::InitWorldState
void InitWorldState(bool Enable=true)
Definition
instance_the_black_morass.cpp:100
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::m_auiEncounter
uint32 m_auiEncounter[EncounterCount]
Definition
instance_the_black_morass.cpp:72
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::mShieldPercent
uint32 mShieldPercent
Definition
instance_the_black_morass.cpp:75
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::DoSpawnPortal
void DoSpawnPortal()
Definition
instance_the_black_morass.cpp:272
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::mRiftWaveCount
uint8 mRiftWaveCount
Definition
instance_the_black_morass.cpp:76
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::OnCreatureCreate
void OnCreatureCreate(Creature *creature) OVERRIDE
Definition
instance_the_black_morass.cpp:123
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::GetData
uint32 GetData(uint32 type) const OVERRIDE
Definition
instance_the_black_morass.cpp:226
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::Update
void Update(uint32 diff) OVERRIDE
Definition
instance_the_black_morass.cpp:307
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::OnPlayerEnter
void OnPlayerEnter(Player *player) OVERRIDE
Definition
instance_the_black_morass.cpp:115
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::_medivhGUID
uint64 _medivhGUID
Definition
instance_the_black_morass.cpp:79
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::IsEncounterInProgress
bool IsEncounterInProgress() const OVERRIDE
Definition
instance_the_black_morass.cpp:107
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::_currentRiftId
uint8 _currentRiftId
Definition
instance_the_black_morass.cpp:80
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::Clear
void Clear()
Definition
instance_the_black_morass.cpp:88
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::instance_the_black_morass_InstanceMapScript
instance_the_black_morass_InstanceMapScript(Map *map)
Definition
instance_the_black_morass.cpp:70
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::mRiftPortalCount
uint32 mRiftPortalCount
Definition
instance_the_black_morass.cpp:74
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::CanProgressEvent
bool CanProgressEvent()
Definition
instance_the_black_morass.cpp:130
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::GetRiftWaveId
uint8 GetRiftWaveId()
Definition
instance_the_black_morass.cpp:138
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::Initialize
void Initialize() OVERRIDE
Definition
instance_the_black_morass.cpp:82
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::SummonedPortalBoss
Creature * SummonedPortalBoss(Creature *me)
Definition
instance_the_black_morass.cpp:250
instance_the_black_morass::instance_the_black_morass_InstanceMapScript::ScheduleEventNextPortal
void ScheduleEventNextPortal(uint32 nextPortalTime)
Definition
instance_the_black_morass.cpp:330
the_black_morass.h
WORLD_STATE_BM_SHIELD
@ WORLD_STATE_BM_SHIELD
Definition
the_black_morass.h:26
WORLD_STATE_BM_RIFT
@ WORLD_STATE_BM_RIFT
Definition
the_black_morass.h:27
WORLD_STATE_BM
@ WORLD_STATE_BM
Definition
the_black_morass.h:25
QUEST_MASTER_TOUCH
@ QUEST_MASTER_TOUCH
Definition
the_black_morass.h:33
QUEST_OPENING_PORTAL
@ QUEST_OPENING_PORTAL
Definition
the_black_morass.h:32
NPC_AEONUS
@ NPC_AEONUS
Definition
the_black_morass.h:45
NPC_RIFT_KEEPER
@ NPC_RIFT_KEEPER
Definition
the_black_morass.h:41
NPC_MEDIVH
@ NPC_MEDIVH
Definition
the_black_morass.h:38
NPC_RIFT_LORD
@ NPC_RIFT_LORD
Definition
the_black_morass.h:42
NPC_TEMPORUS
@ NPC_TEMPORUS
Definition
the_black_morass.h:44
NPC_CRONO_LORD_DEJA
@ NPC_CRONO_LORD_DEJA
Definition
the_black_morass.h:43
DATA_MEDIVH
@ DATA_MEDIVH
Definition
the_black_morass.h:18
DATA_PORTAL_COUNT
@ DATA_PORTAL_COUNT
Definition
the_black_morass.h:19
TYPE_MEDIVH
@ TYPE_MEDIVH
Definition
the_black_morass.h:13
TYPE_RIFT
@ TYPE_RIFT
Definition
the_black_morass.h:14
DATA_SHIELD
@ DATA_SHIELD
Definition
the_black_morass.h:20
src
server
scripts
Kalimdor
CavernsOfTime
TheBlackMorass
instance_the_black_morass.cpp
Generated on
for Project SkyFire Core by
1.17.0