TrinityCore
naxxramas.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
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_NAXXRAMAS_H
19#define DEF_NAXXRAMAS_H
20
21#include "CreatureAIImpl.h"
22
23#define NaxxramasScriptName "instance_naxxramas"
24#define DataHeader "NAX"
25
27
29{
45};
46
48{
51
53
59};
60
62{
84};
85
87{
89 NPC_FAERLINA = 15953,
91 NPC_GOTHIK = 16060,
92 NPC_THANE = 16064,
93 NPC_LADY = 16065,
94 NPC_BARON = 30549,
95 NPC_SIR = 16063,
96 NPC_GLUTH = 15932,
97 NPC_HEIGAN = 15936,
98 NPC_THADDIUS = 15928,
99 NPC_FEUGEN = 15930,
100 NPC_STALAGG = 15929,
101 NPC_TESLA = 16218,
111 NPC_LIVING_POISON = 16027
113
115{
129 GO_ROOM_NOTH = 181200,
142
143 // End of wing portals
148
149 // "Glow" effect on center-side portal
154
155 // "Glow" effect on boss-side portal
162 GO_BIRTH = 181356,
163
164 // Teleporting pads spawned by the end of every quarter.
170
172{
173 // Dialogue that happens after Gothik's death.
182
183 // Dialogue that happens after each wing.
185
186 // Dialogue that happens after Sapphiron's death.
194
196{
197 // The Four Horsemen
200
201 // Kel'Thuzad
206
209
210 // Lich King
214
215template <class AI, class T>
216inline AI* GetNaxxramasAI(T* obj)
217{
218 return GetInstanceAI<AI>(obj, NaxxramasScriptName);
219}
220
221#define RegisterNaxxramasCreatureAI(ai_name) RegisterCreatureAIWithFactory(ai_name, GetNaxxramasAI)
222#define RegisterNaxxramasGameObjectAI(ai_name) RegisterGameObjectAIWithFactory(ai_name, GetNaxxramasAI)
223
224#endif
uint32_t uint32
Definition: Define.h:142
NAXCreaturesIds
Definition: naxxramas.h:87
@ NPC_BIGGLESWORTH
Definition: naxxramas.h:108
@ NPC_ANUBREKHAN
Definition: naxxramas.h:88
@ NPC_FEUGEN
Definition: naxxramas.h:99
@ NPC_THADDIUS
Definition: naxxramas.h:98
@ NPC_GOTHIK
Definition: naxxramas.h:91
@ NPC_TESLA
Definition: naxxramas.h:101
@ NPC_LADY
Definition: naxxramas.h:93
@ NPC_BARON
Definition: naxxramas.h:94
@ NPC_KEL_THUZAD
Definition: naxxramas.h:103
@ NPC_OLD_WORLD_TRIGGER
Definition: naxxramas.h:110
@ NPC_FAERLINA
Definition: naxxramas.h:89
@ NPC_SAPPHIRON
Definition: naxxramas.h:102
@ NPC_STALAGG
Definition: naxxramas.h:100
@ NPC_HEIGAN
Definition: naxxramas.h:97
@ NPC_RAZUVIOUS
Definition: naxxramas.h:90
@ NPC_CRYPT_GUARD
Definition: naxxramas.h:104
@ NPC_THANE
Definition: naxxramas.h:92
@ NPC_SIR
Definition: naxxramas.h:95
@ NPC_DK_UNDERSTUDY
Definition: naxxramas.h:107
@ NPC_LICH_KING
Definition: naxxramas.h:109
@ NPC_NAXXRAMAS_FOLLOWER
Definition: naxxramas.h:105
@ NPC_LIVING_POISON
Definition: naxxramas.h:111
@ NPC_FOLLOWER_WORSHIPPER
Definition: naxxramas.h:106
@ NPC_GLUTH
Definition: naxxramas.h:96
AI * GetNaxxramasAI(T *obj)
Definition: naxxramas.h:216
NAXEncounter
Definition: naxxramas.h:29
@ BOSS_RAZUVIOUS
Definition: naxxramas.h:40
@ BOSS_HEIGAN
Definition: naxxramas.h:34
@ BOSS_GROBBULUS
Definition: naxxramas.h:37
@ BOSS_LOATHEB
Definition: naxxramas.h:35
@ BOSS_GLUTH
Definition: naxxramas.h:38
@ BOSS_GOTHIK
Definition: naxxramas.h:41
@ BOSS_SAPPHIRON
Definition: naxxramas.h:43
@ BOSS_MAEXXNA
Definition: naxxramas.h:32
@ BOSS_THADDIUS
Definition: naxxramas.h:39
@ BOSS_KELTHUZAD
Definition: naxxramas.h:44
@ BOSS_ANUBREKHAN
Definition: naxxramas.h:30
@ BOSS_NOTH
Definition: naxxramas.h:33
@ BOSS_PATCHWERK
Definition: naxxramas.h:36
@ BOSS_HORSEMEN
Definition: naxxramas.h:42
@ BOSS_FAERLINA
Definition: naxxramas.h:31
uint32 const EncounterCount
Definition: naxxramas.h:26
NAXGameObjectsIds
Definition: naxxramas.h:115
@ GO_PASSAGE_SAPPHIRON
Definition: naxxramas.h:140
@ GO_ARAC_EYE_RAMP
Definition: naxxramas.h:150
@ GO_NAXX_PORTAL_CONSTRUCT
Definition: naxxramas.h:166
@ GO_KELTHUZAD_TRIGGER
Definition: naxxramas.h:123
@ GO_ROOM_HORSEMEN
Definition: naxxramas.h:139
@ GO_MILI_EYE_RAMP
Definition: naxxramas.h:152
@ GO_PASSAGE_ANUBREKHAN
Definition: naxxramas.h:126
@ GO_PLAG_PORTAL
Definition: naxxramas.h:145
@ GO_GOTHIK_GATE
Definition: naxxramas.h:118
@ GO_CONS_NOX_TESLA_FEUGEN
Definition: naxxramas.h:160
@ GO_ROOM_LOATHEB
Definition: naxxramas.h:133
@ GO_CONS_EYE_RAMP
Definition: naxxramas.h:153
@ GO_KELTHUZAD_THRONE
Definition: naxxramas.h:124
@ GO_NAXX_PORTAL_ARACHNID
Definition: naxxramas.h:165
@ GO_ROOM_HEIGAN
Definition: naxxramas.h:131
@ GO_PASSAGE_GLUTH
Definition: naxxramas.h:135
@ GO_KELTHUZAD_PORTAL03
Definition: naxxramas.h:121
@ GO_HORSEMEN_CHEST_HERO
Definition: naxxramas.h:116
@ GO_HORSEMEN_CHEST
Definition: naxxramas.h:117
@ GO_CONS_EYE_RAMP_BOSS
Definition: naxxramas.h:159
@ GO_PLAG_EYE_RAMP_BOSS
Definition: naxxramas.h:157
@ GO_BIRTH
Definition: naxxramas.h:162
@ GO_CONS_NOX_TESLA_STALAGG
Definition: naxxramas.h:161
@ GO_PASSAGE_NOTH
Definition: naxxramas.h:130
@ GO_ROOM_GROBBULUS
Definition: naxxramas.h:134
@ GO_PASSAGE_HEIGAN
Definition: naxxramas.h:132
@ GO_MILI_EYE_RAMP_BOSS
Definition: naxxramas.h:158
@ GO_CONS_PORTAL
Definition: naxxramas.h:147
@ GO_ARAC_PORTAL
Definition: naxxramas.h:144
@ GO_NAXX_PORTAL_PLAGUE
Definition: naxxramas.h:167
@ GO_ROOM_ANUBREKHAN
Definition: naxxramas.h:125
@ GO_ROOM_KELTHUZAD
Definition: naxxramas.h:141
@ GO_ROOM_GOTHIK
Definition: naxxramas.h:137
@ GO_NAXX_PORTAL_MILITARY
Definition: naxxramas.h:168
@ GO_KELTHUZAD_PORTAL01
Definition: naxxramas.h:119
@ GO_PASSAGE_FAERLINA
Definition: naxxramas.h:127
@ GO_ROOM_THADDIUS
Definition: naxxramas.h:136
@ GO_PLAG_EYE_RAMP
Definition: naxxramas.h:151
@ GO_ROOM_NOTH
Definition: naxxramas.h:129
@ GO_PASSAGE_GOTHIK
Definition: naxxramas.h:138
@ GO_ROOM_MAEXXNA
Definition: naxxramas.h:128
@ GO_KELTHUZAD_PORTAL04
Definition: naxxramas.h:122
@ GO_MILI_PORTAL
Definition: naxxramas.h:146
@ GO_KELTHUZAD_PORTAL02
Definition: naxxramas.h:120
@ GO_ARAC_EYE_RAMP_BOSS
Definition: naxxramas.h:156
NAXData
Definition: naxxramas.h:48
@ DATA_NAXX_PORTAL_CONSTRUCT
Definition: naxxramas.h:55
@ DATA_NAXX_PORTAL_MILITARY
Definition: naxxramas.h:57
@ DATA_HAD_SAPPHIRON_BIRTH
Definition: naxxramas.h:50
@ DATA_GOTHIK_GATE
Definition: naxxramas.h:49
@ DATA_HORSEMEN_CHECK_ACHIEVEMENT_CREDIT
Definition: naxxramas.h:52
@ DATA_NAXX_PORTAL_ARACHNID
Definition: naxxramas.h:54
@ DATA_NAXX_PORTAL_PLAGUE
Definition: naxxramas.h:56
@ DATA_KELTHUZAD_THRONE
Definition: naxxramas.h:58
#define NaxxramasScriptName
Definition: naxxramas.h:23
NAXData64
Definition: naxxramas.h:62
@ DATA_BARON
Definition: naxxramas.h:69
@ DATA_GOTHIK
Definition: naxxramas.h:66
@ DATA_SAPPHIRON
Definition: naxxramas.h:76
@ DATA_THANE
Definition: naxxramas.h:67
@ DATA_HEIGAN
Definition: naxxramas.h:73
@ DATA_SIR
Definition: naxxramas.h:70
@ DATA_KELTHUZAD
Definition: naxxramas.h:77
@ DATA_KELTHUZAD_PORTAL02
Definition: naxxramas.h:79
@ DATA_FAERLINA
Definition: naxxramas.h:64
@ DATA_KELTHUZAD_PORTAL01
Definition: naxxramas.h:78
@ DATA_LICH_KING
Definition: naxxramas.h:83
@ DATA_THADDIUS
Definition: naxxramas.h:72
@ DATA_LADY
Definition: naxxramas.h:68
@ DATA_FEUGEN
Definition: naxxramas.h:74
@ DATA_KELTHUZAD_PORTAL04
Definition: naxxramas.h:81
@ DATA_RAZUVIOUS
Definition: naxxramas.h:65
@ DATA_KELTHUZAD_TRIGGER
Definition: naxxramas.h:82
@ DATA_STALAGG
Definition: naxxramas.h:75
@ DATA_ANUBREKHAN
Definition: naxxramas.h:63
@ DATA_KELTHUZAD_PORTAL03
Definition: naxxramas.h:80
@ DATA_GLUTH
Definition: naxxramas.h:71
NAXInstanceTexts
Definition: naxxramas.h:196
@ SAY_KELTHUZAD_CAT_DIED
Definition: naxxramas.h:207
@ SAY_DIALOGUE_SAPPHIRON_KELTHUZAD2
Definition: naxxramas.h:203
@ SAY_DIALOGUE_GOTHIK_HORSEMAN2
Definition: naxxramas.h:199
@ SAY_DIALOGUE_SAPPHIRON_LICH_KING2
Definition: naxxramas.h:212
@ SAY_DIALOGUE_SAPPHIRON_KELTHUZAD4
Definition: naxxramas.h:205
@ SAY_DIALOGUE_SAPPHIRON_KELTHUZAD3
Definition: naxxramas.h:204
@ SAY_KELTHUZAD_FIRST_WING_TAUNT
Definition: naxxramas.h:208
@ SAY_DIALOGUE_GOTHIK_HORSEMAN
Definition: naxxramas.h:198
@ SAY_DIALOGUE_SAPPHIRON_KELTHUZAD
Definition: naxxramas.h:202
@ SAY_DIALOGUE_SAPPHIRON_LICH_KING
Definition: naxxramas.h:211
NAXInstanceEvents
Definition: naxxramas.h:172
@ EVENT_DIALOGUE_SAPPHIRON_KELTHUZAD4
Definition: naxxramas.h:192
@ EVENT_DIALOGUE_GOTHIK_BLAUMEUX2
Definition: naxxramas.h:178
@ EVENT_DIALOGUE_GOTHIK_ZELIEK
Definition: naxxramas.h:175
@ EVENT_DIALOGUE_SAPPHIRON_LICHKING
Definition: naxxramas.h:188
@ EVENT_DIALOGUE_GOTHIK_KORTHAZZ
Definition: naxxramas.h:174
@ EVENT_DIALOGUE_GOTHIK_KORTHAZZ2
Definition: naxxramas.h:180
@ EVENT_DIALOGUE_SAPPHIRON_KELTHUZAD2
Definition: naxxramas.h:189
@ EVENT_DIALOGUE_SAPPHIRON_LICHKING2
Definition: naxxramas.h:190
@ EVENT_KELTHUZAD_WING_TAUNT
Definition: naxxramas.h:184
@ EVENT_DIALOGUE_GOTHIK_RIVENDARE
Definition: naxxramas.h:177
@ EVENT_DIALOGUE_GOTHIK_ZELIEK2
Definition: naxxramas.h:179
@ EVENT_DIALOGUE_GOTHIK_BLAUMEUX
Definition: naxxramas.h:176
@ EVENT_DIALOGUE_GOTHIK_RIVENDARE2
Definition: naxxramas.h:181
@ EVENT_DIALOGUE_SAPPHIRON_KELTHUZAD3
Definition: naxxramas.h:191
@ EVENT_DIALOGUE_SAPPHIRON_KELTHUZAD
Definition: naxxramas.h:187