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

Public Member Functions

 instance_ulduar_InstanceMapScript (Map *pMap)
 
void Initialize () override
 
void FillInitialWorldStates (WorldPacket &packet) override
 
void OnPlayerEnter (Player *player) override
 
bool IsEncounterInProgress () const override
 
void ProcessEvent (WorldObject *, uint32 eventId) override
 
void SpawnHodirChests (Difficulty diff, Creature *hodir)
 
void OnCreatureCreate (Creature *creature) override
 
void OnCreatureRemove (Creature *creature) override
 
void OpenIfDone (uint32 encounter, GameObject *go, GOState state)
 
void OnGameObjectCreate (GameObject *gameObject) override
 
void setChestsLootable (uint32 boss)
 
void SetData (uint32 type, uint32 data) override
 
ObjectGuid GetGuidData (uint32 data) const override
 
uint32 GetData (uint32 type) const override
 
void OnUnitDeath (Unit *unit) override
 
void ReadSaveDataMore (std::istringstream &data) override
 
void WriteSaveDataMore (std::ostringstream &data) override
 
void Update (uint32 diff) override
 
void SpawnLeviathanEncounterVehicles (uint8 mode)
 
bool CheckAchievementCriteriaMeet (uint32 criteria_id, Player const *, Unit const *, uint32) 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)
 
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 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)
 
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
 
- 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]
 
uint32 C_of_Ulduar_MASK
 
int m_difficulty
 
ObjectGuid m_uiLeviathanGUID
 
ObjectGuid m_uiIgnisGUID
 
ObjectGuid m_uiRazorscaleGUID
 
ObjectGuid m_uiXT002GUID
 
ObjectGuid m_auiAssemblyGUIDs [3]
 
ObjectGuid m_uiKologarnGUID
 
ObjectGuid m_uiAuriayaGUID
 
ObjectGuid m_uiMimironGUID
 
ObjectGuid m_uiHodirGUID
 
ObjectGuid m_uiThorimGUID
 
ObjectGuid m_uiFreyaGUID
 
ObjectGuid m_uiVezaxGUID
 
ObjectGuid m_uiYoggSaronGUID
 
ObjectGuid m_uiAlgalonGUID
 
ObjectGuid m_leviathanDoorsGUID
 
ObjectGuid m_leviathanVisualTowers [4][2]
 
ObjectGuid m_RepairSGUID [2]
 
ObjectGuid m_lightningWalls [2]
 
bool m_leviathanTowers [4]
 
GuidList _leviathanVehicles
 
uint32 m_unbrokenAchievement
 
uint32 m_mageBarrier
 
ObjectGuid m_RazorscaleHarpoonFireStateGUID [4]
 
ObjectGuid m_xt002DoorsGUID
 
ObjectGuid KologarnDoorGUID
 
ObjectGuid m_assemblyDoorsGUID
 
ObjectGuid m_archivumDoorsGUID
 
ObjectGuid m_thorimGameobjectsGUID [5]
 
bool hmHodir
 
ObjectGuid m_hodirNormalChest
 
ObjectGuid m_hodirHardmodeChest
 
Position normalChestPosition = { 1967.152588f, -204.188461f, 432.686951f, 5.50957f }
 
Position hardChestPosition = { 2035.94600f, -202.084885f, 432.686859f, 3.164077f }
 
ObjectGuid m_mimironTramGUID
 
ObjectGuid m_mimironActivateTramGUID
 
ObjectGuid m_mimironTramRocketBoosterGUID
 
ObjectGuid m_mimironTramTurnaround1GUID
 
ObjectGuid m_mimironTramTurnaround2GUID
 
ObjectGuid m_mimironCallTramCenterGUID
 
ObjectGuid m_mimironCallTramMimironGUID
 
ObjectGuid m_MimironDoor [3]
 
ObjectGuid m_MimironLeviathanMKIIguid
 
ObjectGuid m_MimironVX001guid
 
ObjectGuid m_MimironACUguid
 
ObjectGuid m_FreyaElder [3]
 
uint32 m_conspeedatoryAttempt
 
ObjectGuid m_saraGUID
 
ObjectGuid m_yoggsaronBrainGUID
 
ObjectGuid m_yoggsaronDoorsGUID
 
ObjectGuid m_algalonSigilDoorGUID [3]
 
ObjectGuid m_algalonFloorGUID [2]
 
ObjectGuid m_algalonUniverseGUID
 
ObjectGuid m_algalonTrapdoorGUID
 
ObjectGuid m_brannBronzebeardAlgGUID
 
ObjectGuid m_brannBronzebeardBaseCamp
 
uint32 m_algalonTimer
 
const Position triggerAncientGatePosition = { 1883.65f, 269.272f, 418.406f }
 
EventMap _events
 
bool m_mimironTramUsed
 
ObjectGuid m_keepersgateGUID
 
ObjectGuid m_keepersGossipGUID [4]
 
- 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 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)
 
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_ulduar_InstanceMapScript()

instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript ( Map pMap)
inline
40 : InstanceScript(pMap)
41 {
42 Initialize();
44 // 0: 10 man difficulty
45 // 1: 25 man difficulty
46 m_difficulty = (pMap->Is25ManRaid() ? 0 : 1);
47 };
#define DataHeader
Definition: blackrock_depths.h:23
Definition: InstanceScript.h:142
void SetHeaders(std::string const &dataHeaders)
Definition: InstanceScript.cpp:138
bool Is25ManRaid() const
Definition: Map.h:453
void Initialize() override
Definition: instance_ulduar.cpp:145
int m_difficulty
Definition: instance_ulduar.cpp:52

References DataHeader, Initialize(), Map::Is25ManRaid(), m_difficulty, and InstanceScript::SetHeaders().

Member Function Documentation

◆ CheckAchievementCriteriaMeet()

bool instance_ulduar::instance_ulduar_InstanceMapScript::CheckAchievementCriteriaMeet ( uint32  criteria_id,
Player const *  ,
Unit const *  ,
uint32   
)
inlineoverridevirtual

Reimplemented from InstanceScript.

1222 {
1223 switch (criteria_id)
1224 {
1225 case 10042:
1226 case 10352:
1227 return (C_of_Ulduar_MASK & (1 << TYPE_LEVIATHAN)) == 0;
1228 case 10342:
1229 case 10355:
1230 return (C_of_Ulduar_MASK & (1 << TYPE_IGNIS)) == 0;
1231 case 10340:
1232 case 10353:
1233 return (C_of_Ulduar_MASK & (1 << TYPE_RAZORSCALE)) == 0;
1234 case 10341:
1235 case 10354:
1236 return (C_of_Ulduar_MASK & (1 << TYPE_XT002)) == 0;
1237 case 10598:
1238 case 10599:
1239 return (C_of_Ulduar_MASK & (1 << TYPE_ASSEMBLY)) == 0;
1240 case 10348:
1241 case 10357:
1242 return (C_of_Ulduar_MASK & (1 << TYPE_KOLOGARN)) == 0;
1243 case 10351:
1244 case 10363:
1245 return (C_of_Ulduar_MASK & (1 << TYPE_AURIAYA)) == 0;
1246 case 10439:
1247 case 10719:
1248 return (C_of_Ulduar_MASK & (1 << TYPE_HODIR)) == 0;
1249 case 10403:
1250 case 10404:
1251 return (C_of_Ulduar_MASK & (1 << TYPE_THORIM)) == 0;
1252 case 10582:
1253 case 10583:
1254 return (C_of_Ulduar_MASK & (1 << TYPE_FREYA)) == 0;
1255 case 10347:
1256 case 10361:
1257 return (C_of_Ulduar_MASK & (1 << TYPE_MIMIRON)) == 0;
1258 case 10349:
1259 case 10362:
1260 return (C_of_Ulduar_MASK & (1 << TYPE_VEZAX)) == 0;
1261 case 10350:
1262 case 10364:
1263 return (C_of_Ulduar_MASK & (1 << TYPE_YOGGSARON)) == 0;
1264 }
1265 return false;
1266 }
@ TYPE_IGNIS
Definition: ulduar.h:33
@ TYPE_VEZAX
Definition: ulduar.h:43
@ TYPE_XT002
Definition: ulduar.h:35
@ TYPE_HODIR
Definition: ulduar.h:40
@ TYPE_ASSEMBLY
Definition: ulduar.h:36
@ TYPE_KOLOGARN
Definition: ulduar.h:37
@ TYPE_AURIAYA
Definition: ulduar.h:38
@ TYPE_RAZORSCALE
Definition: ulduar.h:34
@ TYPE_FREYA
Definition: ulduar.h:39
@ TYPE_LEVIATHAN
Definition: ulduar.h:32
@ TYPE_MIMIRON
Definition: ulduar.h:41
@ TYPE_THORIM
Definition: ulduar.h:42
@ TYPE_YOGGSARON
Definition: ulduar.h:44
uint32 C_of_Ulduar_MASK
Definition: instance_ulduar.cpp:50

References TYPE_ASSEMBLY, TYPE_AURIAYA, TYPE_FREYA, TYPE_HODIR, TYPE_IGNIS, TYPE_KOLOGARN, TYPE_LEVIATHAN, TYPE_MIMIRON, TYPE_RAZORSCALE, TYPE_THORIM, TYPE_VEZAX, TYPE_XT002, and TYPE_YOGGSARON.

◆ FillInitialWorldStates()

void instance_ulduar::instance_ulduar_InstanceMapScript::FillInitialWorldStates ( WorldPacket packet)
inlineoverridevirtual

Reimplemented from InstanceScript.

174 {
176 packet << uint32(WORLD_STATE_ALGALON_DESPAWN_TIMER) << uint32(std::min<uint32>(m_algalonTimer, 60));
177 }
std::uint32_t uint32
Definition: Define.h:107
@ WORLD_STATE_ALGALON_TIMER_ENABLED
Definition: ulduar.h:281
uint32 m_algalonTimer
Definition: instance_ulduar.cpp:134

References m_algalonTimer, and WORLD_STATE_ALGALON_TIMER_ENABLED.

◆ GetData()

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::GetData ( uint32  type) const
inlineoverridevirtual

Reimplemented from ZoneScript.

