AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
instance_ulduar.cpp File Reference
#include "AreaDefines.h"
#include "CreatureScript.h"
#include "GameTime.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
#include "ObjectMgr.h"
#include "Player.h"
#include "ScriptedCreature.h"
#include "Transport.h"
#include "WorldPacket.h"
#include "WorldStateDefines.h"
#include "WorldStatePackets.h"
#include "ulduar.h"

Go to the source code of this file.

Classes

struct  LeviathanVehicle
 
class  instance_ulduar
 
struct  instance_ulduar::instance_ulduar_InstanceMapScript
 

Functions

void AddSC_instance_ulduar ()
 

Variables

DoorData const doorData []
 
static Position const ObservationRingKeepersPos [4]
 
static uint32 const ObservationRingKeeperEntry [4]
 
static uint32 const ObservationRingKeeperData [4]
 
static uint32 const ObservationRingKeeperBoss [4]
 
struct { 
 
   bool   rhydian 
 
   uint8   textGroup 
 
   Milliseconds   nextDelay 
 
} BrannRhydianDialogue [] 
 
ObjectData const creatureData []
 
ObjectData const gameobjectData []
 
ObjectData const summonData []
 
BossBoundaryData const boundaries
 
constexpr Seconds LEVIATHAN_VEHICLE_RESPAWN_DELAY = 40s
 
const Position vehiclePositions [30]
 

Function Documentation

◆ AddSC_instance_ulduar()

void AddSC_instance_ulduar ( )
1409{
1410 new instance_ulduar();
1411}
Definition instance_ulduar.cpp:212

References instance_ulduar::instance_ulduar().

Referenced by AddNorthrendScripts().

Variable Documentation

◆ boundaries

BossBoundaryData const boundaries
Initial value:
=
{
{ BOSS_LEVIATHAN, new RectangleBoundary(130.0f, 450.0f, -170.0f, 110.0f) },
}
Definition AreaBoundary.h:76
@ BOSS_LEVIATHAN
Definition ulduar.h:31
196{
197 { BOSS_LEVIATHAN, new RectangleBoundary(130.0f, 450.0f, -170.0f, 110.0f) },
198};

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript().

◆ [struct]

struct { ... } BrannRhydianDialogue[]
Initial value:
=
{
{ false, 0, 8900ms },
{ true, 2, 8500ms },
{ false, 1, 8500ms },
{ true, 3, 8500ms },
{ false, 2, 8500ms },
{ false, 3, 8500ms },
{ true, 4, 8500ms },
{ true, 5, 8500ms },
{ false, 4, 8500ms },
{ true, 6, 8500ms },
{ false, 5, 0ms }
}

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::PlayBrannRhydianLine().

◆ creatureData

