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

Public Member Functions

 instance_stratholme_InstanceMapScript (Map *map)
 
void Initialize () override
 
void OnPlayerEnter (Player *player) override
 
void OnCreatureCreate (Creature *creature) override
 
void ProcessSlaughterEvent ()
 
void OnUnitDeath (Unit *unit) override
 
void OnGameObjectCreate (GameObject *go) override
 
void CheckZiggurats ()
 
void DoSpawnPlaguedCritters (uint8, Player *player)
 
void SetData (uint32 type, uint32 data) override
 
void SetGuidData (uint32 type, ObjectGuid data) override
 
void ReadSaveDataMore (std::istringstream &data) override
 
void WriteSaveDataMore (std::ostringstream &data) override
 
uint32 GetData (uint32 type) const override
 
void Update (uint32 diff) 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 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 OnPlayerLeave (Player *)
 
virtual void OnPlayerAreaUpdate (Player *, uint32, uint32)
 
virtual void OnPlayerInWaterStateUpdate (Player *, bool)
 
void HandleGameObject (ObjectGuid guid, bool open, GameObject *go=nullptr)
 Open or close a GameObject by GUID.
 
void HandleGameObject (uint32 type, bool open)
 Open or close a GameObject registered via LoadObjectData.
 
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 CheckAchievementCriteriaMeet (uint32, Player const *, Unit const *=nullptr, uint32=0)
 
virtual bool CheckRequiredBosses (uint32, Player const *=nullptr) const
 
bool _SkipCheckRequiredBosses (Player const *player=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 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data)
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnCreatureEvade (Creature *)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Private Member Functions

void SpawnScarletThread ()
 
void gate_delay (int gate)
 
void gate_critter_delay (int gate)
 

Private Attributes

uint32 _baronRunProgress
 
uint32 _baronRunTime
 
uint32 _zigguratState1
 
uint32 _zigguratState2
 
uint32 _zigguratState3
 
uint32 _slaughterProgress
 
uint32 _slaughterNPCs
 
uint32 _barthilasrunProgress {}
 
uint32 _postboxesOpened
 
EventMap events
 
ObjectGuid _zigguratDoorsGUID1
 
ObjectGuid _zigguratDoorsGUID2
 
ObjectGuid _zigguratDoorsGUID3
 
ObjectGuid _zigguratDoorsGUID4
 
ObjectGuid _zigguratDoorsGUID5
 
ObjectGuid _slaughterGateGUID
 
ObjectGuid _gauntletGateGUID
 
ObjectGuid _baronRivendareGUID
 
ObjectGuid _barthilasGUID
 
bool _gateTrapsCooldown [2]
 
ObjectGuid _trappedPlayerGUID
 
ObjectGuid _trapGatesGUIDs [4]
 
uint8 _scarletThreadUsedLocations
 
uint8 _scarletThreadLocation
 
ObjectGuid _scarletThreadGUID
 

Additional Inherited Members

- Static Public Member Functions inherited from InstanceScript
static std::string GetBossStateName (uint8 state)
 
- Public Attributes inherited from InstanceScript
Mapinstance
 
TaskScheduler scheduler
 
- 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_stratholme_InstanceMapScript()

instance_stratholme::instance_stratholme_InstanceMapScript::instance_stratholme_InstanceMapScript ( Map map)
inline
72 : InstanceScript(map)
73 {
75 }
#define DataHeader
Definition blackrock_depths.h:23
Definition InstanceScript.h:143
void SetHeaders(std::string const &dataHeaders)
Definition InstanceScript.cpp:163

References DataHeader, and InstanceScript::SetHeaders().

Member Function Documentation

◆ CheckZiggurats()

void instance_stratholme::instance_stratholme_InstanceMapScript::CheckZiggurats ( )
inline
272 {
273 if (_zigguratState1 == 2 && _zigguratState2 == 2 && _zigguratState3 == 2)
274 {
276 baron->AI()->Talk(SAY_BRAON_ZIGGURAT_FALL_YELL);
277
279 gate->SetGoState(GO_STATE_ACTIVE);
281 gate->SetGoState(GO_STATE_ACTIVE);
282 }
283 }
@ GO_STATE_ACTIVE
Definition GameObjectData.h:708
Definition Creature.h:47
Definition GameObject.h:120
Map * instance
Definition InstanceScript.h:149
GameObject * GetGameObject(ObjectGuid const &guid)
Definition Map.cpp:2419
Creature * GetCreature(ObjectGuid const &guid)
Definition Map.cpp:2414
@ SAY_BRAON_ZIGGURAT_FALL_YELL
Definition stratholme.h:89
ObjectGuid _slaughterGateGUID
Definition instance_stratholme.cpp:636
ObjectGuid _gauntletGateGUID
Definition instance_stratholme.cpp:637
uint32 _zigguratState3
Definition instance_stratholme.cpp:624
uint32 _zigguratState2
Definition instance_stratholme.cpp:623
ObjectGuid _baronRivendareGUID
Definition instance_stratholme.cpp:638
uint32 _zigguratState1
Definition instance_stratholme.cpp:622

References _baronRivendareGUID, _gauntletGateGUID, _slaughterGateGUID, _zigguratState1, _zigguratState2, _zigguratState3, Map::GetCreature(), Map::GetGameObject(), GO_STATE_ACTIVE, InstanceScript::instance, and SAY_BRAON_ZIGGURAT_FALL_YELL.

