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 "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

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]
 
ObjectData const creatureData []
 
ObjectData const gameobjectData []
 
ObjectData const summonData []
 
BossBoundaryData const boundaries
 
const Position vehiclePositions [30]
 

Function Documentation

◆ AddSC_instance_ulduar()

void AddSC_instance_ulduar ( )
1047{
1048 new instance_ulduar();
1049}
Definition instance_ulduar.cpp:181

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
176{
177 { BOSS_LEVIATHAN, new RectangleBoundary(130.0f, 450.0f, -170.0f, 110.0f) },
178};

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

◆ creatureData

ObjectData const creatureData[]
86{
101 // Assembly of Iron members
105 // Mimiron vehicles
110 // Freya elders
114 // Yogg-Saron helpers
115 { NPC_SARA, DATA_SARA },
118 // Observation Ring Keepers
123 // Algalon helpers
126 { 0, 0 }
127};
@ 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:128
@ DATA_BRANN_BASE_CAMP
Definition ulduar.h:148
@ DATA_MIMIRON_VX001
Definition ulduar.h:71
@ DATA_MOLGEIM
Definition ulduar.h:57
@ DATA_FREYA_GOSSIP
Definition ulduar.h:151
@ DATA_MIMIRON_DB_TARGET
Definition ulduar.h:73
@ DATA_BRUNDIR
Definition ulduar.h:58
@ DATA_XT002_HEART
Definition ulduar.h:91
@ DATA_HODIR_GOSSIP
Definition ulduar.h:152
@ DATA_STEELBREAKER
Definition ulduar.h:56
@ DATA_BRANN_BRONZEBEARD_ALG
Definition ulduar.h:111
@ DATA_ELDER_BRIGHTLEAF
Definition ulduar.h:125
@ DATA_BRAIN_OF_YOGG_SARON
Definition ulduar.h:129
@ DATA_MIMIRON_GOSSIP
Definition ulduar.h:153
@ DATA_MIMIRON_LEVIATHAN_MKII
Definition ulduar.h:70
@ DATA_THORIM_GOSSIP
Definition ulduar.h:154
@ DATA_ELDER_IRONBRANCH
Definition ulduar.h:123
@ DATA_MIMIRON_ACU
Definition ulduar.h:72
@ DATA_VOICE_OF_YOGG_SARON
Definition ulduar.h:131
@ DATA_ELDER_STONEBARK
Definition ulduar.h:124
@ NPC_VEZAX
Definition ulduar.h:176
@ NPC_ELDER_BRIGHTLEAF
Definition ulduar.h:203
@ NPC_THORIM_GOSSIP
Definition ulduar.h:211
@ NPC_MIMIRON_ACU
Definition ulduar.h:199
@ NPC_FREYA_GOSSIP
Definition ulduar.h:209
@ NPC_YOGGSARON
Definition ulduar.h:179
@ NPC_MOLGEIM
Definition ulduar.h:168
@ NPC_BRUNDIR
Definition ulduar.h:169
@ NPC_HEART_OF_DECONSTRUCTOR
Definition ulduar.h:166
@ NPC_BRAIN_OF_YOGG_SARON
Definition ulduar.h:180
@ NPC_SARA
Definition ulduar.h:178
@ NPC_THORIM
Definition ulduar.h:174
@ NPC_MIMIRON_GOSSIP
Definition ulduar.h:212
@ NPC_ALGALON
Definition ulduar.h:181
@ NPC_XT002
Definition ulduar.h:163
@ NPC_HODIR
Definition ulduar.h:173
@ NPC_ELDER_IRONBRANCH
Definition ulduar.h:205
@ NPC_MIMIRON_LEVIATHAN_MKII
Definition ulduar.h:197
@ NPC_ELDER_STONEBARK
Definition ulduar.h:204
@ NPC_IGNIS
Definition ulduar.h:161
@ NPC_LEVIATHAN
Definition ulduar.h:160
@ NPC_STEELBREAKER
Definition ulduar.h:167
@ NPC_VOICE_OF_YOGG_SARON
Definition ulduar.h:208
@ NPC_HODIR_GOSSIP
Definition ulduar.h:210
@ NPC_BRANN_BASE_CAMP
Definition ulduar.h:224
@ NPC_MIMIRON_DB_TARGET
Definition ulduar.h:200
@ NPC_KOLOGARN
Definition ulduar.h:170
@ NPC_AURIAYA
Definition ulduar.h:171
@ NPC_RAZORSCALE
Definition ulduar.h:162
@ NPC_BRANN_BRONZBEARD_ALG
Definition ulduar.h:227
@ NPC_MIMIRON_VX001
Definition ulduar.h:198
@ NPC_MIMIRON
Definition ulduar.h:172

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:324
@ GO_DOODAD_UL_UNIVERSEGLOBE01
Definition ulduar.h:327
@ GO_ARCHIVUM_DOORS
Definition ulduar.h:274
@ GO_LEVIATHAN_DOORS
Definition ulduar.h:260
@ GO_VEZAX_DOOR
Definition ulduar.h:297
@ GO_DOODAD_UL_ULDUAR_TRAPDOOR_03
Definition ulduar.h:328
@ GO_XT002_DOORS
Definition ulduar.h:278
@ GO_ASSEMBLY_DOORS
Definition ulduar.h:275
@ GO_HODIR_FRONTDOOR
Definition ulduar.h:296
@ GO_HODIR_FROZEN_DOOR
Definition ulduar.h:294
@ GO_DOODAD_UL_UNIVERSEFLOOR_01
Definition ulduar.h:325
@ GO_KEEPERS_GATE
Definition ulduar.h:277
@ GO_MIMIRON_DOOR_3
Definition ulduar.h:293
@ GO_MIMIRON_DOOR_1
Definition ulduar.h:291
@ GO_HODIR_DOOR
Definition ulduar.h:295
@ GO_LIGHTNING_WALL1
Definition ulduar.h:261
@ GO_DOODAD_UL_UNIVERSEFLOOR_02
Definition ulduar.h:326
@ GO_MIMIRON_DOOR_2
Definition ulduar.h:292

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