1058 {
1059 switch (type)
1060 {
1061 case TYPE_LEVIATHAN:
1062 case TYPE_IGNIS:
1063 case TYPE_RAZORSCALE:
1064 case TYPE_XT002:
1065 case TYPE_ASSEMBLY:
1066 case TYPE_KOLOGARN:
1067 case TYPE_AURIAYA:
1068 case TYPE_MIMIRON:
1069 case TYPE_HODIR:
1070 case TYPE_THORIM:
1071 case TYPE_FREYA:
1072 case TYPE_VEZAX:
1073 case TYPE_YOGGSARON:
1074 case TYPE_ALGALON:
1075 case TYPE_WATCHERS:
1076 return m_auiEncounter[type];
1077
1083
1084 case DATA_MAGE_BARRIER:
1085 return m_mageBarrier;
1086
1088 return m_unbrokenAchievement;
1089
1090 case DATA_CALL_TRAM:
1091 return m_mimironTramUsed;
1092 }
1093
1094 return 0;
1095 }
@ EVENT_TOWER_OF_STORM_DESTROYED
Definition: ulduar.h:268
@ EVENT_TOWER_OF_LIFE_DESTROYED
Definition: ulduar.h:271
@ EVENT_TOWER_OF_FLAMES_DESTROYED
Definition: ulduar.h:270
@ EVENT_TOWER_OF_FROST_DESTROYED
Definition: ulduar.h:269
@ DATA_MAGE_BARRIER
Definition: ulduar.h:101
@ DATA_UNBROKEN_ACHIEVEMENT
Definition: ulduar.h:59
@ DATA_CALL_TRAM
Definition: ulduar.h:98
@ TYPE_WATCHERS
Definition: ulduar.h:46
@ TYPE_ALGALON
Definition: ulduar.h:45
bool m_leviathanTowers[4]
Definition: instance_ulduar.cpp:75
bool m_mimironTramUsed
Definition: instance_ulduar.cpp:141
uint32 m_mageBarrier
Definition: instance_ulduar.cpp:78
uint32 m_auiEncounter[MAX_ENCOUNTER]
Definition: instance_ulduar.cpp:49
uint32 m_unbrokenAchievement
Definition: instance_ulduar.cpp:77

References DATA_CALL_TRAM, DATA_MAGE_BARRIER, DATA_UNBROKEN_ACHIEVEMENT, EVENT_TOWER_OF_FLAMES_DESTROYED, EVENT_TOWER_OF_FROST_DESTROYED, EVENT_TOWER_OF_LIFE_DESTROYED, EVENT_TOWER_OF_STORM_DESTROYED, TYPE_ALGALON, TYPE_ASSEMBLY, TYPE_AURIAYA, TYPE_FREYA, TYPE_HODIR, TYPE_IGNIS, TYPE_KOLOGARN, TYPE_LEVIATHAN, TYPE_MIMIRON, TYPE_RAZORSCALE, TYPE_THORIM, TYPE_VEZAX, TYPE_WATCHERS, TYPE_XT002, and TYPE_YOGGSARON.

Referenced by OnCreatureCreate(), OnGameObjectCreate(), OpenIfDone(), and SetData().

◆ GetGuidData()

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::GetGuidData ( uint32  data) const
inlineoverridevirtual

Reimplemented from InstanceScript.

933 {
934 switch (data)
935 {
936 // Bosses
937 case TYPE_LEVIATHAN:
938 return m_uiLeviathanGUID;
939 case TYPE_IGNIS:
940 return m_uiIgnisGUID;
941 case TYPE_RAZORSCALE:
942 return m_uiRazorscaleGUID;
943 case TYPE_XT002:
944 return m_uiXT002GUID;
945 case TYPE_KOLOGARN:
946 return m_uiKologarnGUID;
947 case TYPE_AURIAYA:
948 return m_uiAuriayaGUID;
949 case TYPE_MIMIRON:
950 return m_uiMimironGUID;
951 case TYPE_HODIR:
952 return m_uiHodirGUID;
953 case TYPE_THORIM:
954 return m_uiThorimGUID;
955 case TYPE_FREYA:
956 return m_uiFreyaGUID;
957 case TYPE_VEZAX:
958 return m_uiVezaxGUID;
959 case TYPE_YOGGSARON:
960 return m_uiYoggSaronGUID;
961 case TYPE_ALGALON:
962 return m_uiAlgalonGUID;
964 return m_auiAssemblyGUIDs[0];
965 case DATA_MOLGEIM:
966 return m_auiAssemblyGUIDs[1];
967 case DATA_BRUNDIR:
968 return m_auiAssemblyGUIDs[2];
969
970 // Flame Leviathan
972 return m_RepairSGUID[0];
974 return m_RepairSGUID[1];
976 return m_lightningWalls[0];
978 return m_lightningWalls[1];
981
982 // Razorscales Harpoon Fire State GUIDs
987 return m_RazorscaleHarpoonFireStateGUID[data - 200];
988
989 // XT-002
990 case GO_XT002_DOORS:
991 return m_xt002DoorsGUID;
992 // XT-002
994 return KologarnDoorGUID;
995 // Thorim
1002
1003 // Hodir chests
1005 return m_hodirHardmodeChest;
1007 return m_hodirNormalChest;
1008
1009 // Freya Elders
1013 return m_FreyaElder[data - NPC_ELDER_IRONBRANCH];
1014
1015 // Mimiron's first vehicle (spawned by default)
1018 case DATA_MIMIRON_VX001:
1019 return m_MimironVX001guid;
1020 case DATA_MIMIRON_ACU:
1021 return m_MimironACUguid;
1025 return m_MimironDoor[data - 311];
1026
1027 // Yogg-Saron
1029 return m_yoggsaronDoorsGUID;
1030 case NPC_SARA:
1031 return m_saraGUID;
1033 return m_yoggsaronBrainGUID;
1034
1035 // Algalon the Observer
1037 return m_algalonSigilDoorGUID[0];
1039 return m_algalonSigilDoorGUID[1];
1041 return m_algalonSigilDoorGUID[2];
1043 return m_algalonFloorGUID[0];
1045 return m_algalonFloorGUID[1];
1047 return m_algalonUniverseGUID;
1049 return m_algalonTrapdoorGUID;
1052 }
1053
1054 return ObjectGuid::Empty;
1055 }
@ DATA_MIMIRON_VX001
Definition: ulduar.h:69
@ DATA_THORIM_FIRST_DOORS
Definition: ulduar.h:81
@ DATA_MOLGEIM
Definition: ulduar.h:86
@ DATA_THORIM_LEVER
Definition: ulduar.h:79
@ DATA_LIGHTNING_WALL2
Definition: ulduar.h:56
@ DATA_BRUNDIR
Definition: ulduar.h:87
@ DATA_HARPOON_FIRE_STATE_1
Definition: ulduar.h:62
@ DATA_HARPOON_FIRE_STATE_2
Definition: ulduar.h:63
@ DATA_GO_MIMIRON_DOOR_1
Definition: ulduar.h:73
@ DATA_THORIM_FENCE
Definition: ulduar.h:80
@ DATA_REPAIR_STATION1
Definition: ulduar.h:57
@ DATA_THORIM_SECOND_DOORS
Definition: ulduar.h:82
@ DATA_STEELBREAKER
Definition: ulduar.h:85
@ DATA_HARPOON_FIRE_STATE_3
Definition: ulduar.h:64
@ DATA_LIGHTNING_WALL1
Definition: ulduar.h:55
@ DATA_GO_MIMIRON_DOOR_2
Definition: ulduar.h:74
@ DATA_GO_MIMIRON_DOOR_3
Definition: ulduar.h:75
@ DATA_MIMIRON_LEVIATHAN_MKII
Definition: ulduar.h:68
@ DATA_HARPOON_FIRE_STATE_4
Definition: ulduar.h:65
@ DATA_MIMIRON_ACU
Definition: ulduar.h:70
@ DATA_THORIM_LEVER_GATE
Definition: ulduar.h:78
@ DATA_REPAIR_STATION2
Definition: ulduar.h:58
@ GO_DOODAD_UL_SIGILDOOR_03
Definition: ulduar.h:252
@ GO_DOODAD_UL_UNIVERSEGLOBE01
Definition: ulduar.h:255
@ GO_YOGG_SARON_DOORS
Definition: ulduar.h:245
@ GO_DOODAD_UL_SIGILDOOR_01
Definition: ulduar.h:250
@ GO_LEVIATHAN_DOORS
Definition: ulduar.h:195
@ GO_HODIR_CHEST_NORMAL
Definition: ulduar.h:180
@ GO_DOODAD_UL_SIGILDOOR_02
Definition: ulduar.h:251
@ GO_KOLOGARN_DOORS
Definition: ulduar.h:212
@ GO_DOODAD_UL_ULDUAR_TRAPDOOR_03
Definition: ulduar.h:256
@ GO_XT002_DOORS
Definition: ulduar.h:214
@ GO_DOODAD_UL_UNIVERSEFLOOR_01
Definition: ulduar.h:253
@ GO_HODIR_CHEST_HARD
Definition: ulduar.h:182
@ GO_DOODAD_UL_UNIVERSEFLOOR_02
Definition: ulduar.h:254
@ NPC_ELDER_BRIGHTLEAF
Definition: ulduar.h:137
@ NPC_BRAIN_OF_YOGG_SARON
Definition: ulduar.h:125
@ NPC_SARA
Definition: ulduar.h:123
@ NPC_ELDER_IRONBRANCH
Definition: ulduar.h:139
@ NPC_ELDER_STONEBARK
Definition: ulduar.h:138
@ NPC_BRANN_BRONZBEARD_ALG
Definition: ulduar.h:160
static ObjectGuid const Empty
Definition: ObjectGuid.h:120
ObjectGuid m_MimironDoor[3]
Definition: instance_ulduar.cpp:113
ObjectGuid m_uiFreyaGUID
Definition: instance_ulduar.cpp:65
ObjectGuid m_lightningWalls[2]
Definition: instance_ulduar.cpp:74
ObjectGuid m_uiAlgalonGUID
Definition: instance_ulduar.cpp:68
ObjectGuid m_uiMimironGUID
Definition: instance_ulduar.cpp:62
ObjectGuid m_yoggsaronDoorsGUID
Definition: instance_ulduar.cpp:125
ObjectGuid m_algalonFloorGUID[2]
Definition: instance_ulduar.cpp:129
ObjectGuid m_algalonTrapdoorGUID
Definition: instance_ulduar.cpp:131
ObjectGuid m_saraGUID
Definition: instance_ulduar.cpp:123
ObjectGuid m_brannBronzebeardAlgGUID
Definition: instance_ulduar.cpp:132
ObjectGuid m_RazorscaleHarpoonFireStateGUID[4]
Definition: instance_ulduar.cpp:81
ObjectGuid m_FreyaElder[3]
Definition: instance_ulduar.cpp:119
ObjectGuid m_xt002DoorsGUID
Definition: instance_ulduar.cpp:84
ObjectGuid m_MimironLeviathanMKIIguid
Definition: instance_ulduar.cpp:114
ObjectGuid m_uiIgnisGUID
Definition: instance_ulduar.cpp:56
ObjectGuid m_RepairSGUID[2]
Definition: instance_ulduar.cpp:73
ObjectGuid m_uiKologarnGUID
Definition: instance_ulduar.cpp:60
ObjectGuid m_uiVezaxGUID
Definition: instance_ulduar.cpp:66
ObjectGuid m_uiYoggSaronGUID
Definition: instance_ulduar.cpp:67
ObjectGuid m_algalonSigilDoorGUID[3]
Definition: instance_ulduar.cpp:128
ObjectGuid m_yoggsaronBrainGUID
Definition: instance_ulduar.cpp:124
ObjectGuid m_uiThorimGUID
Definition: instance_ulduar.cpp:64
ObjectGuid m_hodirNormalChest
Definition: instance_ulduar.cpp:98
ObjectGuid m_MimironACUguid
Definition: instance_ulduar.cpp:116
ObjectGuid m_MimironVX001guid
Definition: instance_ulduar.cpp:115
ObjectGuid m_auiAssemblyGUIDs[3]
Definition: instance_ulduar.cpp:59
ObjectGuid m_uiLeviathanGUID
Definition: instance_ulduar.cpp:55
ObjectGuid KologarnDoorGUID
Definition: instance_ulduar.cpp:87
ObjectGuid m_uiHodirGUID
Definition: instance_ulduar.cpp:63
ObjectGuid m_uiAuriayaGUID
Definition: instance_ulduar.cpp:61
ObjectGuid m_leviathanDoorsGUID
Definition: instance_ulduar.cpp:71
ObjectGuid m_uiRazorscaleGUID
Definition: instance_ulduar.cpp:57
ObjectGuid m_algalonUniverseGUID
Definition: instance_ulduar.cpp:130
ObjectGuid m_uiXT002GUID
Definition: instance_ulduar.cpp:58
ObjectGuid m_thorimGameobjectsGUID[5]
Definition: instance_ulduar.cpp:94
ObjectGuid m_hodirHardmodeChest
Definition: instance_ulduar.cpp:99