Referenced by SetData().

◆ DoSpawnPlaguedCritters()

void instance_stratholme::instance_stratholme_InstanceMapScript::DoSpawnPlaguedCritters ( uint8  ,
Player player 
)
inline
286 {
287 if (!player)
288 return;
289
290 uint32 uiEntry = aPlaguedCritters[urand(0, 2)];
291 for (uint8 i = 0; i < 30; ++i)
292 {
293 float x, y, z;
294 const Position pPos = { player->GetPositionX(), player->GetPositionY(), player->GetPositionZ(), player->GetOrientation() };
295 player->GetRandomPoint(pPos, 8.0f, x, y, z);
296 z = player->GetPositionZ() + 1;
297 player->SummonCreature(uiEntry, x, y, z, 0, TEMPSUMMON_DEAD_DESPAWN, 0)->AI()->AttackStart(player);
298 }
299 }
std::uint8_t uint8
Definition Define.h:109
std::uint32_t uint32
Definition Define.h:107
@ TEMPSUMMON_DEAD_DESPAWN
Definition Object.h:55
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
CreatureAI * AI() const
Definition Creature.h:144
virtual void AttackStart(Unit *)
Definition UnitAI.cpp:29
TempSummon * SummonCreature(uint32 id, Position const &pos, TempSummonType spwtype=TEMPSUMMON_MANUAL_DESPAWN, uint32 despwtime=0, uint32 vehId=0, SummonPropertiesEntry const *properties=nullptr, bool visibleBySummonerOnly=false) const
Definition Object.cpp:2448
void GetRandomPoint(Position const &srcPos, float distance, float &rand_x, float &rand_y, float &rand_z) const
Definition Object.cpp:1562
static const uint32 aPlaguedCritters[]
Definition instance_stratholme.cpp:44
Definition Position.h:27
float GetPositionZ() const
Definition Position.h:123
float GetOrientation() const
Definition Position.h:124
float GetPositionX() const
Definition Position.h:121
float GetPositionY() const
Definition Position.h:122

References Creature::AI(), aPlaguedCritters, UnitAI::AttackStart(), Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), WorldObject::GetRandomPoint(), WorldObject::SummonCreature(), TEMPSUMMON_DEAD_DESPAWN, and urand().

Referenced by gate_critter_delay().

◆ gate_critter_delay()