◆ gameobjectData

ObjectData const gameobjectData[]
130{
161 // Hodir loot chests (DB-spawned, filtered by spawnMask per difficulty)
166 { 0, 0 }
167};
@ DATA_SIGILDOOR_02
Definition ulduar.h:105
@ DATA_MIMIRON_TRAM
Definition ulduar.h:81
@ DATA_MIMIRON_CALL_TRAM_CENTER
Definition ulduar.h:84
@ DATA_THORIM_FIRST_DOORS
Definition ulduar.h:97
@ DATA_HODIR_CHEST_NORMAL
Definition ulduar.h:139
@ DATA_THORIM_LEVER
Definition ulduar.h:95
@ DATA_LIGHTNING_WALL2
Definition ulduar.h:63
@ DATA_MIMIRON_ACTIVATE_TRAM
Definition ulduar.h:82
@ DATA_KEEPERS_GATE
Definition ulduar.h:136
@ DATA_MIMIRON_CALL_TRAM_MIMIRON
Definition ulduar.h:85
@ DATA_HODIR_CHEST_NORMAL_HERO
Definition ulduar.h:141
@ DATA_MIMIRON_TRAM_ROCKET_BOOSTER
Definition ulduar.h:83
@ DATA_GO_MIMIRON_DOOR_1
Definition ulduar.h:76
@ DATA_LEVIATHAN_DOORS
Definition ulduar.h:67
@ DATA_THORIM_FENCE
Definition ulduar.h:96
@ DATA_SIGILDOOR_01
Definition ulduar.h:104
@ DATA_MIMIRON_TRAM_TURNAROUND_1
Definition ulduar.h:86
@ DATA_ASSEMBLY_DOORS
Definition ulduar.h:134
@ DATA_HODIR_CHEST_HARD
Definition ulduar.h:140
@ DATA_THORIM_SECOND_DOORS
Definition ulduar.h:98
@ DATA_MIMIRON_TRAM_TURNAROUND_2
Definition ulduar.h:87
@ DATA_ARCHIVUM_DOORS
Definition ulduar.h:135
@ DATA_LIGHTNING_WALL1
Definition ulduar.h:62
@ DATA_GO_MIMIRON_DOOR_2
Definition ulduar.h:77
@ DATA_GO_MIMIRON_DOOR_3
Definition ulduar.h:78
@ DATA_XT002_DOORS
Definition ulduar.h:90
@ DATA_UNIVERSE_FLOOR_02
Definition ulduar.h:108
@ DATA_UNIVERSE_GLOBE
Definition ulduar.h:109
@ DATA_UNIVERSE_FLOOR_01
Definition ulduar.h:107
@ DATA_SIGILDOOR_03
Definition ulduar.h:106
@ DATA_HODIR_CHEST_HARD_HERO
Definition ulduar.h:142
@ DATA_YOGG_SARON_DOORS
Definition ulduar.h:130
@ DATA_ALGALON_TRAPDOOR
Definition ulduar.h:110
@ DATA_THORIM_LEVER_GATE
Definition ulduar.h:94
@ GO_DOODAD_UL_TRAIN_TURNAROUND01
Definition ulduar.h:286
@ GO_MIMIRON_CALL_TRAM_MIMIRON
Definition ulduar.h:284
@ GO_YOGG_SARON_DOORS
Definition ulduar.h:317
@ GO_DOODAD_UL_SIGILDOOR_01
Definition ulduar.h:322
@ GO_MIMIRON_TRAM_ROCKET_BOOSTER
Definition ulduar.h:285
@ GO_DOODAD_UL_TRAIN_TURNAROUND02
Definition ulduar.h:287
@ GO_HODIR_CHEST_NORMAL
Definition ulduar.h:247
@ GO_DOODAD_UL_SIGILDOOR_02
Definition ulduar.h:323
@ GO_HODIR_CHEST_NORMAL_HERO
Definition ulduar.h:248
@ GO_SECOND_COLOSSUS_DOORS
Definition ulduar.h:314
@ GO_ARENA_FENCE
Definition ulduar.h:312
@ GO_ARENA_LEVER_GATE
Definition ulduar.h:310
@ GO_MIMIRON_ACTIVATE_TRAM
Definition ulduar.h:282
@ GO_HODIR_CHEST_HARD_HERO
Definition ulduar.h:250
@ GO_ARENA_LEVER
Definition ulduar.h:311
@ GO_FIRST_COLOSSUS_DOORS
Definition ulduar.h:313
@ GO_HODIR_CHEST_HARD
Definition ulduar.h:249
@ GO_LIGHTNING_WALL2
Definition ulduar.h:262
@ GO_MIMIRON_TRAM
Definition ulduar.h:281
@ GO_MIMIRON_CALL_TRAM_CENTER
Definition ulduar.h:283

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