References DATA_BRUNDIR, DATA_GO_MIMIRON_DOOR_1, DATA_GO_MIMIRON_DOOR_2, DATA_GO_MIMIRON_DOOR_3, DATA_HARPOON_FIRE_STATE_1, DATA_HARPOON_FIRE_STATE_2, DATA_HARPOON_FIRE_STATE_3, DATA_HARPOON_FIRE_STATE_4, DATA_LIGHTNING_WALL1, DATA_LIGHTNING_WALL2, DATA_MIMIRON_ACU, DATA_MIMIRON_LEVIATHAN_MKII, DATA_MIMIRON_VX001, DATA_MOLGEIM, DATA_REPAIR_STATION1, DATA_REPAIR_STATION2, DATA_STEELBREAKER, DATA_THORIM_FENCE, DATA_THORIM_FIRST_DOORS, DATA_THORIM_LEVER, DATA_THORIM_LEVER_GATE, DATA_THORIM_SECOND_DOORS, ObjectGuid::Empty, GO_DOODAD_UL_SIGILDOOR_01, GO_DOODAD_UL_SIGILDOOR_02, GO_DOODAD_UL_SIGILDOOR_03, GO_DOODAD_UL_ULDUAR_TRAPDOOR_03, GO_DOODAD_UL_UNIVERSEFLOOR_01, GO_DOODAD_UL_UNIVERSEFLOOR_02, GO_DOODAD_UL_UNIVERSEGLOBE01, GO_HODIR_CHEST_HARD, GO_HODIR_CHEST_NORMAL, GO_KOLOGARN_DOORS, GO_LEVIATHAN_DOORS, GO_XT002_DOORS, GO_YOGG_SARON_DOORS, NPC_BRAIN_OF_YOGG_SARON, NPC_BRANN_BRONZBEARD_ALG, NPC_ELDER_BRIGHTLEAF, NPC_ELDER_IRONBRANCH, NPC_ELDER_STONEBARK, NPC_SARA, TYPE_ALGALON, TYPE_AURIAYA, TYPE_FREYA, TYPE_HODIR, TYPE_IGNIS, TYPE_KOLOGARN, TYPE_LEVIATHAN, TYPE_MIMIRON, TYPE_RAZORSCALE, TYPE_THORIM, TYPE_VEZAX, TYPE_XT002, and TYPE_YOGGSARON.

Referenced by SetData().

◆ Initialize()

void instance_ulduar::instance_ulduar_InstanceMapScript::Initialize ( )
inlineoverridevirtual

Reimplemented from InstanceScript.

146 {
147 // Bosses
148 memset(&m_auiEncounter, 0, sizeof(m_auiEncounter));
150
151 // Flame Leviathan
152 for (uint8 i = 0; i < 4; ++i)
153 m_leviathanTowers[i] = true;
154
155 _leviathanVehicles.clear();
157 m_mageBarrier = 0;
158
159 // Hodir
160 hmHodir = true; // If players fail the Hardmode then becomes false
161
162 // Freya
164
165 // Algalon
166 m_algalonTimer = 0;
167
168 // Shared
169 _events.Reset();
170 m_mimironTramUsed = false;
171 }
std::uint8_t uint8
Definition: Define.h:109
void Reset()
Definition: EventMap.cpp:21
bool hmHodir
Definition: instance_ulduar.cpp:97
GuidList _leviathanVehicles
Definition: instance_ulduar.cpp:76
EventMap _events
Definition: instance_ulduar.cpp:140
uint32 m_conspeedatoryAttempt
Definition: instance_ulduar.cpp:120

References _events, _leviathanVehicles, C_of_Ulduar_MASK, hmHodir, m_algalonTimer, m_auiEncounter, m_conspeedatoryAttempt, m_leviathanTowers, m_mageBarrier, m_mimironTramUsed, m_unbrokenAchievement, and EventMap::Reset().

Referenced by instance_ulduar_InstanceMapScript().

◆ IsEncounterInProgress()

bool instance_ulduar::instance_ulduar_InstanceMapScript::IsEncounterInProgress ( ) const
inlineoverridevirtual

Reimplemented from InstanceScript.

217 {
218 for (uint8 i = 0; i < (MAX_ENCOUNTER - 1); ++i)
219 {
220 if (m_auiEncounter[i] == IN_PROGRESS)
221 return true;
222 }
223
224 // Leviathan does not use IN_PROGRESS type, instead SPECIAL is set and never reset,
225 // Check if he is in combat.
227 if (l->IsInCombat())
228 return true;
229
230 return false;
231 }
@ IN_PROGRESS
Definition: InstanceScript.h:58
#define MAX_ENCOUNTER
Definition: violet_hold.h:21
Definition: Unit.h:630
Map * instance
Definition: InstanceScript.h:148
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3314

References Map::GetCreature(), IN_PROGRESS, InstanceScript::instance, m_auiEncounter, m_uiLeviathanGUID, and MAX_ENCOUNTER.

◆ OnCreatureCreate()

void instance_ulduar::instance_ulduar_InstanceMapScript::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

These creatures are summoned by something else than Algalon but need to be controlled/despawned by him - so they need to be registered in his summon list

Reimplemented from InstanceScript.

312 {
313 switch (creature->GetEntry())
314 {
315 case NPC_LEVIATHAN:
316 m_uiLeviathanGUID = creature->GetGUID();
317 break;
318 case NPC_IGNIS:
319 m_uiIgnisGUID = creature->GetGUID();
320 break;
321 case NPC_RAZORSCALE:
322 m_uiRazorscaleGUID = creature->GetGUID();
323 break;
324 case NPC_XT002:
325 m_uiXT002GUID = creature->GetGUID();
326 break;
327 case NPC_STEELBREAKER:
328 m_auiAssemblyGUIDs[0] = creature->GetGUID();
329 break;
330 case NPC_MOLGEIM:
331 m_auiAssemblyGUIDs[1] = creature->GetGUID();
332 break;
333 case NPC_BRUNDIR:
334 m_auiAssemblyGUIDs[2] = creature->GetGUID();
335 break;
336 case NPC_KOLOGARN:
337 m_uiKologarnGUID = creature->GetGUID();
338 if (GetData(TYPE_KOLOGARN) == DONE)
339 {
340 creature->SetDisableGravity(true);
341 creature->SetPosition(creature->GetHomePosition());
342 creature->setDeathState(DeathState::JustDied);
343 creature->StopMovingOnCurrentPos();
344 }
345 break;
346 case NPC_AURIAYA:
347 m_uiAuriayaGUID = creature->GetGUID();
348 break;
349 case NPC_MIMIRON:
350 m_uiMimironGUID = creature->GetGUID();
351 break;
352 case NPC_HODIR:
353 m_uiHodirGUID = creature->GetGUID();
355 {
357 }
358 break;
359 case NPC_THORIM:
360 m_uiThorimGUID = creature->GetGUID();
361 break;
362 case NPC_FREYA:
363 m_uiFreyaGUID = creature->GetGUID();
364 break;
365 case NPC_VEZAX:
366 m_uiVezaxGUID = creature->GetGUID();
367 break;
368 case NPC_YOGGSARON:
369 m_uiYoggSaronGUID = creature->GetGUID();
370 break;
371 case NPC_ALGALON:
372 m_uiAlgalonGUID = creature->GetGUID();
373 break;
375 {
376 if (creature->GetPositionX() > 595 )
378 else if (creature->GetPositionX() > 585 )
380 else if (creature->GetPositionX() > 575 )
382 else
384 }
385 break;
388 break;
390 m_MimironVX001guid = creature->GetGUID();
391 break;
392 case NPC_MIMIRON_ACU:
393 m_MimironACUguid = creature->GetGUID();
394 break;
398 m_FreyaElder[creature->GetEntry() - NPC_ELDER_IRONBRANCH] = creature->GetGUID();
399 break;
400 case NPC_SARA:
401 m_saraGUID = creature->GetGUID();
402 break;
404 m_yoggsaronBrainGUID = creature->GetGUID();
405 break;
408 break;
411 break;
420 algalon->AI()->JustSummoned(creature);
421 break;
422 }
423 }
@ DONE
Definition: InstanceScript.h:60
@ NPC_FREYA
Definition: ScriptedCreature.cpp:543
@ NPC_VEZAX
Definition: ulduar.h:122
@ NPC_MIMIRON_ACU
Definition: ulduar.h:134
@ NPC_YOGGSARON
Definition: ulduar.h:124
@ NPC_MOLGEIM
Definition: ulduar.h:114
@ NPC_ALGALON_STALKER_ASTEROID_TARGET_01
Definition: ulduar.h:168
@ NPC_BRUNDIR
Definition: ulduar.h:115
@ NPC_UNLEASHED_DARK_MATTER
Definition: ulduar.h:170
@ NPC_THORIM
Definition: ulduar.h:120
@ NPC_ALGALON
Definition: ulduar.h:126
@ NPC_XT002
Definition: ulduar.h:112
@ NPC_HARPOON_FIRE_STATE
Definition: ulduar.h:129
@ NPC_HODIR
Definition: ulduar.h:119
@ NPC_MIMIRON_LEVIATHAN_MKII
Definition: ulduar.h:132
@ NPC_IGNIS
Definition: ulduar.h:110
@ NPC_LEVIATHAN
Definition: ulduar.h:109
@ NPC_ALGALON_STALKER_ASTEROID_TARGET_02
Definition: ulduar.h:169
@ NPC_STEELBREAKER
Definition: ulduar.h:113
@ NPC_BRANN_BASE_CAMP
Definition: ulduar.h:157
@ NPC_KOLOGARN
Definition: ulduar.h:116
@ NPC_AURIAYA
Definition: ulduar.h:117
@ NPC_RAZORSCALE
Definition: ulduar.h:111
@ NPC_ALGALON_VOID_ZONE_VISUAL_STALKER
Definition: ulduar.h:167
@ NPC_MIMIRON_VX001
Definition: ulduar.h:133
@ NPC_MIMIRON
Definition: ulduar.h:118
Definition: Creature.h:46
void setDeathState(DeathState s, bool despawn=false) override
A creature can be in 4 different states: Alive, JustDied, Corpse, and JustRespawned....
Definition: Creature.cpp:1960
bool SetDisableGravity(bool disable, bool packetOnly=false, bool updateAnimationTier=true) override
Enable or disable the creature's fly mode by adding or removing: MOVEMENTFLAG_FLYING....
Definition: Creature.cpp:3192
void GetHomePosition(float &x, float &y, float &z, float &ori) const
Definition: Creature.h:339
void SetPosition(float x, float y, float z, float o)
Definition: Creature.cpp:3149
uint32 GetEntry() const
Definition: Object.h:112
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:109
float GetPositionX() const
Definition: Position.h:117
void StopMovingOnCurrentPos()
Definition: Unit.cpp:16645
Difficulty GetDifficulty() const
Definition: Map.h:443
void SpawnHodirChests(Difficulty diff, Creature *hodir)
Definition: instance_ulduar.cpp:240
ObjectGuid m_brannBronzebeardBaseCamp
Definition: instance_ulduar.cpp:133
uint32 GetData(uint32 type) const override
Definition: instance_ulduar.cpp:1057

