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

Public Member Functions

 instance_zulfarrak_InstanceMapScript (Map *map)
 
void Initialize () override
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *gameobject) override
 
void OnUnitDeath (Unit *unit) override
 
void SetData (uint32 type, uint32 data) override
 
uint32 GetData (uint32 type) const override
 
ObjectGuid GetGuidData (uint32 data) const override
 
void Update (uint32 diff) override
 
void MoveNPCIfAlive (uint32 entry, uint32 point, float x, float y, float z, float o)
 
void SpawnPyramidWave (uint32 wave)
 
bool IsWaveAllDead ()
 
void SendAddsUpStairs (uint32 count)
 
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 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
 
Creature * GetCreature (uint32 type)
 
GameObject * GetGameObject (uint32 type)
 
virtual void OnPlayerEnter (Player *)
 
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 void SetGuidData (uint32, ObjectGuid)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Public Attributes

ObjectGuid EndDoorGUID
 
ObjectGuid BlyGUID
 
ObjectGuid WeegliGUID
 
ObjectGuid OroGUID
 
ObjectGuid RavenGUID
 
ObjectGuid MurtaGUID
 
ObjectGuid ShadowpriestGUID
 
GuidList addsAtBase
 
GuidList movedadds
 
uint32 GahzrillaSummoned
 
uint32 PyramidPhase
 
uint32 EndDoorState
 
uint32 major_wave_Timer
 
uint32 minor_wave_Timer
 
uint32 addGroupSize
 
uint32 waypoint
 
- Public Attributes inherited from InstanceScript
Map * instance
 
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_zulfarrak_InstanceMapScript()

instance_zulfarrak::instance_zulfarrak_InstanceMapScript::instance_zulfarrak_InstanceMapScript ( Map *  map)
inline
118: InstanceScript(map) { }
Definition InstanceScript.h:143

Member Function Documentation

◆ GetData()

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from ZoneScript.

228 {
229 switch (type)
230 {
231 case DATA_PYRAMID:
232 return PyramidPhase;
233 case DATA_GAHZRILLA:
234 return GahzrillaSummoned;
235 case DATA_END_DOOR:
236 return EndDoorState;
237 }
238
239 return 0;
240 }
uint32 EndDoorState
Definition instance_zulfarrak.cpp:133
uint32 PyramidPhase
Definition instance_zulfarrak.cpp:132
uint32 GahzrillaSummoned
Definition instance_zulfarrak.cpp:131
@ DATA_GAHZRILLA
Definition zulfarrak.h:52
@ DATA_END_DOOR
Definition zulfarrak.h:53
@ DATA_PYRAMID
Definition zulfarrak.h:51

References DATA_END_DOOR, DATA_GAHZRILLA, DATA_PYRAMID, EndDoorState, GahzrillaSummoned, and PyramidPhase.

◆ GetGuidData()

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::GetGuidData ( uint32  data) const
inlineoverridevirtual

Reimplemented from ZoneScript.

243 {
244 switch (data)
245 {
246 case NPC_BLY:
247 return BlyGUID;
248 case NPC_RAVEN:
249 return RavenGUID;
250 case NPC_ORO:
251 return OroGUID;
252 case NPC_WEEGLI:
253 return WeegliGUID;
254 case NPC_MURTA:
255 return MurtaGUID;
257 return ShadowpriestGUID;
258 case GO_END_DOOR:
259 return EndDoorGUID;
260 }
261
262 return ObjectGuid::Empty;
263 }
static ObjectGuid const Empty
Definition ObjectGuid.h:123
ObjectGuid OroGUID
Definition instance_zulfarrak.cpp:123
ObjectGuid ShadowpriestGUID
Definition instance_zulfarrak.cpp:126
ObjectGuid MurtaGUID
Definition instance_zulfarrak.cpp:125
ObjectGuid EndDoorGUID
Definition instance_zulfarrak.cpp:120
ObjectGuid RavenGUID
Definition instance_zulfarrak.cpp:124
ObjectGuid BlyGUID
Definition instance_zulfarrak.cpp:121
ObjectGuid WeegliGUID
Definition instance_zulfarrak.cpp:122
@ GO_END_DOOR
Definition zulfarrak.h:46
@ NPC_WEEGLI
Definition zulfarrak.h:40
@ NPC_SHADOWPRIEST_SEZZZIZ
Definition zulfarrak.h:34
@ NPC_ORO
Definition zulfarrak.h:39
@ NPC_MURTA
Definition zulfarrak.h:41
@ NPC_BLY
Definition zulfarrak.h:37
@ NPC_RAVEN
Definition zulfarrak.h:38

