AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
instance_naxxramas Class Reference
Inheritance diagram for instance_naxxramas:
InstanceScript ZoneScript

Public Member Functions

 instance_naxxramas (Map *map)
 
void CreatureTalk (uint32 dataCreature, uint8 dialog)
 
void SetGoState (uint32 dataGameObject, GOState state)
 
void ActivateWingPortal (GameObject *go, EncounterState state)
 
void ActivateWingPortal (uint32 wingPortal)
 
void HeiganEruptSections (uint32 section)
 
void OnPlayerEnter (Player *player) override
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *go) override
 
void OnGameObjectRemove (GameObject *go) override
 
bool CheckAchievementCriteriaMeet (uint32 criteria_id, Player const *, Unit const *, uint32) override
 
void SetData (uint32 id, uint32 data) override
 
bool SetBossState (uint32 bossId, EncounterState state) override
 
void Update (uint32 diff) override
 
- Public Member Functions inherited from InstanceScript
 InstanceScript (Map *map)
 
 ~InstanceScript () override
 
virtual void Initialize ()
 
virtual void Load (char const *data)
 
virtual void CreatureLooted (Creature *, LootType)
 
virtual std::string GetSaveData ()
 
void SaveToDB ()
 
virtual bool IsEncounterInProgress () const
 
void OnCreatureCreate (Creature *creature) override
 
void OnCreatureRemove (Creature *creature) override
 
void OnGameObjectCreate (GameObject *go) override
 
void OnGameObjectRemove (GameObject *go) override
 
ObjectGuid GetObjectGuid (uint32 type) const
 
ObjectGuid GetGuidData (uint32 type) const override
 
CreatureGetCreature (uint32 type)
 
GameObjectGetGameObject (uint32 type)
 
virtual void OnPlayerLeave (Player *)
 
virtual void OnPlayerAreaUpdate (Player *, uint32, uint32)
 
virtual void OnPlayerInWaterStateUpdate (Player *, bool)
 
void HandleGameObject (ObjectGuid guid, bool open, GameObject *go=nullptr)
 
void DoUseDoorOrButton (ObjectGuid guid, uint32 withRestoreTime=0, bool useAlternativeState=false)
 
void DoRespawnGameObject (ObjectGuid guid, uint32 timeToDespawn=MINUTE)
 
void DoRespawnGameObject (uint32 type)
 
void DoRespawnCreature (ObjectGuid guid, bool force=false)
 
void DoRespawnCreature (uint32 type, bool force=false)
 
void DoUpdateWorldState (uint32 worldstateId, uint32 worldstateValue)
 
void DoSendNotifyToInstance (char const *format,...)
 
void DoUpdateAchievementCriteria (AchievementCriteriaTypes type, uint32 miscValue1=0, uint32 miscValue2=0, Unit *unit=nullptr)
 
void DoStartTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
void DoStopTimedAchievement (AchievementCriteriaTimedTypes type, uint32 entry)
 
void DoRemoveAurasDueToSpellOnPlayers (uint32 spell)
 
void DoCastSpellOnPlayers (uint32 spell)
 
void DoCastSpellOnPlayer (Player *player, uint32 spell, bool includePets, bool includeControlled)
 
bool ServerAllowsTwoSideGroups ()
 
EncounterState GetBossState (uint32 id) const
 
CreatureBoundary const * GetBossBoundary (uint32 id) const
 
BossInfo const * GetBossInfo (uint32 id) const
 
uint32 GetPersistentData (uint32 index) const
 
void StorePersistentData (uint32 index, uint32 data)
 
virtual bool CheckRequiredBosses (uint32, Player const *=nullptr) const
 
void SetCompletedEncountersMask (uint32 newMask, bool save)
 
uint32 GetCompletedEncounterMask () const
 
void SendEncounterUnit (uint32 type, Unit *unit=nullptr, uint8 param1=0, uint8 param2=0)
 
virtual void FillInitialWorldStates (WorldPackets::WorldState::InitWorldStates &)
 
uint32 GetEncounterCount () const
 
void MarkAreaTriggerDone (uint32 id)
 
void ResetAreaTriggerDone (uint32 id)
 
bool IsAreaTriggerDone (uint32 id) const
 
virtual void DoAction (int32)
 
void DoForAllMinions (uint32 id, std::function< void(Creature *)> exec)
 
void StoreGameObjectState (ObjectGuid::LowType spawnId, uint8 state)
 
uint8 GetStoredGameObjectState (ObjectGuid::LowType spawnId) const
 
void LoadInstanceSavedGameobjectStateData ()
 
bool IsBossDone (uint32 bossId) const
 
bool AllBossesDone () const
 
bool AllBossesDone (std::initializer_list< uint32 > bossIds) const
 
TeamId GetTeamIdInInstance () const
 
void SetTeamIdInInstance (TeamId teamId)
 
bool IsTwoFactionInstance () const
 
- Public Member Functions inherited from ZoneScript
 ZoneScript ()
 
virtual ~ZoneScript ()
 
virtual uint32 GetCreatureEntry (ObjectGuid::LowType, CreatureData const *data)
 
virtual uint32 GetGameObjectEntry (ObjectGuid::LowType, uint32 entry)
 
virtual void OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
virtual void SetGuidData (uint32, ObjectGuid)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual uint32 GetData (uint32) const
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Static Public Member Functions

static uint8 GetEruptionSection (float x, float y)
 
- Static Public Member Functions inherited from InstanceScript
static std::string GetBossStateName (uint8 state)
 

Private Attributes

EventMap _events
 
uint8 _currentWingTaunt
 
uint8 _horsemanLoaded
 
bool _thaddiusScreamsScheduled
 
std::set< GameObject * > _heiganEruption [HeiganEruptSectionCount]
 
GuidList _patchwerkRoomTrash
 
uint8 _abominationsKilled
 
bool _faerlinaAchievement
 
bool _thaddiusAchievement
 
bool _loathebAchievement
 
bool _sapphironAchievement
 
bool _heiganAchievement
 
bool _horsemanAchievement
 

Additional Inherited Members

