fix naxx40 Thaddius Screams (#741)

- fixed the scream loop spam
- changed the intro message of Thaddius so it only triggers once
- fixed bony construct waypoints error
This commit is contained in:
Grimfeather
2025-09-16 01:42:56 +02:00
committed by GitHub
parent 0d4f0d0d3c
commit 75f31c4b59
4 changed files with 20 additions and 8 deletions

View File

@@ -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);

View File

@@ -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;
}
};

View File

@@ -186,6 +186,7 @@ public:
_events.Reset();
_currentWingTaunt = SAY_FIRST_WING_TAUNT;
_horsemanLoaded = 0;
_thaddiusScreams = false;
// Achievements
_abominationsKilled = 0;
@@ -260,10 +261,14 @@ public:
void OnPlayerEnter(Player* player) override
{
InstanceScript::OnPlayerEnter(player);
if (_thaddiusScreams == false)
{
_events.ScheduleEvent(EVENT_THADDIUS_SCREAMS, 2min, 2min + 30s);
}
SetData(DATA_THADDIUS_SCREAMS, 0);
}
void OnCreatureCreate(Creature* creature) override
{
switch (creature->GetEntry())
@@ -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<GameObject*> _heiganEruption[HeiganEruptSectionCount];

View File

@@ -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