References BlyGUID, ObjectGuid::Empty, EndDoorGUID, GO_END_DOOR, MurtaGUID, NPC_BLY, NPC_MURTA, NPC_ORO, NPC_RAVEN, NPC_SHADOWPRIEST_SEZZZIZ, NPC_WEEGLI, OroGUID, RavenGUID, ShadowpriestGUID, and WeegliGUID.

Referenced by MoveNPCIfAlive().

◆ Initialize()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::Initialize ( )
inlineoverridevirtual

Reimplemented from InstanceScript.

140 {
143
144 PyramidPhase = 0;
148 addGroupSize = 0;
149 waypoint = 0;
150 }
@ NOT_STARTED
Definition InstanceScript.h:58
#define DataHeader
Definition blackrock_depths.h:23
void SetHeaders(std::string const &dataHeaders)
Definition InstanceScript.cpp:163
uint32 major_wave_Timer
Definition instance_zulfarrak.cpp:134
uint32 addGroupSize
Definition instance_zulfarrak.cpp:136
uint32 waypoint
Definition instance_zulfarrak.cpp:137
uint32 minor_wave_Timer
Definition instance_zulfarrak.cpp:135

References addGroupSize, DataHeader, EndDoorState, GahzrillaSummoned, major_wave_Timer, minor_wave_Timer, NOT_STARTED, PyramidPhase, InstanceScript::SetHeaders(), and waypoint.

◆ IsWaveAllDead()

bool instance_zulfarrak::instance_zulfarrak_InstanceMapScript::IsWaveAllDead ( )
inline
412 {
413 for (GuidList::iterator itr = addsAtBase.begin(); itr != addsAtBase.end(); ++itr)
414 {
415 if (Creature* add = instance->GetCreature((*itr)))
416 {
417 if (add->IsAlive())
418 {
419 return false;
420 }
421 }
422 }
423
424 for (GuidList::iterator itr = movedadds.begin(); itr != movedadds.end(); ++itr)
425 {
426 if (Creature* add = instance->GetCreature(((*itr))))
427 {
428 if (add->IsAlive())
429 {
430 return false;
431 }
432 }
433 }
434
435 return true;
436 }
Definition Creature.h:47
Map * instance
Definition InstanceScript.h:149
Creature * GetCreature(ObjectGuid const &guid)
Definition Map.cpp:2442
GuidList addsAtBase
Definition instance_zulfarrak.cpp:128
GuidList movedadds
Definition instance_zulfarrak.cpp:129

References addsAtBase, Map::GetCreature(), InstanceScript::instance, and movedadds.

Referenced by Update().

◆ MoveNPCIfAlive()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::MoveNPCIfAlive ( uint32  entry,
uint32  point,
float  x,
float  y,
float  z,
float  o 
)
inline
373 {
375 {
376 if (npc->IsAlive())
377 {
378 npc->SetWalk(true);
379 npc->GetMotionMaster()->MovePoint(point, { x, y, z, o });
380 npc->SetHomePosition(x, y, z, o);
381 }
382 }
383 }
npc
Definition BattlegroundSA.h:47
ObjectGuid GetGuidData(uint32 data) const override
Definition instance_zulfarrak.cpp:242

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

Referenced by Update().

◆ OnCreatureCreate()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::OnCreatureCreate ( Creature *  creature)
inlineoverridevirtual

Reimplemented from ZoneScript.

153 {
154 switch (creature->GetEntry())
155 {
156 case NPC_BLY:
157 BlyGUID = creature->GetGUID();
158 creature->SetReactState(REACT_PASSIVE); // starts out passive (in a cage)
159 break;
160 case NPC_RAVEN:
161 RavenGUID = creature->GetGUID();
162 creature->SetReactState(REACT_PASSIVE);// starts out passive (in a cage)
163 break;
164 case NPC_ORO:
165 OroGUID = creature->GetGUID();
166 creature->SetReactState(REACT_PASSIVE);// starts out passive (in a cage)
167 break;
168 case NPC_WEEGLI:
169 WeegliGUID = creature->GetGUID();
170 creature->SetReactState(REACT_PASSIVE);// starts out passive (in a cage)
171 break;
172 case NPC_MURTA:
173 MurtaGUID = creature->GetGUID();
174 creature->SetReactState(REACT_PASSIVE);// starts out passive (in a cage)
175 break;
177 ShadowpriestGUID = creature->GetGUID();
178 break;
179 default:
180 break;
181 }
182 }
@ REACT_PASSIVE
Definition Unit.h:567
void SetReactState(ReactStates state)
A creature can have 3 ReactStates : Agressive, Passive, Neutral.
Definition Creature.h:100
uint32 GetEntry() const
Definition Object.h:123
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:120