- Public Attributes inherited from InstanceScript
Mapinstance
 
TaskScheduler scheduler
 
- Protected Member Functions inherited from InstanceScript
void SetHeaders (std::string const &dataHeaders)
 
void SetBossNumber (uint32 number)
 
void SetPersistentDataCount (uint32 number)
 
void LoadBossBoundaries (BossBoundaryData const &data)
 
void LoadDoorData (DoorData const *data)
 
void LoadMinionData (MinionData const *data)
 
void LoadObjectData (ObjectData const *creatureData, ObjectData const *gameObjectData)
 
void LoadSummonData (ObjectData const *data)
 
void SetSummoner (Creature *creature)
 
void AddObject (Creature *obj, bool add=true)
 
void RemoveObject (Creature *obj)
 
void AddObject (GameObject *obj, bool add=true)
 
void RemoveObject (GameObject *obj)
 
void AddObject (WorldObject *obj, uint32 type, bool add=true)
 
void RemoveObject (WorldObject *obj, uint32 type)
 
void AddDoor (GameObject *door, bool add=true)
 
void RemoveDoor (GameObject *door)
 
void AddMinion (Creature *minion, bool add=true)
 
void RemoveMinion (Creature *minion)
 
void UpdateDoorState (GameObject *door)
 
void UpdateMinionState (Creature *minion, EncounterState state)
 
bool ReadSaveDataHeaders (std::istringstream &data)
 
void ReadSaveDataBossStates (std::istringstream &data)
 
void ReadSavePersistentData (std::istringstream &data)
 
virtual void ReadSaveDataMore (std::istringstream &)
 
void WriteSaveDataHeaders (std::ostringstream &data)
 
void WriteSaveDataBossStates (std::ostringstream &data)
 
void WritePersistentData (std::ostringstream &data)
 
virtual void WriteSaveDataMore (std::ostringstream &)
 

Detailed Description

Constructor & Destructor Documentation

◆ instance_naxxramas()

instance_naxxramas::instance_naxxramas ( Map map)
inline
177 : InstanceScript(map)
178 {
185
186 // GameObjects
187 for (auto& i : _heiganEruption)
188 i.clear();
189
190 // NPCs
191 _patchwerkRoomTrash.clear();
192
193 // Controls
194 _events.Reset();
196 _horsemanLoaded = 0;
198
199 // Achievements
203 _loathebAchievement = true;
204 _heiganAchievement = true;
207 }
#define DataHeader
Definition blackrock_depths.h:23
void Reset()
Definition EventMap.cpp:21
Definition InstanceScript.h:143
void SetBossNumber(uint32 number)
Definition InstanceScript.h:296
void SetPersistentDataCount(uint32 number)
Definition InstanceScript.h:297
void LoadDoorData(DoorData const *data)
Definition InstanceScript.cpp:176
void LoadBossBoundaries(BossBoundaryData const &data)
Definition InstanceScript.cpp:146
void SetHeaders(std::string const &dataHeaders)
Definition InstanceScript.cpp:153
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
Definition InstanceScript.cpp:188
EventMap _events
Definition instance_naxxramas.cpp:723
bool _heiganAchievement
Definition instance_naxxramas.cpp:740
bool _faerlinaAchievement
Definition instance_naxxramas.cpp:736
uint8 _horsemanLoaded
Definition instance_naxxramas.cpp:725
bool _thaddiusAchievement
Definition instance_naxxramas.cpp:737
uint8 _abominationsKilled
Definition instance_naxxramas.cpp:735
bool _horsemanAchievement
Definition instance_naxxramas.cpp:741
bool _sapphironAchievement
Definition instance_naxxramas.cpp:739
bool _loathebAchievement
Definition instance_naxxramas.cpp:738
GuidList _patchwerkRoomTrash
Definition instance_naxxramas.cpp:732
uint8 _currentWingTaunt
Definition instance_naxxramas.cpp:724
bool _thaddiusScreamsScheduled
Definition instance_naxxramas.cpp:726
std::set< GameObject * > _heiganEruption[HeiganEruptSectionCount]
Definition instance_naxxramas.cpp:729
@ MAX_ENCOUNTERS
Definition deadmines.h:30
static ObjectData const gameObjectData[]
Definition instance_naxxramas.cpp:158
static ObjectData const creatureData[]
Definition instance_naxxramas.cpp:139
static DoorData const doorData[]
Definition instance_naxxramas.cpp:102
BossBoundaryData const boundaries
Definition instance_naxxramas.cpp:28
@ SAY_FIRST_WING_TAUNT
Definition naxxramas.h:273
@ PERSISTENT_DATA_COUNT
Definition naxxramas.h:88

References _abominationsKilled, _currentWingTaunt, _events, _faerlinaAchievement, _heiganAchievement, _heiganEruption, _horsemanAchievement, _horsemanLoaded, _loathebAchievement, _patchwerkRoomTrash, _sapphironAchievement, _thaddiusAchievement, _thaddiusScreamsScheduled, boundaries, creatureData, DataHeader, doorData, gameObjectData, InstanceScript::LoadBossBoundaries(), InstanceScript::LoadDoorData(), InstanceScript::LoadObjectData(), MAX_ENCOUNTERS, PERSISTENT_DATA_COUNT, EventMap::Reset(), SAY_FIRST_WING_TAUNT, InstanceScript::SetBossNumber(), InstanceScript::SetHeaders(), and InstanceScript::SetPersistentDataCount().

Member Function Documentation

◆ ActivateWingPortal() [1/2]

void instance_naxxramas::ActivateWingPortal ( GameObject go,
EncounterState  state 
)
inline
222 {
223 if (!go || state != DONE)
224 return;
225
228 }
@ GO_STATE_ACTIVE
Definition GameObjectData.h:705
@ DONE
Definition InstanceScript.h:61
@ GO_FLAG_NOT_SELECTABLE
Definition SharedDefines.h:1618
void SetGoState(GOState state)
Definition GameObject.cpp:2451
void RemoveGameObjectFlag(GameObjectFlags flags)
Definition GameObject.h:218

