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
 
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
142 : InstanceScript(map)
143 {
149
150 // GameObjects
151 for (auto& i : _heiganEruption)
152 i.clear();
153
154 // NPCs
155 _patchwerkRoomTrash.clear();
156
157 // Controls
158 _events.Reset();
160 _horsemanLoaded = 0;
161
162 // Achievements
166 _loathebAchievement = true;
167 _heiganAchievement = true;
170 }
#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 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:675
bool _heiganAchievement
Definition instance_naxxramas.cpp:691
bool _faerlinaAchievement
Definition instance_naxxramas.cpp:687
uint8 _horsemanLoaded
Definition instance_naxxramas.cpp:677
bool _thaddiusAchievement
Definition instance_naxxramas.cpp:688
uint8 _abominationsKilled
Definition instance_naxxramas.cpp:686
bool _horsemanAchievement
Definition instance_naxxramas.cpp:692
bool _sapphironAchievement
Definition instance_naxxramas.cpp:690
bool _loathebAchievement
Definition instance_naxxramas.cpp:689
GuidList _patchwerkRoomTrash
Definition instance_naxxramas.cpp:683
uint8 _currentWingTaunt
Definition instance_naxxramas.cpp:676
std::set< GameObject * > _heiganEruption[HeiganEruptSectionCount]
Definition instance_naxxramas.cpp:680
@ MAX_ENCOUNTERS
Definition deadmines.h:30
static ObjectData const gameObjectData[]
Definition instance_naxxramas.cpp:123
static ObjectData const creatureData[]
Definition instance_naxxramas.cpp:105
static DoorData const doorData[]
Definition instance_naxxramas.cpp:68
@ SAY_FIRST_WING_TAUNT
Definition naxxramas.h:268
@ PERSISTENT_DATA_COUNT
Definition naxxramas.h:89

References _abominationsKilled, _currentWingTaunt, _events, _faerlinaAchievement, _heiganAchievement, _heiganEruption, _horsemanAchievement, _horsemanLoaded, _loathebAchievement, _patchwerkRoomTrash, _sapphironAchievement, _thaddiusAchievement, creatureData, DataHeader, doorData, gameObjectData, 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
185 {
186 if (!go || state != DONE)
187 return;
188
191 }
@ GO_STATE_ACTIVE
Definition GameObjectData.h:689
@ DONE
Definition InstanceScript.h:61
@ GO_FLAG_NOT_SELECTABLE
Definition SharedDefines.h:1607
void SetGoState(GOState state)
Definition GameObject.cpp:2462
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
194 {
197 }
void RescheduleEvent(uint32 eventId, uint32 time, uint32 groupId=0, uint32 phase=0)
Definition EventMap.cpp:81
GameObject * GetGameObject(uint32 type)
Definition InstanceScript.cpp:120
void ActivateWingPortal(GameObject *go, EncounterState state)
Definition instance_naxxramas.cpp:184
@ EVENT_KELTHUZAD_WING_TAUNT
Definition naxxramas.h:276

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.

331 {
332 switch (criteria_id)
333 {
348 return _loathebAchievement;
351 return _heiganAchievement;
397 for (int i = 0; i < MAX_ENCOUNTERS; ++i)
398 if (GetBossState(i) != DONE)
399 return false;
400
402 default:
403 return false;
404 }
405 }
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:1927
static constexpr uint8 TheDedicatedFew25PlayerReq
Definition naxxramas.h:313
@ ACHIEV_CRITERIA_THE_UNDYING_THE_FOUR_HORSEMEN
Definition naxxramas.h:243
@ ACHIEV_CRITERIA_SUBTRACTION_25_PLAYER
Definition naxxramas.h:207
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GROBBULUS_25_PLAYER
Definition naxxramas.h:231
@ ACHIEV_CRITERIA_THE_IMMORTAL_MAEXXNA
Definition naxxramas.h:250
@ ACHIEV_CRITERIA_THE_UNDYING_THADDIUS
Definition naxxramas.h:246
@ ACHIEV_CRITERIA_THE_SAFETY_DANCE_10_PLAYER
Definition naxxramas.h:203
@ ACHIEV_CRITERIA_SPORE_LOSER_25_PLAYER
Definition naxxramas.h:201
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GLUTH_25_PLAYER
Definition naxxramas.h:232
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_THADDIUS_25_PLAYER
Definition naxxramas.h:233
@ ACHIEV_CRITERIA_THE_UNDYING_KELTHUZAD
Definition naxxramas.h:242
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_ANUB_25_PLAYER
Definition naxxramas.h:227
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GROBBULUS_10_PLAYER
Definition naxxramas.h:216
@ ACHIEV_CRITERIA_THE_UNDYING_LOATHEB
Definition naxxramas.h:245
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GOTHIK_10_PLAYER
Definition naxxramas.h:223
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_LOATHEB_10_PLAYER
Definition naxxramas.h:221
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_KELTHUZAD_10_PLAYER
Definition naxxramas.h:225
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_SAPPHIRON_25_PLAYER
Definition naxxramas.h:239
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GLUTH_10_PLAYER
Definition naxxramas.h:217
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_KELTHUZAD_25_PLAYER
Definition naxxramas.h:240
@ ACHIEV_CRITERIA_THE_HUNDRED_CLUB_10_PLAYER
Definition naxxramas.h:209
@ ACHIEV_CRITERIA_JUST_CANT_GET_ENOUGH_10_PLAYER
Definition naxxramas.h:191
@ ACHIEV_CRITERIA_THE_UNDYING_MAEXXNA
Definition naxxramas.h:244
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_HEIGAN_25_PLAYER
Definition naxxramas.h:235
@ ACHIEV_CRITERIA_THE_IMMORTAL_THE_FOUR_HORSEMEN
Definition naxxramas.h:249
@ ACHIEV_CRITERIA_SUBTRACTION_10_PLAYER
Definition naxxramas.h:206
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_NOTH_10_PLAYER
Definition naxxramas.h:219
@ ACHIEV_CRITERIA_MOMMA_SAID_KNOCK_YOU_OUT_10_PLAYER
Definition naxxramas.h:194
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_MAEXXNA_10_PLAYER
Definition naxxramas.h:214
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_GOTHIK_25_PLAYER
Definition naxxramas.h:238
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_FAERLINA_10_PLAYER
Definition naxxramas.h:213
@ ACHIEV_CRITERIA_SHOKING_25_PLAYER
Definition naxxramas.h:198
@ ACHIEV_CRITERIA_SHOKING_10_PLAYER
Definition naxxramas.h:197
@ ACHIEV_CRITERIA_SPORE_LOSER_10_PLAYER
Definition naxxramas.h:200
@ ACHIEV_CRITERIA_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER_25_PLAYER
Definition naxxramas.h:189
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_THADDIUS_10_PLAYER
Definition naxxramas.h:218
@ ACHIEV_CRITERIA_MOMMA_SAID_KNOCK_YOU_OUT_25_PLAYER
Definition naxxramas.h:195
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_NOTH_25_PLAYER
Definition naxxramas.h:234
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_ANUB_10_PLAYER
Definition naxxramas.h:212
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_PATCHWERK_25_PLAYER
Definition naxxramas.h:230
@ ACHIEV_CRITERIA_THE_HUNDRED_CLUB_25_PLAYER
Definition naxxramas.h:210
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_RAZUVIOUS_10_PLAYER
Definition naxxramas.h:222
@ ACHIEV_CRITERIA_THE_IMMORTAL_LOATHEB
Definition naxxramas.h:251
@ ACHIEV_CRITERIA_JUST_CANT_GET_ENOUGH_25_PLAYER
Definition naxxramas.h:192
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_RAZUVIOUS_25_PLAYER
Definition naxxramas.h:237
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_MAEXXNA_25_PLAYER
Definition naxxramas.h:229
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_SAPPHIRON_10_PLAYER
Definition naxxramas.h:224
@ ACHIEV_CRITERIA_THE_IMMORTAL_THADDIUS
Definition naxxramas.h:252
@ ACHIEV_CRITERIA_THE_IMMORTAL_KELTHUZAD
Definition naxxramas.h:248
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_LOATHEB_25_PLAYER
Definition naxxramas.h:236
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_FAERLINA_25_PLAYER
Definition naxxramas.h:228
@ ACHIEV_CRITERIA_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER_10_PLAYER
Definition naxxramas.h:188
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_PATCHWERK_10_PLAYER
Definition naxxramas.h:215
@ ACHIEV_CRITERIA_THE_SAFETY_DANCE_25_PLAYER
Definition naxxramas.h:204
@ ACHIEV_CRITERIA_THE_DEDICATED_FEW_HEIGAN_10_PLAYER
Definition naxxramas.h:220
@ PERSISTENT_DATA_IMMORTAL_FAIL
Definition naxxramas.h:88
static constexpr uint8 AbominationKillCountReq
Definition naxxramas.h:311
static constexpr uint8 TheDedicatedFew10PlayerReq
Definition naxxramas.h:312

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
173 {
174 if (Creature* creature = GetCreature(dataCreature))
175 creature->AI()->Talk(dialog);
176 }
Definition Creature.h:43
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
200 {
201 y -= HeiganPos[1];
202 if (y < 1.0f)
203 return 0;
204
205 x -= HeiganPos[0];
206 if (x > -1.0f)
207 return 3;
208
209 float slope = y / x;
210 for (uint32 i = 0; i < 3; ++i)
211 if (slope > HeiganEruptionSlope[i])
212 return i;
213
214 return 3;
215 }
std::uint32_t uint32
Definition Define.h:107
static const float HeiganPos[2]
Definition instance_naxxramas.cpp:43
static const float HeiganEruptionSlope[3]
Definition instance_naxxramas.cpp:48

References HeiganEruptionSlope, and HeiganPos.

Referenced by OnGameObjectCreate(), and OnGameObjectRemove().

◆ HeiganEruptSections()

void instance_naxxramas::HeiganEruptSections ( uint32  section)
inline
218 {
219 for (uint8 i = 0; i < HeiganEruptSectionCount; ++i)
220 {
221 if (i == section)
222 continue;
223
224 for (GameObject* go : _heiganEruption[i])
225 {
226 go->SendCustomAnim(go->GetGoAnimProgress());
227 go->CastSpell(nullptr, SPELL_ERUPTION);
228 }
229 }
230 }
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:309

References _heiganEruption, HeiganEruptSectionCount, and SPELL_ERUPTION.

Referenced by SetData().

◆ OnCreatureCreate()

void instance_naxxramas::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from ZoneScript.

240 {
241 switch (creature->GetEntry())
242 {
247 _patchwerkRoomTrash.push_back(creature->GetGUID());
248 return;
249 case NPC_BILE_RETCHER:
251 if (creature->GetPositionY() > -3258.0f) // we want only those inside the room, not before
252 _patchwerkRoomTrash.push_back(creature->GetGUID());
253 return;
255 case NPC_SIR_ZELIEK:
260 break;
261 default:
262 break;
263 }
264
266 }
void OnCreatureCreate(Creature *creature) override
Definition InstanceScript.cpp:70
uint32 GetEntry() const
Definition Object.h:115
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:112
bool SetBossState(uint32 bossId, EncounterState state) override
Definition instance_naxxramas.cpp:437
@ NPC_LADY_BLAUMEUX
Definition naxxramas.h:175
@ NPC_MAD_SCIENTIST
Definition naxxramas.h:154
@ NPC_SLUDGE_BELCHER
Definition naxxramas.h:157
@ NPC_BILE_RETCHER
Definition naxxramas.h:153
@ NPC_SURGICAL_ASSIST
Definition naxxramas.h:156
@ NPC_THANE_KORTHAZZ
Definition naxxramas.h:176
@ NPC_PATCHWORK_GOLEM
Definition naxxramas.h:152
@ NPC_LIVING_MONSTROSITY
Definition naxxramas.h:155
@ NPC_SIR_ZELIEK
Definition naxxramas.h:174
@ BOSS_HORSEMAN
Definition naxxramas.h:39
static constexpr uint8 HorsemanCount
Definition naxxramas.h:310
@ 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.

269 {
270 switch (go->GetGOInfo()->displayId)
271 {
275 break;
276 default:
277 break;
278 }
279
280 switch (go->GetEntry())
281 {
285 break;
288 break;
291 break;
294 break;
297 break;
298 default:
299 break;
300 }
301
303 }
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:199
@ GO_DISPLAY_ID_HEIGAN_ERUPTION1
Definition naxxramas.h:144
@ GO_DISPLAY_ID_HEIGAN_ERUPTION2
Definition naxxramas.h:145
@ GO_MAEXXNA_PORTAL
Definition naxxramas.h:126
@ GO_LOATHEB_PORTAL
Definition naxxramas.h:124
@ GO_SAPPHIRON_GATE
Definition naxxramas.h:111
@ GO_THADDIUS_PORTAL
Definition naxxramas.h:125
@ GO_HORSEMAN_PORTAL
Definition naxxramas.h:127
@ 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.

306 {
307 switch (go->GetGOInfo()->displayId)
308 {
312 break;
313 default:
314 break;
315 }
316
317 switch (go->GetEntry())
318 {
321 cr->AI()->DoAction(ACTION_SAPPHIRON_BIRTH);
322 break;
323 default:
324 break;
325 }
326
328 }
void OnGameObjectRemove(GameObject *go) override
Definition InstanceScript.cpp:92
@ ACTION_SAPPHIRON_BIRTH
Definition naxxramas.h:302
@ GO_SAPPHIRON_BIRTH
Definition naxxramas.h:116
@ DATA_SAPPHIRON_BOSS
Definition naxxramas.h:57

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.

233 {
235
237 }
void ScheduleEvent(uint32 eventId, uint32 time, uint32 group=0, uint32 phase=0)
Definition EventMap.cpp:56
virtual void OnPlayerEnter(Player *)
Definition InstanceScript.cpp:58
@ EVENT_THADDIUS_SCREAMS
Definition naxxramas.h:274

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

◆ SetBossState()

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

Reimplemented from InstanceScript.

438 {
439 switch (bossId)
440 {
441 case BOSS_PATCHWERK:
442 {
443 if (state != IN_PROGRESS)
444 break;
445
446 // pull all the trash if not killed
447 if (Creature* patchwerk = GetCreature(DATA_PATCHWERK_BOSS))
448 {
449 for (auto& itr : _patchwerkRoomTrash)
450 {
451 Creature* trash = ObjectAccessor::GetCreature(*patchwerk, itr);
452 if (trash && trash->IsAlive() && !trash->IsInCombat())
453 trash->AI()->AttackStart(patchwerk->GetVictim());
454 }
455 }
456
457 break;
458 }
459 case BOSS_HEIGAN:
460 {
461 if (state == NOT_STARTED)
462 _heiganAchievement = true;
463
464 break;
465 }
466 case BOSS_LOATHEB:
467 {
468 switch (state)
469 {
470 case NOT_STARTED:
471 _loathebAchievement = true;
472 break;
473 case DONE:
475 break;
476 default:
477 break;
478 }
479
480 break;
481 }
482 case BOSS_FAERLINA:
483 {
484 if (state == NOT_STARTED)
486
487 break;
488 }
489 case BOSS_MAEXXNA:
490 {
491 if (state == DONE)
493
494 break;
495 }
496 case BOSS_THADDIUS:
497 {
498 switch (state)
499 {
500 case NOT_STARTED:
502 break;
503 case DONE:
505 break;
506 default:
507 break;
508 }
509
510 break;
511 }
512 case BOSS_HORSEMAN:
513 {
514 uint32 horsemanKilled = std::count_if(HorsemanDataGroup.begin(), HorsemanDataGroup.end(), [this](auto&& entry)
515 {
516 Creature* cr = GetCreature(entry);
517 return cr && !cr->IsAlive();
518 });
519
520 switch (state)
521 {
522 case NOT_STARTED:
523 {
525
526 if (!horsemanKilled)
527 break;
528
529 for (auto&& entry : HorsemanDataGroup)
530 {
531 if (Creature* cr = GetCreature(entry))
532 {
533 cr->SetPosition(cr->GetHomePosition());
534 cr->Respawn();
535 }
536 }
537
538 break;
539 }
540 case IN_PROGRESS:
541 {
542 for (auto&& entry : HorsemanDataGroup)
543 if (Creature* cr = GetCreature(entry))
544 cr->SetInCombatWithZone();
545
546 break;
547 }
548 case DONE:
549 {
551
552 if (horsemanKilled != HorsemanCount)
553 return false;
554
555 // all horsemans are killed
557 cr->CastSpell(cr, SPELL_THE_FOUR_HORSEMAN_CREDIT, true);
558
560 break;
561 }
562 default:
563 break;
564 }
565
566 break;
567 }
568 case BOSS_SAPPHIRON:
569 {
570 switch (state)
571 {
572 case NOT_STARTED:
574 break;
575 case DONE:
576 {
578 break;
579
583 break;
584 }
585 default:
586 break;
587 }
588
589 break;
590 }
591 case BOSS_KELTHUZAD:
592 {
593 if (state == NOT_STARTED)
595
596 break;
597 }
598 default:
599 break;
600 }
601
602 return InstanceScript::SetBossState(bossId, state);
603 }
@ GO_STATE_READY
Definition GameObjectData.h:690
@ IN_PROGRESS
Definition InstanceScript.h:59
@ NOT_STARTED
Definition InstanceScript.h:58
CreatureAI * AI() const
Definition Creature.h:141
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:1707
bool IsInCombat() const
Definition Unit.h:893
void SetGoState(uint32 dataGameObject, GOState state)
Definition instance_naxxramas.cpp:178
static constexpr std::array< uint32, HorsemanCount > HorsemanDataGroup
Definition instance_naxxramas.cpp:55
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition ObjectAccessor.cpp:210
@ SPELL_THE_FOUR_HORSEMAN_CREDIT
Definition naxxramas.h:300
@ EVENT_AND_THEY_WOULD_ALL_GO_DOWN_TOGETHER
Definition naxxramas.h:275
@ EVENT_FROSTWYRM_WATERFALL_DOOR
Definition naxxramas.h:287
@ DATA_LOATHEB_PORTAL
Definition naxxramas.h:61
@ DATA_MAEXXNA_PORTAL
Definition naxxramas.h:62
@ DATA_BARON_RIVENDARE_BOSS
Definition naxxramas.h:53
@ DATA_HORSEMAN_PORTAL
Definition naxxramas.h:64
@ DATA_KELTHUZAD_GATE
Definition naxxramas.h:67
@ DATA_THADDIUS_PORTAL
Definition naxxramas.h:63
@ DATA_PATCHWERK_BOSS
Definition naxxramas.h:47
@ PERSISTENT_DATA_KELTHUZAD_DIALOG
Definition naxxramas.h:87
@ 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.

408 {
409 switch (id)
410 {
413 return;
415 _faerlinaAchievement = false;
416 return;
418 _thaddiusAchievement = false;
419 return;
421 _loathebAchievement = false;
422 return;
424 _sapphironAchievement = false;
425 return;
426 case DATA_DANCE_FAIL:
427 _heiganAchievement = false;
428 return;
431 return;
432 default:
433 return;
434 }
435 }
void HeiganEruptSections(uint32 section)
Definition instance_naxxramas.cpp:217
@ DATA_HUNDRED_CLUB
Definition naxxramas.h:80
@ DATA_FRENZY_REMOVED
Definition naxxramas.h:77
@ DATA_CHARGES_CROSSED
Definition naxxramas.h:79
@ DATA_DANCE_FAIL
Definition naxxramas.h:75
@ DATA_ABOMINATION_KILLED
Definition naxxramas.h:81
@ DATA_SPORE_KILLED
Definition naxxramas.h:76
@ DATA_HEIGAN_ERUPTION
Definition naxxramas.h:74

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
179 {
180 if (GameObject* go = GetGameObject(dataGameObject))
181 go->SetGoState(state);
182 }

References InstanceScript::GetGameObject().

Referenced by SetBossState(), and Update().

◆ Update()

void instance_naxxramas::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

606 {
607 _events.Update(diff);
608
609 switch (_events.ExecuteEvent())
610 {
612 {
614 break;
615
617 return _events.ScheduleEvent(EVENT_THADDIUS_SCREAMS, 2min, 2min + 30s);
618 }
620 _horsemanAchievement = false;
621 break;
668 default:
669 break;
670 }
671 }
uint32 urand(uint32 min, uint32 max)
Definition Random.cpp:44
uint32 ExecuteEvent()
Definition EventMap.cpp:114
void Update(uint32 time)
Definition EventMap.h:54
void PlayDirectSoundToMap(uint32 soundId, uint32 zoneId=0)
Definition Map.cpp:2928
void CreatureTalk(uint32 dataCreature, uint8 dialog)
Definition instance_naxxramas.cpp:172
@ SOUND_SCREAM
Definition naxxramas.h:305
@ EVENT_HORSEMEN_INTRO3
Definition naxxramas.h:280
@ EVENT_KELTHUZAD_LICH_KING_TALK5
Definition naxxramas.h:292
@ EVENT_KELTHUZAD_LICH_KING_TALK4
Definition naxxramas.h:291
@ EVENT_HORSEMEN_INTRO2
Definition naxxramas.h:279
@ EVENT_HORSEMEN_INTRO7
Definition naxxramas.h:284
@ EVENT_HORSEMEN_INTRO6
Definition naxxramas.h:283
@ EVENT_KELTHUZAD_LICH_KING_TALK6
Definition naxxramas.h:293
@ EVENT_KELTHUZAD_LICH_KING_TALK3
Definition naxxramas.h:290
@ EVENT_HORSEMEN_INTRO1
Definition naxxramas.h:278
@ EVENT_KELTHUZAD_LICH_KING_TALK1
Definition naxxramas.h:288
@ EVENT_HORSEMEN_INTRO5
Definition naxxramas.h:282
@ EVENT_HORSEMEN_INTRO4
Definition naxxramas.h:281
@ EVENT_HORSEMEN_INTRO8
Definition naxxramas.h:285
@ EVENT_KELTHUZAD_LICH_KING_TALK2
Definition naxxramas.h:289
@ DATA_THANE_KORTHAZZ_BOSS
Definition naxxramas.h:56
@ DATA_SIR_ZELIEK_BOSS
Definition naxxramas.h:54
@ DATA_LADY_BLAUMEUX_BOSS
Definition naxxramas.h:55
@ DATA_LICH_KING_BOSS
Definition naxxramas.h:59
@ DATA_KELTHUZAD_BOSS
Definition naxxramas.h:58
@ DATA_SAPPHIRON_GATE
Definition naxxramas.h:66
@ SAY_SAPP_DIALOG4_LICH
Definition naxxramas.h:263
@ SAY_HORSEMEN_DIALOG2
Definition naxxramas.h:258
@ SAY_SAPP_DIALOG6
Definition naxxramas.h:265
@ SAY_SAPP_DIALOG2_LICH
Definition naxxramas.h:261
@ SAY_SAPP_DIALOG1
Definition naxxramas.h:260
@ SAY_HORSEMEN_DIALOG1
Definition naxxramas.h:257
@ SAY_SAPP_DIALOG5
Definition naxxramas.h:264
@ SAY_SAPP_DIALOG3
Definition naxxramas.h:262

References _currentWingTaunt, _events, _horsemanAchievement, 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

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