ObjectData const creatureData[]
103{
118 // Assembly of Iron members
122 // Mimiron vehicles
127 // Freya elders
131 // Yogg-Saron helpers
132 { NPC_SARA, DATA_SARA },
135 // Observation Ring Keepers
140 // Algalon helpers
143 // Flame Leviathan outro
145 { 0, 0 }
146};
@ NPC_FREYA
Definition ScriptedCreature.cpp:588
@ BOSS_IGNIS
Definition ulduar.h:32
@ BOSS_ALGALON
Definition ulduar.h:44
@ BOSS_RAZORSCALE
Definition ulduar.h:33
@ BOSS_YOGGSARON
Definition ulduar.h:43
@ BOSS_HODIR
Definition ulduar.h:39
@ BOSS_KOLOGARN
Definition ulduar.h:36
@ BOSS_THORIM
Definition ulduar.h:41
@ BOSS_FREYA
Definition ulduar.h:38
@ BOSS_AURIAYA
Definition ulduar.h:37
@ BOSS_XT002
Definition ulduar.h:34
@ BOSS_MIMIRON
Definition ulduar.h:40
@ BOSS_VEZAX
Definition ulduar.h:42
@ DATA_SARA
Definition ulduar.h:130
@ DATA_BRANN_BASE_CAMP
Definition ulduar.h:150
@ DATA_MIMIRON_VX001
Definition ulduar.h:73
@ DATA_MOLGEIM
Definition ulduar.h:58
@ DATA_FREYA_GOSSIP
Definition ulduar.h:153
@ DATA_MIMIRON_DB_TARGET
Definition ulduar.h:75
@ DATA_BRUNDIR
Definition ulduar.h:59
@ DATA_XT002_HEART
Definition ulduar.h:93
@ DATA_HODIR_GOSSIP
Definition ulduar.h:154
@ DATA_STEELBREAKER
Definition ulduar.h:57
@ DATA_BRANN_BRONZEBEARD_ALG
Definition ulduar.h:113
@ DATA_ELDER_BRIGHTLEAF
Definition ulduar.h:127
@ DATA_BRAIN_OF_YOGG_SARON
Definition ulduar.h:131
@ DATA_MIMIRON_GOSSIP
Definition ulduar.h:155
@ DATA_MIMIRON_LEVIATHAN_MKII
Definition ulduar.h:72
@ DATA_THORIM_GOSSIP
Definition ulduar.h:156
@ DATA_ELDER_IRONBRANCH
Definition ulduar.h:125
@ DATA_BRANN_FORMATION_GROUNDS
Definition ulduar.h:159
@ DATA_MIMIRON_ACU
Definition ulduar.h:74
@ DATA_VOICE_OF_YOGG_SARON
Definition ulduar.h:133
@ DATA_ELDER_STONEBARK
Definition ulduar.h:126
@ NPC_VEZAX
Definition ulduar.h:182
@ NPC_ELDER_BRIGHTLEAF
Definition ulduar.h:209
@ NPC_THORIM_GOSSIP
Definition ulduar.h:217
@ NPC_MIMIRON_ACU
Definition ulduar.h:205
@ NPC_FREYA_GOSSIP
Definition ulduar.h:215
@ NPC_YOGGSARON
Definition ulduar.h:185
@ NPC_MOLGEIM
Definition ulduar.h:173
@ NPC_BRUNDIR
Definition ulduar.h:174
@ NPC_HEART_OF_DECONSTRUCTOR
Definition ulduar.h:171
@ NPC_BRAIN_OF_YOGG_SARON
Definition ulduar.h:186
@ NPC_SARA
Definition ulduar.h:184
@ NPC_THORIM
Definition ulduar.h:179
@ NPC_MIMIRON_GOSSIP
Definition ulduar.h:218
@ NPC_ALGALON
Definition ulduar.h:187
@ NPC_XT002
Definition ulduar.h:168
@ NPC_HODIR
Definition ulduar.h:178
@ NPC_ELDER_IRONBRANCH
Definition ulduar.h:211
@ NPC_MIMIRON_LEVIATHAN_MKII
Definition ulduar.h:203
@ NPC_ELDER_STONEBARK
Definition ulduar.h:210
@ NPC_IGNIS
Definition ulduar.h:166
@ NPC_LEVIATHAN
Definition ulduar.h:165
@ NPC_STEELBREAKER
Definition ulduar.h:172
@ NPC_VOICE_OF_YOGG_SARON
Definition ulduar.h:214
@ NPC_HODIR_GOSSIP
Definition ulduar.h:216
@ NPC_BRANN_BASE_CAMP
Definition ulduar.h:230
@ NPC_BRANN_FORMATION_GROUNDS
Definition ulduar.h:238
@ NPC_MIMIRON_DB_TARGET
Definition ulduar.h:206
@ NPC_KOLOGARN
Definition ulduar.h:175
@ NPC_AURIAYA
Definition ulduar.h:176
@ NPC_RAZORSCALE
Definition ulduar.h:167
@ NPC_BRANN_BRONZBEARD_ALG
Definition ulduar.h:244
@ NPC_MIMIRON_VX001
Definition ulduar.h:204
@ NPC_MIMIRON
Definition ulduar.h:177

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript().