References DONE, GO_FLAG_NOT_SELECTABLE, GO_STATE_ACTIVE, GameObject::RemoveGameObjectFlag(), and GameObject::SetGoState().

Referenced by ActivateWingPortal(), OnGameObjectCreate(), and SetBossState().

◆ ActivateWingPortal() [2/2]

void instance_naxxramas::ActivateWingPortal ( uint32  wingPortal)
inline
231 {
234 }
void RescheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
Definition EventMap.cpp:70
GameObject * GetGameObject(uint32 type)
Definition InstanceScript.cpp:120
void ActivateWingPortal(GameObject *go, EncounterState state)
Definition instance_naxxramas.cpp:221
@ EVENT_KELTHUZAD_WING_TAUNT
Definition naxxramas.h:281

References _events, ActivateWingPortal(), DONE, EVENT_KELTHUZAD_WING_TAUNT, InstanceScript::GetGameObject(), and EventMap::RescheduleEvent().

◆ CheckAchievementCriteriaMeet()

bool instance_naxxramas::CheckAchievementCriteriaMeet ( uint32  criteria_id,
Player const *  ,
Unit const *  ,
uint32   
)
inlineoverridevirtual

Reimplemented from InstanceScript.

372 {
373 switch (criteria_id)
374 {
389 return _loathebAchievement;
392 return _heiganAchievement;
438 for (int i = 0; i < MAX_ENCOUNTERS; ++i)
439 if (GetBossState(i) != DONE)
440 return false;
441
443 default:
444 return false;
445 }
446 }
uint32 GetPersistentData(uint32 index) const
Definition InstanceScript.h:247
Map * instance
Definition InstanceScript.h:149
EncounterState GetBossState(uint32 id) const
Definition InstanceScript.h:242
uint32 GetPlayersCountExceptGMs() const
Definition Map.cpp:1834
static constexpr uint8 TheDedicatedFew25PlayerReq
Definition naxxramas.h:317
@ ACHIEV_CRITERIA_THE_UNDYING_THE_FOUR_HORSEMEN
Definition naxxramas.h:248
@ ACHIEV_CRITERIA_SUBTRACTION_25_PLAYER
Definition naxxramas.h:212
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GROBBULUS_25_PLAYER
Definition naxxramas.h:236
@ ACHIEV_CRITERIA_THE_IMMORTAL_MAEXXNA
Definition naxxramas.h:255
@ ACHIEV_CRITERIA_THE_UNDYING_THADDIUS
Definition naxxramas.h:251
@ ACHIEV_CRITERIA_THE_SAFETY_DANCE_10_PLAYER
Definition naxxramas.h:208
@ ACHIEV_CRITERIA_SPORE_LOSER_25_PLAYER
Definition naxxramas.h:206
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GLUTH_25_PLAYER
Definition naxxramas.h:237
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_THADDIUS_25_PLAYER
Definition naxxramas.h:238
@ ACHIEV_CRITERIA_THE_UNDYING_KELTHUZAD
Definition naxxramas.h:247
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_ANUB_25_PLAYER
Definition naxxramas.h:232
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GROBBULUS_10_PLAYER
Definition naxxramas.h:221
@ ACHIEV_CRITERIA_THE_UNDYING_LOATHEB
Definition naxxramas.h:250
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GOTHIK_10_PLAYER
Definition naxxramas.h:228
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_LOATHEB_10_PLAYER
Definition naxxramas.h:226
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_KELTHUZAD_10_PLAYER
Definition naxxramas.h:230
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_SAPPHIRON_25_PLAYER
Definition naxxramas.h:244
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GLUTH_10_PLAYER
Definition naxxramas.h:222
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_KELTHUZAD_25_PLAYER
Definition naxxramas.h:245
@ ACHIEV_CRITERIA_THE_HUNDRED_CLUB_10_PLAYER
Definition naxxramas.h:214
@ ACHIEV_CRITERIA_JUST_CANT_GET_ENOUGH_10_PLAYER
Definition naxxramas.h:196
@ ACHIEV_CRITERIA_THE_UNDYING_MAEXXNA
Definition naxxramas.h:249
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_HEIGAN_25_PLAYER
Definition naxxramas.h:240
@ ACHIEV_CRITERIA_THE_IMMORTAL_THE_FOUR_HORSEMEN
Definition naxxramas.h:254
@ ACHIEV_CRITERIA_SUBTRACTION_10_PLAYER
Definition naxxramas.h:211
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_NOTH_10_PLAYER
Definition naxxramas.h:224
@ ACHIEV_CRITERIA_MOMMA_SAID_KNOCK_YOU_OUT_10_PLAYER
Definition naxxramas.h:199
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_MAEXXNA_10_PLAYER
Definition naxxramas.h:219
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GOTHIK_25_PLAYER
Definition naxxramas.h:243
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_FAERLINA_10_PLAYER
Definition naxxramas.h:218
@ ACHIEV_CRITERIA_SHOKING_25_PLAYER
Definition naxxramas.h:203
@ ACHIEV_CRITERIA_SHOKING_10_PLAYER
Definition naxxramas.h:202
@ ACHIEV_CRITERIA_SPORE_LOSER_10_PLAYER
Definition naxxramas.h:205
@ ACHIEV_CRITERIA_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER_25_PLAYER
Definition naxxramas.h:194
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_THADDIUS_10_PLAYER
Definition naxxramas.h:223
@ ACHIEV_CRITERIA_MOMMA_SAID_KNOCK_YOU_OUT_25_PLAYER
Definition naxxramas.h:200
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_NOTH_25_PLAYER
Definition naxxramas.h:239
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_ANUB_10_PLAYER
Definition naxxramas.h:217
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_PATCHWERK_25_PLAYER
Definition naxxramas.h:235
@ ACHIEV_CRITERIA_THE_HUNDRED_CLUB_25_PLAYER
Definition naxxramas.h:215
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_RAZUVIOUS_10_PLAYER
Definition naxxramas.h:227
@ ACHIEV_CRITERIA_THE_IMMORTAL_LOATHEB
Definition naxxramas.h:256
@ ACHIEV_CRITERIA_JUST_CANT_GET_ENOUGH_25_PLAYER
Definition naxxramas.h:197
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_RAZUVIOUS_25_PLAYER
Definition naxxramas.h:242
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_MAEXXNA_25_PLAYER
Definition naxxramas.h:234
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_SAPPHIRON_10_PLAYER
Definition naxxramas.h:229
@ ACHIEV_CRITERIA_THE_IMMORTAL_THADDIUS
Definition naxxramas.h:257
@ ACHIEV_CRITERIA_THE_IMMORTAL_KELTHUZAD
Definition naxxramas.h:253
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_LOATHEB_25_PLAYER
Definition naxxramas.h:241
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_FAERLINA_25_PLAYER
Definition naxxramas.h:233
@ ACHIEV_CRITERIA_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER_10_PLAYER
Definition naxxramas.h:193
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_PATCHWERK_10_PLAYER
Definition naxxramas.h:220
@ ACHIEV_CRITERIA_THE_SAFETY_DANCE_25_PLAYER
Definition naxxramas.h:209
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_HEIGAN_10_PLAYER
Definition naxxramas.h:225
@ PERSISTENT_DATA_IMMORTAL_FAIL
Definition naxxramas.h:87
static constexpr uint8 AbominationKillCountReq
Definition naxxramas.h:315
static constexpr uint8 TheDedicatedFew10PlayerReq
Definition naxxramas.h:316