References BlyGUID, Object::GetEntry(), Object::GetGUID(), MurtaGUID, NPC_BLY, NPC_MURTA, NPC_ORO, NPC_RAVEN, NPC_SHADOWPRIEST_SEZZZIZ, NPC_WEEGLI, OroGUID, RavenGUID, REACT_PASSIVE, Creature::SetReactState(), ShadowpriestGUID, and WeegliGUID.

◆ OnGameObjectCreate()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::OnGameObjectCreate ( GameObject *  gameobject)
inlineoverridevirtual

Reimplemented from ZoneScript.

185 {
186 switch (gameobject->GetEntry())
187 {
188 case GO_END_DOOR:
189 EndDoorGUID = gameobject->GetGUID();
190 if (EndDoorState == DONE)
192 break;
193 default:
194 break;
195 }
196 }
@ GO_STATE_ACTIVE_ALTERNATIVE
Definition GameObjectData.h:710
@ DONE
Definition InstanceScript.h:61
void SetGoState(GOState state)
Definition GameObject.cpp:2519

References DONE, EndDoorGUID, EndDoorState, Object::GetEntry(), Object::GetGUID(), GO_END_DOOR, GO_STATE_ACTIVE_ALTERNATIVE, and GameObject::SetGoState().

◆ OnUnitDeath()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::OnUnitDeath ( Unit *  unit)
inlineoverridevirtual

Reimplemented from ZoneScript.

199 {
200 if (unit->GetEntry() == NPC_BLY)
201 {
203 SaveToDB();
204 }
205 }
void SaveToDB()
Definition InstanceScript.cpp:43
@ PYRAMID_DONE
Definition zulfarrak.h:84

References Object::GetEntry(), NPC_BLY, PYRAMID_DONE, PyramidPhase, and InstanceScript::SaveToDB().

◆ ReadSaveDataMore()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

454 {
455 data >> PyramidPhase;
456 data >> GahzrillaSummoned;
457 // Older saves only stored the pyramid and Gahz'rilla states.
458 if (!(data >> EndDoorState))
460 else if (EndDoorState != DONE)
462 }
@ PYRAMID_GATES_DESTROYED
Definition zulfarrak.h:83

References DONE, EndDoorState, GahzrillaSummoned, NOT_STARTED, PYRAMID_GATES_DESTROYED, and PyramidPhase.

◆ SendAddsUpStairs()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SendAddsUpStairs ( uint32  count)
inline
439 {
440 //pop a add from list, send him up the stairs...
441 for (uint32 addCount = 0; addCount < count && !addsAtBase.empty(); addCount++)
442 {
443 if (Creature* add = instance->GetCreature(*addsAtBase.begin()))
444 {
445 add->GetMotionMaster()->MoveWaypoint(PATH_ADDS, false);
446 movedadds.push_back(add->GetGUID());
447 }
448
449 addsAtBase.erase(addsAtBase.begin());
450 }
451 }
std::uint32_t uint32
Definition Define.h:107
@ PATH_ADDS
Definition instance_zulfarrak.cpp:32

References addsAtBase, Map::GetCreature(), InstanceScript::instance, movedadds, and PATH_ADDS.

Referenced by Update().

◆ SetData()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

208 {
209 switch (type)
210 {
211 case DATA_PYRAMID:
212 PyramidPhase = data;
213 break;
214 case DATA_GAHZRILLA:
215 GahzrillaSummoned = data;
216 break;
217 case DATA_END_DOOR:
218 EndDoorState = data;
219 break;
220 default:
221 break;
222 }
223
224 SaveToDB();
225 }

References DATA_END_DOOR, DATA_GAHZRILLA, DATA_PYRAMID, EndDoorState, GahzrillaSummoned, PyramidPhase, and InstanceScript::SaveToDB().

Referenced by Update().