◆ doorData

DoorData const doorData[]
Initial value:
=
{
{ 0, 0, DOOR_TYPE_ROOM }
}
@ DOOR_TYPE_SPAWN_HOLE
Definition InstanceScript.h:70
@ DOOR_TYPE_ROOM
Definition InstanceScript.h:68
@ DOOR_TYPE_PASSAGE
Definition InstanceScript.h:69
@ BOSS_ASSEMBLY
Definition ulduar.h:35
@ GO_DOODAD_UL_SIGILDOOR_03
Definition ulduar.h:344
@ GO_DOODAD_UL_UNIVERSEGLOBE01
Definition ulduar.h:347
@ GO_ARCHIVUM_DOORS
Definition ulduar.h:294
@ GO_LEVIATHAN_DOORS
Definition ulduar.h:277
@ GO_VEZAX_DOOR
Definition ulduar.h:317
@ GO_DOODAD_UL_ULDUAR_TRAPDOOR_03
Definition ulduar.h:348
@ GO_XT002_DOORS
Definition ulduar.h:298
@ GO_ASSEMBLY_DOORS
Definition ulduar.h:295
@ GO_HODIR_FRONTDOOR
Definition ulduar.h:316
@ GO_HODIR_FROZEN_DOOR
Definition ulduar.h:314
@ GO_DOODAD_UL_UNIVERSEFLOOR_01
Definition ulduar.h:345
@ GO_KEEPERS_GATE
Definition ulduar.h:297
@ GO_MIMIRON_DOOR_3
Definition ulduar.h:313
@ GO_MIMIRON_DOOR_1
Definition ulduar.h:311
@ GO_HODIR_DOOR
Definition ulduar.h:315
@ GO_LIGHTNING_WALL1
Definition ulduar.h:278
@ GO_DOODAD_UL_UNIVERSEFLOOR_02
Definition ulduar.h:346
@ GO_MIMIRON_DOOR_2
Definition ulduar.h:312

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript().

◆ gameobjectData

