AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
instance_naxxramas.cpp File Reference
#include "AreaTriggerScript.h"
#include "CellImpl.h"
#include "CreatureAIImpl.h"
#include "CreatureScript.h"
#include "InstanceMapScript.h"
#include "InstanceScript.h"
#include "PassiveAI.h"
#include "Player.h"
#include "naxxramas.h"

Go to the source code of this file.

Classes

struct  LivingPoisonData
 
class  instance_naxxramas
 
class  npc_mr_bigglesworth
 
class  npc_living_poison
 
class  npc_naxxramas_trigger
 
class  at_naxxramas_hub_portal
 

Functions

void AddSC_instance_naxxramas ()
 

Variables

BossBoundaryData const boundaries
 
static const LivingPoisonData LivingPoisonDataList [3]
 
static const float HeiganPos [2]
 
static const float HeiganEruptionSlope [3]
 
static constexpr std::array< uint32, HorsemanCountHorsemanDataGroup
 
static WorldLocation const SapphironTeleportPos
 
static DoorData const doorData []
 
static ObjectData const creatureData []
 
static ObjectData const gameObjectData []
 

Function Documentation

◆ AddSC_instance_naxxramas()

void AddSC_instance_naxxramas ( )
838{
844}
@ MAP_NAXXRAMAS
Definition AreaDefines.h:220
#define RegisterInstanceScript(script_name, mapId)
Definition InstanceMapScript.h:45
Definition instance_naxxramas.cpp:813
Definition instance_naxxramas.cpp:175
Definition instance_naxxramas.cpp:764
Definition instance_naxxramas.cpp:745
Definition instance_naxxramas.cpp:776
#define RegisterNaxxramasCreatureAI(ai_name)
Definition naxxramas.h:325

References MAP_NAXXRAMAS, RegisterInstanceScript, and RegisterNaxxramasCreatureAI.

Referenced by AddNorthrendScripts().

Variable Documentation

◆ boundaries