◆ 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}
}
61{
62 {1945.6823f, 33.342014f, 411.44083f, 5.270895f}, // Freya
63 {1945.7609f, -81.52171f, 411.4407f, 1.029744f}, // Hodir
64 {2028.7656f, 17.42014f, 411.44458f, 3.857178f}, // Mimiron
65 {2028.8219f, -65.73573f, 411.44257f, 2.460914f} // Thorim
66};

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

◆ summonData

ObjectData const summonData[]
Initial value:
=
{
{ 0, 0 }
}
@ NPC_SARONITE_ANIMUS
Definition ulduar.h:177
170{
171 { NPC_SARONITE_ANIMUS, BOSS_VEZAX }, // summoned by a Saronite Vapor, not Vezax
172 { 0, 0 }
173};

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

◆ vehiclePositions

const Position vehiclePositions[30]
970{
971 // Start Positions
972 // Siege
973 {-814.592f, -64.5436f, 429.927f, 5.96903f},
974 {-784.371f, -33.3111f, 429.927f, 5.09636f},
975 {-813.698f, -86.8924f, 430.158f, 6.0912f},
976 {-739.3f, -21.51f, 429.927f, 4.86947f},
977 {-756.948f, -27.9419f, 429.927f, 5.07891f},
978 // Chopper
979 {-717.556f, -111.2f, 430.157f, 0.0910799f},
980 {-717.833f, -106.567f, 430.024f, 0.122173f},
981 {-718.451f, -118.248f, 430.27f, 0.05236f},
982 {-717.337f, -113.591f, 430.279f, 0.0910799f},
983 {-717.076f, -116.456f, 430.361f, 0.0910799f},
984 // Demolisher
985 {-766.702f, -225.033f, 430.503f, 1.71042f},
986 {-729.545f, -186.269f, 430.128f, 1.90241f},
987 {-793.69f, -240.574f, 430.981f, 1.64061f},
988 {-719.747f, -165.845f, 430.135f, 1.95477f},
989 {-732.267f, -203.694f, 432.463f, 2.07694f},
990 // Leviathan Positions
991 // Siege
992 {119.8f, 38.37f, 409.803f, 0.0f},
993 {119.8f, 28.37f, 410.803f, 0.0f},
994 {119.8f, 18.37f, 409.803f, 0.0f},
995 {119.8f, 8.37f, 409.803f, 0.0f},
996 {119.8f, -2.37f, 409.803f, 0.0f},
997 // Chopper
998 {119.8f, -17.37f, 409.803f, 0.0f},
999 {119.8f, -27.37f, 409.803f, 0.0f},
1000 {119.8f, -37.37f, 409.803f, 0.0f},
1001 {119.8f, -47.37f, 409.803f, 0.0f},
1002 {119.8f, -57.37f, 409.803f, 0.0f},
1003 // Demolisher
1004 {119.8f, -72.37f, 409.803f, 0.0f},
1005 {119.8f, -82.37f, 409.803f, 0.0f},
1006 {119.8f, -92.37f, 409.803f, 0.0f},
1007 {119.8f, -102.37f, 409.803f, 0.0f},
1008 {119.8f, -112.37f, 409.803f, 0.0f},
1009};

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