ObjectData const gameobjectData[]
149{
180 // Hodir loot chests (DB-spawned, filtered by spawnMask per difficulty)
185 { 0, 0 }
186};
@ DATA_SIGILDOOR_02
Definition ulduar.h:107
@ DATA_MIMIRON_TRAM
Definition ulduar.h:83
@ DATA_MIMIRON_CALL_TRAM_CENTER
Definition ulduar.h:86
@ DATA_THORIM_FIRST_DOORS
Definition ulduar.h:99
@ DATA_HODIR_CHEST_NORMAL
Definition ulduar.h:141
@ DATA_THORIM_LEVER
Definition ulduar.h:97
@ DATA_LIGHTNING_WALL2
Definition ulduar.h:64
@ DATA_MIMIRON_ACTIVATE_TRAM
Definition ulduar.h:84
@ DATA_KEEPERS_GATE
Definition ulduar.h:138
@ DATA_MIMIRON_CALL_TRAM_MIMIRON
Definition ulduar.h:87
@ DATA_HODIR_CHEST_NORMAL_HERO
Definition ulduar.h:143
@ DATA_MIMIRON_TRAM_ROCKET_BOOSTER
Definition ulduar.h:85
@ DATA_GO_MIMIRON_DOOR_1
Definition ulduar.h:78
@ DATA_LEVIATHAN_DOORS
Definition ulduar.h:68
@ DATA_THORIM_FENCE
Definition ulduar.h:98
@ DATA_SIGILDOOR_01
Definition ulduar.h:106
@ DATA_MIMIRON_TRAM_TURNAROUND_1
Definition ulduar.h:88
@ DATA_ASSEMBLY_DOORS
Definition ulduar.h:136
@ DATA_HODIR_CHEST_HARD
Definition ulduar.h:142
@ DATA_THORIM_SECOND_DOORS
Definition ulduar.h:100
@ DATA_MIMIRON_TRAM_TURNAROUND_2
Definition ulduar.h:89
@ DATA_ARCHIVUM_DOORS
Definition ulduar.h:137
@ DATA_LIGHTNING_WALL1
Definition ulduar.h:63
@ DATA_GO_MIMIRON_DOOR_2
Definition ulduar.h:79
@ DATA_GO_MIMIRON_DOOR_3
Definition ulduar.h:80
@ DATA_XT002_DOORS
Definition ulduar.h:92
@ DATA_UNIVERSE_FLOOR_02
Definition ulduar.h:110
@ DATA_UNIVERSE_GLOBE
Definition ulduar.h:111
@ DATA_UNIVERSE_FLOOR_01
Definition ulduar.h:109
@ DATA_SIGILDOOR_03
Definition ulduar.h:108
@ DATA_HODIR_CHEST_HARD_HERO
Definition ulduar.h:144
@ DATA_YOGG_SARON_DOORS
Definition ulduar.h:132
@ DATA_ALGALON_TRAPDOOR
Definition ulduar.h:112
@ DATA_THORIM_LEVER_GATE
Definition ulduar.h:96
@ GO_DOODAD_UL_TRAIN_TURNAROUND01
Definition ulduar.h:306
@ GO_MIMIRON_CALL_TRAM_MIMIRON
Definition ulduar.h:304
@ GO_YOGG_SARON_DOORS
Definition ulduar.h:337
@ GO_DOODAD_UL_SIGILDOOR_01
Definition ulduar.h:342
@ GO_MIMIRON_TRAM_ROCKET_BOOSTER
Definition ulduar.h:305
@ GO_DOODAD_UL_TRAIN_TURNAROUND02
Definition ulduar.h:307
@ GO_HODIR_CHEST_NORMAL
Definition ulduar.h:264
@ GO_DOODAD_UL_SIGILDOOR_02
Definition ulduar.h:343
@ GO_HODIR_CHEST_NORMAL_HERO
Definition ulduar.h:265
@ GO_SECOND_COLOSSUS_DOORS
Definition ulduar.h:334
@ GO_ARENA_FENCE
Definition ulduar.h:332
@ GO_ARENA_LEVER_GATE
Definition ulduar.h:330
@ GO_MIMIRON_ACTIVATE_TRAM
Definition ulduar.h:302
@ GO_HODIR_CHEST_HARD_HERO
Definition ulduar.h:267
@ GO_ARENA_LEVER
Definition ulduar.h:331
@ GO_FIRST_COLOSSUS_DOORS
Definition ulduar.h:333
@ GO_HODIR_CHEST_HARD
Definition ulduar.h:266
@ GO_LIGHTNING_WALL2
Definition ulduar.h:279
@ GO_MIMIRON_TRAM
Definition ulduar.h:301
@ GO_MIMIRON_CALL_TRAM_CENTER
Definition ulduar.h:303

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript().

◆ LEVIATHAN_VEHICLE_RESPAWN_DELAY

constexpr Seconds LEVIATHAN_VEHICLE_RESPAWN_DELAY = 40s
constexpr

◆ nextDelay

Milliseconds nextDelay

◆ ObservationRingKeeperBoss

uint32 const ObservationRingKeeperBoss[4]
static

◆ ObservationRingKeeperData

◆ ObservationRingKeeperEntry

◆ ObservationRingKeepersPos