BossBoundaryData const boundaries
29{
30 /* Arachnid Quarter */
31 { BOSS_ANUB, new CircleBoundary(Position(3273.376709f, -3475.876709f), Position(3195.668213f, -3475.930176f)) },
32 { BOSS_FAERLINA, new RectangleBoundary(3315.0f, 3402.0f, -3727.0f, -3590.0f) },
33 { BOSS_FAERLINA, new CircleBoundary(Position(3372.68f, -3648.2f), Position(3316.0f, -3704.26f)) },
34 { BOSS_MAEXXNA, new CircleBoundary(Position(3502.2587f, -3892.1697f), Position(3418.7422f, -3840.271f)) },
35
36 /* Plague Quarter */
37 { BOSS_NOTH, new RectangleBoundary(2618.0f, 2754.0f, -3557.43f, -3450.0f) },
38 { BOSS_HEIGAN, new CircleBoundary(Position(2772.57f, -3685.28f), 56.0f) },
39 { BOSS_HEIGAN, new RectangleBoundary(2723.0f, 2826.0f, -3736.0f, -3641.0f) },
40 { BOSS_LOATHEB, new CircleBoundary(Position(2909.0f, -3997.41f), 57.0f) },
41
42 /* Military Quarter */
43 { BOSS_RAZUVIOUS, new ZRangeBoundary(260.0f, 287.0f) }, // will not chase onto the upper floor
44 { BOSS_GOTHIK, new RectangleBoundary(2627.0f, 2764.0f, -3440.0f, -3275.0f) },
45 { BOSS_HORSEMAN, new ParallelogramBoundary(Position(2646.0f, -2959.0f), Position(2529.0f, -3075.0f), Position(2506.0f, -2854.0f)) },
46
47 /* Construct Quarter */
48 { BOSS_PATCHWERK, new CircleBoundary(Position(3204.0f, -3241.4f), 240.0f) },
49 { BOSS_PATCHWERK, new CircleBoundary(Position(3130.8576f, -3210.36f), Position(3085.37f, -3219.85f), true) }, // entrance slime circle blocker
50 { BOSS_GROBBULUS, new CircleBoundary(Position(3204.0f, -3241.4f), 240.0f) },
51 { BOSS_GROBBULUS, new RectangleBoundary(3295.0f, 3340.0f, -3254.2f, -3230.18f, true) }, // entrance door blocker
52 { BOSS_GLUTH, new CircleBoundary(Position(3293.0f, -3142.0f), 80.0) },
53 { BOSS_GLUTH, new ParallelogramBoundary(Position(3401.0f, -3149.0f), Position(3261.0f, -3028.0f), Position(3320.0f, -3267.0f)) },
54 { BOSS_GLUTH, new ZRangeBoundary(285.0f, 310.0f) },
55 { BOSS_THADDIUS, new ParallelogramBoundary(Position(3478.3f, -3070.0f), Position(3370.0f, -2961.5f), Position(3580.0f, -2961.5f)) },
56
57 /* Frostwyrm Lair */
58 { BOSS_SAPPHIRON, new CircleBoundary(Position(3517.627f, -5255.5f), 110.0) },
59 { BOSS_KELTHUZAD, new CircleBoundary(Position(3716.0f, -5107.0f), 85.0) }
60};
Definition AreaBoundary.h:89
Definition AreaBoundary.h:129
Definition AreaBoundary.h:76
Definition AreaBoundary.h:143
@ BOSS_HORSEMAN
Definition naxxramas.h:39
@ BOSS_RAZUVIOUS
Definition naxxramas.h:37
@ BOSS_ANUB
Definition naxxramas.h:33
@ BOSS_HEIGAN
Definition naxxramas.h:31
@ BOSS_GROBBULUS
Definition naxxramas.h:28
@ BOSS_LOATHEB
Definition naxxramas.h:32
@ BOSS_GLUTH
Definition naxxramas.h:29
@ BOSS_GOTHIK
Definition naxxramas.h:38
@ BOSS_SAPPHIRON
Definition naxxramas.h:40
@ BOSS_MAEXXNA
Definition naxxramas.h:35
@ BOSS_THADDIUS
Definition naxxramas.h:36
@ BOSS_KELTHUZAD
Definition naxxramas.h:41
@ BOSS_NOTH
Definition naxxramas.h:30
@ BOSS_PATCHWERK
Definition naxxramas.h:27
@ BOSS_FAERLINA
Definition naxxramas.h:34
Definition Position.h:27

Referenced by instance_naxxramas::instance_naxxramas().

◆ creatureData

ObjectData const creatureData[]
static
Initial value:
{
{ 0, 0 }
}
@ NPC_FEUGEN
Definition naxxramas.h:166
@ NPC_THADDIUS
Definition naxxramas.h:164
@ NPC_GOTHIK
Definition naxxramas.h:172
@ NPC_LADY_BLAUMEUX
Definition naxxramas.h:180
@ NPC_SAPPHIRON
Definition naxxramas.h:184
@ NPC_STALAGG
Definition naxxramas.h:165
@ NPC_HEIGAN
Definition naxxramas.h:175
@ NPC_PATCHWERK
Definition naxxramas.h:153
@ NPC_THANE_KORTHAZZ
Definition naxxramas.h:181
@ NPC_RAZUVIOUS
Definition naxxramas.h:169
@ NPC_KELTHUZAD
Definition naxxramas.h:187
@ NPC_SIR_ZELIEK
Definition naxxramas.h:179
@ DATA_THANE_KORTHAZZ_BOSS
Definition naxxramas.h:57
@ DATA_GOTHIK_BOSS
Definition naxxramas.h:52
@ DATA_SIR_ZELIEK_BOSS
Definition naxxramas.h:55
@ DATA_BARON_RIVENDARE_BOSS
Definition naxxramas.h:54
@ DATA_LADY_BLAUMEUX_BOSS
Definition naxxramas.h:56
@ DATA_RAZUVIOUS_BOSS
Definition naxxramas.h:51
@ DATA_LICH_KING_BOSS
Definition naxxramas.h:60
@ DATA_HEIGAN_BOSS
Definition naxxramas.h:53
@ DATA_THADDIUS_BOSS
Definition naxxramas.h:50
@ DATA_PATCHWERK_BOSS
Definition naxxramas.h:47
@ DATA_STALAGG_BOSS
Definition naxxramas.h:48
@ DATA_KELTHUZAD_BOSS
Definition naxxramas.h:59
@ DATA_SAPPHIRON_BOSS
Definition naxxramas.h:58
@ DATA_FEUGEN_BOSS
Definition naxxramas.h:49
@ NPC_BARON_RIVENDARE
Definition stratholme.h:43
@ NPC_LICH_KING
Definition trial_of_the_crusader.h:143

