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

Public Member Functions

 instance_naxxramas_InstanceMapScript (Map *pMap)
 
void HeiganEruptSections (uint32 section)
 
bool IsEncounterInProgress () const override
 
void OnCreatureCreate (Creature *creature) override
 
void OnGameObjectCreate (GameObject *pGo) override
 
void OnGameObjectRemove (GameObject *pGo) override
 
bool CheckAchievementCriteriaMeet (uint32 criteria_id, Player const *, Unit const *, uint32) override
 
void SetData (uint32 id, uint32 data) override
 
uint32 GetData (uint32 id) const override
 
bool SetBossState (uint32 bossId, EncounterState state) override
 
void Update (uint32 diff) override
 
ObjectGuid GetGuidData (uint32 id) const override
 
void ReadSaveDataMore (std::istringstream &data) override
 
void WriteSaveDataMore (std::ostringstream &data) 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 void Update (uint32)
 
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 OnPlayerEnter (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 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 ()
 
virtual bool SetBossState (uint32 id, EncounterState state)
 
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 CheckAchievementCriteriaMeet (uint32, Player const *, Unit const *=nullptr, uint32=0)
 
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 (WorldPacket &)
 
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
 
- 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 OnCreatureCreate (Creature *)
 
virtual void OnCreatureRemove (Creature *)
 
virtual void OnGameObjectCreate (GameObject *)
 
virtual void OnGameObjectRemove (GameObject *)
 
virtual void OnUnitDeath (Unit *)
 
virtual void OnCreatureEvade (Creature *)
 
virtual ObjectGuid GetGuidData (uint32) const
 
virtual void SetGuidData (uint32, ObjectGuid)
 
virtual uint64 GetData64 (uint32) const
 
virtual void SetData64 (uint32, uint64)
 
virtual uint32 GetData (uint32) const
 
virtual void SetData (uint32, uint32)
 
virtual void ProcessEvent (WorldObject *, uint32)
 

Public Attributes

std::set< GameObject * > HeiganEruption [4]
 
ObjectGuid _patchwerkGateGUID
 
ObjectGuid _gluthGateGUID
 
ObjectGuid _nothEntryGateGUID
 
ObjectGuid _nothExitGateGUID
 
ObjectGuid _heiganGateGUID
 
ObjectGuid _heiganGateExitGUID
 
ObjectGuid _loathebGateGUID
 
ObjectGuid _anubGateGUID
 
ObjectGuid _anubNextGateGUID
 
ObjectGuid _faerlinaWebGUID
 
ObjectGuid _faerlinaGateGUID
 
ObjectGuid _maexxnaGateGUID
 
ObjectGuid _thaddiusGateGUID
 
ObjectGuid _gothikEnterGateGUID
 
ObjectGuid _gothikInnerGateGUID
 
ObjectGuid _gothikExitGateGUID {}
 
ObjectGuid _horsemanGateGUID
 
ObjectGuid _kelthuzadFloorGUID
 
ObjectGuid _kelthuzadGateGUID
 
ObjectGuid _kelthuzadPortal1GUID
 
ObjectGuid _kelthuzadPortal2GUID
 
ObjectGuid _kelthuzadPortal3GUID
 
ObjectGuid _kelthuzadPortal4GUID
 
ObjectGuid _sapphironGateGUID
 
ObjectGuid _horsemanPortalGUID
 
ObjectGuid _loathebPortalGUID
 
ObjectGuid _maexxnaPortalGUID
 
ObjectGuid _thaddiusPortalGUID
 
ObjectGuid _deathknightEyePortalGUID
 
ObjectGuid _plagueEyePortalGUID
 
ObjectGuid _spiderEyePortalGUID
 
ObjectGuid _abomEyePortalGUID
 
ObjectGuid _deathknightGlowEyePortalGUID
 
ObjectGuid _plagueGlowEyePortalGUID
 
ObjectGuid _spiderGlowEyePortalGUID
 
ObjectGuid _abomGlowEyePortalGUID
 
GuidList PatchwerkRoomTrash
 
ObjectGuid _patchwerkGUID
 
ObjectGuid _thaddiusGUID
 
ObjectGuid _gothikGUID
 
ObjectGuid _stalaggGUID
 
ObjectGuid _feugenGUID
 
ObjectGuid _zeliekGUID
 
ObjectGuid _rivendareGUID
 
ObjectGuid _blaumeuxGUID
 
ObjectGuid _korthazzGUID
 
ObjectGuid _sapphironGUID
 
ObjectGuid _kelthuzadGUID
 
ObjectGuid _lichkingGUID
 
uint8 _horsemanKilled
 
uint32 _speakTimer
 
uint32 _horsemanTimer
 
uint32 _screamTimer
 
bool _hadThaddiusGreet
 
EventMap events
 
uint8 _currentWingTaunt
 
bool _horsemanLoadDoneState
 
uint8 abominationsKilled
 
bool faerlinaAchievement
 
bool thaddiusAchievement
 
bool loathebAchievement
 
bool sapphironAchievement
 
bool heiganAchievement
 
uint32 immortalAchievement
 
- Public Attributes inherited from InstanceScript
Mapinstance
 
TaskScheduler scheduler
 

Additional Inherited Members

- Static Public Member Functions inherited from InstanceScript
static std::string GetBossStateName (uint8 state)
 
- 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 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_InstanceMapScript()

instance_naxxramas::instance_naxxramas_InstanceMapScript::instance_naxxramas_InstanceMapScript ( Map pMap)
inlineexplicit
78 : InstanceScript(pMap)
79 {
83 for (auto& i : HeiganEruption)
84 i.clear();
85
86 // NPCs
87 PatchwerkRoomTrash.clear();
88
89 // Controls
91 _speakTimer = 0;
94 _hadThaddiusGreet = false;
97
98 // Achievements
100 faerlinaAchievement = true;
101 thaddiusAchievement = true;
102 loathebAchievement = true;
104 heiganAchievement = true;
106 }
constexpr auto IN_MILLISECONDS
Definition: Common.h:53
constexpr auto MINUTE
Definition: Common.h:47
@ SAY_FIRST_WING_TAUNT
Definition: naxxramas.h:194
ObjectData const gameObjectData[]
Definition: instance_naxxramas.cpp:61
ObjectData const creatureData[]
Definition: instance_naxxramas.cpp:55
#define DataHeader
Definition: blackrock_depths.h:23
@ MAX_ENCOUNTERS
Definition: deadmines.h:30
Definition: InstanceScript.h:142
void SetBossNumber(uint32 number)
Definition: InstanceScript.h:285
void SetHeaders(std::string const &dataHeaders)
Definition: InstanceScript.cpp:138
void LoadObjectData(ObjectData const *creatureData, ObjectData const *gameObjectData)
Definition: InstanceScript.cpp:173
uint8 _currentWingTaunt
Definition: instance_naxxramas.cpp:170
GuidList PatchwerkRoomTrash
Definition: instance_naxxramas.cpp:149
uint32 _horsemanTimer
Definition: instance_naxxramas.cpp:166
std::set< GameObject * > HeiganEruption[4]
Definition: instance_naxxramas.cpp:108
bool _hadThaddiusGreet
Definition: instance_naxxramas.cpp:168
bool _horsemanLoadDoneState
Definition: instance_naxxramas.cpp:171
bool sapphironAchievement
Definition: instance_naxxramas.cpp:178
bool loathebAchievement
Definition: instance_naxxramas.cpp:177
uint32 _speakTimer
Definition: instance_naxxramas.cpp:165
bool thaddiusAchievement
Definition: instance_naxxramas.cpp:176
uint32 _screamTimer
Definition: instance_naxxramas.cpp:167
bool faerlinaAchievement
Definition: instance_naxxramas.cpp:175
uint8 _horsemanKilled
Definition: instance_naxxramas.cpp:164
uint32 immortalAchievement
Definition: instance_naxxramas.cpp:180
uint8 abominationsKilled
Definition: instance_naxxramas.cpp:174
bool heiganAchievement
Definition: instance_naxxramas.cpp:179

References _currentWingTaunt, _hadThaddiusGreet, _horsemanKilled, _horsemanLoadDoneState, _horsemanTimer, _screamTimer, _speakTimer, abominationsKilled, creatureData, DataHeader, faerlinaAchievement, gameObjectData, heiganAchievement, HeiganEruption, immortalAchievement, IN_MILLISECONDS, InstanceScript::LoadObjectData(), loathebAchievement, MAX_ENCOUNTERS, MINUTE, PatchwerkRoomTrash, sapphironAchievement, SAY_FIRST_WING_TAUNT, InstanceScript::SetBossNumber(), InstanceScript::SetHeaders(), and thaddiusAchievement.

Member Function Documentation

◆ CheckAchievementCriteriaMeet()

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

Reimplemented from InstanceScript.

537 {
538 switch (criteria_id)
539 {
540 case 7600: // And They Would All Go Down Together (10 player)
541 case 7601: // And They Would All Go Down Together (25 player)
542 return (_horsemanTimer < 15 * IN_MILLISECONDS);
543 case 7614: // Just Can't Get Enough (10 player)
544 case 7615: // Just Can't Get Enough (25 player)
545 return abominationsKilled >= 18;
546 case 7265: // Momma Said Knock You Out (10 player)
547 case 7549: // Momma Said Knock You Out (25 player)
548 return faerlinaAchievement;
549 case 7604: // Shocking! (10 player)
550 case 7605: // Shocking! (25 player)
551 return thaddiusAchievement;
552 case 7612: // Spore Loser (10 player)
553 case 7613: // Spore Loser (25 player)
554 return loathebAchievement;
555 case 7264: // The Safety Dance (10 player)
556 case 7548: // The Safety Dance (25 player)
557 return heiganAchievement;
558 case 7608: // Subtraction (10 player)
559 // The Dedicated few (10 player)
560 case 6802:
561 case 7146:
562 case 7147:
563 case 7148:
564 case 7149:
565 case 7150:
566 case 7151:
567 case 7152:
568 case 7153:
569 case 7154:
570 case 7155:
571 case 7156:
572 case 7157:
573 case 7158:
574 return (instance->GetPlayersCountExceptGMs() < 9);
575 case 7609: // Subtraction (25 player)
576 // The Dedicated few (25 player)
577 case 7159:
578 case 7160:
579 case 7161:
580 case 7162:
581 case 7163:
582 case 7164:
583 case 7165:
584 case 7166:
585 case 7167:
586 case 7168:
587 case 7169:
588 case 7170:
589 case 7171:
590 case 7172:
591 return (instance->GetPlayersCountExceptGMs() < 21);
592 case 7567: // The Hundred Club (10 player)
593 case 7568: // The Hundred Club (25 player)
595 // The Undying
596 case 7617:
597 case 13237:
598 case 13238:
599 case 13239:
600 case 13240:
601 // The Immortal
602 case 7616:
603 case 13233:
604 case 13234:
605 case 13235:
606 case 13236:
607 {
608 uint8 count = 0;
609 for (uint8 i = 0; i < MAX_ENCOUNTERS; ++i)
610 {
611 if (GetBossState(i) == NOT_STARTED)
612 ++count;
613 }
614 return !count && immortalAchievement;
615 }
616
617 default:
618 return false;
619 }
620 }
std::uint8_t uint8
Definition: Define.h:109
@ NOT_STARTED
Definition: InstanceScript.h:57
Map * instance
Definition: InstanceScript.h:148
EncounterState GetBossState(uint32 id) const
Definition: InstanceScript.h:235
uint32 GetPlayersCountExceptGMs() const
Definition: Map.cpp:2745

References _horsemanTimer, abominationsKilled, faerlinaAchievement, InstanceScript::GetBossState(), Map::GetPlayersCountExceptGMs(), heiganAchievement, immortalAchievement, IN_MILLISECONDS, InstanceScript::instance, loathebAchievement, MAX_ENCOUNTERS, NOT_STARTED, sapphironAchievement, and thaddiusAchievement.

◆ GetData()

uint32 instance_naxxramas::instance_naxxramas_InstanceMapScript::GetData ( uint32  id) const
inlineoverridevirtual

Reimplemented from ZoneScript.

659 {
661 return 1;
662
663 return 0;
664 }
@ DATA_HAD_THADDIUS_GREET
Definition: naxxramas.h:76

References _hadThaddiusGreet, and DATA_HAD_THADDIUS_GREET.

◆ GetGuidData()

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::GetGuidData ( uint32  id) const
inlineoverridevirtual

Reimplemented from InstanceScript.

1069 {
1070 switch (id)
1071 {
1072 // GameObjects
1074 return _heiganGateGUID;
1075 case DATA_LOATHEB_GATE:
1076 return _loathebGateGUID;
1077 case DATA_ANUB_GATE:
1078 return _anubGateGUID;
1079 case DATA_FAERLINA_WEB:
1080 return _faerlinaWebGUID;
1081 case DATA_MAEXXNA_GATE:
1082 return _maexxnaGateGUID;
1084 return _gothikEnterGateGUID;
1086 return _gothikInnerGateGUID;
1088 return _gothikExitGateGUID;
1089 case DATA_HORSEMEN_GATE:
1090 return _horsemanGateGUID;
1091 case DATA_THADDIUS_GATE:
1092 return _thaddiusGateGUID;
1094 return _nothEntryGateGUID;
1096 return _kelthuzadFloorGUID;
1098 return _kelthuzadGateGUID;
1100 return _kelthuzadPortal1GUID;
1102 return _kelthuzadPortal2GUID;
1104 return _kelthuzadPortal3GUID;
1106 return _kelthuzadPortal4GUID;
1107
1108 // NPCs
1109 case DATA_THADDIUS_BOSS:
1110 return _thaddiusGUID;
1111 case DATA_STALAGG_BOSS:
1112 return _stalaggGUID;
1113 case DATA_FEUGEN_BOSS:
1114 return _feugenGUID;
1115 case DATA_GOTHIK_BOSS:
1116 return _gothikGUID;
1118 return _lichkingGUID;
1119 default:
1120 break;
1121 }
1122
1123 return ObjectGuid::Empty;
1124 }
@ DATA_GOTHIK_INNER_GATE
Definition: naxxramas.h:63
@ DATA_HEIGAN_ENTER_GATE
Definition: naxxramas.h:51
@ DATA_GOTHIK_BOSS
Definition: naxxramas.h:61
@ DATA_KELTHUZAD_FLOOR
Definition: naxxramas.h:67
@ DATA_NOTH_ENTRY_GATE
Definition: naxxramas.h:49
@ DATA_KELTHUZAD_GATE
Definition: naxxramas.h:75
@ DATA_ANUB_GATE
Definition: naxxramas.h:53
@ DATA_GOTHIK_ENTER_GATE
Definition: naxxramas.h:62
@ DATA_LICH_KING_BOSS
Definition: naxxramas.h:66
@ DATA_KELTHUZAD_PORTAL_3
Definition: naxxramas.h:79
@ DATA_LOATHEB_GATE
Definition: naxxramas.h:52
@ DATA_KELTHUZAD_PORTAL_2
Definition: naxxramas.h:78
@ DATA_GOTHIK_EXIT_GATE
Definition: naxxramas.h:64
@ DATA_KELTHUZAD_PORTAL_1
Definition: naxxramas.h:77
@ DATA_HORSEMEN_GATE
Definition: naxxramas.h:65
@ DATA_THADDIUS_GATE
Definition: naxxramas.h:59
@ DATA_MAEXXNA_GATE
Definition: naxxramas.h:55
@ DATA_KELTHUZAD_PORTAL_4
Definition: naxxramas.h:80
@ DATA_FAERLINA_WEB
Definition: naxxramas.h:54
@ DATA_THADDIUS_BOSS
Definition: naxxramas.h:56
@ DATA_STALAGG_BOSS
Definition: naxxramas.h:57
@ DATA_FEUGEN_BOSS
Definition: naxxramas.h:58
static ObjectGuid const Empty
Definition: ObjectGuid.h:120
ObjectGuid _anubGateGUID
Definition: instance_naxxramas.cpp:118
ObjectGuid _kelthuzadPortal1GUID
Definition: instance_naxxramas.cpp:130
ObjectGuid _gothikInnerGateGUID
Definition: instance_naxxramas.cpp:125
ObjectGuid _gothikGUID
Definition: instance_naxxramas.cpp:152
ObjectGuid _maexxnaGateGUID
Definition: instance_naxxramas.cpp:122
ObjectGuid _kelthuzadPortal4GUID
Definition: instance_naxxramas.cpp:133
ObjectGuid _kelthuzadFloorGUID
Definition: instance_naxxramas.cpp:128
ObjectGuid _feugenGUID
Definition: instance_naxxramas.cpp:154
ObjectGuid _gothikEnterGateGUID
Definition: instance_naxxramas.cpp:124
ObjectGuid _loathebGateGUID
Definition: instance_naxxramas.cpp:117
ObjectGuid _kelthuzadPortal3GUID
Definition: instance_naxxramas.cpp:132
ObjectGuid _faerlinaWebGUID
Definition: instance_naxxramas.cpp:120
ObjectGuid _horsemanGateGUID
Definition: instance_naxxramas.cpp:127
ObjectGuid _kelthuzadGateGUID
Definition: instance_naxxramas.cpp:129
ObjectGuid _heiganGateGUID
Definition: instance_naxxramas.cpp:115
ObjectGuid _lichkingGUID
Definition: instance_naxxramas.cpp:161
ObjectGuid _thaddiusGateGUID
Definition: instance_naxxramas.cpp:123
ObjectGuid _gothikExitGateGUID
Definition: instance_naxxramas.cpp:126
ObjectGuid _thaddiusGUID
Definition: instance_naxxramas.cpp:151
ObjectGuid _stalaggGUID
Definition: instance_naxxramas.cpp:153
ObjectGuid _nothEntryGateGUID
Definition: instance_naxxramas.cpp:113
ObjectGuid _kelthuzadPortal2GUID
Definition: instance_naxxramas.cpp:131

References _anubGateGUID, _faerlinaWebGUID, _feugenGUID, _gothikEnterGateGUID, _gothikExitGateGUID, _gothikGUID, _gothikInnerGateGUID, _heiganGateGUID, _horsemanGateGUID, _kelthuzadFloorGUID, _kelthuzadGateGUID, _kelthuzadPortal1GUID, _kelthuzadPortal2GUID, _kelthuzadPortal3GUID, _kelthuzadPortal4GUID, _lichkingGUID, _loathebGateGUID, _maexxnaGateGUID, _nothEntryGateGUID, _stalaggGUID, _thaddiusGateGUID, _thaddiusGUID, DATA_ANUB_GATE, DATA_FAERLINA_WEB, DATA_FEUGEN_BOSS, DATA_GOTHIK_BOSS, DATA_GOTHIK_ENTER_GATE, DATA_GOTHIK_EXIT_GATE, DATA_GOTHIK_INNER_GATE, DATA_HEIGAN_ENTER_GATE, DATA_HORSEMEN_GATE, DATA_KELTHUZAD_FLOOR, DATA_KELTHUZAD_GATE, DATA_KELTHUZAD_PORTAL_1, DATA_KELTHUZAD_PORTAL_2, DATA_KELTHUZAD_PORTAL_3, DATA_KELTHUZAD_PORTAL_4, DATA_LICH_KING_BOSS, DATA_LOATHEB_GATE, DATA_MAEXXNA_GATE, DATA_NOTH_ENTRY_GATE, DATA_STALAGG_BOSS, DATA_THADDIUS_BOSS, DATA_THADDIUS_GATE, and ObjectGuid::Empty.

◆ HeiganEruptSections()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::HeiganEruptSections ( uint32  section)
inline
183 {
184 for (uint8 i = 0; i < 4; ++i)
185 {
186 if (i == section)
187 continue;
188
189 for (auto itr : HeiganEruption[i])
190 {
191 itr->SendCustomAnim(itr->GetGoAnimProgress());
192 itr->CastSpell(nullptr, SPELL_ERUPTION);
193 }
194 }
195 }
@ SPELL_ERUPTION
Definition: boss_garr.cpp:42

References HeiganEruption, and SPELL_ERUPTION.

Referenced by SetData().

◆ IsEncounterInProgress()

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::IsEncounterInProgress ( ) const
inlineoverridevirtual

Reimplemented from InstanceScript.

198 {
199 for (uint8 i = 0; i < MAX_ENCOUNTERS; ++i)
200 {
201 if (GetBossState(i) == IN_PROGRESS)
202 return true;
203 }
204 return false;
205 }
@ IN_PROGRESS
Definition: InstanceScript.h:58

References InstanceScript::GetBossState(), IN_PROGRESS, and MAX_ENCOUNTERS.

◆ OnCreatureCreate()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::OnCreatureCreate ( Creature creature)
inlineoverridevirtual

Reimplemented from InstanceScript.

208 {
209 switch (creature->GetEntry())
210 {
211 case NPC_PATCHWERK:
212 _patchwerkGUID = creature->GetGUID();
213 return;
215 PatchwerkRoomTrash.push_back(creature->GetGUID());
216 return;
217 case NPC_BILE_RETCHER:
218 if (creature->GetPositionY() > -3258.0f) // we want only those inside the room, not before
219 PatchwerkRoomTrash.push_back(creature->GetGUID());
220 return;
222 if (creature->GetPositionY() > -3258.0f) // we want only those inside the room, not before
223 PatchwerkRoomTrash.push_back(creature->GetGUID());
224 return;
226 PatchwerkRoomTrash.push_back(creature->GetGUID());
227 return;
229 PatchwerkRoomTrash.push_back(creature->GetGUID());
230 return;
232 PatchwerkRoomTrash.push_back(creature->GetGUID());
233 return;
234 case NPC_THADDIUS:
235 _thaddiusGUID = creature->GetGUID();
236 return;
237 case NPC_STALAGG:
238 _stalaggGUID = creature->GetGUID();
239 return;
240 case NPC_FEUGEN:
241 _feugenGUID = creature->GetGUID();
242 return;
243 case NPC_GOTHIK:
244 _gothikGUID = creature->GetGUID();
245 return;
247 _blaumeuxGUID = creature->GetGUID();
248 return;
249 case NPC_SIR_ZELIEK:
250 _zeliekGUID = creature->GetGUID();
251 return;
253 _rivendareGUID = creature->GetGUID();
254 return;
256 _korthazzGUID = creature->GetGUID();
257 return;
258 case NPC_SAPPHIRON:
259 _sapphironGUID = creature->GetGUID();
260 return;
261 case NPC_KELTHUZAD:
262 _kelthuzadGUID = creature->GetGUID();
263 return;
264 case NPC_LICH_KING:
265 _lichkingGUID = creature->GetGUID();
266 return;
267 }
268
270 }
@ NPC_FEUGEN
Definition: naxxramas.h:138
@ NPC_THADDIUS
Definition: naxxramas.h:136
@ NPC_GOTHIK
Definition: naxxramas.h:171
@ NPC_LADY_BLAUMEUX
Definition: naxxramas.h:146
@ NPC_MAD_SCIENTIST
Definition: naxxramas.h:165
@ NPC_SLUDGE_BELCHER
Definition: naxxramas.h:168
@ NPC_SAPPHIRON
Definition: naxxramas.h:150
@ NPC_STALAGG
Definition: naxxramas.h:137
@ NPC_PATCHWERK
Definition: naxxramas.h:162
@ NPC_BILE_RETCHER
Definition: naxxramas.h:164
@ NPC_SURGICAL_ASSIST
Definition: naxxramas.h:167
@ NPC_THANE_KORTHAZZ
Definition: naxxramas.h:147
@ NPC_PATCHWORK_GOLEM
Definition: naxxramas.h:163
@ NPC_KELTHUZAD
Definition: naxxramas.h:153
@ NPC_LIVING_MONSTROSITY
Definition: naxxramas.h:166
@ NPC_SIR_ZELIEK
Definition: naxxramas.h:145
@ NPC_LICH_KING
Definition: trial_of_the_crusader.h:143
@ NPC_BARON_RIVENDARE
Definition: stratholme.h:43
uint32 GetEntry() const
Definition: Object.h:112
static ObjectGuid GetGUID(Object const *o)
Definition: Object.h:109
float GetPositionY() const
Definition: Position.h:118
void OnCreatureCreate(Creature *creature) override
Definition: InstanceScript.cpp:58
ObjectGuid _rivendareGUID
Definition: instance_naxxramas.cpp:156
ObjectGuid _sapphironGUID
Definition: instance_naxxramas.cpp:159
ObjectGuid _kelthuzadGUID
Definition: instance_naxxramas.cpp:160
ObjectGuid _blaumeuxGUID
Definition: instance_naxxramas.cpp:157
ObjectGuid _korthazzGUID
Definition: instance_naxxramas.cpp:158
ObjectGuid _patchwerkGUID
Definition: instance_naxxramas.cpp:150
ObjectGuid _zeliekGUID
Definition: instance_naxxramas.cpp:155

References _blaumeuxGUID, _feugenGUID, _gothikGUID, _kelthuzadGUID, _korthazzGUID, _lichkingGUID, _patchwerkGUID, _rivendareGUID, _sapphironGUID, _stalaggGUID, _thaddiusGUID, _zeliekGUID, Object::GetEntry(), Object::GetGUID(), Position::GetPositionY(), NPC_BARON_RIVENDARE, NPC_BILE_RETCHER, NPC_FEUGEN, NPC_GOTHIK, NPC_KELTHUZAD, NPC_LADY_BLAUMEUX, NPC_LICH_KING, NPC_LIVING_MONSTROSITY, NPC_MAD_SCIENTIST, NPC_PATCHWERK, NPC_PATCHWORK_GOLEM, NPC_SAPPHIRON, NPC_SIR_ZELIEK, NPC_SLUDGE_BELCHER, NPC_STALAGG, NPC_SURGICAL_ASSIST, NPC_THADDIUS, NPC_THANE_KORTHAZZ, InstanceScript::OnCreatureCreate(), and PatchwerkRoomTrash.

◆ OnGameObjectCreate()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::OnGameObjectCreate ( GameObject pGo)
inlineoverridevirtual

Reimplemented from InstanceScript.

273 {
274 if (pGo->GetGOInfo()->displayId == 6785 || pGo->GetGOInfo()->displayId == 1287)
275 {
276 HeiganEruption[GetEruptionSection(pGo->GetPositionX(), pGo->GetPositionY())].insert(pGo);
277 return;
278 }
279
280 switch (pGo->GetEntry())
281 {
285 {
287 }
288 break;
289 case GO_GLUTH_GATE:
290 _gluthGateGUID = pGo->GetGUID();
292 {
294 }
295 break;
299 {
301 }
302 break;
304 _nothExitGateGUID = pGo->GetGUID();
306 {
308 }
309 break;
311 _heiganGateGUID = pGo->GetGUID();
313 {
315 }
316 break;
320 {
322 }
323 break;
324 case GO_LOATHEB_GATE:
325 _loathebGateGUID = pGo->GetGUID();
327 {
329 }
330 break;
331 case GO_ANUB_GATE:
332 _anubGateGUID = pGo->GetGUID();
334 {
336 }
337 break;
339 _anubNextGateGUID = pGo->GetGUID();
341 {
343 }
344 break;
345 case GO_FAERLINA_GATE:
346 _faerlinaGateGUID = pGo->GetGUID();
348 {
350 }
351 break;
352 case GO_FAERLINA_WEB:
353 _faerlinaWebGUID = pGo->GetGUID();
355 {
357 }
358 break;
359 case GO_MAEXXNA_GATE:
360 _maexxnaGateGUID = pGo->GetGUID();
362 {
364 }
365 break;
366 case GO_THADDIUS_GATE:
367 _thaddiusGateGUID = pGo->GetGUID();
369 {
371 }
372 break;
375 break;
378 break;
382 {
384 }
385 break;
386 case GO_HORSEMEN_GATE:
387 _horsemanGateGUID = pGo->GetGUID();
389 {
391 }
392 break;
395 break;
399 {
401 }
402 break;
405 break;
408 break;
411 break;
414 break;
418 {
420 }
421 break;
425 {
428 }
429 break;
433 {
436 }
437 break;
441 {
444 }
445 break;
449 {
452 }
453 break;
454
455 // Glow portals at center-side
459 {
461 }
462 break;
466 {
468 }
469 break;
473 {
475 }
476 break;
480 {
482 }
483 break;
484
485 // Glow portals at boss-side
489 {
491 }
492 break;
496 {
498 }
499 break;
503 {
505 }
506 break;
510 {
512 }
513 break;
514 }
515
517 }
@ DONE
Definition: InstanceScript.h:60
@ GO_STATE_ACTIVE
Definition: GameObjectData.h:690
@ GO_HEIGAN_ENTRY_GATE
Definition: naxxramas.h:89
@ GO_MAEXXNA_PORTAL
Definition: naxxramas.h:117
@ GO_GOTHIK_EXIT_GATE
Definition: naxxramas.h:100
@ GO_PATCHWERK_GATE
Definition: naxxramas.h:85
@ GO_THADDIUS_GATE
Definition: naxxramas.h:97
@ GO_LOATHEB_GATE
Definition: naxxramas.h:91
@ GO_HEIGAN_EXIT_GATE
Definition: naxxramas.h:90
@ GO_PLAGUE_EYE_PORTAL
Definition: naxxramas.h:122
@ GO_MAEXXNA_GATE
Definition: naxxramas.h:96
@ GO_KELTHUZAD_FLOOR
Definition: naxxramas.h:108
@ GO_ABOM_EYE_PORTAL
Definition: naxxramas.h:124
@ GO_LOATHEB_PORTAL
Definition: naxxramas.h:115
@ GO_KELTHUZAD_PORTAL_3
Definition: naxxramas.h:112
@ GO_SAPPHIRON_GATE
Definition: naxxramas.h:102
@ GO_SPIDER_EYE_PORTAL
Definition: naxxramas.h:123
@ GO_KELTHUZAD_GATE
Definition: naxxramas.h:109
@ GO_NOTH_ENTRY_GATE
Definition: naxxramas.h:87
@ GO_THADDIUS_PORTAL
Definition: naxxramas.h:116
@ GO_GOTHIK_ENTER_GATE
Definition: naxxramas.h:98
@ GO_CONS_EYE_RAMP_BOSS
Definition: naxxramas.h:130
@ GO_PLAG_EYE_RAMP_BOSS
Definition: naxxramas.h:128
@ GO_HORSEMAN_PORTAL
Definition: naxxramas.h:118
@ GO_FAERLINA_WEB
Definition: naxxramas.h:94
@ GO_ANUB_NEXT_GATE
Definition: naxxramas.h:93
@ GO_MILI_EYE_RAMP_BOSS
Definition: naxxramas.h:129
@ GO_ANUB_GATE
Definition: naxxramas.h:92
@ GO_NOTH_EXIT_GATE
Definition: naxxramas.h:88
@ GO_KELTHUZAD_PORTAL_1
Definition: naxxramas.h:110
@ GO_DEATHKNIGHT_EYE_PORTAL
Definition: naxxramas.h:121
@ GO_KELTHUZAD_PORTAL_2
Definition: naxxramas.h:111
@ GO_KELTHUZAD_PORTAL_4
Definition: naxxramas.h:113
@ GO_FAERLINA_GATE
Definition: naxxramas.h:95
@ GO_HORSEMEN_GATE
Definition: naxxramas.h:101
@ GO_GLUTH_GATE
Definition: naxxramas.h:86
@ GO_GOTHIK_INNER_GATE
Definition: naxxramas.h:99
@ GO_ARAC_EYE_RAMP_BOSS
Definition: naxxramas.h:127
@ BOSS_HORSEMAN
Definition: naxxramas.h:41
@ BOSS_ANUB
Definition: naxxramas.h:35
@ BOSS_HEIGAN
Definition: naxxramas.h:33
@ BOSS_LOATHEB
Definition: naxxramas.h:34
@ BOSS_GLUTH
Definition: naxxramas.h:31
@ BOSS_GOTHIK
Definition: naxxramas.h:40
@ BOSS_SAPPHIRON
Definition: naxxramas.h:42
@ BOSS_MAEXXNA
Definition: naxxramas.h:37
@ BOSS_THADDIUS
Definition: naxxramas.h:38
@ BOSS_NOTH
Definition: naxxramas.h:32
@ BOSS_PATCHWERK
Definition: naxxramas.h:29
@ BOSS_FAERLINA
Definition: naxxramas.h:36
uint8 GetEruptionSection(float x, float y)
Definition: instance_naxxramas.cpp:36
@ GO_FLAG_NOT_SELECTABLE
Definition: SharedDefines.h:1607
void SetGoState(GOState state)
Definition: GameObject.cpp:2477
GameObjectTemplate const * GetGOInfo() const
Definition: GameObject.h:137
void RemoveGameObjectFlag(GameObjectFlags flags)
Definition: GameObject.h:220
uint32 displayId
Definition: GameObjectData.h:35
float GetPositionX() const
Definition: Position.h:117
void OnGameObjectCreate(GameObject *go) override
Definition: InstanceScript.cpp:70
ObjectGuid _nothExitGateGUID
Definition: instance_naxxramas.cpp:114
ObjectGuid _loathebPortalGUID
Definition: instance_naxxramas.cpp:136
ObjectGuid _plagueEyePortalGUID
Definition: instance_naxxramas.cpp:140
ObjectGuid _deathknightGlowEyePortalGUID
Definition: instance_naxxramas.cpp:143
ObjectGuid _sapphironGateGUID
Definition: instance_naxxramas.cpp:134
ObjectGuid _abomGlowEyePortalGUID
Definition: instance_naxxramas.cpp:146
ObjectGuid _horsemanPortalGUID
Definition: instance_naxxramas.cpp:135
ObjectGuid _plagueGlowEyePortalGUID
Definition: instance_naxxramas.cpp:144
ObjectGuid _thaddiusPortalGUID
Definition: instance_naxxramas.cpp:138
ObjectGuid _gluthGateGUID
Definition: instance_naxxramas.cpp:112
ObjectGuid _spiderGlowEyePortalGUID
Definition: instance_naxxramas.cpp:145
ObjectGuid _anubNextGateGUID
Definition: instance_naxxramas.cpp:119
ObjectGuid _deathknightEyePortalGUID
Definition: instance_naxxramas.cpp:139
ObjectGuid _faerlinaGateGUID
Definition: instance_naxxramas.cpp:121
ObjectGuid _abomEyePortalGUID
Definition: instance_naxxramas.cpp:142
ObjectGuid _maexxnaPortalGUID
Definition: instance_naxxramas.cpp:137
ObjectGuid _heiganGateExitGUID
Definition: instance_naxxramas.cpp:116
ObjectGuid _patchwerkGateGUID
Definition: instance_naxxramas.cpp:111
ObjectGuid _spiderEyePortalGUID
Definition: instance_naxxramas.cpp:141

References _abomEyePortalGUID, _abomGlowEyePortalGUID, _anubGateGUID, _anubNextGateGUID, _deathknightEyePortalGUID, _deathknightGlowEyePortalGUID, _faerlinaGateGUID, _faerlinaWebGUID, _gluthGateGUID, _gothikEnterGateGUID, _gothikExitGateGUID, _gothikInnerGateGUID, _heiganGateExitGUID, _heiganGateGUID, _horsemanGateGUID, _horsemanPortalGUID, _kelthuzadFloorGUID, _kelthuzadGateGUID, _kelthuzadPortal1GUID, _kelthuzadPortal2GUID, _kelthuzadPortal3GUID, _kelthuzadPortal4GUID, _loathebGateGUID, _loathebPortalGUID, _maexxnaGateGUID, _maexxnaPortalGUID, _nothEntryGateGUID, _nothExitGateGUID, _patchwerkGateGUID, _plagueEyePortalGUID, _plagueGlowEyePortalGUID, _sapphironGateGUID, _speakTimer, _spiderEyePortalGUID, _spiderGlowEyePortalGUID, _thaddiusGateGUID, _thaddiusPortalGUID, BOSS_ANUB, BOSS_FAERLINA, BOSS_GLUTH, BOSS_GOTHIK, BOSS_HEIGAN, BOSS_HORSEMAN, BOSS_LOATHEB, BOSS_MAEXXNA, BOSS_NOTH, BOSS_PATCHWERK, BOSS_SAPPHIRON, BOSS_THADDIUS, GameObjectTemplate::displayId, DONE, InstanceScript::GetBossState(), Object::GetEntry(), GetEruptionSection(), GameObject::GetGOInfo(), Object::GetGUID(), Position::GetPositionX(), Position::GetPositionY(), GO_ABOM_EYE_PORTAL, GO_ANUB_GATE, GO_ANUB_NEXT_GATE, GO_ARAC_EYE_RAMP_BOSS, GO_CONS_EYE_RAMP_BOSS, GO_DEATHKNIGHT_EYE_PORTAL, GO_FAERLINA_GATE, GO_FAERLINA_WEB, GO_FLAG_NOT_SELECTABLE, GO_GLUTH_GATE, GO_GOTHIK_ENTER_GATE, GO_GOTHIK_EXIT_GATE, GO_GOTHIK_INNER_GATE, GO_HEIGAN_ENTRY_GATE, GO_HEIGAN_EXIT_GATE, GO_HORSEMAN_PORTAL, GO_HORSEMEN_GATE, GO_KELTHUZAD_FLOOR, GO_KELTHUZAD_GATE, GO_KELTHUZAD_PORTAL_1, GO_KELTHUZAD_PORTAL_2, GO_KELTHUZAD_PORTAL_3, GO_KELTHUZAD_PORTAL_4, GO_LOATHEB_GATE, GO_LOATHEB_PORTAL, GO_MAEXXNA_GATE, GO_MAEXXNA_PORTAL, GO_MILI_EYE_RAMP_BOSS, GO_NOTH_ENTRY_GATE, GO_NOTH_EXIT_GATE, GO_PATCHWERK_GATE, GO_PLAG_EYE_RAMP_BOSS, GO_PLAGUE_EYE_PORTAL, GO_SAPPHIRON_GATE, GO_SPIDER_EYE_PORTAL, GO_STATE_ACTIVE, GO_THADDIUS_GATE, GO_THADDIUS_PORTAL, HeiganEruption, InstanceScript::OnGameObjectCreate(), GameObject::RemoveGameObjectFlag(), and GameObject::SetGoState().

◆ OnGameObjectRemove()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::OnGameObjectRemove ( GameObject pGo)
inlineoverridevirtual

Reimplemented from InstanceScript.

520 {
521 if (pGo->GetGOInfo()->displayId == 6785 || pGo->GetGOInfo()->displayId == 1287)
522 {
523 uint32 section = GetEruptionSection(pGo->GetPositionX(), pGo->GetPositionY());
524 HeiganEruption[section].erase(pGo);
525 return;
526 }
527 if (pGo->GetEntry() == GO_SAPPHIRON_BIRTH)
528 {
530 {
531 cr->AI()->DoAction(ACTION_SAPPHIRON_BIRTH);
532 }
533 }
534 }
std::uint32_t uint32
Definition: Define.h:107
@ GO_SAPPHIRON_BIRTH
Definition: naxxramas.h:107
@ ACTION_SAPPHIRON_BIRTH
Definition: naxxramas.h:179
Definition: Creature.h:46
Creature * GetCreature(ObjectGuid const guid)
Definition: Map.cpp:3314

References _sapphironGUID, ACTION_SAPPHIRON_BIRTH, GameObjectTemplate::displayId, Map::GetCreature(), Object::GetEntry(), GetEruptionSection(), GameObject::GetGOInfo(), Position::GetPositionX(), Position::GetPositionY(), GO_SAPPHIRON_BIRTH, HeiganEruption, and InstanceScript::instance.

◆ ReadSaveDataMore()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::ReadSaveDataMore ( std::istringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

1127 {
1128 data >> immortalAchievement;
1129 }

References immortalAchievement.

◆ SetBossState()

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

Reimplemented from InstanceScript.

667 {
668 // pull all the trash if not killed
669 if (bossId == BOSS_PATCHWERK && state == IN_PROGRESS)
670 {
672 {
673 for (auto& itr : PatchwerkRoomTrash)
674 {
675 Creature* trash = ObjectAccessor::GetCreature(*patch, itr);
676 if (trash && trash->IsAlive() && !trash->IsInCombat())
677 {
678 trash->AI()->AttackStart(patch->GetVictim());
679 }
680 }
681 }
682 }
683
684 // Horseman handling
685 if (bossId == BOSS_HORSEMAN && !_horsemanLoadDoneState)
686 {
687 if (state == DONE)
688 {
691 if (_horsemanKilled < 4)
692 {
693 return false;
694 }
695 // All horsemans are killed
697 {
698 cr->CastSpell(cr, 59450, true); // credit
699 }
700 }
701
702 // respawn
703 else if (state == NOT_STARTED && _horsemanKilled > 0)
704 {
705 Creature* cr;
706 _horsemanKilled = 0;
708 {
709 if (!cr->IsAlive())
710 {
711 cr->SetPosition(cr->GetHomePosition());
712 cr->Respawn();
713 }
714 }
716 {
717 if (!cr->IsAlive())
718 {
719 cr->SetPosition(cr->GetHomePosition());
720 cr->Respawn();
721 }
722 }
723 if ((cr = instance->GetCreature(_zeliekGUID)))
724 {
725 if (!cr->IsAlive())
726 {
727 cr->SetPosition(cr->GetHomePosition());
728 cr->Respawn();
729 }
730 }
732 {
733 if (!cr->IsAlive())
734 {
735 cr->SetPosition(cr->GetHomePosition());
736 cr->Respawn();
737 }
738 }
739 }
740 else if (state == IN_PROGRESS)
741 {
742 Creature* cr;
744 {
746 }
748 {
750 }
751 if ((cr = instance->GetCreature(_zeliekGUID)))
752 {
754 }
756 {
758 }
759 }
760
761 if (state == NOT_STARTED)
762 {
763 _horsemanTimer = 0;
764 }
765 }
766
767 if (!InstanceScript::SetBossState(bossId, state))
768 return false;
769
770 // Bosses data
771 switch (bossId)
772 {
773 case BOSS_KELTHUZAD:
774 if (state == NOT_STARTED)
775 {
777 }
778 break;
779 case BOSS_FAERLINA:
780 if (state == NOT_STARTED)
781 {
782 faerlinaAchievement = true;
783 }
784 break;
785 case BOSS_THADDIUS:
786 if (state == NOT_STARTED)
787 {
788 thaddiusAchievement = true;
789 }
790 break;
791 case BOSS_LOATHEB:
792 if (state == NOT_STARTED)
793 {
794 loathebAchievement = true;
795 }
796 break;
797 case BOSS_HEIGAN:
798 if (state == NOT_STARTED)
799 {
800 heiganAchievement = true;
801 }
802 break;
803 case BOSS_SAPPHIRON:
804 if (state == DONE)
805 {
806 _speakTimer = 1;
807 // Load KT's grid so he can talk
808 instance->LoadGrid(3763.43f, -5115.87f);
809 }
810 else if (state == NOT_STARTED)
811 {
813 }
814 break;
815 default:
816 break;
817 }
818
819 // Save instance and open gates
820 if (state == DONE)
821 {
822 SaveToDB();
823
824 switch (bossId)
825 {
826 case BOSS_PATCHWERK:
828 {
829 go->SetGoState(GO_STATE_ACTIVE);
830 }
831 break;
832 case BOSS_GLUTH:
834 {
835 go->SetGoState(GO_STATE_ACTIVE);
836 }
838 {
839 go->SetGoState(GO_STATE_ACTIVE);
840 }
841 break;
842 case BOSS_NOTH:
844 {
845 go->SetGoState(GO_STATE_ACTIVE);
846 }
848 {
849 go->SetGoState(GO_STATE_ACTIVE);
850 }
851 break;
852 case BOSS_HEIGAN:
854 {
855 go->SetGoState(GO_STATE_ACTIVE);
856 }
858 {
859 go->SetGoState(GO_STATE_ACTIVE);
860 }
861 break;
862 case BOSS_LOATHEB:
864 {
865 go->SetGoState(GO_STATE_ACTIVE);
866 }
868 {
869 go->SetGoState(GO_STATE_ACTIVE);
870 go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
871 }
873 {
874 go->SetGoState(GO_STATE_ACTIVE);
875 }
877 {
878 go->SetGoState(GO_STATE_ACTIVE);
879 }
880 events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
881 break;
882 case BOSS_ANUB:
884 {
885 go->SetGoState(GO_STATE_ACTIVE);
886 }
888 {
889 go->SetGoState(GO_STATE_ACTIVE);
890 }
891 break;
892 case BOSS_FAERLINA:
894 {
895 go->SetGoState(GO_STATE_ACTIVE);
896 }
898 {
899 go->SetGoState(GO_STATE_ACTIVE);
900 }
901 break;
902 case BOSS_MAEXXNA:
904 {
905 go->SetGoState(GO_STATE_ACTIVE);
906 }
908 {
909 go->SetGoState(GO_STATE_ACTIVE);
910 go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
911 }
913 {
914 go->SetGoState(GO_STATE_ACTIVE);
915 }
917 {
918 go->SetGoState(GO_STATE_ACTIVE);
919 }
920 events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
921 break;
922 case BOSS_GOTHIK:
924 {
925 go->SetGoState(GO_STATE_ACTIVE);
926 }
928 {
929 go->SetGoState(GO_STATE_ACTIVE);
930 }
932 {
933 go->SetGoState(GO_STATE_ACTIVE);
934 }
935 break;
936 case BOSS_SAPPHIRON:
937 events.ScheduleEvent(EVENT_FROSTWYRM_WATERFALL_DOOR, 5s);
938 break;
939 case BOSS_THADDIUS:
941 {
942 go->SetGoState(GO_STATE_ACTIVE);
943 go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
944 }
946 {
947 go->SetGoState(GO_STATE_ACTIVE);
948 }
950 {
951 go->SetGoState(GO_STATE_ACTIVE);
952 }
953 events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
954 break;
955 case BOSS_HORSEMAN:
957 {
958 go->SetGoState(GO_STATE_ACTIVE);
959 go->RemoveGameObjectFlag(GO_FLAG_NOT_SELECTABLE);
960 }
962 {
963 go->SetGoState(GO_STATE_ACTIVE);
964 }
966 {
967 go->SetGoState(GO_STATE_ACTIVE);
968 }
969 events.ScheduleEvent(EVENT_KELTHUZAD_WING_TAUNT, 6s);
970 break;
971 default:
972 break;
973 }
974 }
975 return true;
976 }
@ BOSS_KELTHUZAD
Definition: naxxramas.h:43
@ EVENT_FROSTWYRM_WATERFALL_DOOR
Definition: naxxramas.h:201
@ EVENT_KELTHUZAD_WING_TAUNT
Definition: naxxramas.h:200
events
Definition: boss_sartura.cpp:43
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition: ObjectAccessor.cpp:213
virtual void AttackStart(Unit *)
Definition: UnitAI.cpp:27
void SetInCombatWithZone()
Set in combat all units in the dungeon/raid. Affect only units with IsAIEnabled.
Definition: Creature.cpp:2806
void Respawn(bool force=false)
Definition: Creature.cpp:2030
void GetHomePosition(float &x, float &y, float &z, float &ori) const
Definition: Creature.h:339
void SetPosition(float x, float y, float z, float o)
Definition: Creature.cpp:3149
CreatureAI * AI() const
Definition: Creature.h:143
Definition: GameObject.h:121
bool IsAlive() const
Definition: Unit.h:1204
bool IsInCombat() const
Definition: Unit.h:820
virtual bool SetBossState(uint32 id, EncounterState state)
Definition: InstanceScript.cpp:351
void SaveToDB()
Definition: InstanceScript.cpp:41
void LoadGrid(float x, float y)
Definition: Map.cpp:492
GameObject * GetGameObject(ObjectGuid const guid)
Definition: Map.cpp:3319

References _abomEyePortalGUID, _abomGlowEyePortalGUID, _anubGateGUID, _anubNextGateGUID, _blaumeuxGUID, _deathknightEyePortalGUID, _deathknightGlowEyePortalGUID, _faerlinaGateGUID, _gluthGateGUID, _gothikEnterGateGUID, _gothikExitGateGUID, _heiganGateExitGUID, _heiganGateGUID, _horsemanGateGUID, _horsemanKilled, _horsemanLoadDoneState, _horsemanPortalGUID, _horsemanTimer, _korthazzGUID, _loathebGateGUID, _loathebPortalGUID, _maexxnaGateGUID, _maexxnaPortalGUID, _nothExitGateGUID, _patchwerkGateGUID, _patchwerkGUID, _plagueEyePortalGUID, _plagueGlowEyePortalGUID, _rivendareGUID, _speakTimer, _spiderEyePortalGUID, _spiderGlowEyePortalGUID, _thaddiusGateGUID, _thaddiusPortalGUID, _zeliekGUID, abominationsKilled, Creature::AI(), UnitAI::AttackStart(), BOSS_ANUB, BOSS_FAERLINA, BOSS_GLUTH, BOSS_GOTHIK, BOSS_HEIGAN, BOSS_HORSEMAN, BOSS_KELTHUZAD, BOSS_LOATHEB, BOSS_MAEXXNA, BOSS_NOTH, BOSS_PATCHWERK, BOSS_SAPPHIRON, BOSS_THADDIUS, DONE, EVENT_FROSTWYRM_WATERFALL_DOOR, EVENT_KELTHUZAD_WING_TAUNT, faerlinaAchievement, Map::GetCreature(), ObjectAccessor::GetCreature(), Map::GetGameObject(), Creature::GetHomePosition(), GO_FLAG_NOT_SELECTABLE, GO_STATE_ACTIVE, heiganAchievement, IN_PROGRESS, InstanceScript::instance, Unit::IsAlive(), Unit::IsInCombat(), Map::LoadGrid(), loathebAchievement, NOT_STARTED, PatchwerkRoomTrash, Creature::Respawn(), sapphironAchievement, InstanceScript::SaveToDB(), InstanceScript::SetBossState(), Creature::SetInCombatWithZone(), Creature::SetPosition(), and thaddiusAchievement.

◆ SetData()

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

Reimplemented from ZoneScript.

623 {
624 switch (id)
625 {
628 return;
630 faerlinaAchievement = false;
631 return;
633 thaddiusAchievement = false;
634 return;
636 loathebAchievement = false;
637 return;
639 sapphironAchievement = false;
640 return;
641 case DATA_DANCE_FAIL:
642 heiganAchievement = false;
643 return;
646 SaveToDB();
647 return;
650 return;
652 _hadThaddiusGreet = (data == 1);
653 default:
654 return;
655 }
656 }
@ DATA_HUNDRED_CLUB
Definition: naxxramas.h:72
@ DATA_FRENZY_REMOVED
Definition: naxxramas.h:69
@ DATA_CHARGES_CROSSED
Definition: naxxramas.h:70
@ DATA_IMMORTAL_FAIL
Definition: naxxramas.h:74
@ DATA_DANCE_FAIL
Definition: naxxramas.h:73
@ DATA_ABOMINATION_KILLED
Definition: naxxramas.h:68
@ DATA_SPORE_KILLED
Definition: naxxramas.h:71
@ DATA_HEIGAN_ERUPTION
Definition: naxxramas.h:50
void HeiganEruptSections(uint32 section)
Definition: instance_naxxramas.cpp:182

References _hadThaddiusGreet, abominationsKilled, DATA_ABOMINATION_KILLED, DATA_CHARGES_CROSSED, DATA_DANCE_FAIL, DATA_FRENZY_REMOVED, DATA_HAD_THADDIUS_GREET, DATA_HEIGAN_ERUPTION, DATA_HUNDRED_CLUB, DATA_IMMORTAL_FAIL, DATA_SPORE_KILLED, faerlinaAchievement, heiganAchievement, HeiganEruptSections(), immortalAchievement, loathebAchievement, sapphironAchievement, InstanceScript::SaveToDB(), and thaddiusAchievement.

◆ Update()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::Update ( uint32  diff)
inlineoverridevirtual

Reimplemented from InstanceScript.

979 {
980 if (_speakTimer)
981 {
984 if (kel && lich)
985 {
986 _speakTimer += diff;
987 }
988 else
989 {
990 return;
991 }
992 if (_speakTimer > 10000 && _speakTimer < 20000)
993 {
994 kel->AI()->Talk(SAY_SAPP_DIALOG1);
995 _speakTimer = 20000;
996 }
997 else if (_speakTimer > 30000 && _speakTimer < 40000)
998 {
999 lich->AI()->Talk(SAY_SAPP_DIALOG2_LICH);
1000 _speakTimer = 40000;
1001 }
1002 else if (_speakTimer > 54000 && _speakTimer < 60000)
1003 {
1004 kel->AI()->Talk(SAY_SAPP_DIALOG3);
1005 _speakTimer = 60000;
1006 }
1007 else if (_speakTimer > 70000 && _speakTimer < 80000)
1008 {
1009 lich->AI()->Talk(SAY_SAPP_DIALOG4_LICH);
1010 _speakTimer = 80000;
1011 }
1012 else if (_speakTimer > 92000 && _speakTimer < 100000)
1013 {
1014 kel->AI()->Talk(SAY_SAPP_DIALOG5);
1015 _speakTimer = 100000;
1016 }
1017 else if (_speakTimer > 105000)
1018 {
1019 kel->AI()->Talk(SAY_SAPP_DIALOG6);
1020 _speakTimer = 0;
1022 {
1023 go->SetGoState(GO_STATE_ACTIVE);
1024 }
1025 }
1026 }
1027
1028 // And They would all
1029 if (_horsemanTimer)
1030 {
1031 _horsemanTimer += diff;
1032 }
1033
1035 {
1036 if (_screamTimer <= diff)
1037 {
1039 _screamTimer = (2 * MINUTE + urand(0, 30)) * IN_MILLISECONDS;
1040 }
1041 else
1042 {
1043 _screamTimer -= diff;
1044 }
1045 }
1046
1047 events.Update(diff);
1048 switch (events.ExecuteEvent())
1049 {
1051 // Loads Kel'Thuzad's grid. We need this as he must be active in order for his texts to work.
1052 instance->LoadGrid(3749.67f, -5114.06f);
1053 if (Creature* kelthuzad = instance->GetCreature(_kelthuzadGUID))
1054 {
1055 kelthuzad->AI()->Talk(_currentWingTaunt);
1056 }
1058 break;
1061 {
1062 go->SetGoState(GO_STATE_ACTIVE);
1063 }
1064 break;
1065 }
1066 }
uint32 urand(uint32 min, uint32 max)
Definition: Random.cpp:44
@ SOUND_SCREAM
Definition: naxxramas.h:182
@ SAY_SAPP_DIALOG4_LICH
Definition: naxxramas.h:190
@ SAY_SAPP_DIALOG6
Definition: naxxramas.h:192
@ SAY_SAPP_DIALOG2_LICH
Definition: naxxramas.h:188
@ SAY_SAPP_DIALOG1
Definition: naxxramas.h:187
@ SAY_SAPP_DIALOG5
Definition: naxxramas.h:191
@ SAY_SAPP_DIALOG3
Definition: naxxramas.h:189
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0s)
Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
Definition: CreatureAI.cpp:50
void PlayDirectSoundToMap(uint32 soundId, uint32 zoneId=0)
Definition: Map.cpp:3744

References _currentWingTaunt, _horsemanTimer, _kelthuzadGateGUID, _kelthuzadGUID, _lichkingGUID, _sapphironGateGUID, _screamTimer, _speakTimer, Creature::AI(), BOSS_THADDIUS, DONE, EVENT_FROSTWYRM_WATERFALL_DOOR, EVENT_KELTHUZAD_WING_TAUNT, InstanceScript::GetBossState(), Map::GetCreature(), Map::GetGameObject(), GO_STATE_ACTIVE, IN_MILLISECONDS, InstanceScript::instance, Map::LoadGrid(), MINUTE, Map::PlayDirectSoundToMap(), SAY_SAPP_DIALOG1, SAY_SAPP_DIALOG2_LICH, SAY_SAPP_DIALOG3, SAY_SAPP_DIALOG4_LICH, SAY_SAPP_DIALOG5, SAY_SAPP_DIALOG6, SOUND_SCREAM, CreatureAI::Talk(), and urand().

◆ WriteSaveDataMore()

void instance_naxxramas::instance_naxxramas_InstanceMapScript::WriteSaveDataMore ( std::ostringstream &  data)
inlineoverridevirtual

Reimplemented from InstanceScript.

1132 {
1133 data << immortalAchievement;
1134 }

References immortalAchievement.

Member Data Documentation

◆ _abomEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_abomEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _abomGlowEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_abomGlowEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _anubGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_anubGateGUID

◆ _anubNextGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_anubNextGateGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _blaumeuxGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_blaumeuxGUID

Referenced by OnCreatureCreate(), and SetBossState().

◆ _currentWingTaunt

uint8 instance_naxxramas::instance_naxxramas_InstanceMapScript::_currentWingTaunt

◆ _deathknightEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_deathknightEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _deathknightGlowEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_deathknightGlowEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _faerlinaGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_faerlinaGateGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _faerlinaWebGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_faerlinaWebGUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _feugenGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_feugenGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ _gluthGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_gluthGateGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _gothikEnterGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_gothikEnterGateGUID

◆ _gothikExitGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_gothikExitGateGUID {}

◆ _gothikGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_gothikGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ _gothikInnerGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_gothikInnerGateGUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _hadThaddiusGreet

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::_hadThaddiusGreet

◆ _heiganGateExitGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_heiganGateExitGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _heiganGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_heiganGateGUID

◆ _horsemanGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_horsemanGateGUID

◆ _horsemanKilled

uint8 instance_naxxramas::instance_naxxramas_InstanceMapScript::_horsemanKilled

◆ _horsemanLoadDoneState

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::_horsemanLoadDoneState

◆ _horsemanPortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_horsemanPortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _horsemanTimer

uint32 instance_naxxramas::instance_naxxramas_InstanceMapScript::_horsemanTimer

◆ _kelthuzadFloorGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadFloorGUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _kelthuzadGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadGateGUID

◆ _kelthuzadGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadGUID

Referenced by OnCreatureCreate(), and Update().

◆ _kelthuzadPortal1GUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadPortal1GUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _kelthuzadPortal2GUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadPortal2GUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _kelthuzadPortal3GUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadPortal3GUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _kelthuzadPortal4GUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_kelthuzadPortal4GUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _korthazzGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_korthazzGUID

Referenced by OnCreatureCreate(), and SetBossState().

◆ _lichkingGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_lichkingGUID

◆ _loathebGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_loathebGateGUID

◆ _loathebPortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_loathebPortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _maexxnaGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_maexxnaGateGUID

◆ _maexxnaPortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_maexxnaPortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _nothEntryGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_nothEntryGateGUID

Referenced by GetGuidData(), and OnGameObjectCreate().

◆ _nothExitGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_nothExitGateGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _patchwerkGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_patchwerkGateGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _patchwerkGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_patchwerkGUID

Referenced by OnCreatureCreate(), and SetBossState().

◆ _plagueEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_plagueEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _plagueGlowEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_plagueGlowEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _rivendareGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_rivendareGUID

Referenced by OnCreatureCreate(), and SetBossState().

◆ _sapphironGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_sapphironGateGUID

Referenced by OnGameObjectCreate(), and Update().

◆ _sapphironGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_sapphironGUID

◆ _screamTimer

uint32 instance_naxxramas::instance_naxxramas_InstanceMapScript::_screamTimer

◆ _speakTimer

uint32 instance_naxxramas::instance_naxxramas_InstanceMapScript::_speakTimer

◆ _spiderEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_spiderEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _spiderGlowEyePortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_spiderGlowEyePortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _stalaggGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_stalaggGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ _thaddiusGateGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_thaddiusGateGUID

◆ _thaddiusGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_thaddiusGUID

Referenced by GetGuidData(), and OnCreatureCreate().

◆ _thaddiusPortalGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_thaddiusPortalGUID

Referenced by OnGameObjectCreate(), and SetBossState().

◆ _zeliekGUID

ObjectGuid instance_naxxramas::instance_naxxramas_InstanceMapScript::_zeliekGUID

Referenced by OnCreatureCreate(), and SetBossState().

◆ abominationsKilled

uint8 instance_naxxramas::instance_naxxramas_InstanceMapScript::abominationsKilled

◆ events

EventMap instance_naxxramas::instance_naxxramas_InstanceMapScript::events

◆ faerlinaAchievement

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::faerlinaAchievement

◆ heiganAchievement

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::heiganAchievement

◆ HeiganEruption

std::set<GameObject*> instance_naxxramas::instance_naxxramas_InstanceMapScript::HeiganEruption[4]

◆ immortalAchievement

uint32 instance_naxxramas::instance_naxxramas_InstanceMapScript::immortalAchievement

◆ loathebAchievement

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::loathebAchievement

◆ PatchwerkRoomTrash

GuidList instance_naxxramas::instance_naxxramas_InstanceMapScript::PatchwerkRoomTrash

◆ sapphironAchievement

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::sapphironAchievement

◆ thaddiusAchievement

bool instance_naxxramas::instance_naxxramas_InstanceMapScript::thaddiusAchievement