References _abominationsKilled, _faerlinaAchievement, _heiganAchievement, _horsemanAchievement, _loathebAchievement, _sapphironAchievement, _thaddiusAchievement, AbominationKillCountReq, ACHIEV_CRITERIA_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER_10_PLAYER, ACHIEV_CRITERIA_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER_25_PLAYER, ACHIEV_CRITERIA_JUST_CANT_GET_ENOUGH_10_PLAYER, ACHIEV_CRITERIA_JUST_CANT_GET_ENOUGH_25_PLAYER, ACHIEV_CRITERIA_MOMMA_SAID_KNOCK_YOU_OUT_10_PLAYER, ACHIEV_CRITERIA_MOMMA_SAID_KNOCK_YOU_OUT_25_PLAYER, ACHIEV_CRITERIA_SHOKING_10_PLAYER, ACHIEV_CRITERIA_SHOKING_25_PLAYER, ACHIEV_CRITERIA_SPORE_LOSER_10_PLAYER, ACHIEV_CRITERIA_SPORE_LOSER_25_PLAYER, ACHIEV_CRITERIA_SUBTRACTION_10_PLAYER, ACHIEV_CRITERIA_SUBTRACTION_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_ANUB_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_ANUB_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_FAERLINA_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_FAERLINA_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_GLUTH_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_GLUTH_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_GOTHIK_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_GOTHIK_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_GROBBULUS_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_GROBBULUS_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_HEIGAN_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_HEIGAN_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_KELTHUZAD_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_KELTHUZAD_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_LOATHEB_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_LOATHEB_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_MAEXXNA_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_MAEXXNA_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_NOTH_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_NOTH_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_PATCHWERK_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_PATCHWERK_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_RAZUVIOUS_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_RAZUVIOUS_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_SAPPHIRON_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_SAPPHIRON_25_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_THADDIUS_10_PLAYER, ACHIEV_CRITERIA_THE_DEDICATED_FEW_THADDIUS_25_PLAYER, ACHIEV_CRITERIA_THE_HUNDRED_CLUB_10_PLAYER, ACHIEV_CRITERIA_THE_HUNDRED_CLUB_25_PLAYER, ACHIEV_CRITERIA_THE_IMMORTAL_KELTHUZAD, ACHIEV_CRITERIA_THE_IMMORTAL_LOATHEB, ACHIEV_CRITERIA_THE_IMMORTAL_MAEXXNA, ACHIEV_CRITERIA_THE_IMMORTAL_THADDIUS, ACHIEV_CRITERIA_THE_IMMORTAL_THE_FOUR_HORSEMEN, ACHIEV_CRITERIA_THE_SAFETY_DANCE_10_PLAYER, ACHIEV_CRITERIA_THE_SAFETY_DANCE_25_PLAYER, ACHIEV_CRITERIA_THE_UNDYING_KELTHUZAD, ACHIEV_CRITERIA_THE_UNDYING_LOATHEB, ACHIEV_CRITERIA_THE_UNDYING_MAEXXNA, ACHIEV_CRITERIA_THE_UNDYING_THADDIUS, ACHIEV_CRITERIA_THE_UNDYING_THE_FOUR_HORSEMEN, DONE, InstanceScript::GetBossState(), InstanceScript::GetPersistentData(), Map::GetPlayersCountExceptGMs(), InstanceScript::instance, MAX_ENCOUNTERS, PERSISTENT_DATA_IMMORTAL_FAIL, TheDedicatedFew10PlayerReq, and TheDedicatedFew25PlayerReq.

◆ CreatureTalk()

void instance_naxxramas::CreatureTalk ( uint32  dataCreature,
uint8  dialog 
)
inline
210 {
211 if (Creature* creature = GetCreature(dataCreature))
212 creature->AI()->Talk(dialog);
213 }
Definition Creature.h:47
Creature * GetCreature(uint32 type)
Definition InstanceScript.cpp:115

References InstanceScript::GetCreature().

Referenced by Update().

◆ GetEruptionSection()

static uint8 instance_naxxramas::GetEruptionSection ( float  x,
float  y 
)
inlinestatic
237 {
238 y -= HeiganPos[1];
239 if (y < 1.0f)
240 return 0;
241
242 x -= HeiganPos[0];
243 if (x > -1.0f)
244 return 3;
245
246 float slope = y / x;
247 for (uint32 i = 0; i < 3; ++i)
248 if (slope > HeiganEruptionSlope[i])
249 return i;
250
251 return 3;
252 }
std::uint32_t uint32
Definition Define.h:107
static const float HeiganPos[2]
Definition instance_naxxramas.cpp:77
static const float HeiganEruptionSlope[3]
Definition instance_naxxramas.cpp:82

