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 *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 Load (char const *data)
 
virtual void CreatureLooted (Creature *, LootType)
 
virtual std::string GetSaveData ()
 
void SaveToDB ()
 
virtual void Update (uint32)
 
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 OnPlayerLeave (Player *)
 
virtual void OnPlayerAreaUpdate (Player *, uint32, uint32)
 
virtual void OnPlayerInWaterStateUpdate (Player *, bool)
 
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 DoRespawnGameObject (uint32 type)
 
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 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 (WorldPackets::WorldState::InitWorldStates &)
 
uint32 GetEncounterCount () const
 
void MarkAreaTriggerDone (uint32 id)
 
void ResetAreaTriggerDone (uint32 id)
 
bool IsAreaTriggerDone (uint32 id) const
 
virtual void DoAction (int32)
 
void DoForAllMinions (uint32 id, std::function< void(Creature *)> exec)
 
void StoreGameObjectState (ObjectGuid::LowType spawnId, uint8 state)
 
uint8 GetStoredGameObjectState (ObjectGuid::LowType spawnId) const
 
void LoadInstanceSavedGameobjectStateData ()
 
bool IsBossDone (uint32 bossId) const
 
bool AllBossesDone () const
 
bool AllBossesDone (std::initializer_list< uint32 > bossIds) const
 
TeamId GetTeamIdInInstance () const
 
void SetTeamIdInInstance (TeamId teamId)
 
bool IsTwoFactionInstance () const
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
virtual ~ZoneScript ()
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Public Attributes

uint32 m_auiEncounter [MAX_ENCOUNTER]
 
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
 
TaskScheduler scheduler
 

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 LoadSummonData (ObjectData const *data)
 
void SetSummoner (Creature *creature)
 
void AddObject (Creature *obj, bool add=true)
 
void RemoveObject (Creature *obj)
 
void AddObject (GameObject *obj, bool add=true)
 
void RemoveObject (GameObject *obj)
 
void AddObject (WorldObject *obj, uint32 type, bool add=true)
 
void RemoveObject (WorldObject *obj, uint32 type)
 
void AddDoor (GameObject *door, bool add=true)
 
void RemoveDoor (GameObject *door)
 
void AddMinion (Creature *minion, bool add=true)
 
void RemoveMinion (Creature *minion)
 
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)
 
void WriteSaveDataHeaders (std::ostringstream &data)
 
void WriteSaveDataBossStates (std::ostringstream &data)
 
void WritePersistentData (std::ostringstream &data)
 

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
32 : InstanceScript(map)
33 {
35 }
#define DataHeader
Definition blackrock_depths.h:23
Definition InstanceScript.h:143
void SetHeaders(std::string const &dataHeaders)
Definition InstanceScript.cpp:153

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.

360 {
361 switch (criteria_id)
362 {
363 case 12993: // Doesn't Go to Eleven (4524)
364 return bAchievEleven;
365 }
366 return false;
367 }
bool bAchievEleven
Definition instance_pit_of_saron.cpp:57

References bAchievEleven.

◆ GetCreatureEntry()

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

Reimplemented from ZoneScript.

86 {
87 uint32 entry = data->id1;
88 switch (entry)
89 {
92 return 0;
93 break;
96 return 0;
97 break;
98 }
99
100 return entry;
101 }
std::uint32_t uint32
Definition Define.h:107
@ TEAM_ALLIANCE
Definition SharedDefines.h:760
@ TEAM_HORDE
Definition SharedDefines.h:761
TeamId GetTeamIdInInstance() const
Definition InstanceScript.h:289
@ NPC_RESCUED_HORDE_SLAVE
Definition pit_of_saron.h:102
@ NPC_RESCUED_ALLIANCE_SLAVE
Definition pit_of_saron.h:101

References InstanceScript::GetTeamIdInInstance(), CreatureData::id1, NPC_RESCUED_ALLIANCE_SLAVE, NPC_RESCUED_HORDE_SLAVE, TEAM_ALLIANCE, and TEAM_HORDE.

◆ GetData()

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

Reimplemented from ZoneScript.

308 {
309 switch (type)
310 {
312 return InstanceProgress;
314 return GetTeamIdInInstance();
315 case DATA_GARFROST:
316 return m_auiEncounter[0];
317 case DATA_ICK:
318 return m_auiEncounter[1];
319 case DATA_TYRANNUS:
320 return m_auiEncounter[2];
321 }
322
323 return 0;
324 }
@ 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:37
uint32 InstanceProgress
Definition instance_pit_of_saron.cpp:38
@ DATA_INSTANCE_PROGRESS
Definition trial_of_the_champion.h:33
@ DATA_TEAMID_IN_INSTANCE
Definition trial_of_the_champion.h:44