References DONE, Map::GetCreature(), GetData(), Map::GetDifficulty(), Object::GetEntry(), Object::GetGUID(), Creature::GetHomePosition(), Position::GetPositionX(), InstanceScript::instance, m_auiAssemblyGUIDs, m_auiEncounter, m_brannBronzebeardAlgGUID, m_brannBronzebeardBaseCamp, m_FreyaElder, m_MimironACUguid, m_MimironLeviathanMKIIguid, m_MimironVX001guid, m_RazorscaleHarpoonFireStateGUID, m_saraGUID, m_uiAlgalonGUID, m_uiAuriayaGUID, m_uiFreyaGUID, m_uiHodirGUID, m_uiIgnisGUID, m_uiKologarnGUID, m_uiLeviathanGUID, m_uiMimironGUID, m_uiRazorscaleGUID, m_uiThorimGUID, m_uiVezaxGUID, m_uiXT002GUID, m_uiYoggSaronGUID, m_yoggsaronBrainGUID, NPC_ALGALON, NPC_ALGALON_STALKER_ASTEROID_TARGET_01, NPC_ALGALON_STALKER_ASTEROID_TARGET_02, NPC_ALGALON_VOID_ZONE_VISUAL_STALKER, NPC_AURIAYA, NPC_BRAIN_OF_YOGG_SARON, NPC_BRANN_BASE_CAMP, NPC_BRANN_BRONZBEARD_ALG, NPC_BRUNDIR, NPC_ELDER_BRIGHTLEAF, NPC_ELDER_IRONBRANCH, NPC_ELDER_STONEBARK, NPC_FREYA, NPC_HARPOON_FIRE_STATE, NPC_HODIR, NPC_IGNIS, NPC_KOLOGARN, NPC_LEVIATHAN, NPC_MIMIRON, NPC_MIMIRON_ACU, NPC_MIMIRON_LEVIATHAN_MKII, NPC_MIMIRON_VX001, NPC_MOLGEIM, NPC_RAZORSCALE, NPC_SARA, NPC_STEELBREAKER, NPC_THORIM, NPC_UNLEASHED_DARK_MATTER, NPC_VEZAX, NPC_XT002, NPC_YOGGSARON, Creature::setDeathState(), Creature::SetDisableGravity(), Creature::SetPosition(), SpawnHodirChests(), Unit::StopMovingOnCurrentPos(), TYPE_HODIR, and TYPE_KOLOGARN.

◆ OnCreatureRemove()

void instance_ulduar::instance_ulduar_InstanceMapScript::OnCreatureRemove ( Creature creature)
inlineoverridevirtual

Reimplemented from InstanceScript.

426 {
427 switch (creature->GetEntry())
428 {
430 if (m_brannBronzebeardAlgGUID == creature->GetGUID())
432 break;
433 }
434 }
void Clear()
Definition: ObjectGuid.h:138

References ObjectGuid::Clear(), Object::GetEntry(), Object::GetGUID(), m_brannBronzebeardAlgGUID, and NPC_BRANN_BRONZBEARD_ALG.

◆ OnGameObjectCreate()

void instance_ulduar::instance_ulduar_InstanceMapScript::OnGameObjectCreate ( GameObject gameObject)
inlineoverridevirtual

Reimplemented from InstanceScript.

443 {
444 switch (gameObject->GetEntry())
445 {
446 // Flame Leviathan
448 {
449 if (m_RepairSGUID[0])
450 m_RepairSGUID[1] = gameObject->GetGUID();
451 else
452 m_RepairSGUID[0] = gameObject->GetGUID();
453 break;
454 }
456 m_lightningWalls[0] = gameObject->GetGUID();
458 break;
460 m_lightningWalls[1] = gameObject->GetGUID();
461 break;
464 m_leviathanVisualTowers[3][0] = gameObject->GetGUID();
465 break;
468 m_leviathanVisualTowers[0][0] = gameObject->GetGUID();
469 break;
472 m_leviathanVisualTowers[2][0] = gameObject->GetGUID();
473 break;
476 m_leviathanVisualTowers[1][0] = gameObject->GetGUID();
477 break;
480 m_leviathanVisualTowers[3][1] = gameObject->GetGUID();
481 break;
484 m_leviathanVisualTowers[0][1] = gameObject->GetGUID();
485 break;
488 m_leviathanVisualTowers[2][1] = gameObject->GetGUID();
489 break;
492 m_leviathanVisualTowers[1][1] = gameObject->GetGUID();
493 break;
497 m_leviathanDoorsGUID = gameObject->GetGUID();
498 break;
499 // XT-002, Kologarn, Assembly of Iron
500 case GO_XT002_DOORS:
501 m_xt002DoorsGUID = gameObject->GetGUID();
502 break;
504 KologarnDoorGUID = gameObject->GetGUID();
505 break;
508 break;
510 m_assemblyDoorsGUID = gameObject->GetGUID();
511 break;
513 m_archivumDoorsGUID = gameObject->GetGUID();
515 break;
516 // Thorim
519 break;
520 case GO_ARENA_LEVER:
522 break;
523 case GO_ARENA_FENCE:
525 break;
528 break;
531 break;
532 // Yogg-Saron
534 m_yoggsaronDoorsGUID = gameObject->GetGUID();
535 break;
536 case GO_KEEPERS_GATE:
538 {
539 instance->LoadGrid(1903.0f, 248.0f);
541 }
542
543 m_keepersgateGUID = gameObject->GetGUID();
544 break;
545 // Mimiron, Hodir, Vezax
547 gameObject->EnableCollision(false);
548 break;
550 m_MimironDoor[0] = gameObject->GetGUID();
551 break;
553 m_MimironDoor[1] = gameObject->GetGUID();
554 break;
556 m_MimironDoor[2] = gameObject->GetGUID();
557 break;
559 case GO_HODIR_DOOR:
560 if (GetData(TYPE_HODIR) == DONE)
561 if (gameObject->GetGoState() != GO_STATE_ACTIVE )
562 {
563 gameObject->SetLootState(GO_READY);
564 gameObject->UseDoorOrButton(0, false);
565 }
566 break;
567 case GO_VEZAX_DOOR:
568 if (GetData(TYPE_VEZAX) == DONE )
569 if (gameObject->GetGoState() != GO_STATE_ACTIVE )
570 {
571 gameObject->SetLootState(GO_READY);
572 gameObject->UseDoorOrButton(0, false);
573 }
574 break;
575 case GO_SNOW_MOUND:
576 gameObject->EnableCollision(false);
577 break;
578 // Mimiron Tram
579 case GO_MIMIRON_TRAM:
580 if (GetData(TYPE_MIMIRON) == DONE)
581 m_mimironTramUsed = true;
582 m_mimironTramGUID = gameObject->GetGUID();
583 break;
586 break;
588 m_mimironActivateTramGUID = gameObject->GetGUID();
589 break;
591 m_mimironCallTramCenterGUID = gameObject->GetGUID();
592 break;
595 break;
598 break;
601 break;
602 // Algalon the Observer
605 if (m_algalonTimer)
607 break;
609 m_algalonSigilDoorGUID[0] = gameObject->GetGUID();
610 if (m_algalonTimer)
611 gameObject->SetGoState(GO_STATE_ACTIVE);
612 break;
614 m_algalonSigilDoorGUID[1] = gameObject->GetGUID();
615 if (m_algalonTimer)
616 gameObject->SetGoState(GO_STATE_ACTIVE);
617 break;
619 m_algalonSigilDoorGUID[2] = gameObject->GetGUID();
620 break;
622 m_algalonFloorGUID[0] = gameObject->GetGUID();
623 break;
625 m_algalonFloorGUID[1] = gameObject->GetGUID();
626 break;
628 m_algalonUniverseGUID = gameObject->GetGUID();
629 break;
631 m_algalonTrapdoorGUID = gameObject->GetGUID();
632 break;
633 // Herbs
634 case 191019: // Adder's Tongue
635 case 190176: // Frost Lotus
636 case 190171: // Lichbloom
637 case 190170: // Talandra's Rose
638 case 189973: // Goldclover
639 if (GetData(TYPE_FREYA) == DONE)
640 gameObject->SetRespawnTime(7 * DAY);
641 break;
642 }
643 }
constexpr auto DAY
Definition: Common.h:49
@ GO_READY
Definition: GameObject.h:112
@ GO_STATE_READY
Definition: GameObjectData.h:691
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_STATE_ACTIVE_ALTERNATIVE
Definition: GameObjectData.h:692
@ GO_DOODAD_UL_TRAIN_TURNAROUND01
Definition: ulduar.h:222
@ GO_MIMIRON_ELEVATOR
Definition: ulduar.h:226
@ GO_MIMIRON_CALL_TRAM_MIMIRON
Definition: ulduar.h:220
@ GO_ARCHIVUM_DOORS
Definition: ulduar.h:209
@ GO_KOLOGARN_BRIDGE
Definition: ulduar.h:211
@ GO_MIMIRON_TRAM_ROCKET_BOOSTER
Definition: ulduar.h:221
@ GO_DOODAD_UL_TRAIN_TURNAROUND02
Definition: ulduar.h:223
@ GO_VEZAX_DOOR
Definition: ulduar.h:233
@ GO_THORIMS_TARGETTING_CRYSTAL
Definition: ulduar.h:201
@ GO_MIMIRONS_TARGETTING_CRYSTAL
Definition: ulduar.h:198
@ GO_FREYAS_GENERATOR
Definition: ulduar.h:203
@ GO_SECOND_COLOSSUS_DOORS
Definition: ulduar.h:242
@ GO_HODIRS_GENERATOR
Definition: ulduar.h:204
@ GO_CELESTIAL_PLANETARIUM_ACCESS_25
Definition: ulduar.h:249
@ GO_ARENA_FENCE
Definition: ulduar.h:240
@ GO_ARENA_LEVER_GATE
Definition: ulduar.h:238
@ GO_ASSEMBLY_DOORS
Definition: ulduar.h:210
@ GO_MIMIRON_ACTIVATE_TRAM
Definition: ulduar.h:218
@ GO_HODIR_FROZEN_DOOR
Definition: ulduar.h:230
@ GO_KEEPERS_GATE
Definition: ulduar.h:213
@ GO_THORIMS_GENERATOR
Definition: ulduar.h:205
@ GO_REPAIR_STATION_TRAP
Definition: ulduar.h:194
@ GO_MIMIRON_DOOR_3
Definition: ulduar.h:229
@ GO_MIMIRON_DOOR_1
Definition: ulduar.h:227
@ GO_ARENA_LEVER
Definition: ulduar.h:239
@ GO_HODIR_DOOR
Definition: ulduar.h:231
@ GO_HODIRS_TARGETTING_CRYSTAL
Definition: ulduar.h:200
@ GO_SNOW_MOUND
Definition: ulduar.h:235
@ GO_FIRST_COLOSSUS_DOORS
Definition: ulduar.h:241
@ GO_MIMIRONS_GENERATOR
Definition: ulduar.h:202
@ GO_LIGHTNING_WALL1
Definition: ulduar.h:196
@ GO_CELESTIAL_PLANETARIUM_ACCESS_10
Definition: ulduar.h:248
@ GO_LIGHTNING_WALL2
Definition: ulduar.h:197
@ GO_MIMIRON_TRAM
Definition: ulduar.h:217
@ GO_MIMIRON_DOOR_2
Definition: ulduar.h:228
@ GO_MIMIRON_CALL_TRAM_CENTER
Definition: ulduar.h:219
@ GO_FREYAS_TARGETTING_CRYSTAL
Definition: ulduar.h:199
@ GO_FLAG_IN_USE
Definition: SharedDefines.h:1603
@ GO_FLAG_LOCKED
Definition: SharedDefines.h:1604
void SetGoState(GOState state)
Definition: GameObject.cpp:2477
void SetGameObjectFlag(GameObjectFlags flags)
Definition: GameObject.h:219
void UseDoorOrButton(uint32 time_to_restore=0, bool alternative=false, Unit *user=nullptr)
Definition: GameObject.cpp:1429
GOState GetGoState() const
Definition: GameObject.h:206
void EnableCollision(bool enable)
Definition: GameObject.cpp:2604
void SetLootState(LootState s, Unit *unit=nullptr)
Definition: GameObject.cpp:2442
void SetRespawnTime(int32 respawn)
Definition: GameObject.cpp:1303
void RemoveGameObjectFlag(GameObjectFlags flags)
Definition: GameObject.h:220
void LoadGrid(float x, float y)
Definition: Map.cpp:492
ObjectGuid m_mimironTramTurnaround1GUID
Definition: instance_ulduar.cpp:107
ObjectGuid m_assemblyDoorsGUID
Definition: instance_ulduar.cpp:90
void OpenIfDone(uint32 encounter, GameObject *go, GOState state)
Definition: instance_ulduar.cpp:436
ObjectGuid m_mimironActivateTramGUID
Definition: instance_ulduar.cpp:105
ObjectGuid m_mimironTramGUID
Definition: instance_ulduar.cpp:104
ObjectGuid m_archivumDoorsGUID
Definition: instance_ulduar.cpp:91
ObjectGuid m_mimironCallTramCenterGUID
Definition: instance_ulduar.cpp:109
ObjectGuid m_mimironTramRocketBoosterGUID
Definition: instance_ulduar.cpp:106
ObjectGuid m_keepersgateGUID
Definition: instance_ulduar.cpp:142
ObjectGuid m_mimironTramTurnaround2GUID
Definition: instance_ulduar.cpp:108
ObjectGuid m_mimironCallTramMimironGUID
Definition: instance_ulduar.cpp:110
ObjectGuid m_leviathanVisualTowers[4][2]
Definition: instance_ulduar.cpp:72