void instance_stratholme::instance_stratholme_InstanceMapScript::gate_critter_delay ( int  gate)
inlineprivate
687 {
689 {
691 {
692 DoSpawnPlaguedCritters(gate, pPlayer);
693 }
694 }
695 }
Definition Player.h:1086
Player * GetPlayer(Map const *, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:244
ObjectGuid _trappedPlayerGUID
Definition instance_stratholme.cpp:642
void DoSpawnPlaguedCritters(uint8, Player *player)
Definition instance_stratholme.cpp:285

References _trappedPlayerGUID, DoSpawnPlaguedCritters(), ObjectAccessor::GetPlayer(), and InstanceScript::instance.

Referenced by Update().

◆ gate_delay()

void instance_stratholme::instance_stratholme_InstanceMapScript::gate_delay ( int  gate)
inlineprivate
675 {
676 if (_trapGatesGUIDs[2 * gate])
677 {
679 }
680 if (_trapGatesGUIDs[2 * gate + 1])
681 {
682 DoUseDoorOrButton(_trapGatesGUIDs[2 * gate + 1]);
683 }
684 }
void DoUseDoorOrButton(ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
Definition InstanceScript.cpp:570
ObjectGuid _trapGatesGUIDs[4]
Definition instance_stratholme.cpp:643

References _trapGatesGUIDs, and InstanceScript::DoUseDoorOrButton().

Referenced by Update().

◆ GetData()

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from ZoneScript.

434 {
435 switch (type)
436 {
437 case TYPE_ZIGGURAT1:
438 return _zigguratState1;
439 case TYPE_ZIGGURAT2:
440 return _zigguratState2;
441 case TYPE_ZIGGURAT3:
442 return _zigguratState3;
443 case TYPE_MALLOW:
444 return _postboxesOpened;
447 }
448 return 0;
449 }
@ TYPE_ZIGGURAT3
Definition stratholme.h:29
@ TYPE_ZIGGURAT1
Definition stratholme.h:27
@ TYPE_ZIGGURAT2
Definition stratholme.h:28
@ TYPE_BARTHILAS_RUN
Definition stratholme.h:32
@ TYPE_MALLOW
Definition stratholme.h:31
uint32 _postboxesOpened
Definition instance_stratholme.cpp:628
uint32 _barthilasrunProgress
Definition instance_stratholme.cpp:627

References _barthilasrunProgress, _postboxesOpened, _zigguratState1, _zigguratState2, _zigguratState3, TYPE_BARTHILAS_RUN, TYPE_MALLOW, TYPE_ZIGGURAT1, TYPE_ZIGGURAT2, and TYPE_ZIGGURAT3.

Referenced by OnGameObjectCreate().

◆ Initialize()

void instance_stratholme::instance_stratholme_InstanceMapScript::Initialize ( )
inlineoverridevirtual

Reimplemented from InstanceScript.

78 {
80 _baronRunTime = 0;
87
91
92 _gateTrapsCooldown[0] = false;
93 _gateTrapsCooldown[1] = false;
94
95 events.Reset();
96 }
events
Definition boss_sartura.cpp:43
void Clear()
Definition ObjectGuid.h:141
uint32 _slaughterNPCs
Definition instance_stratholme.cpp:626
bool _gateTrapsCooldown[2]
Definition instance_stratholme.cpp:641
uint32 _baronRunTime
Definition instance_stratholme.cpp:621
uint32 _baronRunProgress
Definition instance_stratholme.cpp:620
uint8 _scarletThreadLocation
Definition instance_stratholme.cpp:646
uint32 _slaughterProgress
Definition instance_stratholme.cpp:625
uint8 _scarletThreadUsedLocations
Definition instance_stratholme.cpp:645
ObjectGuid _scarletThreadGUID
Definition instance_stratholme.cpp:647

References _baronRunProgress, _baronRunTime, _gateTrapsCooldown, _postboxesOpened, _scarletThreadGUID, _scarletThreadLocation, _scarletThreadUsedLocations, _slaughterNPCs, _slaughterProgress, _zigguratState1, _zigguratState2, _zigguratState3, and ObjectGuid::Clear().

◆ OnCreatureCreate()

void instance_stratholme::instance_stratholme_InstanceMapScript::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from ZoneScript.

108 {
109 switch (creature->GetEntry())
110 {
112 _baronRivendareGUID = creature->GetGUID();
113 break;
115 case NPC_BILE_SPEWER:
116 if (_slaughterProgress == 0)
118 break;
120 if (_slaughterProgress == 1)
122 break;
124 if (_slaughterProgress == 2)
126 break;
127 case NPC_BLACK_GUARD:
128 if (_slaughterProgress == 3)
130 break;
131 case NPC_BARTHILAS:
132 _barthilasGUID = creature->GetGUID();
133 break;
134 default:
135 break;
136 }
137 }
uint32 GetEntry() const
Definition Object.h:117
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:114
@ NPC_MINDLESS_UNDEAD
Definition stratholme.h:48
@ NPC_BLACK_GUARD
Definition stratholme.h:49
@ NPC_BILE_SPEWER
Definition stratholme.h:45
@ NPC_BARON_RIVENDARE
Definition stratholme.h:44
@ NPC_RAMSTEIN_THE_GORGER
Definition stratholme.h:47
@ NPC_BARTHILAS
Definition stratholme.h:43
@ NPC_VENOM_BELCHER
Definition stratholme.h:46
ObjectGuid _barthilasGUID
Definition instance_stratholme.cpp:639

References _baronRivendareGUID, _barthilasGUID, _slaughterNPCs, _slaughterProgress, Object::GetEntry(), Object::GetGUID(), NPC_BARON_RIVENDARE, NPC_BARTHILAS, NPC_BILE_SPEWER, NPC_BLACK_GUARD, NPC_MINDLESS_UNDEAD, NPC_RAMSTEIN_THE_GORGER, and NPC_VENOM_BELCHER.

◆ OnGameObjectCreate()

void instance_stratholme::instance_stratholme_InstanceMapScript::OnGameObjectCreate ( GameObject go)
inlineoverridevirtual

Reimplemented from ZoneScript.

193 {
194 switch (go->GetEntry())
195 {
197 case GO_HOARD_DOOR:
201 go->AllowSaveToDB(true);
202 break;
204 go->AllowSaveToDB(true);
206 if (GetData(TYPE_ZIGGURAT1) >= 1)
208 break;
210 go->AllowSaveToDB(true);
212 if (GetData(TYPE_ZIGGURAT2) >= 1)
214 break;
216 go->AllowSaveToDB(true);
218 if (GetData(TYPE_ZIGGURAT3) >= 1)
220 break;
221 case GO_GAUNTLET_GATE:
222 go->AllowSaveToDB(true);
224 if (_zigguratState1 == 2 && _zigguratState2 == 2 && _zigguratState3 == 2)
226 break;
228 go->AllowSaveToDB(true);
230 if (_zigguratState1 == 2 && _zigguratState2 == 2 && _zigguratState3 == 2)
232 break;
234 go->AllowSaveToDB(true);
236 if (_slaughterProgress == 4)
238 break;
240 go->AllowSaveToDB(true);
242 if (_slaughterProgress == 4)
244 break;
246 go->AllowSaveToDB(true);
247 if (_slaughterProgress >= 2)
249 break;
251 go->AllowSaveToDB(true);
252 _trapGatesGUIDs[0] = go->GetGUID();
253 break;
255 go->AllowSaveToDB(true);
256 _trapGatesGUIDs[1] = go->GetGUID();
257 break;
259 go->AllowSaveToDB(true);
260 _trapGatesGUIDs[2] = go->GetGUID();
261 break;
263 go->AllowSaveToDB(true);
264 _trapGatesGUIDs[3] = go->GetGUID();
265 break;
266 default:
267 break;
268 }
269 }
void SetGoState(GOState state)
Definition GameObject.cpp:2503
void AllowSaveToDB(bool enable)
Definition GameObject.h:362
@ GO_PORT_TRAP_GATE_4
Definition stratholme.h:79
@ GO_PORT_TRAP_GATE_1
Definition stratholme.h:76
@ GO_SLAUGTHER_GATE
Definition stratholme.h:73
@ GO_GAUNTLET_DOOR_1
Definition stratholme.h:65
@ GO_ZIGGURAT_DOORS4
Definition stratholme.h:70
@ GO_HALL_OF_HIGH_COMMAND
Definition stratholme.h:64
@ GO_ZIGGURAT_DOORS1
Definition stratholme.h:67
@ GO_PORT_TRAP_GATE_3
Definition stratholme.h:78
@ GO_ZIGGURAT_DOORS5
Definition stratholme.h:71
@ GO_GAUNTLET_GATE
Definition stratholme.h:72
@ GO_ZIGGURAT_DOORS2
Definition stratholme.h:68
@ GO_PORT_TRAP_GATE_2
Definition stratholme.h:77
@ GO_ZIGGURAT_DOORS3
Definition stratholme.h:69
@ GO_GAUNTLET_DOOR_2
Definition stratholme.h:66
@ GO_CRUSADER_SQUARE_DOOR
Definition stratholme.h:62
@ GO_SLAUGHTER_GATE_SIDE
Definition stratholme.h:74
@ GO_HOARD_DOOR
Definition stratholme.h:63
ObjectGuid _zigguratDoorsGUID4
Definition instance_stratholme.cpp:634
ObjectGuid _zigguratDoorsGUID1
Definition instance_stratholme.cpp:631
ObjectGuid _zigguratDoorsGUID2
Definition instance_stratholme.cpp:632
ObjectGuid _zigguratDoorsGUID5
Definition instance_stratholme.cpp:635
ObjectGuid _zigguratDoorsGUID3
Definition instance_stratholme.cpp:633
uint32 GetData(uint32 type) const override
Definition instance_stratholme.cpp:433

References _gauntletGateGUID, _slaughterGateGUID, _slaughterProgress, _trapGatesGUIDs, _zigguratDoorsGUID1, _zigguratDoorsGUID2, _zigguratDoorsGUID3, _zigguratDoorsGUID4, _zigguratDoorsGUID5, _zigguratState1, _zigguratState2, _zigguratState3, GameObject::AllowSaveToDB(), GetData(), Object::GetEntry(), Object::GetGUID(), GO_CRUSADER_SQUARE_DOOR, GO_GAUNTLET_DOOR_1, GO_GAUNTLET_DOOR_2, GO_GAUNTLET_GATE, GO_HALL_OF_HIGH_COMMAND, GO_HOARD_DOOR, GO_PORT_TRAP_GATE_1, GO_PORT_TRAP_GATE_2, GO_PORT_TRAP_GATE_3, GO_PORT_TRAP_GATE_4, GO_SLAUGHTER_GATE_SIDE, GO_SLAUGTHER_GATE, GO_STATE_ACTIVE, GO_ZIGGURAT_DOORS1, GO_ZIGGURAT_DOORS2, GO_ZIGGURAT_DOORS3, GO_ZIGGURAT_DOORS4, GO_ZIGGURAT_DOORS5, GameObject::SetGoState(), TYPE_ZIGGURAT1, TYPE_ZIGGURAT2, and TYPE_ZIGGURAT3.

◆ OnPlayerEnter()

void instance_stratholme::instance_stratholme_InstanceMapScript::OnPlayerEnter ( Player player)
inlineoverridevirtual

Reimplemented from InstanceScript.

99 {
100 if (_baronRunTime > 0)
101 if (Aura* aura = player->AddAura(SPELL_BARON_ULTIMATUM, player))
102 aura->SetDuration(_baronRunTime * MINUTE * IN_MILLISECONDS);
103
105 }
constexpr auto IN_MILLISECONDS
Definition Common.h:53
constexpr auto MINUTE
Definition Common.h:47
Definition SpellAuras.h:88
Aura * AddAura(uint32 spellId, Unit *target)
Definition Unit.cpp:15147
@ SPELL_BARON_ULTIMATUM
Definition stratholme.h:108
void SpawnScarletThread()
Definition instance_stratholme.cpp:649

References _baronRunTime, Unit::AddAura(), IN_MILLISECONDS, MINUTE, SpawnScarletThread(), and SPELL_BARON_ULTIMATUM.

◆ OnUnitDeath()

void instance_stratholme::instance_stratholme_InstanceMapScript::OnUnitDeath ( Unit unit)
inlineoverridevirtual

Reimplemented from ZoneScript.

170 {
171 switch (unit->GetEntry())
172 {
174 case NPC_BILE_SPEWER:
177 case NPC_BLACK_GUARD:
178 if (--_slaughterNPCs == 0)
179 {
182 SaveToDB();
183 }
184 break;
186 events.CancelEvent(EVENT_BARON_TIME);
188 break;
189 }
190 }
void DoRemoveAurasDueToSpellOnPlayers(uint32 spell)
Definition InstanceScript.cpp:701
void SaveToDB()
Definition InstanceScript.cpp:43
@ EVENT_BARON_TIME
Definition stratholme.h:96
void ProcessSlaughterEvent()
Definition instance_stratholme.cpp:139

References _slaughterNPCs, _slaughterProgress, InstanceScript::DoRemoveAurasDueToSpellOnPlayers(), EVENT_BARON_TIME, Object::GetEntry(), NPC_BARON_RIVENDARE, NPC_BILE_SPEWER, NPC_BLACK_GUARD, NPC_MINDLESS_UNDEAD, NPC_RAMSTEIN_THE_GORGER, NPC_VENOM_BELCHER, ProcessSlaughterEvent(), InstanceScript::SaveToDB(), and SPELL_BARON_ULTIMATUM.

◆ ProcessSlaughterEvent()

void instance_stratholme::instance_stratholme_InstanceMapScript::ProcessSlaughterEvent ( )
inline
140 {
141 if (_slaughterProgress == 1)
142 {
144 baron->AI()->Talk(SAY_BRAON_SUMMON_RAMSTEIN);
145
147 }
148 if (_slaughterProgress == 2)
149 {
150 for (uint32 i = 0; i < 33; ++i)
151 events.ScheduleEvent(EVENT_SPAWN_MINDLESS, Milliseconds(5000 + i * 210));
153 if (GameObject* gate = baron->FindNearestGameObject(GO_SLAUGHTER_GATE_SIDE, 200.0f))
154 gate->SetGoState(GO_STATE_ACTIVE);
155 }
156 if (_slaughterProgress == 3)
157 {
158 events.ScheduleEvent(EVENT_SPAWN_BLACK_GUARD, 20s);
159 }
160 if (_slaughterProgress == 4)
161 {
163 baron->AI()->Talk(SAY_BARON_GUARD_DEAD);
165 gate->SetGoState(GO_STATE_ACTIVE);
166 }
167 }
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
Definition Duration.h:27
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0ms)
Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
Definition CreatureAI.cpp:67
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:2241
GameObject * FindNearestGameObject(uint32 entry, float range, bool onlySpawned=false) const
Definition Object.cpp:2562
Position const SlaughterPos
Definition instance_stratholme.cpp:58
@ SAY_BRAON_SUMMON_RAMSTEIN
Definition stratholme.h:93
@ SAY_BARON_GUARD_DEAD
Definition stratholme.h:94
@ EVENT_SPAWN_MINDLESS
Definition stratholme.h:97
@ EVENT_SPAWN_BLACK_GUARD
Definition stratholme.h:99

References _baronRivendareGUID, _slaughterProgress, _zigguratDoorsGUID5, Creature::AI(), EVENT_SPAWN_BLACK_GUARD, EVENT_SPAWN_MINDLESS, WorldObject::FindNearestGameObject(), Map::GetCreature(), Map::GetGameObject(), GO_SLAUGHTER_GATE_SIDE, GO_STATE_ACTIVE, InstanceScript::instance, NPC_RAMSTEIN_THE_GORGER, SAY_BARON_GUARD_DEAD, SAY_BRAON_SUMMON_RAMSTEIN, SlaughterPos, Map::SummonCreature(), and CreatureAI::Talk().

Referenced by OnUnitDeath(), and Update().

◆ ReadSaveDataMore()

void instance_stratholme::instance_stratholme_InstanceMapScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

395 {
396 data >> _baronRunProgress;
397 data >> _baronRunTime;
398 data >> _zigguratState1;
399 data >> _zigguratState2;
400 data >> _zigguratState3;
401 data >> _slaughterProgress;
402 data >> _postboxesOpened;
403 data >> _barthilasrunProgress;
404
405 uint32 scarletThreadUsedLocations;
406 if (data >> scarletThreadUsedLocations && scarletThreadUsedLocations <= AllScarletThreadLocations)
407 _scarletThreadUsedLocations = scarletThreadUsedLocations;
408
409 if (_baronRunTime)
410 {
411 events.ScheduleEvent(EVENT_BARON_TIME, 60s);
412 }
413
415 {
416 events.ScheduleEvent(EVENT_FORCE_SLAUGHTER_EVENT, 5s);
417 }
418 }
static constexpr uint8 AllScarletThreadLocations
Definition instance_stratholme.cpp:61
@ EVENT_FORCE_SLAUGHTER_EVENT
Definition stratholme.h:98

References _baronRunProgress, _baronRunTime, _barthilasrunProgress, _postboxesOpened, _scarletThreadUsedLocations, _slaughterProgress, _zigguratState1, _zigguratState2, _zigguratState3, AllScarletThreadLocations, EVENT_BARON_TIME, and EVENT_FORCE_SLAUGHTER_EVENT.

◆ SetData()

void instance_stratholme::instance_stratholme_InstanceMapScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

302 {
303 switch (type)
304 {
305 case TYPE_BARON_RUN:
306 {
308 {
310 _baronRunTime = 45;
312 events.ScheduleEvent(EVENT_BARON_TIME, 60s);
313
315 baron->AI()->Talk(SAY_BARON_INIT_YELL);
316 }
317 break;
318 }
319 case TYPE_ZIGGURAT1:
320 {
321 if (data == _zigguratState1 + 1)
323
324 if (_zigguratState1 == 1)
326 ziggurat->SetGoState(GO_STATE_ACTIVE);
327
329 break;
330 }
331 case TYPE_ZIGGURAT2:
332 {
333 if (data == _zigguratState2 + 1)
335
336 if (_zigguratState2 == 1)
338 ziggurat->SetGoState(GO_STATE_ACTIVE);
339
341 break;
342 }
343 case TYPE_ZIGGURAT3:
344 {
345 if (data == _zigguratState3 + 1)
347
348 if (_zigguratState3 == 1)
350 ziggurat->SetGoState(GO_STATE_ACTIVE);
351
353 break;
354 }
355 case TYPE_BARON_FIGHT:
356 {
358 gate->SetGoState(data == IN_PROGRESS ? GO_STATE_READY : GO_STATE_ACTIVE);
359 return;
360 }
361 case TYPE_MALLOW:
363 break;
365 if (data == DONE)
366 {
367 if (Creature* barthilas = instance->GetCreature(_barthilasGUID))
368 {
369 if (barthilas->IsAlive())
370 {
372 barthilas->SetHomePosition(BarthilasPos);
373 }
374 }
375 }
377 break;
378 }
379
380 SaveToDB();
381 }
@ GO_STATE_READY
Definition GameObjectData.h:709
@ IN_PROGRESS
Definition InstanceScript.h:59
@ DONE
Definition InstanceScript.h:61
void DoCastSpellOnPlayers(uint32 spell)
Definition InstanceScript.cpp:712
Position const BarthilasPos
Definition instance_stratholme.cpp:57
@ SAY_BARON_INIT_YELL
Definition stratholme.h:88
@ TYPE_BARON_FIGHT
Definition stratholme.h:30
@ DATA_BARON_RUN_NONE
Definition stratholme.h:35
@ DATA_BARON_RUN_GATE
Definition stratholme.h:36
@ TYPE_BARON_RUN
Definition stratholme.h:26
void CheckZiggurats()
Definition instance_stratholme.cpp:271

References _baronRivendareGUID, _baronRunProgress, _baronRunTime, _barthilasGUID, _barthilasrunProgress, _postboxesOpened, _zigguratDoorsGUID1, _zigguratDoorsGUID2, _zigguratDoorsGUID3, _zigguratDoorsGUID5, _zigguratState1, _zigguratState2, _zigguratState3, BarthilasPos, CheckZiggurats(), DATA_BARON_RUN_GATE, DATA_BARON_RUN_NONE, InstanceScript::DoCastSpellOnPlayers(), DONE, EVENT_BARON_TIME, Map::GetCreature(), Map::GetGameObject(), Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), GO_STATE_ACTIVE, GO_STATE_READY, IN_PROGRESS, InstanceScript::instance, InstanceScript::SaveToDB(), SAY_BARON_INIT_YELL, SPELL_BARON_ULTIMATUM, TYPE_BARON_FIGHT, TYPE_BARON_RUN, TYPE_BARTHILAS_RUN, TYPE_MALLOW, TYPE_ZIGGURAT1, TYPE_ZIGGURAT2, and TYPE_ZIGGURAT3.

