fix(DB/Script): Move Brozebeard Radio behaviour on SAI. (#25006)

This commit is contained in:
Rocco Silipo
2026-03-05 17:25:10 +01:00
committed by GitHub
parent e2746c54ba
commit 8f7a135a70
2 changed files with 46 additions and 88 deletions

View File

@@ -151,12 +151,6 @@ enum Texts
BRANN_RADIO_SAY_FL_START_0 = 0,
BRANN_RADIO_SAY_FL_START_1 = 1,
BRANN_RADIO_SAY_FL_START_2 = 2,
BRANN_RADIO_SAY_GENERATORS = 3,
BRANN_RADIO_SAY_STATIONS = 4,
BRANN_RADIO_SAY_TOWER_THORIM = 5,
BRANN_RADIO_SAY_TOWER_HODIR = 6,
BRANN_RADIO_SAY_TOWER_FREYA = 7,
BRANN_RADIO_SAY_TOWER_MIMIRON = 8,
// Vehicle Repair - Said by a spell, BroadcastTextID, same as FLAME_LEVIATHAN_EMOTE_REPAIR
VEHICLE_EMOTE_REPAIR = 33538,
@@ -1082,87 +1076,6 @@ struct npc_pool_of_tar : public NullCreatureAI
}
};
struct npc_brann_radio : public NullCreatureAI
{
npc_brann_radio(Creature* c) : NullCreatureAI(c)
{
_lock = (me->GetInstanceScript() && me->GetInstanceScript()->GetBossState(BOSS_LEVIATHAN) > NOT_STARTED);
_helpLock = _lock;
}
bool _lock;
bool _helpLock;
void Reset() override
{
me->SetReactState(REACT_AGGRESSIVE);
}
void MoveInLineOfSight(Unit* who) override
{
if (!_lock)
{
if (!who->IsPlayer() && !who->IsVehicle())
return;
// MIMIRON
else if (me->GetDistance2d(-81.9207f, 111.432f) < 5.0f)
{
if (me->GetDistance2d(who) <= 60.0f && who->GetPositionZ() > 430.0f)
{
Talk(BRANN_RADIO_SAY_TOWER_MIMIRON);
_lock = true;
}
}
// FREYA
else if (me->GetDistance2d(-221.475f, -271.087f) < 5.0f)
{
if (me->GetDistance2d(who) <= 60.0f && who->GetPositionZ() < 380.0f)
{
Talk(BRANN_RADIO_SAY_TOWER_FREYA);
_lock = true;
}
}
// STATIONS
else if (me->GetDistance2d(73.8978f, -29.3306f) < 5.0f)
{
if (me->GetDistance2d(who) <= 40.0f)
{
Talk(BRANN_RADIO_SAY_STATIONS);
_lock = true;
}
}
// HODIR
else if (me->GetDistance2d(68.7679f, -325.026f) < 5.0f)
{
if (me->GetDistance2d(who) <= 40.0f)
{
Talk(BRANN_RADIO_SAY_TOWER_HODIR);
_lock = true;
}
}
// THORIM
else if (me->GetDistance2d(174.442f, 345.679f) < 5.0f)
{
if (me->GetDistance2d(who) <= 60.0f)
{
Talk(BRANN_RADIO_SAY_TOWER_THORIM);
_lock = true;
}
}
// COME A BIT CLOSER
else if (me->GetDistance2d(-508.898f, -32.9631f) < 5.0f)
{
if (who->GetPositionX() >= -480.0f)
{
Talk(BRANN_RADIO_SAY_GENERATORS);
_lock = true;
}
}
}
}
};
struct npc_storm_beacon_spawn : public NullCreatureAI
{
npc_storm_beacon_spawn(Creature* c) : NullCreatureAI(c)
@@ -1825,7 +1738,6 @@ void AddSC_boss_flame_leviathan()
RegisterUlduarCreatureAI(npc_hodirs_fury);
// Helpers
RegisterUlduarCreatureAI(npc_brann_radio);
RegisterUlduarCreatureAI(npc_storm_beacon_spawn);
RegisterUlduarCreatureAI(boss_flame_leviathan_safety_container);