References HeiganEruptionSlope, and HeiganPos.

Referenced by OnGameObjectCreate(), and OnGameObjectRemove().

◆ HeiganEruptSections()

void instance_naxxramas::HeiganEruptSections ( uint32  section)
inline
255 {
256 for (uint8 i = 0; i < HeiganEruptSectionCount; ++i)
257 {
258 if (i == section)
259 continue;
260
261 for (GameObject* go : _heiganEruption[i])
262 {
263 go->SendCustomAnim(go->GetGoAnimProgress());
264 go->CastSpell(nullptr, SPELL_ERUPTION);
265 }
266 }
267 }
std::uint8_t uint8
Definition Define.h:109
@ SPELL_ERUPTION
Definition boss_garr.cpp:42
Definition GameObject.h:120
static constexpr uint8 HeiganEruptSectionCount
Definition naxxramas.h:313

References _heiganEruption, HeiganEruptSectionCount, and SPELL_ERUPTION.

Referenced by SetData().

◆ OnCreatureCreate()

void instance_naxxramas::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from ZoneScript.

281 {
282 switch (creature->GetEntry())
283 {
288 _patchwerkRoomTrash.push_back(creature->GetGUID());
289 return;
290 case NPC_BILE_RETCHER:
292 if (creature->GetPositionY() > -3258.0f) // we want only those inside the room, not before
293 _patchwerkRoomTrash.push_back(creature->GetGUID());
294 return;
296 case NPC_SIR_ZELIEK:
301 break;
302 default:
303 break;
304 }
305
307 }
void OnCreatureCreate(Creature *creature) override
Definition InstanceScript.cpp:70
uint32 GetEntry() const
Definition Object.h:116
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:113
bool SetBossState(uint32 bossId, EncounterState state) override
Definition instance_naxxramas.cpp:478
@ NPC_LADY_BLAUMEUX
Definition naxxramas.h:180
@ NPC_MAD_SCIENTIST
Definition naxxramas.h:156
@ NPC_SLUDGE_BELCHER
Definition naxxramas.h:159
@ NPC_BILE_RETCHER
Definition naxxramas.h:155
@ NPC_SURGICAL_ASSIST
Definition naxxramas.h:158
@ NPC_THANE_KORTHAZZ
Definition naxxramas.h:181
@ NPC_PATCHWORK_GOLEM
Definition naxxramas.h:154
@ NPC_LIVING_MONSTROSITY
Definition naxxramas.h:157
@ NPC_SIR_ZELIEK
Definition naxxramas.h:179
@ BOSS_HORSEMAN
Definition naxxramas.h:39
static constexpr uint8 HorsemanCount
Definition naxxramas.h:314
@ NPC_BARON_RIVENDARE
Definition stratholme.h:43
float GetPositionY() const
Definition Position.h:122

References _horsemanLoaded, _patchwerkRoomTrash, BOSS_HORSEMAN, InstanceScript::GetBossState(), Object::GetEntry(), Object::GetGUID(), Position::GetPositionY(), HorsemanCount, NPC_BARON_RIVENDARE, NPC_BILE_RETCHER, NPC_LADY_BLAUMEUX, NPC_LIVING_MONSTROSITY, NPC_MAD_SCIENTIST, NPC_PATCHWORK_GOLEM, NPC_SIR_ZELIEK, NPC_SLUDGE_BELCHER, NPC_SURGICAL_ASSIST, NPC_THANE_KORTHAZZ, InstanceScript::OnCreatureCreate(), and SetBossState().

◆ OnGameObjectCreate()

void instance_naxxramas::OnGameObjectCreate ( GameObject go)
inlineoverridevirtual

Reimplemented from ZoneScript.

310 {
311 switch (go->GetGOInfo()->displayId)
312 {
316 break;
317 default:
318 break;
319 }
320
321 switch (go->GetEntry())
322 {
326 break;
329 break;
332 break;
335 break;
338 break;
339 default:
340 break;
341 }
342
344 }
GameObjectTemplate const * GetGOInfo() const
Definition GameObject.h:136
void OnGameObjectCreate(GameObject *go) override
Definition InstanceScript.cpp:85
static uint8 GetEruptionSection(float x, float y)
Definition instance_naxxramas.cpp:236
@ GO_DISPLAY_ID_HEIGAN_ERUPTION1
Definition naxxramas.h:143
@ GO_DISPLAY_ID_HEIGAN_ERUPTION2
Definition naxxramas.h:144
@ GO_MAEXXNA_PORTAL
Definition naxxramas.h:125
@ GO_LOATHEB_PORTAL
Definition naxxramas.h:123
@ GO_SAPPHIRON_GATE
Definition naxxramas.h:110
@ GO_THADDIUS_PORTAL
Definition naxxramas.h:124
@ GO_HORSEMAN_PORTAL
Definition naxxramas.h:126
@ BOSS_LOATHEB
Definition naxxramas.h:32
@ BOSS_SAPPHIRON
Definition naxxramas.h:40
@ BOSS_MAEXXNA
Definition naxxramas.h:35
@ BOSS_THADDIUS
Definition naxxramas.h:36
uint32 displayId
Definition GameObjectData.h:34
float GetPositionX() const
Definition Position.h:121

References _heiganEruption, ActivateWingPortal(), BOSS_HORSEMAN, BOSS_LOATHEB, BOSS_MAEXXNA, BOSS_SAPPHIRON, BOSS_THADDIUS, GameObjectTemplate::displayId, DONE, InstanceScript::GetBossState(), Object::GetEntry(), GetEruptionSection(), GameObject::GetGOInfo(), Position::GetPositionX(), Position::GetPositionY(), GO_DISPLAY_ID_HEIGAN_ERUPTION1, GO_DISPLAY_ID_HEIGAN_ERUPTION2, GO_HORSEMAN_PORTAL, GO_LOATHEB_PORTAL, GO_MAEXXNA_PORTAL, GO_SAPPHIRON_GATE, GO_STATE_ACTIVE, GO_THADDIUS_PORTAL, InstanceScript::OnGameObjectCreate(), and GameObject::SetGoState().