◆ SetGuidData()

void instance_stratholme::instance_stratholme_InstanceMapScript::SetGuidData ( uint32  type,
ObjectGuid  data 
)
inlineoverridevirtual

◆ SpawnScarletThread()

void instance_stratholme::instance_stratholme_InstanceMapScript::SpawnScarletThread ( )
inlineprivate
650 {
652 return;
653
654 std::array<uint8, ScarletThreadSpawnCount> availableLocations{};
655 uint8 availableLocationCount = 0;
656 for (uint8 location = 0; location < ScarletThreadSpawnCount; ++location)
657 if (!(_scarletThreadUsedLocations & (1 << location)))
658 availableLocations[availableLocationCount++] = location;
659
660 if (!availableLocationCount)
661 return;
662
663 _scarletThreadLocation = availableLocations[urand(0, availableLocationCount - 1)];
664
665 std::list<GameObject*> threads;
667 if (threads.empty())
668 return;
669
670 _scarletThreadGUID = threads.front()->GetGUID();
671 threads.front()->setActive(true);
672 }
void SummonGameObjectGroup(uint8 group, std::list< GameObject * > *list=nullptr)
Definition Object.cpp:2371
static constexpr uint8 ScarletThreadSpawnCount
Definition instance_stratholme.cpp:60