Position const ObservationRingKeepersPos[4]
static
Initial value:
=
{
{1945.6823f, 33.342014f, 411.44083f, 5.270895f},
{1945.7609f, -81.52171f, 411.4407f, 1.029744f},
{2028.7656f, 17.42014f, 411.44458f, 3.857178f},
{2028.8219f, -65.73573f, 411.44257f, 2.460914f}
}
62{
63 {1945.6823f, 33.342014f, 411.44083f, 5.270895f}, // Freya
64 {1945.7609f, -81.52171f, 411.4407f, 1.029744f}, // Hodir
65 {2028.7656f, 17.42014f, 411.44458f, 3.857178f}, // Mimiron
66 {2028.8219f, -65.73573f, 411.44257f, 2.460914f} // Thorim
67};

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::OnPlayerEnter(), and instance_ulduar::instance_ulduar_InstanceMapScript::SetBossState().

◆ rhydian

◆ summonData

ObjectData const summonData[]
Initial value:
=
{
{ 0, 0 }
}
@ NPC_STRENGTHENED_IRON_ROOTS
Definition ulduar.h:181
@ NPC_SARONITE_ANIMUS
Definition ulduar.h:183
189{
190 { NPC_SARONITE_ANIMUS, BOSS_VEZAX }, // summoned by a Saronite Vapor, not Vezax
191 { NPC_STRENGTHENED_IRON_ROOTS, BOSS_FREYA }, // summoned by the rooted player, not Freya
192 { 0, 0 }
193};

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::instance_ulduar_InstanceMapScript().

◆ textGroup

◆ vehiclePositions

const Position vehiclePositions[30]
1293{
1294 // Start Positions (Sniffed)
1295 // Siege
1296 {-814.592f, -64.5436f, 429.927f, 5.96903f},
1297 {-784.746f, -33.7638f, 429.926f, 5.09636f},
1298 {-813.698f, -86.8924f, 430.158f, 6.0912f},
1299 {-720.126f, -14.5091f, 429.926f, 4.85201f},
1300 {-756.948f, -27.9419f, 429.927f, 5.07891f},
1301 // Chopper
1302 {-718.451f, -112.609f, 430.231f, 0.1745329f},
1303 {-717.833f, -106.567f, 430.024f, 0.122173f},
1304 {-718.451f, -118.248f, 430.2697f, 0.052359f},
1305 {-718.307f, -124.421f, 430.1585f, 0.174532f},
1306 {-718.000f, -130.715f, 429.9037f, 0.134259f}, // Not Sniffed
1307 // Demolisher
1308 {-766.702f, -225.033f, 430.503f, 1.71042f},
1309 {-729.545f, -186.269f, 430.128f, 2.93406f},
1310 {-793.69f, -240.574f, 430.981f, 1.64061f},
1311 {-719.747f, -165.845f, 430.135f, 1.95477f},
1312 {-746.234f, -211.748f, 431.754f, 1.83259f},
1313 // Leviathan Positions
1314 // Siege
1315 {119.8f, 38.37f, 409.803f, 0.0f},
1316 {119.8f, 28.37f, 410.803f, 0.0f},
1317 {119.8f, 18.37f, 409.803f, 0.0f},
1318 {119.8f, 8.37f, 409.803f, 0.0f},
1319 {119.8f, -2.37f, 409.803f, 0.0f},
1320 // Chopper
1321 {119.8f, -17.37f, 409.803f, 0.0f},
1322 {119.8f, -27.37f, 409.803f, 0.0f},
1323 {119.8f, -37.37f, 409.803f, 0.0f},
1324 {119.8f, -47.37f, 409.803f, 0.0f},
1325 {119.8f, -57.37f, 409.803f, 0.0f},
1326 // Demolisher
1327 {119.8f, -72.37f, 409.803f, 0.0f},
1328 {119.8f, -82.37f, 409.803f, 0.0f},
1329 {119.8f, -92.37f, 409.803f, 0.0f},
1330 {119.8f, -102.37f, 409.803f, 0.0f},
1331 {119.8f, -112.37f, 409.803f, 0.0f},
1332};

Referenced by instance_ulduar::instance_ulduar_InstanceMapScript::SummonLeviathanVehicle().