AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
instance_pit_of_saron::instance_pit_of_saron_InstanceScript Struct Reference
Inheritance diagram for instance_pit_of_saron::instance_pit_of_saron_InstanceScript:
InstanceScript ZoneScript

Public Member Functions

 instance_pit_of_saron_InstanceScript (Map *map)
 
void Initialize () override
 
bool IsEncounterInProgress () const override
 
void OnPlayerEnter (Player *) override
 
uint32 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data) override
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *go) override
 
void SetData (uint32 type, uint32 data) override
 
void SetGuidData (uint32 type, ObjectGuid data) override
 
uint32 GetData (uint32 type) const override
 
ObjectGuid GetGuidData (uint32 type) const override
 
bool CheckAchievementCriteriaMeet (uint32 criteria_id, Player const *, Unit const *, uint32) override
 
void ReadSaveDataMore (std::istringstream &data) override
 
void WriteSaveDataMore (std::ostringstream &data) override
 
- Public Member Functions inherited from InstanceScript
 InstanceScript (Map *map)
 
 ~InstanceScript () override
 
virtual void Initialize ()
 
virtual void Load (char const *data)
 
virtual void CreatureLooted (Creature *, LootType)
 
virtual std::string GetSaveData ()
 
void SaveToDB ()
 
virtual void Update (uint32)
 
virtual bool IsEncounterInProgress () const
 
void OnCreatureCreate (Creature *creature) override
 
void OnCreatureRemove (Creature *creature) override
 
void OnGameObjectCreate (GameObject *go) override
 
void OnGameObjectRemove (GameObject *go) override
 
ObjectGuid GetObjectGuid (uint32 type) const
 
ObjectGuid GetGuidData (uint32 type) const override
 
CreatureGetCreature (uint32 type)
 
GameObjectGetGameObject (uint32 type)
 
virtual void OnPlayerEnter (Player *)
 
virtual void OnPlayerAreaUpdate (Player *, uint32, uint32)
 
void HandleGameObject (ObjectGuid guid, bool open, GameObject *go=nullptr)
 