References _scarletThreadGUID, _scarletThreadLocation, _scarletThreadUsedLocations, AllScarletThreadLocations, InstanceScript::instance, ScarletThreadSpawnCount, Map::SummonGameObjectGroup(), and urand().

Referenced by OnPlayerEnter(), and SetGuidData().

◆ Update()

void instance_stratholme::instance_stratholme_InstanceMapScript::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

452 {
453 events.Update(diff);
454
455 Map::PlayerList const& players = instance->GetPlayers();
456 // Loop over the two Gate traps, each one has up to three timers (trap reset, gate opening delay, critters spawning delay)
457 for (uint8 i = 0; i < 2; i++)
458 {
459 // if the gate is in cooldown, skip the other checks
460 if (_gateTrapsCooldown[i])
461 break;
462
463 // Check that the trap is not on cooldown, if so check if player/pet is in range
464 for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
465 {
466 if (Player* player = itr->GetSource())
467 {
468 // should pet also trigger the trap? could not find any source for it
469 if (!player->IsGameMaster() && player->IsWithinDist2d(aGateTrap[i].m_positionX, aGateTrap[i].m_positionY, 5.5f))
470 {
471 // Check if timer was not already set by another player/pet a few milliseconds before
472 if (_gateTrapsCooldown[i])
473 return;
474
475 _gateTrapsCooldown[i] = true;
476
477 // close the gates
478 if (_trapGatesGUIDs[2 * i])
480 if (_trapGatesGUIDs[2 * i + 1])
482
483 _trappedPlayerGUID = player->GetGUID();
484
485 if (i == 0)
486 {
487 // set timer to reset the trap
488 events.ScheduleEvent(EVENT_GATE1_TRAP, 1800s);
489 // set timer to reopen gates
490 events.ScheduleEvent(EVENT_GATE1_DELAY, 20s);
491 // set timer to spawn the plagued critters
492 events.ScheduleEvent(EVENT_GATE1_CRITTER_DELAY, 2s);
493 }
494 else if (i == 1)
495 {
496 // set timer to reset the trap
497 events.ScheduleEvent(EVENT_GATE2_TRAP, 1800s);
498 // set timer to reopen gates
499 events.ScheduleEvent(EVENT_GATE2_DELAY, 20s);
500 // set timer to spawn the plagued critters
501 events.ScheduleEvent(EVENT_GATE2_CRITTER_DELAY, 2s);
502 }
503 }
504 }
505 }
506 }
507
508 const int GATE1 = 0;
509 const int GATE2 = 1;
510
511 switch (events.ExecuteEvent())
512 {
513 case EVENT_GATE1_TRAP:
514 _gateTrapsCooldown[GATE1] = false;
515 break;
516 case EVENT_GATE2_TRAP:
517 _gateTrapsCooldown[GATE2] = false;
518 break;
520 gate_delay(GATE1);
521 break;
523 gate_delay(GATE2);
524 break;
526 gate_critter_delay(GATE1);
527 break;
529 gate_critter_delay(GATE2);
530 break;
531 case EVENT_BARON_TIME:
532 {
535 if (baron && !baron->IsInCombat())
536 {
537 switch (_baronRunTime)
538 {
539 case 10:
540 baron->AI()->Talk(SAY_BARON_10M);
541 break;
542 case 5:
543 baron->AI()->Talk(SAY_BARON_5M);
544 if (Creature* ysida = baron->FindNearestCreature(NPC_YSIDA, 50.0f))
545 ysida->AI()->SetData(1, 1);
546 break;
547 case 0:
548 baron->AI()->Talk(SAY_BARON_0M);
550 break;
551 }
552 }
553
554 if (_baronRunTime > 0)
555 events.ScheduleEvent(EVENT_BARON_TIME, 60s);
556 else
557 events.ScheduleEvent(EVENT_EXECUTE_PRISONER, 0ms);
558
559 SaveToDB();
560 break;
561 }
563 {
565 if (baron && baron->IsAlive())
566 {
567 if (!baron->IsInCombat())
568 {
570 if (Creature* ysida = baron->FindNearestCreature(NPC_YSIDA, 50.0f))
571 Unit::Kill(baron, ysida);
572 }
573 else
574 events.ScheduleEvent(EVENT_EXECUTE_PRISONER, 1s);
575 }
576 break;
577 }
579 {
581 break;
582 }
584 {
585 Map::PlayerList const& PlayerList = instance->GetPlayers();
586 if (!PlayerList.IsEmpty())
587 for (Map::PlayerList::const_iterator i = PlayerList.begin(); i != PlayerList.end(); ++i)
588 if (Player* player = i->GetSource())
589 if (player->GetDistance2d(4034.97f, -3402.13f) < 50.0f)
590 {
592 return;
593 }
594
595 events.ScheduleEvent(EVENT_FORCE_SLAUGHTER_EVENT, 3s);
596 break;
597 }
599 {
600 for (uint8 i = 0; i < 5; ++i)
602 {
603 guard->SetWalk(true);
604 guard->GetMotionMaster()->MovePoint(0, BlackGuardPos[i + 5]);
605 guard->SetHomePosition(BlackGuardPos[i + 5]);
606 if (i == 0 && guard->AI())
607 guard->AI()->Talk(SAY_BLACK_GUARD_INIT);
608 }
609
611 gate->SetGoState(GO_STATE_ACTIVE);
612 break;
613 }
614 default:
615 break;
616 }
617 }
@ EMOTE_ONESHOT_ATTACK1H
Definition SharedDefines.h:1930
Definition LinkedList.h:139
bool IsEmpty() const
Definition LinkedList.h:97
Definition MapRefMgr.h:26
iterator begin()
Definition MapRefMgr.h:36
iterator end()
Definition MapRefMgr.h:37
PlayerList const & GetPlayers() const
Definition Map.h:335
static void Kill(Unit *killer, Unit *victim, bool durabilityLoss=true, WeaponAttackType attackType=BASE_ATTACK, SpellInfo const *spellProto=nullptr, Spell const *spell=nullptr)
Definition Unit.cpp:13983
bool IsAlive() const
Definition Unit.h:1798
void HandleEmoteCommand(uint32 emoteId)
Definition Unit.cpp:2185
bool IsInCombat() const
Definition Unit.h:941
Creature * FindNearestCreature(uint32 entry, float range, bool alive=true) const
Definition Object.cpp:2553
Position const MindlessUndeadPos
Definition instance_stratholme.cpp:56
const Position BlackGuardPos[10]
Definition instance_stratholme.cpp:28
static const Position aGateTrap[]
Definition instance_stratholme.cpp:50
@ EVENT_GATE1_TRAP
Definition stratholme.h:101
@ SAY_BLACK_GUARD_INIT
Definition stratholme.h:87
@ SAY_BARON_10M
Definition stratholme.h:90
@ SAY_BARON_0M
Definition stratholme.h:92
@ EVENT_GATE1_DELAY
Definition stratholme.h:102
@ EVENT_GATE1_CRITTER_DELAY
Definition stratholme.h:103
@ SAY_BARON_5M
Definition stratholme.h:91
@ EVENT_GATE2_CRITTER_DELAY
Definition stratholme.h:106
@ EVENT_GATE2_DELAY
Definition stratholme.h:105
@ EVENT_EXECUTE_PRISONER
Definition stratholme.h:100
@ EVENT_GATE2_TRAP
Definition stratholme.h:104
@ NPC_YSIDA
Definition stratholme.h:50
void gate_delay(int gate)
Definition instance_stratholme.cpp:674
void gate_critter_delay(int gate)
Definition instance_stratholme.cpp:686

