fix(Scripts/Naxxramas): Thaddius says intro only once (#24036)

This commit is contained in:
sogladev
2025-12-05 04:31:07 +01:00
committed by GitHub
parent d7677e12c1
commit 4ddb6e6293
2 changed files with 13 additions and 19 deletions
@@ -683,22 +683,18 @@ public:
}; };
}; };
class at_thaddius_entrance : public AreaTriggerScript class at_thaddius_entrance : public OnlyOnceAreaTriggerScript
{ {
public: public:
at_thaddius_entrance() : AreaTriggerScript("at_thaddius_entrance") { } at_thaddius_entrance() : OnlyOnceAreaTriggerScript("at_thaddius_entrance") { }
bool OnTrigger(Player* player, AreaTrigger const* /*areaTrigger*/) override bool _OnTrigger(Player* player, const AreaTrigger* /*trigger*/) override
{ {
InstanceScript* instance = player->GetInstanceScript(); if (InstanceScript* instance = player->GetInstanceScript())
if (!instance || instance->GetData(DATA_THADDIUS_INTRO) || instance->GetBossState(BOSS_THADDIUS) == DONE) if (instance->GetBossState(BOSS_THADDIUS) != DONE)
return true; if (Creature* thaddius = instance->GetCreature(DATA_THADDIUS_BOSS))
thaddius->AI()->Talk(SAY_GREET);
if (Creature* thaddius = instance->GetCreature(DATA_THADDIUS_BOSS)) return false;
thaddius->AI()->Talk(SAY_GREET);
instance->SetData(DATA_THADDIUS_INTRO, 1);
return true;
} }
}; };
@@ -75,17 +75,15 @@ enum NaxxramasData
DATA_DANCE_FAIL = 301, DATA_DANCE_FAIL = 301,
DATA_SPORE_KILLED = 302, DATA_SPORE_KILLED = 302,
DATA_FRENZY_REMOVED = 303, DATA_FRENZY_REMOVED = 303,
DATA_THADDIUS_INTRO = 304, DATA_CHARGES_CROSSED = 304,
DATA_CHARGES_CROSSED = 305, DATA_HUNDRED_CLUB = 305,
DATA_HUNDRED_CLUB = 306, DATA_ABOMINATION_KILLED = 306,
DATA_ABOMINATION_KILLED = 307,
}; };
enum NaxxramasPersistentData enum NaxxramasPersistentData
{ {
PERSISTENT_DATA_THADDIUS_INTRO = 0, PERSISTENT_DATA_KELTHUZAD_DIALOG = 0,
PERSISTENT_DATA_KELTHUZAD_DIALOG = 1, PERSISTENT_DATA_IMMORTAL_FAIL = 1,
PERSISTENT_DATA_IMMORTAL_FAIL = 2,
PERSISTENT_DATA_COUNT PERSISTENT_DATA_COUNT
}; };