◆ OnGameObjectRemove()

void instance_naxxramas::OnGameObjectRemove ( GameObject go)
inlineoverridevirtual

Reimplemented from ZoneScript.

347 {
348 switch (go->GetGOInfo()->displayId)
349 {
353 break;
354 default:
355 break;
356 }
357
358 switch (go->GetEntry())
359 {
362 cr->AI()->DoAction(ACTION_SAPPHIRON_BIRTH);
363 break;
364 default:
365 break;
366 }
367
369 }
void OnGameObjectRemove(GameObject *go) override
Definition InstanceScript.cpp:92
@ ACTION_SAPPHIRON_BIRTH
Definition naxxramas.h:307
@ GO_SAPPHIRON_BIRTH
Definition naxxramas.h:115
@ DATA_SAPPHIRON_BOSS
Definition naxxramas.h:58

References _heiganEruption, ACTION_SAPPHIRON_BIRTH, DATA_SAPPHIRON_BOSS, GameObjectTemplate::displayId, InstanceScript::GetCreature(), Object::GetEntry(), GetEruptionSection(), GameObject::GetGOInfo(), Position::GetPositionX(), Position::GetPositionY(), GO_DISPLAY_ID_HEIGAN_ERUPTION1, GO_DISPLAY_ID_HEIGAN_ERUPTION2, GO_SAPPHIRON_BIRTH, and InstanceScript::OnGameObjectRemove().

◆ OnPlayerEnter()

void instance_naxxramas::OnPlayerEnter ( Player player)
inlineoverridevirtual

Reimplemented from InstanceScript.

270 {
272
274 {
277 }
278 }
void ScheduleEvent(EventId eventId, Milliseconds time, GroupIndex group=0u, PhaseIndex phase=0u)
Definition EventMap.cpp:48
virtual void OnPlayerEnter(Player *)
Definition InstanceScript.cpp:58
@ EVENT_THADDIUS_SCREAMS
Definition naxxramas.h:279

References _events, _thaddiusScreamsScheduled, EVENT_THADDIUS_SCREAMS, InstanceScript::OnPlayerEnter(), and EventMap::ScheduleEvent().

◆ SetBossState()

bool instance_naxxramas::SetBossState ( uint32  bossId,
EncounterState  state 
)
inlineoverridevirtual

Reimplemented from InstanceScript.

479 {
480 switch (bossId)
481 {
482 case BOSS_PATCHWERK:
483 {
484 if (state != IN_PROGRESS)
485 break;
486
487 // pull all the trash if not killed
488 if (Creature* patchwerk = GetCreature(DATA_PATCHWERK_BOSS))
489 {
490 for (auto& itr : _patchwerkRoomTrash)
491 {
492 Creature* trash = ObjectAccessor::GetCreature(*patchwerk, itr);
493 if (trash && trash->IsAlive() && !trash->IsInCombat())
494 trash->AI()->AttackStart(patchwerk->GetVictim());
495 }
496 }
497
498 break;
499 }
500 case BOSS_HEIGAN:
501 {
502 if (state == NOT_STARTED)
503 _heiganAchievement = true;
504
505 break;
506 }
507 case BOSS_LOATHEB:
508 {
509 switch (state)
510 {
511 case NOT_STARTED:
512 _loathebAchievement = true;
513 break;
514 case DONE:
516 break;
517 default:
518 break;
519 }
520
521 break;
522 }
523 case BOSS_FAERLINA:
524 {
525 if (state == NOT_STARTED)
527
528 break;
529 }
530 case BOSS_MAEXXNA:
531 {
532 if (state == DONE)
534
535 break;
536 }
537 case BOSS_THADDIUS:
538 {
539 switch (state)
540 {
541 case NOT_STARTED:
543 break;
544 case DONE:
546 break;
547 default:
548 break;
549 }
550
551 break;
552 }
553 case BOSS_HORSEMAN:
554 {
555 uint32 horsemanKilled = std::count_if(HorsemanDataGroup.begin(), HorsemanDataGroup.end(), [this](auto&& entry)
556 {
557 Creature* cr = GetCreature(entry);
558 return cr && !cr->IsAlive();
559 });
560
561 switch (state)
562 {
563 case NOT_STARTED:
564 {
566
567 if (!horsemanKilled)
568 break;
569
570 for (auto&& entry : HorsemanDataGroup)
571 {
572 if (Creature* cr = GetCreature(entry))
573 {
574 cr->SetPosition(cr->GetHomePosition());
575 cr->Respawn();
576 }
577 }
578
579 break;
580 }
581 case IN_PROGRESS:
582 {
583 for (auto&& entry : HorsemanDataGroup)
584 if (Creature* cr = GetCreature(entry))
585 cr->SetInCombatWithZone();
586
587 break;
588 }
589 case DONE:
590 {
591 if (!horsemanKilled) // if no horsemen are found, assume wing is cleared
592 {
594 break;
595 }
596
598
599 if (horsemanKilled != HorsemanCount)
600 return false;
601
603 cr->CastSpell(cr, SPELL_THE_FOUR_HORSEMAN_CREDIT, true);
604
606 break;
607 }
608 default:
609 break;
610 }
611
612 break;
613 }
614 case BOSS_SAPPHIRON:
615 {
616 switch (state)
617 {
618 case NOT_STARTED:
620 break;
621 case DONE:
622 {
624 break;
625
629 break;
630 }
631 default:
632 break;
633 }
634
635 break;
636 }
637 case BOSS_KELTHUZAD:
638 {
639 if (state == NOT_STARTED)
641
642 break;
643 }
644 default:
645 break;
646 }
647
648 return InstanceScript::SetBossState(bossId, state);
649 }
@ GO_STATE_READY
Definition GameObjectData.h:706
@ IN_PROGRESS
Definition InstanceScript.h:59
@ NOT_STARTED
Definition InstanceScript.h:58
CreatureAI * AI() const
Definition Creature.h:144
virtual bool SetBossState(uint32 id, EncounterState state)
Definition InstanceScript.cpp:385
void StorePersistentData(uint32 index, uint32 data)
Definition InstanceScript.cpp:422
virtual void AttackStart(Unit *)
Definition UnitAI.cpp:27
bool IsAlive() const
Definition Unit.h:1773
bool IsInCombat() const
Definition Unit.h:924
void SetGoState(uint32 dataGameObject, GOState state)
Definition instance_naxxramas.cpp:215
static constexpr std::array< uint32, HorsemanCount > HorsemanDataGroup
Definition instance_naxxramas.cpp:89
Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:210
@ SPELL_THE_FOUR_HORSEMAN_CREDIT
Definition naxxramas.h:305
@ EVENT_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER
Definition naxxramas.h:280
@ EVENT_FROSTWYRM_WATERFALL_DOOR
Definition naxxramas.h:292
@ DATA_LOATHEB_PORTAL
Definition naxxramas.h:62
@ DATA_MAEXXNA_PORTAL
Definition naxxramas.h:63
@ DATA_BARON_RIVENDARE_BOSS
Definition naxxramas.h:54
@ DATA_HORSEMAN_PORTAL
Definition naxxramas.h:65
@ DATA_KELTHUZAD_GATE
Definition naxxramas.h:68
@ DATA_THADDIUS_PORTAL
Definition naxxramas.h:64
@ DATA_PATCHWERK_BOSS
Definition naxxramas.h:47
@ PERSISTENT_DATA_KELTHUZAD_DIALOG
Definition naxxramas.h:86
@ BOSS_HEIGAN
Definition naxxramas.h:31
@ BOSS_KELTHUZAD
Definition naxxramas.h:41
@ BOSS_PATCHWERK
Definition naxxramas.h:27
@ BOSS_FAERLINA
Definition naxxramas.h:34