References _baronRivendareGUID, _baronRunTime, _gateTrapsCooldown, _trapGatesGUIDs, _trappedPlayerGUID, _zigguratDoorsGUID4, aGateTrap, Creature::AI(), MapRefMgr::begin(), BlackGuardPos, InstanceScript::DoRemoveAurasDueToSpellOnPlayers(), InstanceScript::DoUseDoorOrButton(), EMOTE_ONESHOT_ATTACK1H, MapRefMgr::end(), EVENT_BARON_TIME, EVENT_EXECUTE_PRISONER, EVENT_FORCE_SLAUGHTER_EVENT, EVENT_GATE1_CRITTER_DELAY, EVENT_GATE1_DELAY, EVENT_GATE1_TRAP, EVENT_GATE2_CRITTER_DELAY, EVENT_GATE2_DELAY, EVENT_GATE2_TRAP, EVENT_SPAWN_BLACK_GUARD, EVENT_SPAWN_MINDLESS, WorldObject::FindNearestCreature(), gate_critter_delay(), gate_delay(), Map::GetCreature(), Map::GetGameObject(), Map::GetPlayers(), GO_STATE_ACTIVE, Unit::HandleEmoteCommand(), InstanceScript::instance, Unit::IsAlive(), LinkedListHead::IsEmpty(), Unit::IsInCombat(), Unit::Kill(), MindlessUndeadPos, NPC_BLACK_GUARD, NPC_MINDLESS_UNDEAD, NPC_YSIDA, ProcessSlaughterEvent(), InstanceScript::SaveToDB(), SAY_BARON_0M, SAY_BARON_10M, SAY_BARON_5M, SAY_BLACK_GUARD_INIT, SPELL_BARON_ULTIMATUM, Map::SummonCreature(), and CreatureAI::Talk().