References DATA_THORIM_FENCE, DATA_THORIM_FIRST_DOORS, DATA_THORIM_LEVER, DATA_THORIM_LEVER_GATE, DATA_THORIM_SECOND_DOORS, DAY, DONE, GameObject::EnableCollision(), GetData(), Object::GetEntry(), GameObject::GetGoState(), Object::GetGUID(), GO_ARCHIVUM_DOORS, GO_ARENA_FENCE, GO_ARENA_LEVER, GO_ARENA_LEVER_GATE, GO_ASSEMBLY_DOORS, GO_CELESTIAL_PLANETARIUM_ACCESS_10, GO_CELESTIAL_PLANETARIUM_ACCESS_25, GO_DOODAD_UL_SIGILDOOR_01, GO_DOODAD_UL_SIGILDOOR_02, GO_DOODAD_UL_SIGILDOOR_03, GO_DOODAD_UL_TRAIN_TURNAROUND01, GO_DOODAD_UL_TRAIN_TURNAROUND02, GO_DOODAD_UL_ULDUAR_TRAPDOOR_03, GO_DOODAD_UL_UNIVERSEFLOOR_01, GO_DOODAD_UL_UNIVERSEFLOOR_02, GO_DOODAD_UL_UNIVERSEGLOBE01, GO_FIRST_COLOSSUS_DOORS, GO_FLAG_IN_USE, GO_FLAG_LOCKED, GO_FREYAS_GENERATOR, GO_FREYAS_TARGETTING_CRYSTAL, GO_HODIR_DOOR, GO_HODIR_FROZEN_DOOR, GO_HODIRS_GENERATOR, GO_HODIRS_TARGETTING_CRYSTAL, GO_KEEPERS_GATE, GO_KOLOGARN_BRIDGE, GO_KOLOGARN_DOORS, GO_LEVIATHAN_DOORS, GO_LIGHTNING_WALL1, GO_LIGHTNING_WALL2, GO_MIMIRON_ACTIVATE_TRAM, GO_MIMIRON_CALL_TRAM_CENTER, GO_MIMIRON_CALL_TRAM_MIMIRON, GO_MIMIRON_DOOR_1, GO_MIMIRON_DOOR_2, GO_MIMIRON_DOOR_3, GO_MIMIRON_ELEVATOR, GO_MIMIRON_TRAM, GO_MIMIRON_TRAM_ROCKET_BOOSTER, GO_MIMIRONS_GENERATOR, GO_MIMIRONS_TARGETTING_CRYSTAL, GO_READY, GO_REPAIR_STATION_TRAP, GO_SECOND_COLOSSUS_DOORS, GO_SNOW_MOUND, GO_STATE_ACTIVE, GO_STATE_ACTIVE_ALTERNATIVE, GO_STATE_READY, GO_THORIMS_GENERATOR, GO_THORIMS_TARGETTING_CRYSTAL, GO_VEZAX_DOOR, GO_XT002_DOORS, GO_YOGG_SARON_DOORS, InstanceScript::instance, KologarnDoorGUID, Map::LoadGrid(), m_algalonFloorGUID, m_algalonSigilDoorGUID, m_algalonTimer, m_algalonTrapdoorGUID, m_algalonUniverseGUID, m_archivumDoorsGUID, m_assemblyDoorsGUID, m_keepersgateGUID, m_leviathanDoorsGUID, m_leviathanVisualTowers, m_lightningWalls, m_mimironActivateTramGUID, m_mimironCallTramCenterGUID, m_mimironCallTramMimironGUID, m_MimironDoor, m_mimironTramGUID, m_mimironTramRocketBoosterGUID, m_mimironTramTurnaround1GUID, m_mimironTramTurnaround2GUID, m_mimironTramUsed, m_RepairSGUID, m_thorimGameobjectsGUID, m_xt002DoorsGUID, m_yoggsaronDoorsGUID, OpenIfDone(), GameObject::RemoveGameObjectFlag(), GameObject::SetGameObjectFlag(), GameObject::SetGoState(), GameObject::SetLootState(), GameObject::SetRespawnTime(), TYPE_ASSEMBLY, TYPE_FREYA, TYPE_HODIR, TYPE_KOLOGARN, TYPE_LEVIATHAN, TYPE_MIMIRON, TYPE_THORIM, TYPE_VEZAX, and GameObject::UseDoorOrButton().

◆ OnPlayerEnter()

void instance_ulduar::instance_ulduar_InstanceMapScript::OnPlayerEnter ( Player player)
inlineoverridevirtual

Reimplemented from InstanceScript.

180 {
181 // mimiron tram:
182 instance->LoadGrid(2307.0f, 284.632f);
184 {
185 player->UpdateVisibilityOf(MimironTram);
186 if (StaticTransport* t = MimironTram->ToStaticTransport())
187 {
189 if (!go->GetTransport())
190 t->AddPassenger(go, true);
192 if (!go->GetTransport())
193 t->AddPassenger(go, true);
194 }
195 }
196
198 {
200 if (!algalon)
201 return;
202
203 if (m_algalonTimer <= 60)
204 {
206 algalon->AI()->DoAction(ACTION_INIT_ALGALON);
207 }
208 else // if (m_algalonTimer = TIMER_ALGALON_TO_SUMMON)
209 {
211 algalon->SetImmuneToPC(false);
212 }
213 }
214 }
Position const AlgalonLandPos
Definition: ulduar.h:314
@ TIMER_ALGALON_SUMMONED
Definition: ulduar.h:290
@ ACTION_INIT_ALGALON
Definition: ulduar.h:285
@ EVENT_UPDATE_ALGALON_TIMER
Definition: ulduar.h:283
@ TIMER_ALGALON_TO_SUMMON
Definition: ulduar.h:289
void RescheduleEvent(uint32 eventId, uint32 time, uint32 groupId=0, uint32 phase=0)
Definition: EventMap.cpp:81
virtual void DoAction(int32)
Definition: UnitAI.h:212
CreatureAI * AI() const
Definition: Creature.h:143
Definition: TemporarySummon.h:40
Definition: GameObject.h:121
StaticTransport * ToStaticTransport()
Definition: GameObject.h:325
void UpdateVisibilityOf(WorldObject *target)
Definition: PlayerUpdates.cpp:1667
Definition: Transport.h:112
void SetImmuneToPC(bool apply, bool keepCombat=false)
Definition: Unit.cpp:13568
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3319
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:2163

References _events, ACTION_INIT_ALGALON, Creature::AI(), AlgalonLandPos, UnitAI::DoAction(), EVENT_UPDATE_ALGALON_TIMER, Map::GetGameObject(), InstanceScript::instance, Map::LoadGrid(), m_algalonTimer, m_mimironActivateTramGUID, m_mimironTramGUID, m_mimironTramRocketBoosterGUID, m_uiAlgalonGUID, NPC_ALGALON, EventMap::RescheduleEvent(), Unit::SetImmuneToPC(), Map::SummonCreature(), TIMER_ALGALON_SUMMONED, TIMER_ALGALON_TO_SUMMON, GameObject::ToStaticTransport(), and Player::UpdateVisibilityOf().

◆ OnUnitDeath()

void instance_ulduar::instance_ulduar_InstanceMapScript::OnUnitDeath ( Unit unit)
inlineoverridevirtual

Reimplemented from ZoneScript.