◆ SpawnPyramidWave()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::SpawnPyramidWave ( uint32  wave)
inline
386 {
387 for (uint32 i = 0; i < pyramidSpawnTotal; i++)
388 {
389 if (pyramidSpawns[i].waveID == wave)
390 {
391 float orientation = 4.78f;
392 if (pyramidSpawns[i].creatureID == NPC_SHADOWPRIEST_SEZZZIZ || pyramidSpawns[i].creatureID == NPC_NEKRUM_GUTCHEWER)
393 {
394 orientation = 1.32f;
395 }
396
397 Position pos = { pyramidSpawns[i].pos.GetPositionX(), pyramidSpawns[i].pos.GetPositionY(), 8.87f, orientation };
399 {
400 addsAtBase.push_back(ts->GetGUID());
401
402 if (pyramidSpawns[i].creatureID != NPC_SHADOWPRIEST_SEZZZIZ && pyramidSpawns[i].creatureID != NPC_NEKRUM_GUTCHEWER)
403 {
404 ts->GetMotionMaster()->MoveRandom(10);
405 }
406 }
407 }
408 }
409 }
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:2246
Definition TemporarySummon.h:50
static PyramidEventData pyramidSpawns[pyramidSpawnTotal]
Definition instance_zulfarrak.cpp:48
uint32 const pyramidSpawnTotal
Definition instance_zulfarrak.cpp:44
Definition Position.h:27
float GetPositionX() const
Definition Position.h:121
float GetPositionY() const
Definition Position.h:122
uint32 creatureID
Definition instance_zulfarrak.cpp:40
Position pos
Definition instance_zulfarrak.cpp:41
@ NPC_NEKRUM_GUTCHEWER
Definition zulfarrak.h:35

References addsAtBase, PyramidEventData::creatureID, Position::GetPositionX(), Position::GetPositionY(), InstanceScript::instance, NPC_NEKRUM_GUTCHEWER, NPC_SHADOWPRIEST_SEZZZIZ, PyramidEventData::pos, pyramidSpawns, pyramidSpawnTotal, and Map::SummonCreature().

Referenced by Update().

◆ Update()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

266 {
267 switch (PyramidPhase)
268 {
274 case PYRAMID_DONE:
275 break;
281 addGroupSize = 2;
282 break;
283 case PYRAMID_WAVE_1:
284 if (IsWaveAllDead())
285 {
287 major_wave_Timer = 10 * IN_MILLISECONDS; //give players a few seconds before wave 2 starts to rebuff
288 }
289 else
290 {
291 if (minor_wave_Timer <= diff)
292 {
295 }
296 else
297 {
298 minor_wave_Timer -= diff;
299 }
300 }
301 break;
303 if (major_wave_Timer <= diff)
304 {
305 // beginning 2nd wave!
309 addGroupSize = 2;
310 }
311 else
312 {
313 major_wave_Timer -= diff;
314 }
315 break;
316 case PYRAMID_WAVE_2:
317 if (IsWaveAllDead())
318 {
321 major_wave_Timer = 5 * IN_MILLISECONDS; //give NPCs time to return to their home spots
322 }
323 else
324 {
325 if (minor_wave_Timer <= diff)
326 {
329 }
330 else
331 {
332 minor_wave_Timer -= diff;
333 }
334 }
335 break;
337 if (major_wave_Timer <= diff)
338 {
339 // move NPCs to bottom of stair
340 MoveNPCIfAlive(NPC_BLY, POINT_CREW_DESCENT, 1887.92f, 1228.179f, 9.98f, 4.78f);
341 MoveNPCIfAlive(NPC_MURTA, POINT_CREW_DESCENT, 1891.57f, 1228.68f, 9.69f, 4.78f);
342 MoveNPCIfAlive(NPC_ORO, POINT_CREW_DESCENT, 1897.23f, 1228.34f, 9.43f, 4.78f);
343 MoveNPCIfAlive(NPC_RAVEN, POINT_CREW_DESCENT, 1883.68f, 1227.95f, 9.543f, 4.78f);
344 MoveNPCIfAlive(NPC_WEEGLI, POINT_CREW_DESCENT, 1878.02f, 1227.65f, 9.485f, 4.78f);
346 if (Creature* sergeantBlye = instance->GetCreature(BlyGUID))
347 {
348 sergeantBlye->AI()->Talk(SAY_BLY_FORWARD);
349 }
350 }
351 else
352 {
353 major_wave_Timer -= diff;
354 }
355 break;
356 case PYRAMID_WAVE_3:
357 if (IsWaveAllDead()) // move NPCS to their final positions
358 {
360 MoveNPCIfAlive(NPC_BLY, POINT_CREW_GATHER, 1883.82f, 1200.83f, 8.87f, 1.32f);
361 MoveNPCIfAlive(NPC_MURTA, POINT_CREW_GATHER, 1891.83f, 1201.45f, 8.87f, 1.32f);
362 MoveNPCIfAlive(NPC_ORO, POINT_CREW_GATHER, 1894.50f, 1204.40f, 8.87f, 1.32f);
363 MoveNPCIfAlive(NPC_RAVEN, POINT_CREW_GATHER, 1874.11f, 1206.17f, 8.87f, 1.32f);
364 MoveNPCIfAlive(NPC_WEEGLI, POINT_CREW_GATHER, 1877.52f, 1199.63f, 8.87f, 1.32f);
365 }
366 break;
367 default:
368 break;
369 };
370 }
constexpr auto IN_MILLISECONDS
Definition Common.h:53
constexpr auto MINUTE
Definition Common.h:47
@ SAY_BLY_FORWARD
Definition instance_zulfarrak.cpp:34
void SpawnPyramidWave(uint32 wave)
Definition instance_zulfarrak.cpp:385
void SetData(uint32 type, uint32 data) override
Definition instance_zulfarrak.cpp:207
void MoveNPCIfAlive(uint32 entry, uint32 point, float x, float y, float z, float o)
Definition instance_zulfarrak.cpp:372
void SendAddsUpStairs(uint32 count)
Definition instance_zulfarrak.cpp:438
bool IsWaveAllDead()
Definition instance_zulfarrak.cpp:411
@ PYRAMID_WAVE_2
Definition zulfarrak.h:77
@ PYRAMID_DESTROY_GATES
Definition zulfarrak.h:82
@ PYRAMID_NOT_STARTED
Definition zulfarrak.h:72
@ PYRAMID_ARRIVED_AT_STAIR
Definition zulfarrak.h:74
@ PYRAMID_PRE_WAVE_2
Definition zulfarrak.h:76
@ PYRAMID_KILLED_ALL_TROLLS
Definition zulfarrak.h:80
@ PYRAMID_WAVE_3
Definition zulfarrak.h:79
@ PYRAMID_WAVE_1
Definition zulfarrak.h:75
@ PYRAMID_PRE_WAVE_3
Definition zulfarrak.h:78
@ PYRAMID_MOVED_DOWNSTAIRS
Definition zulfarrak.h:81
@ POINT_CREW_DESCENT
Definition zulfarrak.h:65
@ POINT_CREW_GATHER
Definition zulfarrak.h:66