References _abominationsKilled, _events, _faerlinaAchievement, _heiganAchievement, _horsemanAchievement, _loathebAchievement, _patchwerkRoomTrash, _sapphironAchievement, _thaddiusAchievement, ActivateWingPortal(), Creature::AI(), UnitAI::AttackStart(), BOSS_FAERLINA, BOSS_HEIGAN, BOSS_HORSEMAN, BOSS_KELTHUZAD, BOSS_LOATHEB, BOSS_MAEXXNA, BOSS_PATCHWERK, BOSS_SAPPHIRON, BOSS_THADDIUS, DATA_BARON_RIVENDARE_BOSS, DATA_HORSEMAN_PORTAL, DATA_KELTHUZAD_GATE, DATA_LOATHEB_PORTAL, DATA_MAEXXNA_PORTAL, DATA_PATCHWERK_BOSS, DATA_THADDIUS_PORTAL, DONE, EVENT_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER, EVENT_FROSTWYRM_WATERFALL_DOOR, InstanceScript::GetCreature(), ObjectAccessor::GetCreature(), InstanceScript::GetPersistentData(), GO_STATE_READY, HorsemanCount, HorsemanDataGroup, IN_PROGRESS, Unit::IsAlive(), Unit::IsInCombat(), NOT_STARTED, PERSISTENT_DATA_KELTHUZAD_DIALOG, EventMap::RescheduleEvent(), EventMap::ScheduleEvent(), InstanceScript::SetBossState(), SetGoState(), SPELL_THE_FOUR_HORSEMAN_CREDIT, and InstanceScript::StorePersistentData().

Referenced by OnCreatureCreate().

◆ SetData()

void instance_naxxramas::SetData ( uint32  id,
uint32  data 
)
inlineoverridevirtual

Reimplemented from ZoneScript.

449 {
450 switch (id)
451 {
454 return;
456 _faerlinaAchievement = false;
457 return;
459 _thaddiusAchievement = false;
460 return;
462 _loathebAchievement = false;
463 return;
465 _sapphironAchievement = false;
466 return;
467 case DATA_DANCE_FAIL:
468 _heiganAchievement = false;
469 return;
472 return;
473 default:
474 return;
475 }
476 }
void HeiganEruptSections(uint32 section)
Definition instance_naxxramas.cpp:254
@ DATA_HUNDRED_CLUB
Definition naxxramas.h:80
@ DATA_FRENZY_REMOVED
Definition naxxramas.h:78
@ DATA_CHARGES_CROSSED
Definition naxxramas.h:79
@ DATA_DANCE_FAIL
Definition naxxramas.h:76
@ DATA_ABOMINATION_KILLED
Definition naxxramas.h:81
@ DATA_SPORE_KILLED
Definition naxxramas.h:77
@ DATA_HEIGAN_ERUPTION
Definition naxxramas.h:75

References _abominationsKilled, _faerlinaAchievement, _heiganAchievement, _loathebAchievement, _sapphironAchievement, _thaddiusAchievement, DATA_ABOMINATION_KILLED, DATA_CHARGES_CROSSED, DATA_DANCE_FAIL, DATA_FRENZY_REMOVED, DATA_HEIGAN_ERUPTION, DATA_HUNDRED_CLUB, DATA_SPORE_KILLED, and HeiganEruptSections().

◆ SetGoState()

void instance_naxxramas::SetGoState ( uint32  dataGameObject,
GOState  state 
)
inline
216 {
217 if (GameObject* go = GetGameObject(dataGameObject))
218 go->SetGoState(state);
219 }

References InstanceScript::GetGameObject().

Referenced by SetBossState(), and Update().

◆ Update()

void instance_naxxramas::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

