Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
instance_ruins_of_ahnqiraj.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 "ruins_of_ahnqiraj.h"
9
11{
12 public:
13 instance_ruins_of_ahnqiraj() : InstanceMapScript("instance_ruins_of_ahnqiraj", 509) { }
14
16 {
29
31 {
32 switch (creature->GetEntry())
33 {
34 case NPC_KURINAXX:
35 _kurinaxxGUID = creature->GetGUID();
36 break;
37 case NPC_RAJAXX:
38 _rajaxxGUID = creature->GetGUID();
39 break;
40 case NPC_MOAM:
41 _moamGUID = creature->GetGUID();
42 break;
43 case NPC_BURU:
44 _buruGUID = creature->GetGUID();
45 break;
46 case NPC_AYAMISS:
47 _ayamissGUID = creature->GetGUID();
48 break;
49 case NPC_OSSIRIAN:
50 _ossirianGUID = creature->GetGUID();
51 break;
52 }
53 }
54
56 {
57 if (!InstanceScript::SetBossState(bossId, state))
58 return false;
59
60 return true;
61 }
62
64 {
65 if (type == DATA_PARALYZED)
66 _paralyzedGUID = data;
67 }
68
70 {
71 switch (type)
72 {
73 case DATA_KURINNAXX:
74 return _kurinaxxGUID;
75 case DATA_RAJAXX:
76 return _rajaxxGUID;
77 case DATA_MOAM:
78 return _moamGUID;
79 case DATA_BURU:
80 return _buruGUID;
81 case DATA_AYAMISS:
82 return _ayamissGUID;
83 case DATA_OSSIRIAN:
84 return _ossirianGUID;
85 case DATA_PARALYZED:
86 return _paralyzedGUID;
87 }
88
89 return 0;
90 }
91
92 std::string GetSaveData() OVERRIDE
93 {
95
96 std::ostringstream saveStream;
97 saveStream << "R A" << GetBossSaveData();
98
100 return saveStream.str();
101 }
102
103 void Load(char const* data) OVERRIDE
104 {
105 if (!data)
106 {
108 return;
109 }
110
111 OUT_LOAD_INST_DATA(data);
112
113 char dataHead1, dataHead2;
114
115 std::istringstream loadStream(data);
116 loadStream >> dataHead1 >> dataHead2;
117
118 if (dataHead1 == 'R' && dataHead2 == 'A')
119 {
120 for (uint8 i = 0; i < NUM_ENCOUNTER; ++i)
121 {
122 uint32 tmpState;
123 loadStream >> tmpState;
124 if (tmpState == IN_PROGRESS || tmpState > TO_BE_DECIDED)
125 tmpState = NOT_STARTED;
126 SetBossState(i, EncounterState(tmpState));
127 }
128 }
129 else
131
133 }
134
135 private:
143 };
144
149};
150
std::uint8_t uint8
Definition Define.h:79
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
@ NOT_STARTED
@ TO_BE_DECIDED
#define OUT_SAVE_INST_DATA_COMPLETE
#define OUT_LOAD_INST_DATA_COMPLETE
#define OUT_SAVE_INST_DATA
#define OUT_LOAD_INST_DATA(a)
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_ruins_of_ahnqiraj()
@ NPC_MOAM
@ NPC_RAJAXX
@ NPC_AYAMISS
@ NPC_OSSIRIAN
@ NPC_BURU
@ NPC_KURINAXX
@ DATA_PARALYZED
@ DATA_OSSIRIAN
@ DATA_RAJAXX
@ DATA_BURU
@ NUM_ENCOUNTER
@ DATA_AYAMISS
@ DATA_MOAM
@ DATA_KURINNAXX