References DATA_GARFROST, DATA_ICK, DATA_INSTANCE_PROGRESS, DATA_TEAMID_IN_INSTANCE, DATA_TYRANNUS, InstanceScript::GetTeamIdInInstance(), InstanceProgress, and m_auiEncounter.

Referenced by OnGameObjectCreate(), and SetData().

◆ GetGuidData()

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

Reimplemented from ZoneScript.

327 {
328 switch (type)
329 {
333 return NPC_Necrolyte1GUID;
335 return NPC_Necrolyte2GUID;
337 return NPC_GuardFirstGUID;
339 return NPC_GuardSecondGUID;
341 return NPC_LeaderFirstGUID;
343 return NPC_GarfrostGUID;
347 return NPC_RimefangGUID;
349 return NPC_TyrannusGUID;
353 return NPC_SindragosaGUID;
354 }
355
356 return ObjectGuid::Empty;
357 }
static ObjectGuid const Empty
Definition ObjectGuid.h:120
@ 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
ObjectGuid NPC_Necrolyte1GUID
Definition instance_pit_of_saron.cpp:44
ObjectGuid NPC_Necrolyte2GUID
Definition instance_pit_of_saron.cpp:45
ObjectGuid NPC_TyrannusGUID
Definition instance_pit_of_saron.cpp:53
ObjectGuid NPC_GuardSecondGUID
Definition instance_pit_of_saron.cpp:47
ObjectGuid NPC_MartinOrGorkunGUID
Definition instance_pit_of_saron.cpp:51
ObjectGuid NPC_GuardFirstGUID
Definition instance_pit_of_saron.cpp:46
ObjectGuid NPC_SindragosaGUID
Definition instance_pit_of_saron.cpp:48
ObjectGuid NPC_LeaderSecondGUID
Definition instance_pit_of_saron.cpp:42
ObjectGuid NPC_LeaderFirstGUID
Definition instance_pit_of_saron.cpp:41
ObjectGuid NPC_GarfrostGUID
Definition instance_pit_of_saron.cpp:50
ObjectGuid NPC_RimefangGUID
Definition instance_pit_of_saron.cpp:52
ObjectGuid NPC_TyrannusEventGUID
Definition instance_pit_of_saron.cpp:43

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.

61 {
62 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:58

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

◆ 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:109
@ IN_PROGRESS
Definition InstanceScript.h:59
#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 ZoneScript.

104 {
105 switch (creature->GetEntry())
106 {
109 creature->UpdateEntry(NPC_JAINA_PART1);
110 NPC_LeaderFirstGUID = creature->GetGUID();
111
112 switch (InstanceProgress)
113 {
115 creature->SetPosition(LeaderIntroPos);
116 break;
122 creature->SetPosition(SBSLeaderEndPos);
123 break;
124 }
125 break;
128 creature->UpdateEntry(NPC_JAINA_PART2);
129 NPC_LeaderSecondGUID = creature->GetGUID();
130 break;
133 {
134 switch (InstanceProgress)
135 {
138 break;
141 break;
144 break;
147 break;
151 break;
152 }
153 NPC_TyrannusEventGUID = creature->GetGUID();
154 }
155 break;
156 case NPC_LORALEN:
158 creature->UpdateEntry(NPC_ELANDRA);
160 NPC_GuardFirstGUID = creature->GetGUID();
161 break;
162 case NPC_KALIRA:
164 creature->UpdateEntry(NPC_KORELN);
166 NPC_GuardSecondGUID = creature->GetGUID();
167 break;
171 break;
175 break;
179 break;
183 break;
187 break;
188 case NPC_GARFROST:
189 NPC_GarfrostGUID = creature->GetGUID();
190 break;
194 break;
198 break;
202 break;
206 {
207 c->AI()->DoAction(1); // despawn summons
208 c->DespawnOrUnsummon();
209 }
212 NPC_MartinOrGorkunGUID = creature->GetGUID();
213 break;
214 case NPC_RIMEFANG:
215 NPC_RimefangGUID = creature->GetGUID();
216 if (m_auiEncounter[2] == DONE)
217 creature->SetVisible(false);
218 break;
219 case NPC_TYRANNUS:
222 c->DespawnOrUnsummon();
223 NPC_TyrannusGUID = creature->GetGUID();
224
225 if (m_auiEncounter[2] == DONE)
226 creature->SetVisible(false);
227 break;
228 case NPC_SINDRAGOSA:
229 NPC_SindragosaGUID = creature->GetGUID();
230 break;
231 }
232 }
@ DONE
Definition InstanceScript.h:61
Definition Creature.h:43
void SetPosition(float x, float y, float z, float o)
Definition Creature.cpp:3171
bool UpdateEntry(uint32 entry, const CreatureData *data=nullptr, bool changelevel=true, bool updateAI=false)
Definition Creature.cpp:542
Map * instance
Definition InstanceScript.h:149
Creature * GetCreature(ObjectGuid const guid)
Definition Map.cpp:2498
uint32 GetEntry() const
Definition Object.h:115
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:112
void SetVisible(bool x)
Definition Unit.cpp:14284
@ 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

References DONE, Map::GetCreature(), Object::GetEntry(), Object::GetGUID(), InstanceScript::GetTeamIdInInstance(), 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, 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, and Creature::UpdateEntry().

◆ OnGameObjectCreate()

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

Reimplemented from ZoneScript.

235 {
236 switch (go->GetEntry())
237 {
238 case GO_ICE_WALL:
239 GO_IceWallGUID = go->GetGUID();
242 break;
243 }
244 }
@ GO_STATE_ACTIVE
Definition GameObjectData.h:689
void SetGoState(GOState state)
Definition GameObject.cpp:2462
@ GO_ICE_WALL
Definition halls_of_reflection.h:93
ObjectGuid GO_IceWallGUID
Definition instance_pit_of_saron.cpp:55
uint32 GetData(uint32 type) const override
Definition instance_pit_of_saron.cpp:307

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 player)
inlineoverridevirtual