1098 {
1099 // Feeds on Tears achievement
1100 if (unit->IsPlayer())
1101 {
1104 algalon->AI()->DoAction(ACTION_FEEDS_ON_TEARS_FAILED);
1105 }
1106 else if (unit->IsCreature() && unit->GetAreaId() == 4656 /*Conservatory of Life*/)
1107 {
1109 {
1110 DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, 21597 /*CON-SPEED-ATORY_TIMED_CRITERIA*/);
1112 SaveToDB();
1113 }
1114 }
1115
1116 // achievement Champion/Conqueror of Ulduar
1117 if (unit->IsPlayer())
1118 for (uint8 i = 0; i <= 12; ++i)
1119 {
1120 bool go = false;
1121 if (i == TYPE_LEVIATHAN)
1122 {
1124 if (c->IsInCombat())
1125 go = true;
1126 }
1127 else
1128 go = (m_auiEncounter[i] == IN_PROGRESS);
1129
1130 if (go && (C_of_Ulduar_MASK & (1 << i)) == 0)
1131 {
1132 C_of_Ulduar_MASK |= (1 << i);
1133 SaveToDB();
1134 }
1135 }
1136 }
@ ACTION_FEEDS_ON_TEARS_FAILED
Definition: ulduar.h:284
@ ACHIEVEMENT_TIMED_TYPE_EVENT
Definition: DBCEnums.h:110
Seconds GetGameTime()
Definition: GameTime.cpp:38
bool IsPlayer() const
Definition: Object.h:197
bool IsCreature() const
Definition: Object.h:201
uint32 GetAreaId() const
Definition: Object.cpp:3152
void SaveToDB()
Definition: InstanceScript.cpp:41
void DoStartTimedAchievement(AchievementCriteriaTimedTypes type, uint32 entry)
Definition: InstanceScript.cpp:621

References ACHIEVEMENT_TIMED_TYPE_EVENT, ACTION_FEEDS_ON_TEARS_FAILED, DAY, WorldObject::GetAreaId(), GameTime::GetGameTime(), IN_PROGRESS, Object::IsCreature(), Object::IsPlayer(), TYPE_ALGALON, and TYPE_LEVIATHAN.

◆ OpenIfDone()

void instance_ulduar::instance_ulduar_InstanceMapScript::OpenIfDone ( uint32  encounter,
GameObject go,
GOState  state 
)
inline
437 {
438 if (GetData(encounter) == DONE)
439 go->SetGoState(state);
440 }

References DONE, GetData(), and GameObject::SetGoState().

Referenced by OnGameObjectCreate().

◆ ProcessEvent()