◆ WriteSaveDataMore()

void instance_stratholme::instance_stratholme_InstanceMapScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Member Data Documentation

◆ _baronRivendareGUID

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_baronRivendareGUID
private

◆ _baronRunProgress

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_baronRunProgress
private

◆ _baronRunTime

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_baronRunTime
private

◆ _barthilasGUID

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_barthilasGUID
private

Referenced by OnCreatureCreate(), and SetData().

◆ _barthilasrunProgress

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_barthilasrunProgress {}
private

◆ _gateTrapsCooldown

bool instance_stratholme::instance_stratholme_InstanceMapScript::_gateTrapsCooldown[2]
private

Referenced by Initialize(), and Update().

◆ _gauntletGateGUID

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_gauntletGateGUID
private

◆ _postboxesOpened

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_postboxesOpened
private

◆ _scarletThreadGUID

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_scarletThreadGUID
private

◆ _scarletThreadLocation

uint8 instance_stratholme::instance_stratholme_InstanceMapScript::_scarletThreadLocation
private

◆ _scarletThreadUsedLocations

uint8 instance_stratholme::instance_stratholme_InstanceMapScript::_scarletThreadUsedLocations
private

◆ _slaughterGateGUID

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_slaughterGateGUID
private

◆ _slaughterNPCs

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_slaughterNPCs
private

◆ _slaughterProgress

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_slaughterProgress
private

◆ _trapGatesGUIDs

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_trapGatesGUIDs[4]
private

◆ _trappedPlayerGUID

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_trappedPlayerGUID
private

Referenced by gate_critter_delay(), and Update().

◆ _zigguratDoorsGUID1

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratDoorsGUID1
private

Referenced by OnGameObjectCreate(), and SetData().

◆ _zigguratDoorsGUID2

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratDoorsGUID2
private

Referenced by OnGameObjectCreate(), and SetData().

◆ _zigguratDoorsGUID3

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratDoorsGUID3
private

Referenced by OnGameObjectCreate(), and SetData().

◆ _zigguratDoorsGUID4

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratDoorsGUID4
private

Referenced by OnGameObjectCreate(), and Update().

◆ _zigguratDoorsGUID5

ObjectGuid instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratDoorsGUID5
private

◆ _zigguratState1

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratState1
private

◆ _zigguratState2

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratState2
private

◆ _zigguratState3

uint32 instance_stratholme::instance_stratholme_InstanceMapScript::_zigguratState3
private

◆ events

EventMap instance_stratholme::instance_stratholme_InstanceMapScript::events
private

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