Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_the_stockade.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
This placeholder for the instance is needed for dungeon finding to be able
8
to give credit after the boss defined in lastEncounterDungeon is killed.
9
Without it, the party doing random dungeon won't get satchel of spoils and
10
gets instead the deserter debuff.
11
*/
12
13
#include "
ScriptMgr.h
"
14
#include "
InstanceScript.h
"
15
#include "
instance_the_stockade.h
"
16
17
class
instance_the_stockade
:
public
InstanceMapScript
18
{
19
public
:
20
instance_the_stockade
() :
InstanceMapScript
(
TheStockadeScriptName
, 34) { }
21
22
struct
instance_the_stockade_InstanceScript
:
public
InstanceScript
23
{
24
instance_the_stockade_InstanceScript
(
Map
* map) :
InstanceScript
(map)
25
{
26
SetBossNumber
(
EncounterCount
);
27
28
RandolphMolochGUID
= 0;
29
LordOverheatGUID
= 0;
30
HoggerGUID
= 0;
31
}
32
33
void
OnCreatureCreate
(
Creature
* creature)
OVERRIDE
34
{
35
switch
(creature->GetEntry())
36
{
37
case
NPC_RANDOLPH_MOLOCH
:
38
RandolphMolochGUID
= creature->GetGUID();
39
break
;
40
case
NPC_LORD_OVERHEAT
:
41
LordOverheatGUID
= creature->GetGUID();
42
break
;
43
case
NPC_HOGGER
:
44
HoggerGUID
= creature->GetGUID();
45
break
;
46
default
:
47
break
;
48
}
49
}
50
51
uint64
GetData64
(
uint32
type)
const
OVERRIDE
52
{
53
switch
(type)
54
{
55
case
DATA_RANDOLPH_MOLOCH
:
56
return
RandolphMolochGUID
;
57
case
DATA_LORD_OVERHEAT
:
58
return
LordOverheatGUID
;
59
case
DATA_HOGGER
:
60
return
HoggerGUID
;
61
default
:
62
break
;
63
}
64
return
0;
65
}
66
67
std::string
GetSaveData
()
OVERRIDE
68
{
69
OUT_SAVE_INST_DATA
;
70
71
std::ostringstream saveStream;
72
saveStream <<
"T S "
<<
GetBossSaveData
();
73
74
OUT_SAVE_INST_DATA_COMPLETE
;
75
return
saveStream.str();
76
}
77
78
void
Load
(
char
const
* str)
OVERRIDE
79
{
80
if
(!str)
81
{
82
OUT_LOAD_INST_DATA_FAIL
;
83
return
;
84
}
85
86
OUT_LOAD_INST_DATA
(str);
87
88
char
dataHead1, dataHead2;
89
90
std::istringstream loadStream(str);
91
loadStream >> dataHead1 >> dataHead2;
92
93
if
(dataHead1 ==
'T'
&& dataHead2 ==
'S'
)
94
{
95
for
(
uint32
i = 0; i <
EncounterCount
; ++i)
96
{
97
uint32
tmpState;
98
loadStream >> tmpState;
99
if
(tmpState ==
IN_PROGRESS
|| tmpState >
SPECIAL
)
100
tmpState =
NOT_STARTED
;
101
SetBossState
(i,
EncounterState
(tmpState));
102
}
103
}
104
else
105
OUT_LOAD_INST_DATA_FAIL
;
106
107
OUT_LOAD_INST_DATA_COMPLETE
;
108
}
109
110
protected
:
111
uint64
RandolphMolochGUID
;
112
uint64
LordOverheatGUID
;
113
uint64
HoggerGUID
;
114
};
115
116
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
117
{
118
return
new
instance_the_stockade_InstanceScript
(map);
119
}
120
};
121
122
void
AddSC_instance_the_stockade
()
123
{
124
new
instance_the_stockade
();
125
}
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
EncounterState
EncounterState
Definition
InstanceScript.h:45
IN_PROGRESS
@ IN_PROGRESS
Definition
InstanceScript.h:47
SPECIAL
@ SPECIAL
Definition
InstanceScript.h:50
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
ScriptMgr.h
EncounterCount
uint32 const EncounterCount
Definition
baradin_hold.h:15
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
InstanceScript::SetBossNumber
void SetBossNumber(uint32 number)
Definition
InstanceScript.h:212
InstanceScript::SetBossState
virtual bool SetBossState(uint32 id, EncounterState state)
Definition
InstanceScript.cpp:182
InstanceScript::GetBossSaveData
std::string GetBossSaveData()
Definition
InstanceScript.cpp:239
Map
Definition
Map.h:238
instance_the_stockade
Definition
instance_the_stockade.cpp:18
instance_the_stockade::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_the_stockade.cpp:116
instance_the_stockade::instance_the_stockade
instance_the_stockade()
Definition
instance_the_stockade.cpp:20
AddSC_instance_the_stockade
void AddSC_instance_the_stockade()
Definition
instance_the_stockade.cpp:122
instance_the_stockade.h
NPC_LORD_OVERHEAT
@ NPC_LORD_OVERHEAT
Definition
instance_the_stockade.h:28
NPC_HOGGER
@ NPC_HOGGER
Definition
instance_the_stockade.h:29
NPC_RANDOLPH_MOLOCH
@ NPC_RANDOLPH_MOLOCH
Definition
instance_the_stockade.h:27
TheStockadeScriptName
#define TheStockadeScriptName
Definition
instance_the_stockade.h:13
DATA_LORD_OVERHEAT
@ DATA_LORD_OVERHEAT
Definition
instance_the_stockade.h:21
DATA_HOGGER
@ DATA_HOGGER
Definition
instance_the_stockade.h:22
DATA_RANDOLPH_MOLOCH
@ DATA_RANDOLPH_MOLOCH
Definition
instance_the_stockade.h:20
instance_the_stockade::instance_the_stockade_InstanceScript
Definition
instance_the_stockade.cpp:23
instance_the_stockade::instance_the_stockade_InstanceScript::LordOverheatGUID
uint64 LordOverheatGUID
Definition
instance_the_stockade.cpp:112
instance_the_stockade::instance_the_stockade_InstanceScript::Load
void Load(char const *str) OVERRIDE
Definition
instance_the_stockade.cpp:78
instance_the_stockade::instance_the_stockade_InstanceScript::OnCreatureCreate
void OnCreatureCreate(Creature *creature) OVERRIDE
Definition
instance_the_stockade.cpp:33
instance_the_stockade::instance_the_stockade_InstanceScript::instance_the_stockade_InstanceScript
instance_the_stockade_InstanceScript(Map *map)
Definition
instance_the_stockade.cpp:24
instance_the_stockade::instance_the_stockade_InstanceScript::GetSaveData
std::string GetSaveData() OVERRIDE
Definition
instance_the_stockade.cpp:67
instance_the_stockade::instance_the_stockade_InstanceScript::RandolphMolochGUID
uint64 RandolphMolochGUID
Definition
instance_the_stockade.cpp:111
instance_the_stockade::instance_the_stockade_InstanceScript::GetData64
uint64 GetData64(uint32 type) const OVERRIDE
Definition
instance_the_stockade.cpp:51
instance_the_stockade::instance_the_stockade_InstanceScript::HoggerGUID
uint64 HoggerGUID
Definition
instance_the_stockade.cpp:113
src
server
scripts
EasternKingdoms
TheStockade
instance_the_stockade.cpp
Generated on
for Project SkyFire Core by
1.17.0