Reimplemented from InstanceScript.

78 {
80
82 c->AI()->SetData(DATA_START_INTRO, 0);
83 }
virtual void OnPlayerEnter(Player *)
Definition InstanceScript.cpp:58
@ DATA_START_INTRO
Definition pit_of_saron.h:51
ObjectGuid GetGuidData(uint32 type) const override
Definition instance_pit_of_saron.cpp:326

References DATA_LEADER_FIRST_GUID, DATA_START_INTRO, Map::GetCreature(), GetGuidData(), InstanceScript::instance, and InstanceScript::OnPlayerEnter().

◆ ReadSaveDataMore()

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

Reimplemented from InstanceScript.

370 {
371 data >> m_auiEncounter[0];
372 data >> m_auiEncounter[1];
373 data >> m_auiEncounter[2];
374 data >> InstanceProgress;
375 }

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.

247 {
248 switch (type)
249 {
251 if (InstanceProgress < data)
252 {
253 InstanceProgress = data;
256 }
257 break;
258 case DATA_GARFROST:
259 m_auiEncounter[0] = data;
260 if (data == DONE)
262 else // NOT_STARTED, IN_PROGRESS
263 bAchievEleven = true;
264 if (data == DONE && GetData(DATA_ICK) == DONE)
266 icewall->SetGoState(GO_STATE_ACTIVE);
267 break;
268 case DATA_ICK:
269 m_auiEncounter[1] = data;
270 if (data == DONE && GetData(DATA_GARFROST) == DONE)
272 icewall->SetGoState(GO_STATE_ACTIVE);
273 break;
274 case DATA_TYRANNUS:
275 m_auiEncounter[2] = data;
276 if (data == DONE)
278 break;
280 bAchievEleven = false;
281 break;
283 bAchievDontLookUp = false;
284 break;
285 }
286
287 if (data == DONE || type == DATA_INSTANCE_PROGRESS)
288 SaveToDB();
289 }
@ DUNGEON_DIFFICULTY_HEROIC
Definition DBCEnums.h:270
@ ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET
Definition DBCEnums.h:142
Definition GameObject.h:120
void DoUpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
Definition InstanceScript.cpp:656
void SaveToDB()
Definition InstanceScript.cpp:41
GameObject * GetGameObject(ObjectGuid const guid)
Definition Map.cpp:2503
Difficulty GetDifficulty() const
Definition Map.h:290
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:2174
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

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.

292 {
293 switch (type)
294 {
296 NPC_Necrolyte1GUID = data;
297 break;
299 NPC_Necrolyte2GUID = data;
300 break;
303 break;
304 }
305 }

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.

378 {
379 data << m_auiEncounter[0] << ' '
380 << m_auiEncounter[1] << ' '
381 << m_auiEncounter[2] << ' '
383 }

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

The documentation for this struct was generated from the following file: