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

View File

@@ -683,22 +683,18 @@ public:
};
};
class at_thaddius_entrance : public AreaTriggerScript
class at_thaddius_entrance : public OnlyOnceAreaTriggerScript
{
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 (!instance || instance->GetData(DATA_THADDIUS_INTRO) || instance->GetBossState(BOSS_THADDIUS) == DONE)
return true;
if (Creature* thaddius = instance->GetCreature(DATA_THADDIUS_BOSS))
thaddius->AI()->Talk(SAY_GREET);
instance->SetData(DATA_THADDIUS_INTRO, 1);
return true;
if (InstanceScript* instance = player->GetInstanceScript())
if (instance->GetBossState(BOSS_THADDIUS) != DONE)
if (Creature* thaddius = instance->GetCreature(DATA_THADDIUS_BOSS))
thaddius->AI()->Talk(SAY_GREET);
return false;
}
};

View File

@@ -75,17 +75,15 @@ enum NaxxramasData
DATA_DANCE_FAIL = 301,
DATA_SPORE_KILLED = 302,
DATA_FRENZY_REMOVED = 303,
DATA_THADDIUS_INTRO = 304,
DATA_CHARGES_CROSSED = 305,
DATA_HUNDRED_CLUB = 306,
DATA_ABOMINATION_KILLED = 307,
DATA_CHARGES_CROSSED = 304,
DATA_HUNDRED_CLUB = 305,
DATA_ABOMINATION_KILLED = 306,
};
enum NaxxramasPersistentData
{
PERSISTENT_DATA_THADDIUS_INTRO = 0,
PERSISTENT_DATA_KELTHUZAD_DIALOG = 1,
PERSISTENT_DATA_IMMORTAL_FAIL = 2,
PERSISTENT_DATA_KELTHUZAD_DIALOG = 0,
PERSISTENT_DATA_IMMORTAL_FAIL = 1,
PERSISTENT_DATA_COUNT
};