void DoUseDoorOrButton (ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
 
void DoRespawnGameObject (ObjectGuid guid, uint32 timeToDespawn=MINUTE)
 
void DoRespawnCreature (ObjectGuid guid, bool force=false)
 
void DoRespawnCreature (uint32 type, bool force=false)
 
void DoUpdateWorldState (uint32 worldstateId, uint32 worldstateValue)
 
void DoSendNotifyToInstance (char const *format,...)
 
void DoUpdateAchievementCriteria (AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
 
void DoStartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
void DoStopTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
void DoRemoveAurasDueToSpellOnPlayers (uint32 spell)
 
void DoCastSpellOnPlayers (uint32 spell)
 
void DoCastSpellOnPlayer (Player *player, uint32 spell, bool includePets, bool includeControlled)
 
bool ServerAllowsTwoSideGroups ()
 
virtual bool SetBossState (uint32 id, EncounterState state)
 
EncounterState GetBossState (uint32 id) const
 
CreatureBoundary const * GetBossBoundary (uint32 id) const
 
BossInfo const * GetBossInfo (uint32 id) const
 
uint32 GetPersistentData (uint32 index) const
 
void StorePersistentData (uint32 index, uint32 data)
 
virtual bool CheckAchievementCriteriaMeet (uint32, Player const *, Unit const *=nullptr, uint32=0)
 
virtual bool CheckRequiredBosses (uint32, Player const *=nullptr) const
 
void SetCompletedEncountersMask (uint32 newMask, bool save)
 
uint32 GetCompletedEncounterMask () const
 
void SendEncounterUnit (uint32 type, Unit *unit=nullptr, uint8 param1=0, uint8 param2=0)
 
virtual void FillInitialWorldStates (WorldPacket &)
 
uint32 GetEncounterCount () const
 
void MarkAreaTriggerDone (uint32 id)
 
void ResetAreaTriggerDone (uint32 id)
 
bool IsAreaTriggerDone (uint32 id) const
 
virtual void DoAction (int32)
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
virtual ~ZoneScript ()
 
virtual uint32 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data)
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnCreatureCreate (Creature *)
 
virtual void OnCreatureRemove (Creature *)
 
virtual void OnGameObjectCreate (GameObject *)
 
virtual void OnGameObjectRemove (GameObject *)
 
virtual void OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
virtual ObjectGuid GetGuidData (uint32) const
 
virtual void SetGuidData (uint32, ObjectGuid)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Public Attributes

uint32 m_auiEncounter [MAX_ENCOUNTER]
 
TeamId teamIdInInstance
 
uint32 InstanceProgress
 
std::string str_data
 
ObjectGuid NPC_LeaderFirstGUID
 
ObjectGuid NPC_LeaderSecondGUID
 
ObjectGuid NPC_TyrannusEventGUID
 
ObjectGuid NPC_Necrolyte1GUID
 
ObjectGuid NPC_Necrolyte2GUID
 
ObjectGuid NPC_GuardFirstGUID
 
ObjectGuid NPC_GuardSecondGUID
 
ObjectGuid NPC_SindragosaGUID
 
ObjectGuid NPC_GarfrostGUID
 
ObjectGuid NPC_MartinOrGorkunGUID
 
ObjectGuid NPC_RimefangGUID
 
ObjectGuid NPC_TyrannusGUID
 
ObjectGuid GO_IceWallGUID
 
bool bAchievEleven
 
bool bAchievDontLookUp
 
- Public Attributes inherited from InstanceScript
Mapinstance
 

Additional Inherited Members

- Static Public Member Functions inherited from InstanceScript
static std::string GetBossStateName (uint8 state)
 
- Protected Member Functions inherited from InstanceScript
void SetHeaders (std::string const &dataHeaders)
 
void SetBossNumber (uint32 number)
 
void SetPersistentDataCount (uint32 number)
 
void LoadBossBoundaries (BossBoundaryData const &data)
 
void LoadDoorData (DoorData const *data)
 
void LoadMinionData (MinionData const *data)
 
void LoadObjectData (ObjectData const *creatureData, ObjectData const *gameObjectData)
 
void AddObject (Creature *obj, bool add)
 
void AddObject (GameObject *obj, bool add)
 
void AddObject (WorldObject *obj, uint32 type, bool add)
 
void AddDoor (GameObject *door, bool add)
 
void AddMinion (Creature *minion, bool add)
 
void UpdateDoorState (GameObject *door)
 
void UpdateMinionState (Creature *minion, EncounterState state)
 
bool ReadSaveDataHeaders (std::istringstream &data)
 
void ReadSaveDataBossStates (std::istringstream &data)
 
void ReadSavePersistentData (std::istringstream &data)
 
virtual void ReadSaveDataMore (std::istringstream &)
 
void WriteSaveDataHeaders (std::ostringstream &data)
 
void WriteSaveDataBossStates (std::ostringstream &data)
 
void WritePersistentData (std::ostringstream &data)
 
virtual void WriteSaveDataMore (std::ostringstream &)
 

Detailed Description

Constructor & Destructor Documentation

◆ instance_pit_of_saron_InstanceScript()

instance_pit_of_saron::instance_pit_of_saron_InstanceScript::instance_pit_of_saron_InstanceScript ( Map map)
inline
30 : InstanceScript(map)
31 {
33 }
#define DataHeader
Definition: blackrock_depths.h:23
Definition: InstanceScript.h:140
void SetHeaders(std::string const &dataHeaders)
Definition: InstanceScript.cpp:137

References DataHeader, and InstanceScript::SetHeaders().

Member Function Documentation

◆ CheckAchievementCriteriaMeet()

bool instance_pit_of_saron::instance_pit_of_saron_InstanceScript::CheckAchievementCriteriaMeet ( uint32  criteria_id,
Player const *  ,
Unit const *  ,
uint32   
)
inlineoverridevirtual

Reimplemented from InstanceScript.

375 {
376 switch(criteria_id)
377 {
378 case 12993: // Doesn't Go to Eleven (4524)
379 return bAchievEleven;
380 }
381 return false;
382 }
bool bAchievEleven
Definition: instance_pit_of_saron.cpp:56

References bAchievEleven.

◆ GetCreatureEntry()

uint32 instance_pit_of_saron::instance_pit_of_saron_InstanceScript::GetCreatureEntry ( ObjectGuid::LowType  ,
CreatureData const *  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

85 {
87 {
88 Map::PlayerList const& players = instance->GetPlayers();
89 if (!players.IsEmpty())
90 if (Player* player = players.begin()->GetSource())
91 teamIdInInstance = player->GetTeamId();
92 }
93
94 uint32 entry = data->id1;
95 switch (entry)
96 {
99 return 0;
100 break;
103 return 0;
104 break;
105 }
106
107 return entry;
108 }
std::uint32_t uint32
Definition: Define.h:108
@ NPC_RESCUED_HORDE_SLAVE
Definition: pit_of_saron.h:102
@ NPC_RESCUED_ALLIANCE_SLAVE
Definition: pit_of_saron.h:101
@ TEAM_NEUTRAL
Definition: SharedDefines.h:734
@ TEAM_ALLIANCE
Definition: SharedDefines.h:732
@ TEAM_HORDE
Definition: SharedDefines.h:733
bool IsEmpty() const
Definition: LinkedList.h:97
FROM * GetSource() const
Definition: Reference.h:97
Definition: Player.h:1046
Map * instance
Definition: InstanceScript.h:146
PlayerList const & GetPlayers() const
Definition: Map.h:484
Definition: MapRefMgr.h:26
iterator begin()
Definition: MapRefMgr.h:36
TeamId teamIdInInstance
Definition: instance_pit_of_saron.cpp:36

References MapRefMgr::begin(), Map::GetPlayers(), Reference< TO, FROM >::GetSource(), CreatureData::id1, InstanceScript::instance, LinkedListHead::IsEmpty(), NPC_RESCUED_ALLIANCE_SLAVE, NPC_RESCUED_HORDE_SLAVE, TEAM_ALLIANCE, TEAM_HORDE, TEAM_NEUTRAL, and teamIdInInstance.

◆ GetData()

uint32 instance_pit_of_saron::instance_pit_of_saron_InstanceScript::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from ZoneScript.

323 {
324 switch (type)
325 {
327 return InstanceProgress;
329 return teamIdInInstance;
330 case DATA_GARFROST:
331 return m_auiEncounter[0];
332 case DATA_ICK:
333 return m_auiEncounter[1];
334 case DATA_TYRANNUS:
335 return m_auiEncounter[2];
336 }
337
338 return 0;
339 }
@ DATA_INSTANCE_PROGRESS
Definition: trial_of_the_champion.h:34
@ DATA_TEAMID_IN_INSTANCE
Definition: trial_of_the_champion.h:45
@ DATA_ICK
Definition: pit_of_saron.h:31
@ DATA_GARFROST
Definition: pit_of_saron.h:30
@ DATA_TYRANNUS
Definition: pit_of_saron.h:32
uint32 m_auiEncounter[MAX_ENCOUNTER]
Definition: instance_pit_of_saron.cpp:35
uint32 InstanceProgress
Definition: instance_pit_of_saron.cpp:37

References DATA_GARFROST, DATA_ICK, DATA_INSTANCE_PROGRESS, DATA_TEAMID_IN_INSTANCE, DATA_TYRANNUS, InstanceProgress, m_auiEncounter, and teamIdInInstance.

Referenced by OnGameObjectCreate(), and SetData().

◆ GetGuidData()

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::GetGuidData ( uint32  type) const
inlineoverridevirtual

Reimplemented from InstanceScript.

342 {
343 switch (type)
344 {
348 return NPC_Necrolyte1GUID;
350 return NPC_Necrolyte2GUID;
352 return NPC_GuardFirstGUID;
354 return NPC_GuardSecondGUID;
356 return NPC_LeaderFirstGUID;
358 return NPC_GarfrostGUID;
362 return NPC_RimefangGUID;
364 return NPC_TyrannusGUID;
368 return NPC_SindragosaGUID;
369 }
370
371 return ObjectGuid::Empty;
372 }
@ DATA_GUARD_1_GUID
Definition: pit_of_saron.h:40
@ DATA_LEADER_FIRST_GUID
Definition: pit_of_saron.h:42
@ DATA_NECROLYTE_1_GUID
Definition: pit_of_saron.h:38
@ DATA_TYRANNUS_EVENT_GUID
Definition: pit_of_saron.h:37
@ DATA_SINDRAGOSA_GUID
Definition: pit_of_saron.h:48
@ DATA_LEADER_SECOND_GUID
Definition: pit_of_saron.h:47
@ DATA_MARTIN_OR_GORKUN_GUID
Definition: pit_of_saron.h:44
@ DATA_NECROLYTE_2_GUID
Definition: pit_of_saron.h:39
@ DATA_TYRANNUS_GUID
Definition: pit_of_saron.h:46
@ DATA_GUARD_2_GUID
Definition: pit_of_saron.h:41
@ DATA_GARFROST_GUID
Definition: pit_of_saron.h:43
@ DATA_RIMEFANG_GUID
Definition: pit_of_saron.h:45
static ObjectGuid const Empty
Definition: ObjectGuid.h:122
ObjectGuid NPC_Necrolyte1GUID
Definition: instance_pit_of_saron.cpp:43
ObjectGuid NPC_Necrolyte2GUID
Definition: instance_pit_of_saron.cpp:44
ObjectGuid NPC_TyrannusGUID
Definition: instance_pit_of_saron.cpp:52
ObjectGuid NPC_GuardSecondGUID
Definition: instance_pit_of_saron.cpp:46
ObjectGuid NPC_MartinOrGorkunGUID
Definition: instance_pit_of_saron.cpp:50
ObjectGuid NPC_GuardFirstGUID
Definition: instance_pit_of_saron.cpp:45
ObjectGuid NPC_SindragosaGUID
Definition: instance_pit_of_saron.cpp:47
ObjectGuid NPC_LeaderSecondGUID
Definition: instance_pit_of_saron.cpp:41
ObjectGuid NPC_LeaderFirstGUID
Definition: instance_pit_of_saron.cpp:40
ObjectGuid NPC_GarfrostGUID
Definition: instance_pit_of_saron.cpp:49
ObjectGuid NPC_RimefangGUID
Definition: instance_pit_of_saron.cpp:51
ObjectGuid NPC_TyrannusEventGUID
Definition: instance_pit_of_saron.cpp:42

References DATA_GARFROST_GUID, DATA_GUARD_1_GUID, DATA_GUARD_2_GUID, DATA_LEADER_FIRST_GUID, DATA_LEADER_SECOND_GUID, DATA_MARTIN_OR_GORKUN_GUID, DATA_NECROLYTE_1_GUID, DATA_NECROLYTE_2_GUID, DATA_RIMEFANG_GUID, DATA_SINDRAGOSA_GUID, DATA_TYRANNUS_EVENT_GUID, DATA_TYRANNUS_GUID, ObjectGuid::Empty, NPC_GarfrostGUID, NPC_GuardFirstGUID, NPC_GuardSecondGUID, NPC_LeaderFirstGUID, NPC_LeaderSecondGUID, NPC_MartinOrGorkunGUID, NPC_Necrolyte1GUID, NPC_Necrolyte2GUID, NPC_RimefangGUID, NPC_SindragosaGUID, NPC_TyrannusEventGUID, and NPC_TyrannusGUID.

Referenced by OnPlayerEnter().

◆ Initialize()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::Initialize ( )
inlineoverridevirtual

Reimplemented from InstanceScript.

60 {
61 memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
64
65 bAchievEleven = true;
66 bAchievDontLookUp = true;
67 }
@ INSTANCE_PROGRESS_NONE
Definition: pit_of_saron.h:56
bool bAchievDontLookUp
Definition: instance_pit_of_saron.cpp:57

References bAchievDontLookUp, bAchievEleven, INSTANCE_PROGRESS_NONE, InstanceProgress, m_auiEncounter, TEAM_NEUTRAL, and teamIdInInstance.

◆ IsEncounterInProgress()

bool instance_pit_of_saron::instance_pit_of_saron_InstanceScript::IsEncounterInProgress ( ) const
inlineoverridevirtual

Reimplemented from InstanceScript.

70 {
71 for (uint8 i = 0; i < MAX_ENCOUNTER; ++i)
72 if (m_auiEncounter[i] == IN_PROGRESS) return true;
73
74 return false;
75 }
std::uint8_t uint8
Definition: Define.h:110
@ IN_PROGRESS
Definition: InstanceScript.h:57
#define MAX_ENCOUNTER
Definition: violet_hold.h:21

References IN_PROGRESS, m_auiEncounter, and MAX_ENCOUNTER.

◆ OnCreatureCreate()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from InstanceScript.

111 {
113 {
114 Map::PlayerList const& players = instance->GetPlayers();
115 if (!players.IsEmpty())
116 if (Player* player = players.begin()->GetSource())
117 teamIdInInstance = player->GetTeamId();
118 }
119
120 switch (creature->GetEntry())
121 {
124 creature->UpdateEntry(NPC_JAINA_PART1);
125 NPC_LeaderFirstGUID = creature->GetGUID();
126
127 switch (InstanceProgress)
128 {
130 creature->SetPosition(LeaderIntroPos);
131 break;
137 creature->SetPosition(SBSLeaderEndPos);
138 break;
139 }
140 break;
143 creature->UpdateEntry(NPC_JAINA_PART2);
144 NPC_LeaderSecondGUID = creature->GetGUID();
145 break;
148 {
149 switch (InstanceProgress)
150 {
153 break;
156 break;
159 break;
162 break;
166 break;
167 }
168 NPC_TyrannusEventGUID = creature->GetGUID();
169 }
170 break;
171 case NPC_LORALEN:
173 creature->UpdateEntry(NPC_ELANDRA);
175 NPC_GuardFirstGUID = creature->GetGUID();
176 break;
177 case NPC_KALIRA:
179 creature->UpdateEntry(NPC_KORELN);
181 NPC_GuardSecondGUID = creature->GetGUID();
182 break;
186 break;
190 break;
194 break;
198 break;
202 break;
203 case NPC_GARFROST:
204 NPC_GarfrostGUID = creature->GetGUID();
205 break;
209 break;
213 break;
217 break;
221 {
222 c->AI()->DoAction(1); // despawn summons
223 c->DespawnOrUnsummon();
224 }
227 NPC_MartinOrGorkunGUID = creature->GetGUID();
228 break;
229 case NPC_RIMEFANG:
230 NPC_RimefangGUID = creature->GetGUID();
231 if (m_auiEncounter[2] == DONE)
232 creature->SetVisible(false);
233 break;
234 case NPC_TYRANNUS:
237 c->DespawnOrUnsummon();
238 NPC_TyrannusGUID = creature->GetGUID();
239
240 if (m_auiEncounter[2] == DONE)
241 creature->SetVisible(false);
242 break;
243 case NPC_SINDRAGOSA:
244 NPC_SindragosaGUID = creature->GetGUID();
245 break;
246 }
247 }
@ DONE
Definition: InstanceScript.h:59
@ NPC_JAINA_PART1
Definition: forge_of_souls.h:42
@ NPC_JAINA_PART2
Definition: forge_of_souls.h:43
@ NPC_KALIRA
Definition: forge_of_souls.h:44
@ NPC_KORELN
Definition: forge_of_souls.h:47
@ NPC_SYLVANAS_PART2
Definition: forge_of_souls.h:41
@ NPC_LORALEN
Definition: forge_of_souls.h:46
@ NPC_ELANDRA
Definition: forge_of_souls.h:45
@ NPC_SYLVANAS_PART1
Definition: forge_of_souls.h:40
const Position LeaderIntroPos
Definition: pit_of_saron.h:167
const Position PTSTyrannusWaitPos1
Definition: pit_of_saron.h:264
const Position SBSLeaderEndPos
Definition: pit_of_saron.h:242
const Position PTSTyrannusWaitPos2
Definition: pit_of_saron.h:265
@ NPC_FREED_SLAVE_1_ALLIANCE
Definition: pit_of_saron.h:116
@ NPC_HORDE_SLAVE_3
Definition: pit_of_saron.h:94
@ NPC_RIMEFANG
Definition: pit_of_saron.h:71
@ NPC_ALLIANCE_SLAVE_2
Definition: pit_of_saron.h:97
@ NPC_FREED_SLAVE_3_HORDE
Definition: pit_of_saron.h:121
@ NPC_FREED_SLAVE_3_ALLIANCE
Definition: pit_of_saron.h:118
@ NPC_GARFROST
Definition: pit_of_saron.h:67
@ NPC_FREED_SLAVE_2_HORDE
Definition: pit_of_saron.h:120
@ NPC_SINDRAGOSA
Definition: pit_of_saron.h:72
@ NPC_HORDE_SLAVE_2
Definition: pit_of_saron.h:93
@ NPC_HORDE_SLAVE_1
Definition: pit_of_saron.h:92
@ NPC_GORKUN_IRONSKULL_2
Definition: pit_of_saron.h:115
@ NPC_TYRANNUS_EVENT
Definition: pit_of_saron.h:74
@ NPC_FREED_SLAVE_1_HORDE
Definition: pit_of_saron.h:119
@ NPC_MARTIN_VICTUS_1
Definition: pit_of_saron.h:111
@ NPC_TYRANNUS
Definition: pit_of_saron.h:70
@ NPC_ALLIANCE_SLAVE_4
Definition: pit_of_saron.h:99
@ NPC_MARTIN_VICTUS_2
Definition: pit_of_saron.h:114
@ NPC_HORDE_SLAVE_4
Definition: pit_of_saron.h:95
@ NPC_ALLIANCE_SLAVE_3
Definition: pit_of_saron.h:98
@ NPC_FREED_SLAVE_2_ALLIANCE
Definition: pit_of_saron.h:117
@ NPC_ALLIANCE_SLAVE_1
Definition: pit_of_saron.h:96
@ NPC_GORKUN_IRONSKULL_1
Definition: pit_of_saron.h:112
const Position SBSTyrannusStartPos
Definition: pit_of_saron.h:240
const Position PTSTyrannusWaitPos3
Definition: pit_of_saron.h:266
@ INSTANCE_PROGRESS_FINISHED_INTRO
Definition: pit_of_saron.h:57
@ INSTANCE_PROGRESS_AFTER_WARN_1
Definition: pit_of_saron.h:59
@ INSTANCE_PROGRESS_FINISHED_KRICK_SCENE
Definition: pit_of_saron.h:58
@ INSTANCE_PROGRESS_TYRANNUS_INTRO
Definition: pit_of_saron.h:62
@ INSTANCE_PROGRESS_AFTER_WARN_2
Definition: pit_of_saron.h:60
@ INSTANCE_PROGRESS_AFTER_TUNNEL_WARN
Definition: pit_of_saron.h:61
Definition: Creature.h:46
void SetPosition(float x, float y, float z, float o)
Definition: Creature.cpp:3055
bool UpdateEntry(uint32 entry, const CreatureData *data=nullptr, bool changelevel=true, bool updateAI=false)
Definition: Creature.cpp:483
uint32 GetEntry() const
Definition: Object.h:109
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:106
void SetVisible(bool x)
Definition: Unit.cpp:14129
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3293

References MapRefMgr::begin(), DONE, Map::GetCreature(), Object::GetEntry(), Object::GetGUID(), Map::GetPlayers(), Reference< TO, FROM >::GetSource(), InstanceScript::instance, INSTANCE_PROGRESS_AFTER_TUNNEL_WARN, INSTANCE_PROGRESS_AFTER_WARN_1, INSTANCE_PROGRESS_AFTER_WARN_2, INSTANCE_PROGRESS_FINISHED_INTRO, INSTANCE_PROGRESS_FINISHED_KRICK_SCENE, INSTANCE_PROGRESS_TYRANNUS_INTRO, InstanceProgress, LinkedListHead::IsEmpty(), LeaderIntroPos, m_auiEncounter, NPC_ALLIANCE_SLAVE_1, NPC_ALLIANCE_SLAVE_2, NPC_ALLIANCE_SLAVE_3, NPC_ALLIANCE_SLAVE_4, NPC_ELANDRA, NPC_FREED_SLAVE_1_ALLIANCE, NPC_FREED_SLAVE_1_HORDE, NPC_FREED_SLAVE_2_ALLIANCE, NPC_FREED_SLAVE_2_HORDE, NPC_FREED_SLAVE_3_ALLIANCE, NPC_FREED_SLAVE_3_HORDE, NPC_GARFROST, NPC_GarfrostGUID, NPC_GORKUN_IRONSKULL_1, NPC_GORKUN_IRONSKULL_2, NPC_GuardFirstGUID, NPC_GuardSecondGUID, NPC_HORDE_SLAVE_1, NPC_HORDE_SLAVE_2, NPC_HORDE_SLAVE_3, NPC_HORDE_SLAVE_4, NPC_JAINA_PART1, NPC_JAINA_PART2, NPC_KALIRA, NPC_KORELN, NPC_LeaderFirstGUID, NPC_LeaderSecondGUID, NPC_LORALEN, NPC_MARTIN_VICTUS_1, NPC_MARTIN_VICTUS_2, NPC_MartinOrGorkunGUID, NPC_RIMEFANG, NPC_RimefangGUID, NPC_SINDRAGOSA, NPC_SindragosaGUID, NPC_SYLVANAS_PART1, NPC_SYLVANAS_PART2, NPC_TYRANNUS, NPC_TYRANNUS_EVENT, NPC_TyrannusEventGUID, NPC_TyrannusGUID, PTSTyrannusWaitPos1, PTSTyrannusWaitPos2, PTSTyrannusWaitPos3, SBSLeaderEndPos, SBSTyrannusStartPos, Creature::SetPosition(), Unit::SetVisible(), TEAM_ALLIANCE, TEAM_NEUTRAL, teamIdInInstance, and Creature::UpdateEntry().

◆ OnGameObjectCreate()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::OnGameObjectCreate ( GameObject go)
inlineoverridevirtual

Reimplemented from InstanceScript.

250 {
251 switch (go->GetEntry())
252 {
253 case GO_ICE_WALL:
254 GO_IceWallGUID = go->GetGUID();
257 break;
258 }
259 }
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_ICE_WALL
Definition: halls_of_reflection.h:98
void SetGoState(GOState state)
Definition: GameObject.cpp:2467
ObjectGuid GO_IceWallGUID
Definition: instance_pit_of_saron.cpp:54
uint32 GetData(uint32 type) const override
Definition: instance_pit_of_saron.cpp:322

References DATA_GARFROST, DATA_ICK, DONE, GetData(), Object::GetEntry(), Object::GetGUID(), GO_ICE_WALL, GO_IceWallGUID, GO_STATE_ACTIVE, and GameObject::SetGoState().

◆ OnPlayerEnter()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::OnPlayerEnter ( Player )
inlineoverridevirtual

Reimplemented from InstanceScript.

78 {
81 c->AI()->SetData(DATA_START_INTRO, 0);
82 }
@ DATA_START_INTRO
Definition: pit_of_saron.h:51
float GetPositionX() const
Definition: Position.h:117
float GetPositionY() const
Definition: Position.h:118
void LoadGrid(float x, float y)
Definition: Map.cpp:494
ObjectGuid GetGuidData(uint32 type) const override
Definition: instance_pit_of_saron.cpp:341

References DATA_LEADER_FIRST_GUID, DATA_START_INTRO, Map::GetCreature(), GetGuidData(), Position::GetPositionX(), Position::GetPositionY(), InstanceScript::instance, LeaderIntroPos, and Map::LoadGrid().

◆ ReadSaveDataMore()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

385 {
386 data >> m_auiEncounter[0];
387 data >> m_auiEncounter[1];
388 data >> m_auiEncounter[2];
389 data >> InstanceProgress;
390 }

References InstanceProgress, and m_auiEncounter.

◆ SetData()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

262 {
263 switch(type)
264 {
266 if (InstanceProgress < data)
267 {
268 InstanceProgress = data;
271 }
272 break;
273 case DATA_GARFROST:
274 m_auiEncounter[0] = data;
275 if (data == DONE)
277 else // NOT_STARTED, IN_PROGRESS
278 bAchievEleven = true;
279 if (data == DONE && GetData(DATA_ICK) == DONE)
281 icewall->SetGoState(GO_STATE_ACTIVE);
282 break;
283 case DATA_ICK:
284 m_auiEncounter[1] = data;
285 if (data == DONE && GetData(DATA_GARFROST) == DONE)
287 icewall->SetGoState(GO_STATE_ACTIVE);
288 break;
289 case DATA_TYRANNUS:
290 m_auiEncounter[2] = data;
291 if (data == DONE)
293 break;
295 bAchievEleven = false;
296 break;
298 bAchievDontLookUp = false;
299 break;
300 }
301
302 if (data == DONE || type == DATA_INSTANCE_PROGRESS)
303 SaveToDB();
304 }
const Position FBSSpawnPos
Definition: pit_of_saron.h:213
const Position TSLeaderSpawnPos
Definition: pit_of_saron.h:282
@ DATA_ACHIEV_DONT_LOOK_UP
Definition: pit_of_saron.h:50
@ DATA_ACHIEV_ELEVEN
Definition: pit_of_saron.h:49
@ DUNGEON_DIFFICULTY_HEROIC
Definition: DBCEnums.h:275
@ ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET
Definition: DBCEnums.h:148
Definition: GameObject.h:122
void DoUpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
Definition: InstanceScript.cpp:554
void SaveToDB()
Definition: InstanceScript.cpp:41
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3298
Difficulty GetDifficulty() const
Definition: Map.h:442
TempSummon * SummonCreature(uint32 entry, Position const &pos, SummonPropertiesEntry const *properties=nullptr, uint32 duration=0, WorldObject *summoner=nullptr, uint32 spellId=0, uint32 vehId=0, bool visibleBySummonerOnly=false)
Definition: Object.cpp:2129

References ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, bAchievDontLookUp, bAchievEleven, DATA_ACHIEV_DONT_LOOK_UP, DATA_ACHIEV_ELEVEN, DATA_GARFROST, DATA_ICK, DATA_INSTANCE_PROGRESS, DATA_TYRANNUS, DONE, InstanceScript::DoUpdateAchievementCriteria(), DUNGEON_DIFFICULTY_HEROIC, FBSSpawnPos, GetData(), Map::GetDifficulty(), Map::GetGameObject(), GO_IceWallGUID, GO_STATE_ACTIVE, InstanceScript::instance, INSTANCE_PROGRESS_TYRANNUS_INTRO, InstanceProgress, m_auiEncounter, NPC_GORKUN_IRONSKULL_1, NPC_SYLVANAS_PART2, InstanceScript::SaveToDB(), Map::SummonCreature(), and TSLeaderSpawnPos.

◆ SetGuidData()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::SetGuidData ( uint32  type,
ObjectGuid  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

307 {
308 switch(type)
309 {
311 NPC_Necrolyte1GUID = data;
312 break;
314 NPC_Necrolyte2GUID = data;
315 break;
318 break;
319 }
320 }

References DATA_MARTIN_OR_GORKUN_GUID, DATA_NECROLYTE_1_GUID, DATA_NECROLYTE_2_GUID, NPC_MartinOrGorkunGUID, NPC_Necrolyte1GUID, and NPC_Necrolyte2GUID.

◆ WriteSaveDataMore()

void instance_pit_of_saron::instance_pit_of_saron_InstanceScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

393 {
394 data << m_auiEncounter[0] << ' '
395 << m_auiEncounter[1] << ' '
396 << m_auiEncounter[2] << ' '
398 }

References InstanceProgress, and m_auiEncounter.

Member Data Documentation

◆ bAchievDontLookUp

bool instance_pit_of_saron::instance_pit_of_saron_InstanceScript::bAchievDontLookUp

Referenced by Initialize(), and SetData().

◆ bAchievEleven

bool instance_pit_of_saron::instance_pit_of_saron_InstanceScript::bAchievEleven

◆ GO_IceWallGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::GO_IceWallGUID

Referenced by OnGameObjectCreate(), and SetData().

◆ InstanceProgress

uint32 instance_pit_of_saron::instance_pit_of_saron_InstanceScript::InstanceProgress

◆ m_auiEncounter

uint32 instance_pit_of_saron::instance_pit_of_saron_InstanceScript::m_auiEncounter[MAX_ENCOUNTER]

◆ NPC_GarfrostGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_GarfrostGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_GuardFirstGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_GuardFirstGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_GuardSecondGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_GuardSecondGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_LeaderFirstGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_LeaderFirstGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_LeaderSecondGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_LeaderSecondGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_MartinOrGorkunGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_MartinOrGorkunGUID

◆ NPC_Necrolyte1GUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_Necrolyte1GUID

Referenced by GetGuidData(), and SetGuidData().

◆ NPC_Necrolyte2GUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_Necrolyte2GUID

Referenced by GetGuidData(), and SetGuidData().

◆ NPC_RimefangGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_RimefangGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_SindragosaGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_SindragosaGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_TyrannusEventGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_TyrannusEventGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ NPC_TyrannusGUID

ObjectGuid instance_pit_of_saron::instance_pit_of_saron_InstanceScript::NPC_TyrannusGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ str_data

std::string instance_pit_of_saron::instance_pit_of_saron_InstanceScript::str_data

◆ teamIdInInstance

TeamId instance_pit_of_saron::instance_pit_of_saron_InstanceScript::teamIdInInstance