diff --git a/data/sql/world/base/naxx40_creatures.sql b/data/sql/world/base/naxx40_creatures.sql index 77bc2cb..2920509 100644 --- a/data/sql/world/base/naxx40_creatures.sql +++ b/data/sql/world/base/naxx40_creatures.sql @@ -3519,10 +3519,10 @@ INSERT INTO `creature` (`guid`, `id1`, `id2`, `id3`, `map`, `zoneId`, `areaId`, (@GUID+1057, @CENTRY+90, 0, 0, 533, 0, 0, 4, 1, 0, 2877.97, -3761.82, 274.983, 3.64774, 3600, 0, 0, 13033, 0, 0, 0, 0, 0, '', 0, 0, NULL), (@GUID+1058, @CENTRY+90, 0, 0, 533, 0, 0, 4, 1, 0, 2770.1, -3782.59, 274.983, 1.02974, 3600, 0, 0, 13033, 0, 0, 0, 0, 0, '', 0, 0, NULL), (@GUID+1059, @CENTRY+90, 0, 0, 533, 0, 0, 4, 1, 0, 2846.52, -3789.07, 274.983, 2.23402, 3600, 0, 0, 13033, 0, 0, 0, 0, 0, '', 0, 0, NULL), -(@GUID+1060, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2845.06, -3296.36, 298.124, 5.63452, 3600, 0.0, 0, 65165, 0, 2, 0, 0, 0, '', 0, 0, NULL), +(@GUID+1060, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2845.06, -3296.36, 298.124, 5.63452, 3600, 0.0, 1, 65165, 0, 2, 0, 0, 0, '', 0, 0, NULL), (@GUID+1061, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2839.23, -3337.89, 300.911, 0.349066, 3600, 0.0, 0, 65165, 0, 0, 0, 0, 0, '', 0, 0, NULL), (@GUID+1062, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2832.53, -3295.22, 298.121, 3.05074, 3600, 5.0, 0, 65165, 0, 1, 0, 0, 0, '', 0, 0, NULL), -(@GUID+1063, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2835.76, -3331.32, 299.364, 4.84961, 3600, 0.0, 0, 65165, 0, 2, 0, 0, 0, '', 0, 0, NULL), +(@GUID+1063, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2835.76, -3331.32, 299.364, 4.84961, 3600, 0.0, 1, 65165, 0, 2, 0, 0, 0, '', 0, 0, NULL), (@GUID+1064, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2831.77, -3307.42, 298.659, 0.087266, 3600, 0.0, 0, 65165, 0, 0, 0, 0, 0, '', 0, 0, NULL), (@GUID+1065, @CENTRY+58, 0, 0, 533, 0, 0, 4, 1, 0, 2827.68, -3314.67, 300.318, 0.383972, 3600, 0.0, 0, 65165, 0, 0, 0, 0, 0, '', 0, 0, NULL); diff --git a/src/naxx40Scripts/boss_thaddius_40.cpp b/src/naxx40Scripts/boss_thaddius_40.cpp index acba2d6..ec9c5db 100644 --- a/src/naxx40Scripts/boss_thaddius_40.cpp +++ b/src/naxx40Scripts/boss_thaddius_40.cpp @@ -704,16 +704,20 @@ class at_thaddius_entrance : public AreaTriggerScript public: at_thaddius_entrance() : AreaTriggerScript("at_thaddius_entrance") { } + bool _thaddiusIntro = false; + bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/) override { InstanceScript* instance = player->GetInstanceScript(); - if (!instance || instance->GetData(DATA_THADDIUS_INTRO) == 1 || instance->GetBossState(BOSS_THADDIUS) == DONE) + if (!instance || _thaddiusIntro == true || instance->GetBossState(BOSS_THADDIUS) == DONE) return true; if (Creature* thaddius = instance->GetCreature(DATA_THADDIUS_BOSS)) + { thaddius->AI()->Talk(SAY_GREET); + _thaddiusIntro = true; + } - instance->SetData(DATA_THADDIUS_INTRO, 1); return true; } }; diff --git a/src/naxx40Scripts/instance_naxxramas.cpp b/src/naxx40Scripts/instance_naxxramas.cpp index a7441a0..462d27e 100644 --- a/src/naxx40Scripts/instance_naxxramas.cpp +++ b/src/naxx40Scripts/instance_naxxramas.cpp @@ -186,7 +186,8 @@ public: _events.Reset(); _currentWingTaunt = SAY_FIRST_WING_TAUNT; _horsemanLoaded = 0; - + _thaddiusScreams = false; + // Achievements _abominationsKilled = 0; _faerlinaAchievement = true; @@ -260,8 +261,12 @@ public: void OnPlayerEnter(Player* player) override { InstanceScript::OnPlayerEnter(player); + if (_thaddiusScreams == false) + { + _events.ScheduleEvent(EVENT_THADDIUS_SCREAMS, 2min, 2min + 30s); + } - _events.ScheduleEvent(EVENT_THADDIUS_SCREAMS, 2min, 2min + 30s); + SetData(DATA_THADDIUS_SCREAMS, 0); } void OnCreatureCreate(Creature* creature) override @@ -457,6 +462,9 @@ public: case DATA_ABOMINATION_KILLED: ++_abominationsKilled; return; + case DATA_THADDIUS_SCREAMS: + _thaddiusScreams = true; + return; case DATA_FRENZY_REMOVED: _faerlinaAchievement = false; return; @@ -730,6 +738,7 @@ private: EventMap _events; uint8 _currentWingTaunt; uint8 _horsemanLoaded; + bool _thaddiusScreams; // GameObjects std::set _heiganEruption[HeiganEruptSectionCount]; diff --git a/src/naxx40Scripts/naxxramas.h b/src/naxx40Scripts/naxxramas.h index e3b11ac..15e4873 100644 --- a/src/naxx40Scripts/naxxramas.h +++ b/src/naxx40Scripts/naxxramas.h @@ -77,7 +77,7 @@ enum NaxxramasData DATA_DANCE_FAIL = 301, DATA_SPORE_KILLED = 302, DATA_FRENZY_REMOVED = 303, - DATA_THADDIUS_INTRO = 304, + DATA_THADDIUS_SCREAMS = 304, DATA_CHARGES_CROSSED = 305, DATA_HUNDRED_CLUB = 306, DATA_ABOMINATION_KILLED = 307, @@ -85,7 +85,6 @@ enum NaxxramasData enum NaxxramasPersistentData { - PERSISTENT_DATA_THADDIUS_INTRO = 0, PERSISTENT_DATA_KELTHUZAD_DIALOG = 1, PERSISTENT_DATA_IMMORTAL_FAIL = 2, PERSISTENT_DATA_COUNT