void instance_ulduar::instance_ulduar_InstanceMapScript::ProcessEvent ( WorldObject ,
uint32  eventId 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

234 {
235 // destory towers
237 SetData(eventId, 0);
238 }
void SetData(uint32 type, uint32 data) override
Definition: instance_ulduar.cpp:670

References EVENT_TOWER_OF_FLAMES_DESTROYED, EVENT_TOWER_OF_LIFE_DESTROYED, and SetData().

Referenced by SetData().

◆ ReadSaveDataMore()

void instance_ulduar::instance_ulduar_InstanceMapScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

1139 {
1140 data >> m_auiEncounter[0];
1141 data >> m_auiEncounter[1];
1142 data >> m_auiEncounter[2];
1143 data >> m_auiEncounter[3];
1144 data >> m_auiEncounter[4];
1145 data >> m_auiEncounter[5];
1146 data >> m_auiEncounter[6];
1147 data >> m_auiEncounter[7];
1148 data >> m_auiEncounter[8];
1149 data >> m_auiEncounter[9];
1150 data >> m_auiEncounter[10];
1151 data >> m_auiEncounter[11];
1152 data >> m_auiEncounter[12];
1153 data >> m_auiEncounter[13];
1154 data >> m_auiEncounter[14];
1155 data >> m_conspeedatoryAttempt;
1156 data >> m_unbrokenAchievement;
1157 data >> m_algalonTimer;
1158
1161
1163 {
1166 }
1167
1168 data >> C_of_Ulduar_MASK;
1169 data >> m_mageBarrier;
1170
1171 for (uint8 i = 0; i < (MAX_ENCOUNTER - 1); ++i)
1172 {
1173 if (m_auiEncounter[i] == IN_PROGRESS)
1174 {
1176 }
1177 }
1178 }
@ NOT_STARTED
Definition: InstanceScript.h:57
@ WORLD_STATE_ALGALON_DESPAWN_TIMER
Definition: ulduar.h:280
void DoUpdateWorldState(uint32 worldstateId, uint32 worldstateValue)
Definition: InstanceScript.cpp:577

References DONE, IN_PROGRESS, MAX_ENCOUNTER, NOT_STARTED, TIMER_ALGALON_SUMMONED, TIMER_ALGALON_TO_SUMMON, TYPE_ALGALON, WORLD_STATE_ALGALON_DESPAWN_TIMER, and WORLD_STATE_ALGALON_TIMER_ENABLED.

◆ setChestsLootable()

void instance_ulduar::instance_ulduar_InstanceMapScript::setChestsLootable ( uint32  boss)
inline
646 {
647 if (boss)
648 {
649 switch (boss)
650 {
651 case TYPE_HODIR:
652 if (hmHodir)
653 {
655 {
656 go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
657 go->SetLootRecipient(instance);
658 }
659 }
661 {
662 go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
663 go->SetLootRecipient(instance);
664 }
665 break;
666 }
667 }
668 }
@ GO_FLAG_NOT_SELECTABLE
Definition: SharedDefines.h:1607

References Map::GetGameObject(), GO_FLAG_NOT_SELECTABLE, hmHodir, InstanceScript::instance, m_hodirHardmodeChest, m_hodirNormalChest, and TYPE_HODIR.

Referenced by SetData().

◆ SetData()

void instance_ulduar::instance_ulduar_InstanceMapScript::SetData ( uint32  type,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

671 {
672 switch (type)
673 {
674 case TYPE_LEVIATHAN:
675 m_auiEncounter[type] = data;
676 if (data == DONE)
677 {
678 Map::PlayerList const& pList = instance->GetPlayers();
679 for (Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
680 {
681 if (Creature* vehicleCreature = itr->GetSource()->GetVehicleCreatureBase())
682 {
683 vehicleCreature->DespawnOrUnsummon();
684 }
685 }
686 }
687 break;
688 case TYPE_IGNIS:
689 case TYPE_RAZORSCALE:
690 case TYPE_XT002:
691 case TYPE_AURIAYA:
692 case TYPE_VEZAX:
693 case TYPE_YOGGSARON:
694 case TYPE_KOLOGARN:
695 m_auiEncounter[type] = data;
696 break;
697 case TYPE_ASSEMBLY:
699 go->SetGoState(data == IN_PROGRESS ? GO_STATE_READY : GO_STATE_ACTIVE);
701 go->SetGoState(data == DONE ? GO_STATE_ACTIVE : GO_STATE_READY);
702
703 m_auiEncounter[type] = data;
704 break;
705 case TYPE_MIMIRON:
706 case TYPE_HODIR:
707 case TYPE_THORIM:
708 case TYPE_FREYA:
709 m_auiEncounter[type] = data;
711 {
712 scheduler.Schedule(45s, [this](TaskContext /*context*/)
713 {
715 {
716 go->RemoveGameObjectFlag(GO_FLAG_LOCKED);
717 if (Creature* trigger = instance->SummonCreature(NPC_ANCIENT_GATE_WORLD_TRIGGER, triggerAncientGatePosition, nullptr, 10*IN_MILLISECONDS))
718 {
719 trigger->AI()->Talk(EMOTE_ANCIENT_GATE_UNLOCKED);
720 }
721 }
722 });
723 }
724 if (type == TYPE_MIMIRON && data == IN_PROGRESS) // after reaching him without tram and starting the fight
725 m_mimironTramUsed = true;
726 if (GetData(TYPE_HODIR) == DONE)
728 break;
731 {
732 hmHodir = false;
733 go->Delete();
735 }
736 break;
737 case TYPE_WATCHERS:
738 m_auiEncounter[type] |= 1 << data;
739 [[fallthrough]];
742 sara->AI()->DoAction(ACTION_SARA_UPDATE_SUMMON_KEEPERS);
743 break;
745 m_mageBarrier = data;
746 break;
747
752 {
753 instance->LoadGrid(364.0f, -16.0f); //make sure leviathan is loaded
754 instance->LoadGrid(364.0f, 32.0f); //make sure Mimiron's and Thorim's Targetting Crystal are loaded
756 for (uint8 i = 0; i < 2; ++i)
757 {
759 {
760 gameObject->SetGoState(GO_STATE_ACTIVE);
761 }
762 }
763 return;
764 }
765
768 return;
771 SaveToDB();
772 return;
776 m_algalonTimer = 60;
778 SaveToDB();
779 return;
785 SaveToDB();
786 return;
787 case TYPE_ALGALON:
788 m_auiEncounter[type] = data;
790 {
791 go->SetGoState(data != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY);
792 go->EnableCollision(false);
793 }
795 {
796 go->SetGoState(data != IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY);
797 go->EnableCollision(false);
798 }
800 {
801 go->SetGoState(data == IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY);
802 go->EnableCollision(false);
803 }
805 {
806 go->SetGoState(data == IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY);
807 go->EnableCollision(false);
808 }
810 {
811 go->SetGoState(data == IN_PROGRESS ? GO_STATE_ACTIVE : GO_STATE_READY);
812 go->EnableCollision(false);
813 }
814
815 if (data == FAIL)
816 {
817 scheduler.Schedule(5s, [this](TaskContext)
818 {
820 {
822 }
823 });
824 }
825
826 break;
827
828 // Achievement
832 return;
833 case DATA_CALL_TRAM:
835 if (StaticTransport* t = MimironTram->ToStaticTransport())
836 {
837 if (data == 0 && t->GetGoState() == GO_STATE_ACTIVE && t->GetPathProgress() == t->GetPauseTime())
838 {
839 MimironTram->SetGoState(GO_STATE_READY);
841 rocketBooster->SetGoState(GO_STATE_ACTIVE);
843 activateTramButton->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
844 if (GameObject* callTramCenterButton = instance->GetGameObject(m_mimironCallTramCenterGUID))
845 callTramCenterButton->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
846 scheduler.Schedule(30s, [this](TaskContext /*context*/)
847 {
849 turnaround1->UseDoorOrButton();
851 rocketBooster->SetGoState(GO_STATE_READY);
852 }).Schedule(60s, [this](TaskContext /*context*/)
853 {
855 activateTramButton->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
856 if (GameObject* callTramMimironButton = instance->GetGameObject(m_mimironCallTramMimironGUID))
857 callTramMimironButton->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
858 });
859 }
860 if (data == 1 && t->GetGoState() == GO_STATE_READY && t->GetPathProgress() == 0)
861 {
862 MimironTram->SetGoState(GO_STATE_ACTIVE);
864 rocketBooster->SetGoState(GO_STATE_ACTIVE);
866 activateTramButton->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
867 if (GameObject* callTramMimironButton = instance->GetGameObject(m_mimironCallTramMimironGUID))
868 callTramMimironButton->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
869 scheduler.Schedule(33s, [this](TaskContext /*context*/)
870 {
872 turnaround2->UseDoorOrButton();
874 rocketBooster->SetGoState(GO_STATE_READY);
875 }).Schedule(63s, [this](TaskContext /*context*/)
876 {
878 activateTramButton->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
879 if (GameObject* callTramCenterButton = instance->GetGameObject(m_mimironCallTramCenterGUID))
880 callTramCenterButton->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
881 });
882 }
883 }
884 break;
887 {
888 cr->TextEmote("Go to your vehicles!", nullptr, true);
889 }
890 break;
896 break;
897 }
898
899 // take care of herbs
900 if (type == TYPE_FREYA && data == DONE)
901 {
902 std::list<GameObject*> goList;
904 {
905 freya->GetGameObjectListWithEntryInGrid(goList, 191019 /*Adder's Tongue*/, 333.0f);
906 freya->GetGameObjectListWithEntryInGrid(goList, 190176 /*Frost Lotus*/, 333.0f);
907 freya->GetGameObjectListWithEntryInGrid(goList, 190171 /*Lichbloom*/, 333.0f);
908 freya->GetGameObjectListWithEntryInGrid(goList, 190170 /*Talandra's Rose*/, 333.0f);
909 freya->GetGameObjectListWithEntryInGrid(goList, 189973 /*Goldclover*/, 333.0f);
910
911 for (std::list<GameObject*>::const_iterator itr = goList.begin(); itr != goList.end(); ++itr)
912 (*itr)->SetRespawnTime(7 * DAY);
913 }
914 }
915
916 if (data == DONE || type == TYPE_LEVIATHAN || type == TYPE_WATCHERS)
917 SaveToDB();
918
919 if (type > TYPE_LEVIATHAN && type < TYPE_WATCHERS && data == IN_PROGRESS)
920 {
921 Map::PlayerList const& pList = instance->GetPlayers();
922 for (Map::PlayerList::const_iterator itr = pList.begin(); itr != pList.end(); ++itr)
923 {
924 if (Creature* vehicleCreature = itr->GetSource()->GetVehicleCreatureBase())
925 {
926 vehicleCreature->DespawnOrUnsummon();
927 }
928 }
929 }
930 }
@ FAIL
Definition: InstanceScript.h:59
@ EVENT_KEEPER_TELEPORTED
Definition: ulduar.h:296
@ SPELL_DWARFAGEDDON
Definition: ulduar.h:310
@ ACTION_SARA_UPDATE_SUMMON_KEEPERS
Definition: ulduar.h:303
@ TIMER_ALGALON_DEFEATED
Definition: ulduar.h:288
@ DATA_BRANN_MEMOTESAY
Definition: ulduar.h:102
@ DATA_DESPAWN_ALGALON
Definition: ulduar.h:91
@ DATA_BRANN_EASY_MODE
Definition: ulduar.h:103
@ DATA_ALGALON_DEFEATED
Definition: ulduar.h:92
@ DATA_VEHICLE_SPAWN
Definition: ulduar.h:54
@ DATA_DWARFAGEDDON
Definition: ulduar.h:95
@ DATA_ALGALON_SUMMON_STATE
Definition: ulduar.h:90
@ TYPE_HODIR_HM_FAIL
Definition: ulduar.h:47
@ ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET
Definition: DBCEnums.h:113
@ ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET
Definition: DBCEnums.h:142
Definition: LinkedList.h:139
void CancelEvent(uint32 eventId)
Definition: EventMap.cpp:190
TaskScheduler & Schedule(std::chrono::duration< _Rep, _Period > const &time, task_handler_t const &task)
Definition: TaskScheduler.h:229
Definition: TaskScheduler.h:415
Creature * GetVehicleCreatureBase() const
Definition: Unit.cpp:18703
void DoUpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
Definition: InstanceScript.cpp:612
TaskScheduler scheduler
Definition: InstanceScript.h:282
PlayerList const & GetPlayers() const
Definition: Map.h:486
Definition: MapRefMgr.h:26
iterator begin()
Definition: MapRefMgr.h:36
iterator end()
Definition: MapRefMgr.h:37
void ProcessEvent(WorldObject *, uint32 eventId) override
Definition: instance_ulduar.cpp:233
void SpawnLeviathanEncounterVehicles(uint8 mode)
Definition: instance_ulduar.cpp:1312
void setChestsLootable(uint32 boss)
Definition: instance_ulduar.cpp:645
ObjectGuid GetGuidData(uint32 data) const override
Definition: instance_ulduar.cpp:932

References _events, ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET, ACHIEVEMENT_TIMED_TYPE_SPELL_TARGET, ACTION_SARA_UPDATE_SUMMON_KEEPERS, AlgalonLandPos, MapRefMgr::begin(), EventMap::CancelEvent(), ObjectGuid::Clear(), DATA_ALGALON_DEFEATED, DATA_ALGALON_SUMMON_STATE, DATA_BRANN_EASY_MODE, DATA_BRANN_MEMOTESAY, DATA_CALL_TRAM, DATA_DESPAWN_ALGALON, DATA_DWARFAGEDDON, DATA_MAGE_BARRIER, DATA_UNBROKEN_ACHIEVEMENT, DATA_VEHICLE_SPAWN, DONE, InstanceScript::DoStartTimedAchievement(), InstanceScript::DoUpdateAchievementCriteria(), InstanceScript::DoUpdateWorldState(), MapRefMgr::end(), EVENT_KEEPER_TELEPORTED, EVENT_TOWER_OF_FLAMES_DESTROYED, EVENT_TOWER_OF_FROST_DESTROYED, EVENT_TOWER_OF_LIFE_DESTROYED, EVENT_TOWER_OF_STORM_DESTROYED, EVENT_UPDATE_ALGALON_TIMER, FAIL, Map::GetCreature(), GetData(), Map::GetGameObject(), GetGuidData(), Map::GetPlayers(), Unit::GetVehicleCreatureBase(), GO_DOODAD_UL_SIGILDOOR_03, GO_DOODAD_UL_ULDUAR_TRAPDOOR_03, GO_DOODAD_UL_UNIVERSEFLOOR_01, GO_DOODAD_UL_UNIVERSEFLOOR_02, GO_DOODAD_UL_UNIVERSEGLOBE01, GO_FLAG_NOT_SELECTABLE, GO_STATE_ACTIVE, GO_STATE_READY, hmHodir, IN_PROGRESS, InstanceScript::instance, Map::LoadGrid(), m_algalonTimer, m_archivumDoorsGUID, m_assemblyDoorsGUID, m_auiEncounter, m_brannBronzebeardBaseCamp, m_hodirHardmodeChest, m_keepersgateGUID, m_leviathanTowers, m_leviathanVisualTowers, m_mageBarrier, m_mimironActivateTramGUID, m_mimironCallTramCenterGUID, m_mimironCallTramMimironGUID, m_mimironTramGUID, m_mimironTramRocketBoosterGUID, m_mimironTramTurnaround1GUID, m_mimironTramTurnaround2GUID, m_mimironTramUsed, m_saraGUID, m_unbrokenAchievement, NPC_ALGALON, ProcessEvent(), EventMap::RescheduleEvent(), InstanceScript::SaveToDB(), TaskScheduler::Schedule(), InstanceScript::scheduler, setChestsLootable(), SpawnLeviathanEncounterVehicles(), SPELL_DWARFAGEDDON, Map::SummonCreature(), TIMER_ALGALON_DEFEATED, TIMER_ALGALON_SUMMONED, TIMER_ALGALON_TO_SUMMON, GameObject::ToStaticTransport(), TYPE_ALGALON, TYPE_ASSEMBLY, TYPE_AURIAYA, TYPE_FREYA, TYPE_HODIR, TYPE_HODIR_HM_FAIL, TYPE_IGNIS, TYPE_KOLOGARN, TYPE_LEVIATHAN, TYPE_MIMIRON, TYPE_RAZORSCALE, TYPE_THORIM, TYPE_VEZAX, TYPE_WATCHERS, TYPE_XT002, TYPE_YOGGSARON, WORLD_STATE_ALGALON_DESPAWN_TIMER, and WORLD_STATE_ALGALON_TIMER_ENABLED.

Referenced by ProcessEvent().

◆ SpawnHodirChests()

void instance_ulduar::instance_ulduar_InstanceMapScript::SpawnHodirChests ( Difficulty  diff,
Creature hodir 
)
inline
241 {
242 switch (diff)
243 {
244 case RAID_DIFFICULTY_10MAN_NORMAL: // 10 man chest
245 {
247 {
248 if (GameObject* go = hodir->SummonGameObject(
253 normalChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
254 {
255 m_hodirNormalChest = go->GetGUID();
256 go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
257 }
258 }
260 {
261 if (GameObject* go = hodir->SummonGameObject(
266 hardChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
267 {
268 m_hodirHardmodeChest = go->GetGUID();
269 go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
270 hmHodir = true;
271 }
272 }
273 break;
274 }
275 case RAID_DIFFICULTY_25MAN_NORMAL: // 25 man chest
276 {
278 {
279 if (GameObject* go = hodir->SummonGameObject(
284 normalChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
285 {
286 m_hodirNormalChest = go->GetGUID();
287 go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
288 }
289 }
291 {
292 if (GameObject* go = hodir->SummonGameObject(
297 hardChestPosition.GetOrientation(), 0, 0, 0, 0, 0))
298 {
299 m_hodirHardmodeChest = go->GetGUID();
300 go->SetGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
301 hmHodir = true;
302 }
303 }
304 break;
305 }
306 default:
307 break;
308 }
309 }
@ GO_HODIR_CHEST_NORMAL_HERO
Definition: ulduar.h:181
@ GO_HODIR_CHEST_HARD_HERO
Definition: ulduar.h:183
@ RAID_DIFFICULTY_10MAN_NORMAL
Definition: DBCEnums.h:273
@ RAID_DIFFICULTY_25MAN_NORMAL
Definition: DBCEnums.h:274
GameObject * SummonGameObject(uint32 entry, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 respawnTime, bool checkTransport=true, GOSummonType summonType=GO_SUMMON_TIMED_OR_CORPSE_DESPAWN)
Definition: Object.cpp:2369
float GetPositionZ() const
Definition: Position.h:119
float GetOrientation() const
Definition: Position.h:120
float GetPositionY() const
Definition: Position.h:118
Position hardChestPosition
Definition: instance_ulduar.cpp:101
Position normalChestPosition
Definition: instance_ulduar.cpp:100

References Position::GetOrientation(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), GO_FLAG_NOT_SELECTABLE, GO_HODIR_CHEST_HARD, GO_HODIR_CHEST_HARD_HERO, GO_HODIR_CHEST_NORMAL, GO_HODIR_CHEST_NORMAL_HERO, hardChestPosition, hmHodir, m_hodirHardmodeChest, m_hodirNormalChest, normalChestPosition, RAID_DIFFICULTY_10MAN_NORMAL, RAID_DIFFICULTY_25MAN_NORMAL, and WorldObject::SummonGameObject().

Referenced by OnCreatureCreate().

◆ SpawnLeviathanEncounterVehicles()

void instance_ulduar::instance_ulduar_InstanceMapScript::SpawnLeviathanEncounterVehicles ( uint8  mode)
1313{
1314 if (!_leviathanVehicles.empty())
1315 {
1316 for (ObjectGuid const& guid : _leviathanVehicles)
1317 {
1318 if (Creature* cr = instance->GetCreature(guid))
1319 {
1320 cr->DespawnOrUnsummon();
1321 }
1322 }
1323
1324 _leviathanVehicles.clear();
1325 }
1326
1327 if (mode < VEHICLE_POS_NONE)
1328 {
1329 for (uint8 i = 0; i < (instance->Is25ManRaid() ? 5 : 2); ++i)
1330 {
1332 {
1333 _leviathanVehicles.push_back(veh->GetGUID());
1334 }
1336 {
1337 _leviathanVehicles.push_back(veh->GetGUID());
1338 }
1340 {
1341 _leviathanVehicles.push_back(veh->GetGUID());
1342 }
1343 }
1344 }
1345}
const Position vehiclePositions[30]
Definition: instance_ulduar.cpp:1270
@ VEHICLE_POS_NONE
Definition: ulduar.h:266
@ NPC_SALVAGED_SIEGE_ENGINE
Definition: ulduar.h:152
@ NPC_VEHICLE_CHOPPER
Definition: ulduar.h:154
@ NPC_SALVAGED_DEMOLISHER
Definition: ulduar.h:155
Definition: ObjectGuid.h:118

References _leviathanVehicles, Map::GetCreature(), InstanceScript::instance, Map::Is25ManRaid(), NPC_SALVAGED_DEMOLISHER, NPC_SALVAGED_SIEGE_ENGINE, NPC_VEHICLE_CHOPPER, Map::SummonCreature(), VEHICLE_POS_NONE, and vehiclePositions.

Referenced by SetData().

◆ Update()

void instance_ulduar::instance_ulduar_InstanceMapScript::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

1190 {
1192
1193 if (_events.Empty())
1194 return;
1195
1196 _events.Update(diff);
1197 switch (_events.ExecuteEvent())
1198 {
1201 {
1202 return;
1203 }
1204
1205 SaveToDB();
1207 if (m_algalonTimer)
1208 {
1209 _events.Repeat(1min);
1210 return;
1211 }
1212
1215 algalon->AI()->DoAction(ACTION_DESPAWN_ALGALON);
1216 }
1217 }
@ ACTION_DESPAWN_ALGALON
Definition: ulduar.h:286
uint32 ExecuteEvent()
Definition: EventMap.cpp:114
void Update(uint32 time)
Definition: EventMap.h:54
bool Empty() const
Definition: EventMap.h:96
void Repeat(Milliseconds time)
Definition: EventMap.cpp:104
virtual void Update(uint32)
Definition: InstanceScript.cpp:223

References ACTION_DESPAWN_ALGALON, DATA_ALGALON_DEFEATED, EventMap::Empty(), EVENT_UPDATE_ALGALON_TIMER, EventMap::ExecuteEvent(), EventMap::Repeat(), TIMER_ALGALON_DEFEATED, EventMap::Update(), InstanceScript::Update(), and WORLD_STATE_ALGALON_DESPAWN_TIMER.

◆ WriteSaveDataMore()

void instance_ulduar::instance_ulduar_InstanceMapScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

1181 {
1182 data << m_auiEncounter[0] << ' ' << m_auiEncounter[1] << ' ' << m_auiEncounter[2] << ' ' << m_auiEncounter[3] << ' '
1183 << m_auiEncounter[4] << ' ' << m_auiEncounter[5] << ' ' << m_auiEncounter[6] << ' ' << m_auiEncounter[7] << ' '
1184 << m_auiEncounter[8] << ' ' << m_auiEncounter[9] << ' ' << m_auiEncounter[10] << ' ' << m_auiEncounter[11] << ' '
1185 << m_auiEncounter[12] << ' ' << m_auiEncounter[13] << ' ' << m_auiEncounter[14] << ' ' << m_conspeedatoryAttempt << ' '
1186 << m_unbrokenAchievement << ' ' << m_algalonTimer << ' ' << C_of_Ulduar_MASK << ' ' << m_mageBarrier;
1187 }

Member Data Documentation

◆ _events

EventMap instance_ulduar::instance_ulduar_InstanceMapScript::_events

Referenced by Initialize(), OnPlayerEnter(), and SetData().

◆ _leviathanVehicles

GuidList instance_ulduar::instance_ulduar_InstanceMapScript::_leviathanVehicles

◆ C_of_Ulduar_MASK

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::C_of_Ulduar_MASK

Referenced by Initialize().

◆ hardChestPosition

Position instance_ulduar::instance_ulduar_InstanceMapScript::hardChestPosition = { 2035.94600f, -202.084885f, 432.686859f, 3.164077f }

Referenced by SpawnHodirChests().

◆ hmHodir

bool instance_ulduar::instance_ulduar_InstanceMapScript::hmHodir

◆ KologarnDoorGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::KologarnDoorGUID

Referenced by OnGameObjectCreate().

◆ m_algalonFloorGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_algalonFloorGUID[2]

Referenced by OnGameObjectCreate().

◆ m_algalonSigilDoorGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_algalonSigilDoorGUID[3]

Referenced by OnGameObjectCreate().

◆ m_algalonTimer

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::m_algalonTimer

◆ m_algalonTrapdoorGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_algalonTrapdoorGUID

Referenced by OnGameObjectCreate().

◆ m_algalonUniverseGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_algalonUniverseGUID

Referenced by OnGameObjectCreate().

◆ m_archivumDoorsGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_archivumDoorsGUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_assemblyDoorsGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_assemblyDoorsGUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_auiAssemblyGUIDs

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_auiAssemblyGUIDs[3]

Referenced by OnCreatureCreate().

◆ m_auiEncounter

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::m_auiEncounter[MAX_ENCOUNTER]

◆ m_brannBronzebeardAlgGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_brannBronzebeardAlgGUID

◆ m_brannBronzebeardBaseCamp

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_brannBronzebeardBaseCamp

Referenced by OnCreatureCreate(), and SetData().

◆ m_conspeedatoryAttempt

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::m_conspeedatoryAttempt

Referenced by Initialize().

◆ m_difficulty

int instance_ulduar::instance_ulduar_InstanceMapScript::m_difficulty

◆ m_FreyaElder

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_FreyaElder[3]

Referenced by OnCreatureCreate().

◆ m_hodirHardmodeChest

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_hodirHardmodeChest

◆ m_hodirNormalChest

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_hodirNormalChest

◆ m_keepersgateGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_keepersgateGUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_keepersGossipGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_keepersGossipGUID[4]

◆ m_leviathanDoorsGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_leviathanDoorsGUID

Referenced by OnGameObjectCreate().

◆ m_leviathanTowers

bool instance_ulduar::instance_ulduar_InstanceMapScript::m_leviathanTowers[4]

Referenced by Initialize(), and SetData().

◆ m_leviathanVisualTowers

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_leviathanVisualTowers[4][2]

Referenced by OnGameObjectCreate(), and SetData().

◆ m_lightningWalls

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_lightningWalls[2]

Referenced by OnGameObjectCreate().

◆ m_mageBarrier

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::m_mageBarrier

Referenced by Initialize(), and SetData().

◆ m_mimironActivateTramGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironActivateTramGUID

◆ m_MimironACUguid

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_MimironACUguid

Referenced by OnCreatureCreate().

◆ m_mimironCallTramCenterGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironCallTramCenterGUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_mimironCallTramMimironGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironCallTramMimironGUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_MimironDoor

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_MimironDoor[3]

Referenced by OnGameObjectCreate().

◆ m_MimironLeviathanMKIIguid

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_MimironLeviathanMKIIguid

Referenced by OnCreatureCreate().

◆ m_mimironTramGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironTramGUID

◆ m_mimironTramRocketBoosterGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironTramRocketBoosterGUID

◆ m_mimironTramTurnaround1GUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironTramTurnaround1GUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_mimironTramTurnaround2GUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironTramTurnaround2GUID

Referenced by OnGameObjectCreate(), and SetData().

◆ m_mimironTramUsed

bool instance_ulduar::instance_ulduar_InstanceMapScript::m_mimironTramUsed

◆ m_MimironVX001guid

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_MimironVX001guid

Referenced by OnCreatureCreate().

◆ m_RazorscaleHarpoonFireStateGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_RazorscaleHarpoonFireStateGUID[4]

Referenced by OnCreatureCreate().

◆ m_RepairSGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_RepairSGUID[2]

Referenced by OnGameObjectCreate().

◆ m_saraGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_saraGUID

Referenced by OnCreatureCreate(), and SetData().

◆ m_thorimGameobjectsGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_thorimGameobjectsGUID[5]

Referenced by OnGameObjectCreate().

◆ m_uiAlgalonGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiAlgalonGUID

Referenced by OnCreatureCreate(), and OnPlayerEnter().

◆ m_uiAuriayaGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiAuriayaGUID

Referenced by OnCreatureCreate().

◆ m_uiFreyaGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiFreyaGUID

Referenced by OnCreatureCreate().

◆ m_uiHodirGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiHodirGUID

Referenced by OnCreatureCreate().

◆ m_uiIgnisGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiIgnisGUID

Referenced by OnCreatureCreate().

◆ m_uiKologarnGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiKologarnGUID

Referenced by OnCreatureCreate().

◆ m_uiLeviathanGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiLeviathanGUID

◆ m_uiMimironGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiMimironGUID

Referenced by OnCreatureCreate().

◆ m_uiRazorscaleGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiRazorscaleGUID

Referenced by OnCreatureCreate().

◆ m_uiThorimGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiThorimGUID

Referenced by OnCreatureCreate().

◆ m_uiVezaxGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiVezaxGUID

Referenced by OnCreatureCreate().

◆ m_uiXT002GUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiXT002GUID

Referenced by OnCreatureCreate().

◆ m_uiYoggSaronGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_uiYoggSaronGUID

Referenced by OnCreatureCreate().

◆ m_unbrokenAchievement

uint32 instance_ulduar::instance_ulduar_InstanceMapScript::m_unbrokenAchievement

Referenced by Initialize(), and SetData().

◆ m_xt002DoorsGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_xt002DoorsGUID

Referenced by OnGameObjectCreate().

◆ m_yoggsaronBrainGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_yoggsaronBrainGUID

Referenced by OnCreatureCreate().

◆ m_yoggsaronDoorsGUID

ObjectGuid instance_ulduar::instance_ulduar_InstanceMapScript::m_yoggsaronDoorsGUID

Referenced by OnGameObjectCreate().

◆ normalChestPosition

Position instance_ulduar::instance_ulduar_InstanceMapScript::normalChestPosition = { 1967.152588f, -204.188461f, 432.686951f, 5.50957f }

Referenced by SpawnHodirChests().

◆ triggerAncientGatePosition

const Position instance_ulduar::instance_ulduar_InstanceMapScript::triggerAncientGatePosition = { 1883.65f, 269.272f, 418.406f }