Referenced by instance_naxxramas::instance_naxxramas().

◆ doorData

DoorData const doorData[]
static
102{
135 { 0, 0, DOOR_TYPE_ROOM }
136};
@ DOOR_TYPE_ROOM
Definition InstanceScript.h:68
@ DOOR_TYPE_PASSAGE
Definition InstanceScript.h:69
@ GO_HEIGAN_ENTRY_GATE
Definition naxxramas.h:97
@ GO_GOTHIK_EXIT_GATE
Definition naxxramas.h:108
@ GO_PATCHWERK_GATE
Definition naxxramas.h:93
@ GO_THADDIUS_GATE
Definition naxxramas.h:105
@ GO_LOATHEB_GATE
Definition naxxramas.h:99
@ GO_HEIGAN_EXIT_GATE
Definition naxxramas.h:98
@ GO_PLAGUE_EYE_PORTAL
Definition naxxramas.h:130
@ GO_MAEXXNA_GATE
Definition naxxramas.h:104
@ GO_ABOM_EYE_PORTAL
Definition naxxramas.h:132
@ GO_SPIDER_EYE_PORTAL
Definition naxxramas.h:131
@ GO_KELTHUZAD_GATE
Definition naxxramas.h:117
@ GO_NOTH_ENTRY_GATE
Definition naxxramas.h:95
@ GO_GOTHIK_ENTER_GATE
Definition naxxramas.h:106
@ GO_CONS_EYE_RAMP_BOSS
Definition naxxramas.h:138
@ GO_PLAG_EYE_RAMP_BOSS
Definition naxxramas.h:136
@ GO_FAERLINA_WEB
Definition naxxramas.h:102
@ GO_ANUB_NEXT_GATE
Definition naxxramas.h:101
@ GO_MILI_EYE_RAMP_BOSS
Definition naxxramas.h:137
@ GO_ANUB_GATE
Definition naxxramas.h:100
@ GO_NOTH_EXIT_GATE
Definition naxxramas.h:96
@ GO_DEATHKNIGHT_EYE_PORTAL
Definition naxxramas.h:129
@ GO_FAERLINA_GATE
Definition naxxramas.h:103
@ GO_HORSEMEN_GATE
Definition naxxramas.h:109
@ GO_GLUTH_GATE
Definition naxxramas.h:94
@ GO_GOTHIK_INNER_GATE
Definition naxxramas.h:107
@ GO_ARAC_EYE_RAMP_BOSS
Definition naxxramas.h:135

Referenced by instance_naxxramas::instance_naxxramas().

◆ gameObjectData

