Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
instance_stormstout_brewery.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
#include "
ScriptMgr.h
"
7
#include "
InstanceScript.h
"
8
#include "
stormstout_brewery.h
"
9
10
class
instance_stormstout_brewery
:
public
InstanceMapScript
11
{
12
public
:
13
instance_stormstout_brewery
() :
InstanceMapScript
(
StormstoutBreweryScriptName
, 961) { }
14
15
struct
instance_stormstout_brewery_InstanceScript
:
public
InstanceScript
16
{
17
instance_stormstout_brewery_InstanceScript
(
Map
* map) :
InstanceScript
(map)
18
{
19
SetBossNumber
(
EncounterCount
);
20
//LoadDoorData(doorData);
21
22
OokOokGUID
= 0;
23
HoptalusGUID
= 0;
24
YanZhuGUID
= 0;
25
BananaCount
= 0;
26
}
27
28
void
OnCreatureCreate
(
Creature
* creature)
OVERRIDE
29
{
30
switch
(creature->GetEntry())
31
{
32
case
NPC_OOK_OOK
:
33
OokOokGUID
= creature->GetGUID();
34
break
;
35
case
NPC_HOPTALLUS
:
36
HoptalusGUID
= creature->GetGUID();
37
break
;
38
case
NPC_YAN_ZHU
:
39
YanZhuGUID
= creature->GetGUID();
40
break
;
41
default
:
42
break
;
43
}
44
}
45
46
//void OnGameObjectCreate(GameObject* go) OVERRIDE
47
//{}
48
49
//void OnGameObjectRemove(GameObject* go) OVERRIDE
50
//{}
51
52
uint64
GetData64
(
uint32
type)
const
OVERRIDE
53
{
54
switch
(type)
55
{
56
case
DATA_OOK_OOK
:
57
return
OokOokGUID
;
58
case
DATA_HOPTALLUS
:
59
return
HoptalusGUID
;
60
case
DATA_YAN_ZHU
:
61
return
YanZhuGUID
;
62
case
DATA_BANANA_EVENT
:
63
return
BananaCount
;
64
default
:
65
break
;
66
}
67
return
0;
68
}
69
70
void
SetData
(
uint32
type,
uint32
data)
OVERRIDE
71
{
72
switch
(type)
73
{
74
case
DATA_BANANA_EVENT
:
75
if
(data ==
SPECIAL
)
76
++
BananaCount
;
77
else
if
(data ==
IN_PROGRESS
)
78
BananaCount
= 0;
79
break
;
80
}
81
}
82
83
std::string
GetSaveData
()
OVERRIDE
84
{
85
OUT_SAVE_INST_DATA
;
86
87
std::ostringstream saveStream;
88
saveStream <<
"S S B "
<<
GetBossSaveData
();
89
90
OUT_SAVE_INST_DATA_COMPLETE
;
91
return
saveStream.str();
92
}
93
94
void
Load
(
char
const
* str)
OVERRIDE
95
{
96
if
(!str)
97
{
98
OUT_LOAD_INST_DATA_FAIL
;
99
return
;
100
}
101
102
OUT_LOAD_INST_DATA
(str);
103
104
char
dataHead1, dataHead2, dataHead3;
105
106
std::istringstream loadStream(str);
107
loadStream >> dataHead1 >> dataHead2 >> dataHead3;
108
109
if
(dataHead1 ==
'S'
&& dataHead2 ==
'S'
&& dataHead3 ==
'B'
)
110
{
111
for
(
uint32
i = 0; i <
EncounterCount
; ++i)
112
{
113
uint32
tmpState;
114
loadStream >> tmpState;
115
if
(tmpState ==
IN_PROGRESS
|| tmpState >
SPECIAL
)
116
tmpState =
NOT_STARTED
;
117
SetBossState
(i,
EncounterState
(tmpState));
118
}
119
}
120
else
121
OUT_LOAD_INST_DATA_FAIL
;
122
123
OUT_LOAD_INST_DATA_COMPLETE
;
124
}
125
126
protected
:
127
uint64
OokOokGUID
;
128
uint64
HoptalusGUID
;
129
uint64
YanZhuGUID
;
130
uint64
BananaCount
;
131
};
132
133
InstanceScript
*
GetInstanceScript
(
InstanceMap
* map)
const
OVERRIDE
134
{
135
return
new
instance_stormstout_brewery_InstanceScript
(map);
136
}
137
};
138
139
void
AddSC_instance_stormstout_brewery
()
140
{
141
new
instance_stormstout_brewery
();
142
}
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_stormstout_brewery
Definition
instance_stormstout_brewery.cpp:11
instance_stormstout_brewery::instance_stormstout_brewery
instance_stormstout_brewery()
Definition
instance_stormstout_brewery.cpp:13
instance_stormstout_brewery::GetInstanceScript
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
Definition
instance_stormstout_brewery.cpp:133
AddSC_instance_stormstout_brewery
void AddSC_instance_stormstout_brewery()
Definition
instance_stormstout_brewery.cpp:139
stormstout_brewery.h
NPC_OOK_OOK
@ NPC_OOK_OOK
Definition
stormstout_brewery.h:25
NPC_HOPTALLUS
@ NPC_HOPTALLUS
Definition
stormstout_brewery.h:29
NPC_YAN_ZHU
@ NPC_YAN_ZHU
Definition
stormstout_brewery.h:30
StormstoutBreweryScriptName
#define StormstoutBreweryScriptName
Definition
stormstout_brewery.h:9
DATA_YAN_ZHU
@ DATA_YAN_ZHU
Definition
stormstout_brewery.h:20
DATA_OOK_OOK
@ DATA_OOK_OOK
Definition
stormstout_brewery.h:17
DATA_BANANA_EVENT
@ DATA_BANANA_EVENT
Definition
stormstout_brewery.h:16
DATA_HOPTALLUS
@ DATA_HOPTALLUS
Definition
stormstout_brewery.h:19
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript
Definition
instance_stormstout_brewery.cpp:16
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::GetSaveData
std::string GetSaveData() OVERRIDE
Definition
instance_stormstout_brewery.cpp:83
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::SetData
void SetData(uint32 type, uint32 data) OVERRIDE
Definition
instance_stormstout_brewery.cpp:70
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::BananaCount
uint64 BananaCount
Definition
instance_stormstout_brewery.cpp:130
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::YanZhuGUID
uint64 YanZhuGUID
Definition
instance_stormstout_brewery.cpp:129
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::OnCreatureCreate
void OnCreatureCreate(Creature *creature) OVERRIDE
Definition
instance_stormstout_brewery.cpp:28
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::OokOokGUID
uint64 OokOokGUID
Definition
instance_stormstout_brewery.cpp:127
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::GetData64
uint64 GetData64(uint32 type) const OVERRIDE
Definition
instance_stormstout_brewery.cpp:52
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::instance_stormstout_brewery_InstanceScript
instance_stormstout_brewery_InstanceScript(Map *map)
Definition
instance_stormstout_brewery.cpp:17
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::Load
void Load(char const *str) OVERRIDE
Definition
instance_stormstout_brewery.cpp:94
instance_stormstout_brewery::instance_stormstout_brewery_InstanceScript::HoptalusGUID
uint64 HoptalusGUID
Definition
instance_stormstout_brewery.cpp:128
src
server
scripts
Pandaria
StormstoutBrewery
instance_stormstout_brewery.cpp
Generated on
for Project SkyFire Core by
1.17.0