References addGroupSize, BlyGUID, DATA_PYRAMID, Map::GetCreature(), IN_MILLISECONDS, InstanceScript::instance, IsWaveAllDead(), major_wave_Timer, minor_wave_Timer, MINUTE, MoveNPCIfAlive(), NPC_BLY, NPC_MURTA, NPC_ORO, NPC_RAVEN, NPC_WEEGLI, POINT_CREW_DESCENT, POINT_CREW_GATHER, PYRAMID_ARRIVED_AT_STAIR, PYRAMID_DESTROY_GATES, PYRAMID_DONE, PYRAMID_GATES_DESTROYED, PYRAMID_KILLED_ALL_TROLLS, PYRAMID_MOVED_DOWNSTAIRS, PYRAMID_NOT_STARTED, PYRAMID_PRE_WAVE_2, PYRAMID_PRE_WAVE_3, PYRAMID_WAVE_1, PYRAMID_WAVE_2, PYRAMID_WAVE_3, PyramidPhase, SAY_BLY_FORWARD, SendAddsUpStairs(), SetData(), and SpawnPyramidWave().

◆ WriteSaveDataMore()

void instance_zulfarrak::instance_zulfarrak_InstanceMapScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

465 {
466 data << PyramidPhase << ' ' << GahzrillaSummoned << ' ' << EndDoorState;
467 }

References EndDoorState, GahzrillaSummoned, and PyramidPhase.

Member Data Documentation

◆ addGroupSize

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::addGroupSize

Referenced by Initialize(), and Update().

◆ addsAtBase

GuidList instance_zulfarrak::instance_zulfarrak_InstanceMapScript::addsAtBase

◆ BlyGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::BlyGUID

◆ EndDoorGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::EndDoorGUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ EndDoorState

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::EndDoorState

◆ GahzrillaSummoned

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::GahzrillaSummoned

◆ major_wave_Timer

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::major_wave_Timer

Referenced by Initialize(), and Update().

◆ minor_wave_Timer

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::minor_wave_Timer

Referenced by Initialize(), and Update().

◆ movedadds

GuidList instance_zulfarrak::instance_zulfarrak_InstanceMapScript::movedadds

Referenced by IsWaveAllDead(), and SendAddsUpStairs().

◆ MurtaGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::MurtaGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ OroGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::OroGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ PyramidPhase

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::PyramidPhase

◆ RavenGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::RavenGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ ShadowpriestGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::ShadowpriestGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ waypoint

uint32 instance_zulfarrak::instance_zulfarrak_InstanceMapScript::waypoint

Referenced by Initialize().

◆ WeegliGUID

ObjectGuid instance_zulfarrak::instance_zulfarrak_InstanceMapScript::WeegliGUID

Referenced by GetGuidData(), and OnCreatureCreate().


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