ObjectData const gameObjectData[]
static
Initial value:
{
{ 0, 0 }
}
@ GO_MAEXXNA_PORTAL
Definition naxxramas.h:125
@ GO_KELTHUZAD_FLOOR
Definition naxxramas.h:116
@ GO_LOATHEB_PORTAL
Definition naxxramas.h:123
@ GO_KELTHUZAD_PORTAL_3
Definition naxxramas.h:120
@ GO_SAPPHIRON_GATE
Definition naxxramas.h:110
@ GO_THADDIUS_PORTAL
Definition naxxramas.h:124
@ GO_HORSEMAN_PORTAL
Definition naxxramas.h:126
@ GO_KELTHUZAD_PORTAL_1
Definition naxxramas.h:118
@ GO_KELTHUZAD_PORTAL_2
Definition naxxramas.h:119
@ GO_KELTHUZAD_PORTAL_4
Definition naxxramas.h:121
@ DATA_GOTHIK_INNER_GATE
Definition naxxramas.h:66
@ DATA_LOATHEB_PORTAL
Definition naxxramas.h:62
@ DATA_MAEXXNA_PORTAL
Definition naxxramas.h:63
@ DATA_KELTHUZAD_FLOOR
Definition naxxramas.h:69
@ DATA_HORSEMAN_PORTAL
Definition naxxramas.h:65
@ DATA_KELTHUZAD_GATE
Definition naxxramas.h:68
@ DATA_KELTHUZAD_PORTAL_3
Definition naxxramas.h:72
@ DATA_THADDIUS_PORTAL
Definition naxxramas.h:64
@ DATA_KELTHUZAD_PORTAL_2
Definition naxxramas.h:71
@ DATA_KELTHUZAD_PORTAL_1
Definition naxxramas.h:70
@ DATA_KELTHUZAD_PORTAL_4
Definition naxxramas.h:73
@ DATA_SAPPHIRON_GATE
Definition naxxramas.h:67

Referenced by instance_naxxramas::instance_naxxramas().

◆ HeiganEruptionSlope

const float HeiganEruptionSlope[3]
static
Initial value:
{
(-3685 - HeiganPos[1]) / (2724 - HeiganPos[0]),
(-3647 - HeiganPos[1]) / (2749 - HeiganPos[0]),
(-3637 - HeiganPos[1]) / (2771 - HeiganPos[0]),
}
static const float HeiganPos[2]
Definition instance_naxxramas.cpp:77
82{
83 (-3685 - HeiganPos[1]) / (2724 - HeiganPos[0]),
84 (-3647 - HeiganPos[1]) / (2749 - HeiganPos[0]),
85 (-3637 - HeiganPos[1]) / (2771 - HeiganPos[0]),
86};

Referenced by instance_naxxramas::GetEruptionSection().

◆ HeiganPos

const float HeiganPos[2]
static
Initial value:
{
2796, -3707
}
77{
78 2796, -3707
79};

Referenced by instance_naxxramas::GetEruptionSection().

◆ HorsemanDataGroup

◆ LivingPoisonDataList

const LivingPoisonData LivingPoisonDataList[3]
static
Initial value:
{
{ Position { 3128.59, -3118.81, 293.346, 4.76754 }, Position { 3130.322, -3156.51, 293.324 }, 15200 },
{ Position { 3154.25, -3125.7, 293.43, 4.47694 }, Position { 3144.779, -3158.416, 293.324 }, 14800 },
{ Position { 3175.42, -3134.86, 293.34, 4.284 }, Position { 3158.778, -3164.201, 293.312 }, 14800 }
}
70{
71 { Position { 3128.59, -3118.81, 293.346, 4.76754 }, Position { 3130.322, -3156.51, 293.324 }, 15200 },
72 { Position { 3154.25, -3125.7, 293.43, 4.47694 }, Position { 3144.779, -3158.416, 293.324 }, 14800 },
73 { Position { 3175.42, -3134.86, 293.34, 4.284 }, Position { 3158.778, -3164.201, 293.312 }, 14800 }
74};

Referenced by npc_naxxramas_trigger::UpdateAI().

◆ SapphironTeleportPos

WorldLocation const SapphironTeleportPos
static
Initial value:
{
MAP_NAXXRAMAS, 3498.300049f, -5349.490234f, 144.968002f, 1.3698910f
}
97{
98 MAP_NAXXRAMAS, 3498.300049f, -5349.490234f, 144.968002f, 1.3698910f
99};

Referenced by at_naxxramas_hub_portal::OnTrigger().