TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
ulduar.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
3  *
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2 of the License, or (at your
7  * option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  * You should have received a copy of the GNU General Public License along
15  * with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef DEF_ULDUAR_H
19 #define DEF_ULDUAR_H
20 
21 #define UlduarScriptName "instance_ulduar"
22 #define DataHeader "UU"
23 
24 extern Position const ObservationRingKeepersPos[4];
25 extern Position const YSKeepersPos[4];
26 extern Position const AlgalonLandPos;
27 
29 {
31 
43  BOSS_VEZAX = 11,
49 };
50 
52 {
53  // General
54  NPC_LEVIATHAN = 33113,
58  NPC_IGNIS = 33118,
59  NPC_RAZORSCALE = 33186,
63  NPC_XT002 = 33293,
64  NPC_XT_TOY_PILE = 33337,
66  NPC_MOLGEIM = 32927,
67  NPC_BRUNDIR = 32857,
68  NPC_KOLOGARN = 32930,
71  NPC_LEFT_ARM = 32933,
72  NPC_RIGHT_ARM = 32934,
73  NPC_RUBBLE = 33768,
74  NPC_AURIAYA = 33515,
75  NPC_MIMIRON = 33350,
76  NPC_HODIR = 32845,
77  NPC_THORIM = 32865,
78  NPC_FREYA = 32906,
79  NPC_VEZAX = 33271,
80  NPC_YOGG_SARON = 33288,
81  NPC_ALGALON = 32871,
82 
83  // Flame Leviathan
99 
100  // Mimiron
102  NPC_VX_001 = 33651,
105  NPC_BOMB_BOT = 33836,
106  NPC_JUNK_BOT = 33855,
108  NPC_FROST_BOMB = 34149,
110  NPC_FLAME = 34363,
112  NPC_DB_TARGET = 33576,
115  NPC_COMPUTER = 34143,
116 
117  // Freya's Keepers
118  NPC_IRONBRANCH = 32913,
119  NPC_BRIGHTLEAF = 32915,
120  NPC_STONEBARK = 32914,
121 
122  // Hodir's Helper NPCs
139 
140  // Freya's trash NPCs
149 
150  // Freya Achievement Trigger
152 
153  // Yogg-Saron
154  NPC_SARA = 33134,
162  NPC_FREYA_YS = 33410,
163  NPC_HODIR_YS = 33411,
164  NPC_MIMIRON_YS = 33412,
165  NPC_THORIM_YS = 33413,
167  NPC_KING_LLANE = 33437,
170  NPC_YSERA = 33495,
171  NPC_NELTHARION = 33523,
172  NPC_MALYGOS = 33535,
173  NPC_DEATH_RAY = 33881,
174  NPC_DEATH_ORB = 33882,
185 
186  // Algalon the Observer
188  NPC_AZEROTH = 34246,
192  NPC_BLACK_HOLE = 32953,
193  NPC_WORM_HOLE = 34099,
198 };
199 
201 {
202  // Leviathan
205 
206  // Razorscale
207  GO_MOLE_MACHINE = 194316,
213 
214  // XT-002
215  GO_XT_002_DOOR = 194631,
216 
217  // Assembly of Iron
220 
221  // Kologarn
226 
227  // Hodir
229  GO_HODIR_DOOR = 194634,
234  GO_HODIR_CHEST = 194307,
235 
236  // Thorim
238  GO_THORIM_CHEST = 194314,
239 
240  // Mimiron
241  GO_MIMIRON_TRAM = 194675,
251 
252  // Vezax
253  GO_VEZAX_DOOR = 194750,
254 
255  // Yogg-Saron
260 
261  // Algalon the Observer
273 };
274 
276 {
283 };
284 
286 {
292 };
293 
295 {
316 
317  // Champion of Ulduar
331  // Conqueror of Ulduar
345 };
346 
348 {
349  // Colossus (Leviathan)
351 
352  // Razorscale
355 
356  // XT-002
361 
362  // Assembly of Iron
366 
367  // Hodir
369 
370  // Mimiron
379 
380  // Yogg-Saron
391 
392  // Algalon the Observer
402 
403  // Misc
408 };
409 
411 {
414 };
415 
417 {
418  // FL Achievement boolean
419  DATA_UNBROKEN = 29052906, // 2905, 2906 are achievement IDs,
423 };
424 
426 {
432 };
433 
435 {
439 };
440 
441 template<class AI, class T>
442 AI* GetUlduarAI(T* obj)
443 {
444  return GetInstanceAI<AI, T>(obj, UlduarScriptName);
445 }
446 
447 class PlayerOrPetCheck
448 {
449  public:
450  bool operator()(WorldObject* object) const
451  {
452  if (object->GetTypeId() == TYPEID_PLAYER)
453  return false;
454 
455  if (Creature* creature = object->ToCreature())
456  return !creature->IsPet();
457 
458  return true;
459  }
460 };
461 
462 #endif
Definition: ulduar.h:234
Definition: ulduar.h:63
Definition: ulduar.h:84
Definition: ulduar.h:300
Definition: ulduar.h:386
Definition: ulduar.h:89
Definition: ulduar.h:36
Definition: ulduar.h:41
Definition: ulduar.h:364
Definition: ulduar.h:107
Definition: ulduar.h:371
Definition: ulduar.h:219
Definition: ulduar.h:223
Definition: ulduar.h:327
Position const AlgalonLandPos
Definition: boss_algalon_the_observer.cpp:204
Definition: ulduar.h:265
AI * GetUlduarAI(T *obj)
Definition: ulduar.h:442
Definition: ulduar.h:382
Definition: ulduar.h:373
Definition: ulduar.h:320
Definition: ulduar.h:420
Definition: ulduar.h:180
Definition: ulduar.h:105
Definition: ulduar.h:299
Definition: ulduar.h:40
Definition: ulduar.h:80
Definition: ulduar.h:329
Definition: ulduar.h:97
Definition: ulduar.h:363
Definition: ulduar.h:315
Definition: ulduar.h:170
Definition: ulduar.h:132
Definition: ulduar.h:298
Definition: ulduar.h:189
Definition: ulduar.h:323
Definition: ulduar.h:76
Definition: ulduar.h:339
Definition: ulduar.h:256
Definition: ulduar.h:112
Definition: ulduar.h:173
Definition: ulduar.h:302
Definition: ulduar.h:422
Definition: ulduar.h:85
Definition: ulduar.h:106
Definition: ulduar.h:264
Definition: ulduar.h:65
Definition: ulduar.h:212
Definition: ulduar.h:291
Definition: ulduar.h:262
Definition: ulduar.h:163
Definition: ulduar.h:384
Definition: ulduar.h:93
Definition: ulduar.h:79
Definition: ulduar.h:210
UlduarEvents
Definition: ulduar.h:425
Definition: ulduar.h:399
Definition: ulduar.h:427
Definition: ulduar.h:127
Definition: ulduar.h:147
Definition: ulduar.h:104
Definition: ulduar.h:61
Definition: ulduar.h:129
Definition: ulduar.h:353
Definition: ulduar.h:38
Definition: ulduar.h:103
Definition: ulduar.h:114
Definition: ulduar.h:318
Definition: ulduar.h:120
Definition: ulduar.h:394
Definition: ulduar.h:182
Definition: ulduar.h:81
Definition: ulduar.h:66
Definition: ulduar.h:190
Definition: ulduar.h:404
Definition: ulduar.h:385
Definition: ulduar.h:73
Definition: ulduar.h:253
Definition: ulduar.h:94
Definition: ulduar.h:183
Definition: ulduar.h:32
Definition: ulduar.h:58
Definition: ulduar.h:326
EventIds
Definition: instance_blackrock_spire.cpp:32
Definition: ulduar.h:243
Definition: ulduar.h:222
Definition: ulduar.h:242
Position const ObservationRingKeepersPos[4]
Definition: boss_yogg_saron.cpp:374
Definition: ulduar.h:161
Definition: ulduar.h:33
Definition: ulduar.h:157
Definition: ulduar.h:419
Definition: ulduar.h:436
Definition: ulduar.h:324
Definition: Object.h:423
Definition: Creature.h:467
Definition: ulduar.h:126
Definition: ulduar.h:124
Definition: ulduar.h:359
Definition: ulduar.h:397
Definition: ulduar.h:39
UlduarNPCs
Definition: ulduar.h:51
Definition: ulduar.h:228
Definition: ulduar.h:304
Definition: ulduar.h:209
Definition: ulduar.h:145
Definition: ulduar.h:137
bool operator()(WorldObject *object) const
Definition: ulduar.h:450
Definition: ulduar.h:337
Definition: ulduar.h:134
Definition: ulduar.h:166
Definition: ulduar.h:241
Definition: ulduar.h:341
Definition: ulduar.h:43
UlduarAchievementData
Definition: ulduar.h:416
Definition: ulduar.h:218
Definition: ulduar.h:328
Definition: ulduar.h:342
Definition: ulduar.h:400
Definition: ulduar.h:187
Definition: ulduar.h:154
Definition: ulduar.h:270
Definition: ulduar.h:171
Definition: ulduar.h:151
Definition: ulduar.h:96
Definition: ulduar.h:278
Definition: ulduar.h:387
Definition: ulduar.h:176
Definition: ulduar.h:429
Definition: ulduar.h:118
Definition: ulduar.h:168
Definition: ulduar.h:321
Definition: ulduar.h:225
Definition: ulduar.h:177
Definition: ulduar.h:249
Definition: ulduar.h:421
Definition: ulduar.h:34
Definition: ulduar.h:92
Definition: ulduar.h:78
Definition: ulduar.h:158
Definition: ulduar.h:224
Definition: ulduar.h:314
Definition: ulduar.h:247
Definition: ulduar.h:90
Definition: ulduar.h:301
Definition: ulduar.h:248
TypeID GetTypeId() const
Definition: Object.h:113
Definition: ulduar.h:48
Definition: ulduar.h:374
Definition: ulduar.h:377
Definition: ulduar.h:297
Definition: ulduar.h:263
Definition: ulduar.h:207
Definition: ulduar.h:330
Definition: ulduar.h:55
Definition: ulduar.h:303
Definition: ulduar.h:437
Definition: ulduar.h:412
Definition: ulduar.h:332
Definition: ulduar.h:313
Definition: ulduar.h:45
Definition: ulduar.h:128
Definition: ulduar.h:306
Definition: ulduar.h:267
Definition: ulduar.h:208
Definition: ulduar.h:360
Definition: ulduar.h:109
Definition: ulduar.h:430
Definition: ulduar.h:383
Definition: ulduar.h:238
Definition: ulduar.h:178
Definition: ulduar.h:288
Definition: ulduar.h:296
UlduarData
Definition: ulduar.h:347
Definition: ulduar.h:401
Definition: ulduar.h:167
Definition: ulduar.h:258
Definition: ulduar.h:322
Definition: ulduar.h:232
Definition: ulduar.h:271
Definition: ulduar.h:35
Definition: ulduar.h:75
Definition: ulduar.h:268
Definition: ulduar.h:203
Definition: ulduar.h:46
Definition: ulduar.h:257
Definition: ulduar.h:287
Definition: ulduar.h:211
Definition: ulduar.h:111
Definition: ulduar.h:305
Definition: ulduar.h:133
Definition: boss_skeram.cpp:206
Definition: ulduar.h:281
Definition: ulduar.h:108
Definition: ulduar.h:91
Definition: ulduar.h:135
Definition: ulduar.h:160
Definition: ulduar.h:259
Definition: ulduar.h:193
Definition: ulduar.h:74
Definition: ulduar.h:333
Definition: ulduar.h:389
Definition: ulduar.h:406
UlduarWorldStates
Definition: ulduar.h:410
Definition: ulduar.h:358
Definition: ulduar.h:431
UlduarAchievementCriteriaIds
Definition: ulduar.h:294
Definition: ulduar.h:165
Definition: ulduar.h:336
Definition: ulduar.h:325
Definition: ulduar.h:237
Definition: ulduar.h:188
Definition: ulduar.h:125
Definition: ulduar.h:289
Definition: ulduar.h:204
Definition: ulduar.h:131
Definition: ulduar.h:155
Definition: ulduar.h:88
Definition: ulduar.h:233
Definition: ulduar.h:87
Definition: ulduar.h:395
Definition: ulduar.h:159
Definition: ulduar.h:372
Definition: ulduar.h:244
Definition: ulduar.h:229
Definition: ulduar.h:47
Definition: ulduar.h:350
Definition: ulduar.h:138
UlduarBosses
Definition: ulduar.h:28
Definition: ulduar.h:319
Definition: ulduar.h:71
Position const YSKeepersPos[4]
Definition: boss_yogg_saron.cpp:381
YoggSaronIllusions
Definition: ulduar.h:434
Definition: ulduar.h:141
Definition: ulduar.h:388
UlduarGameObjects
Definition: ulduar.h:200
Definition: ulduar.h:413
Definition: ulduar.h:162
Definition: ulduar.h:113
Definition: ulduar.h:245
Definition: ulduar.h:381
Definition: ulduar.h:54
Definition: ulduar.h:60
Definition: ulduar.h:272
Definition: ulduar.h:146
Definition: ulduar.h:67
Definition: ulduar.h:148
Definition: ulduar.h:130
Definition: ulduar.h:68
Definition: ulduar.h:407
Definition: ulduar.h:144
Definition: ulduar.h:438
Definition: ulduar.h:396
Definition: ObjectGuid.h:33
Definition: ulduar.h:338
Definition: ulduar.h:344
Definition: ulduar.h:191
Definition: ulduar.h:57
Definition: ulduar.h:64
Creature * ToCreature()
Definition: Object.h:194
Definition: ulduar.h:246
Definition: ulduar.h:143
Definition: ulduar.h:56
Definition: ulduar.h:72
Definition: ulduar.h:44
Definition: ulduar.h:70
Definition: ulduar.h:340
Definition: ulduar.h:266
Definition: ulduar.h:175
Definition: ulduar.h:123
Definition: ulduar.h:62
Definition: ulduar.h:335
Definition: ulduar.h:354
Definition: ulduar.h:101
Definition: Position.h:27
Definition: ulduar.h:405
Definition: ulduar.h:119
Definition: ulduar.h:365
Definition: ulduar.h:375
Definition: ulduar.h:343
Definition: ulduar.h:172
Definition: ulduar.h:42
Definition: ulduar.h:98
Definition: ulduar.h:197
Definition: ulduar.h:368
Definition: ulduar.h:215
Definition: ulduar.h:30
Definition: ulduar.h:181
LeviathanActions
Definition: ulduar.h:285
Definition: ulduar.h:290
Definition: ulduar.h:95
Definition: ulduar.h:393
Definition: ulduar.h:231
Definition: ulduar.h:102
Definition: ulduar.h:269
Definition: ulduar.h:357
Definition: ulduar.h:69
Definition: ulduar.h:280
Definition: ulduar.h:398
Definition: ulduar.h:164
Definition: ulduar.h:390
Definition: ulduar.h:376
Definition: ulduar.h:279
Definition: ulduar.h:192
Definition: ulduar.h:174
Definition: ulduar.h:136
Definition: ulduar.h:282
#define UlduarScriptName
Definition: ulduar.h:21
Definition: ulduar.h:378
Definition: ulduar.h:115
Definition: ulduar.h:59
Definition: ulduar.h:184
Definition: ulduar.h:37
Definition: ulduar.h:77
Definition: ulduar.h:156
Definition: ulduar.h:142
Definition: ulduar.h:194
Definition: ulduar.h:169
Definition: ulduar.h:179
Definition: ulduar.h:334
Definition: ulduar.h:110
Definition: ulduar.h:277
Definition: ulduar.h:230
Definition: ulduar.h:428