fix(Scripts/SSC): Fix Leotheras running in melee range in demon phase (#20507)

* fix(Scripts/SSC): Fix Leotheras running in melee range in demon phase

* Update boss_leotheras_the_blind.cpp
This commit is contained in:
Andrew
2024-11-10 14:54:05 -03:00
committed by GitHub
parent 4da49dd63a
commit e8366f6935

View File

@@ -128,6 +128,14 @@ struct boss_leotheras_the_blind : public BossAI
});
}
void AttackStart(Unit* who) override
{
if (me->HasAura(SPELL_METAMORPHOSIS))
AttackStartCaster(who, 40.0f);
else
ScriptedAI::AttackStart(who);
}
void DoAction(int32 actionId) override
{
if (actionId == ACTION_CHECK_SPELLBINDERS)
@@ -172,15 +180,13 @@ struct boss_leotheras_the_blind : public BossAI
void MoveToTargetIfOutOfRange(Unit* target)
{
if (me->GetDistance2d(target) > 40.0f)
if (!me->IsWithinDistInMap(target, 40.0f))
{
me->GetMotionMaster()->MoveChase(target, 5.0f, 0);
me->GetMotionMaster()->MoveChase(target, 40.0f, 0);
me->AddThreat(target, 0.0f);
}
else
{
me->GetMotionMaster()->Clear();
}
}
void DemonTime()
@@ -204,7 +210,7 @@ struct boss_leotheras_the_blind : public BossAI
{
DoResetThreatList();
me->LoadEquipment();
me->GetMotionMaster()->MoveChase(me->GetVictim(), 0.0f);
me->ResumeChasingVictim();
me->RemoveAurasDueToSpell(SPELL_METAMORPHOSIS);
scheduler.CancelGroup(GROUP_DEMON);
ElfTime();
@@ -223,9 +229,7 @@ struct boss_leotheras_the_blind : public BossAI
if (me->GetDisplayId() == me->GetNativeDisplayId())
{
if (me->GetReactState() != REACT_PASSIVE)
{
DoMeleeAttackIfReady();
}
}
else if (me->isAttackReady(BASE_ATTACK))
{
@@ -235,9 +239,7 @@ struct boss_leotheras_the_blind : public BossAI
DoMeleeAttackIfReady();
}
else
{
me->setAttackTimer(BASE_ATTACK, 2000);
}
}
}
private: