Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
instance_temple_of_jade_serpent.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"
9
11{
12 public:
14
16 {
18 {
20 //LoadDoorData(doorData);
21
22 WiseMariGUID = 0;
23 StonestepGUID = 0;
26 }
27
29 {
30 switch (creature->GetEntry())
31 {
32 case NPC_WISE_MARI:
33 WiseMariGUID = creature->GetGUID();
34 break;
35 case NPC_STONESTEP:
36 StonestepGUID = creature->GetGUID();
37 break;
38 case NPC_FLAMEHEART:
39 FlameheartGUID = creature->GetGUID();
40 break;
42 ShaOfDoubtGUID = creature->GetGUID();
43 break;
44 default:
45 break;
46 }
47 }
48
49 //void OnGameObjectCreate(GameObject* go) OVERRIDE
50 //{}
51
52 //void OnGameObjectRemove(GameObject* go) OVERRIDE
53 //{}
54
56 {
57 switch (type)
58 {
59 case DATA_WISE_MARI:
60 return WiseMariGUID;
61 case DATA_STONESTEP:
62 return StonestepGUID;
63 case DATA_FLAMEHEART:
64 return FlameheartGUID;
66 return ShaOfDoubtGUID;
67 default:
68 break;
69 }
70 return 0;
71 }
72
73 std::string GetSaveData() OVERRIDE
74 {
76
77 std::ostringstream saveStream;
78 saveStream << "T J S " << GetBossSaveData();
79
81 return saveStream.str();
82 }
83
84 void Load(char const* str) OVERRIDE
85 {
86 if (!str)
87 {
89 return;
90 }
91
93
94 char dataHead1, dataHead2, dataHead3;
95
96 std::istringstream loadStream(str);
97 loadStream >> dataHead1 >> dataHead2 >> dataHead3;
98
99 if (dataHead1 == 'T' && dataHead2 == 'J' && dataHead3 == 'S')
100 {
101 for (uint32 i = 0; i < EncounterCount; ++i)
102 {
103 uint32 tmpState;
104 loadStream >> tmpState;
105 if (tmpState == IN_PROGRESS || tmpState > SPECIAL)
106 tmpState = NOT_STARTED;
107 SetBossState(i, EncounterState(tmpState));
108 }
109 }
110 else
112
114 }
115
116 protected:
121 };
122
127};
128
std::uint32_t uint32
Definition Define.h:77
#define OVERRIDE
Definition Define.h:60
std::uint64_t uint64
Definition Define.h:76
#define OUT_LOAD_INST_DATA_FAIL
EncounterState
@ IN_PROGRESS
@ SPECIAL
@ NOT_STARTED
#define OUT_SAVE_INST_DATA_COMPLETE
#define OUT_LOAD_INST_DATA_COMPLETE
#define OUT_SAVE_INST_DATA
#define OUT_LOAD_INST_DATA(a)
uint32 const EncounterCount
InstanceMapScript(const char *name, uint32 mapId)
InstanceScript(Map *map)
void SetBossNumber(uint32 number)
virtual bool SetBossState(uint32 id, EncounterState state)
std::string GetBossSaveData()
Definition Map.h:238
InstanceScript * GetInstanceScript(InstanceMap *map) const OVERRIDE
void AddSC_instance_jade_serpent()
#define JadeSerpentScriptName
@ NPC_SHA_OF_DOUBT
@ DATA_SHA_OF_DOUBT
@ DATA_FLAMEHEART