652 {
653 _events.Update(diff);
654
655 switch (_events.ExecuteEvent())
656 {
658 {
660 break;
661
663 return _events.ScheduleEvent(EVENT_THADDIUS_SCREAMS, 5min, 10min);
664 }
666 _horsemanAchievement = false;
667 break;
697 break;
716 default:
717 break;
718 }
719 }
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
void Update(uint32 time)
Definition EventMap.h:67
EventId ExecuteEvent()
Definition EventMap.cpp:86
void PlayDirectSoundToMap(uint32 soundId, uint32 zoneId=0)
Definition Map.cpp:2848
void CreatureTalk(uint32 dataCreature, uint8 dialog)
Definition instance_naxxramas.cpp:209
@ SOUND_SCREAM
Definition naxxramas.h:310
@ EVENT_HORSEMEN_INTRO3
Definition naxxramas.h:285
@ EVENT_KELTHUZAD_LICH_KING_TALK5
Definition naxxramas.h:297
@ EVENT_KELTHUZAD_LICH_KING_TALK4
Definition naxxramas.h:296
@ EVENT_HORSEMEN_INTRO2
Definition naxxramas.h:284
@ EVENT_HORSEMEN_INTRO7
Definition naxxramas.h:289
@ EVENT_HORSEMEN_INTRO6
Definition naxxramas.h:288
@ EVENT_KELTHUZAD_LICH_KING_TALK6
Definition naxxramas.h:298
@ EVENT_KELTHUZAD_LICH_KING_TALK3
Definition naxxramas.h:295
@ EVENT_HORSEMEN_INTRO1
Definition naxxramas.h:283
@ EVENT_KELTHUZAD_LICH_KING_TALK1
Definition naxxramas.h:293
@ EVENT_HORSEMEN_INTRO5
Definition naxxramas.h:287
@ EVENT_HORSEMEN_INTRO4
Definition naxxramas.h:286
@ EVENT_HORSEMEN_INTRO8
Definition naxxramas.h:290
@ EVENT_KELTHUZAD_LICH_KING_TALK2
Definition naxxramas.h:294
@ DATA_THANE_KORTHAZZ_BOSS
Definition naxxramas.h:57
@ DATA_SIR_ZELIEK_BOSS
Definition naxxramas.h:55
@ DATA_LADY_BLAUMEUX_BOSS
Definition naxxramas.h:56
@ DATA_LICH_KING_BOSS
Definition naxxramas.h:60
@ DATA_KELTHUZAD_BOSS
Definition naxxramas.h:59
@ DATA_SAPPHIRON_GATE
Definition naxxramas.h:67
@ SAY_SAPP_DIALOG4_LICH
Definition naxxramas.h:268
@ SAY_HORSEMEN_DIALOG2
Definition naxxramas.h:263
@ SAY_SAPP_DIALOG6
Definition naxxramas.h:270
@ SAY_SAPP_DIALOG2_LICH
Definition naxxramas.h:266
@ SAY_SAPP_DIALOG1
Definition naxxramas.h:265
@ SAY_HORSEMEN_DIALOG1
Definition naxxramas.h:262
@ SAY_SAPP_DIALOG5
Definition naxxramas.h:269
@ SAY_SAPP_DIALOG3
Definition naxxramas.h:267

References _currentWingTaunt, _events, _horsemanAchievement, BOSS_KELTHUZAD, BOSS_THADDIUS, CreatureTalk(), DATA_BARON_RIVENDARE_BOSS, DATA_KELTHUZAD_BOSS, DATA_KELTHUZAD_GATE, DATA_LADY_BLAUMEUX_BOSS, DATA_LICH_KING_BOSS, DATA_SAPPHIRON_GATE, DATA_SIR_ZELIEK_BOSS, DATA_THANE_KORTHAZZ_BOSS, DONE, EVENT_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER, EVENT_FROSTWYRM_WATERFALL_DOOR, EVENT_HORSEMEN_INTRO1, EVENT_HORSEMEN_INTRO2, EVENT_HORSEMEN_INTRO3, EVENT_HORSEMEN_INTRO4, EVENT_HORSEMEN_INTRO5, EVENT_HORSEMEN_INTRO6, EVENT_HORSEMEN_INTRO7, EVENT_HORSEMEN_INTRO8, EVENT_KELTHUZAD_LICH_KING_TALK1, EVENT_KELTHUZAD_LICH_KING_TALK2, EVENT_KELTHUZAD_LICH_KING_TALK3, EVENT_KELTHUZAD_LICH_KING_TALK4, EVENT_KELTHUZAD_LICH_KING_TALK5, EVENT_KELTHUZAD_LICH_KING_TALK6, EVENT_KELTHUZAD_WING_TAUNT, EVENT_THADDIUS_SCREAMS, EventMap::ExecuteEvent(), InstanceScript::GetBossState(), GO_STATE_ACTIVE, InstanceScript::instance, Map::PlayDirectSoundToMap(), SAY_HORSEMEN_DIALOG1, SAY_HORSEMEN_DIALOG2, SAY_SAPP_DIALOG1, SAY_SAPP_DIALOG2_LICH, SAY_SAPP_DIALOG3, SAY_SAPP_DIALOG4_LICH, SAY_SAPP_DIALOG5, SAY_SAPP_DIALOG6, EventMap::ScheduleEvent(), SetGoState(), SOUND_SCREAM, EventMap::Update(), and urand().

Member Data Documentation

◆ _abominationsKilled

uint8 instance_naxxramas::_abominationsKilled
private

◆ _currentWingTaunt

uint8 instance_naxxramas::_currentWingTaunt
private

Referenced by instance_naxxramas(), and Update().

◆ _events

EventMap instance_naxxramas::_events
private

◆ _faerlinaAchievement

bool instance_naxxramas::_faerlinaAchievement
private

◆ _heiganAchievement

bool instance_naxxramas::_heiganAchievement
private

◆ _heiganEruption

std::set<GameObject*> instance_naxxramas::_heiganEruption[HeiganEruptSectionCount]
private

◆ _horsemanAchievement

bool instance_naxxramas::_horsemanAchievement
private

◆ _horsemanLoaded

uint8 instance_naxxramas::_horsemanLoaded
private

◆ _loathebAchievement

bool instance_naxxramas::_loathebAchievement
private

◆ _patchwerkRoomTrash

GuidList instance_naxxramas::_patchwerkRoomTrash
private

◆ _sapphironAchievement

bool instance_naxxramas::_sapphironAchievement
private

◆ _thaddiusAchievement

bool instance_naxxramas::_thaddiusAchievement
private

◆ _thaddiusScreamsScheduled

bool instance_naxxramas::_thaddiusScreamsScheduled
private

The documentation for this class was generated from the following file: