From ff7b58082d6c2fec86c5b46223f6e81e5842f63f Mon Sep 17 00:00:00 2001 From: Yunfan Li Date: Tue, 9 Jul 2024 17:29:54 +0800 Subject: [PATCH] [Combat formation] Flee optimize --- src/strategy/actions/MovementActions.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/strategy/actions/MovementActions.cpp b/src/strategy/actions/MovementActions.cpp index b1a1fbe3..f86d539e 100644 --- a/src/strategy/actions/MovementActions.cpp +++ b/src/strategy/actions/MovementActions.cpp @@ -1710,7 +1710,8 @@ Position MovementAction::BestPositionForMeleeToFlee(Position pos, float radius) bot->GetPositionY() + sin(angle) * fleeDis, bot->GetPositionZ()}; if (strict && currentTarget - && fleePos.GetExactDist(currentTarget) - currentTarget->GetCombatReach() > sPlayerbotAIConfig->tooCloseDistance) { + && fleePos.GetExactDist(currentTarget) - currentTarget->GetCombatReach() > sPlayerbotAIConfig->tooCloseDistance + && bot->IsWithinMeleeRange(currentTarget)) { continue; } if (pos.GetExactDist(fleePos) > farestDis) { @@ -1819,7 +1820,7 @@ bool MovementAction::CheckLastFlee(float curAngle, std::list& infoList } float revAngle = fmod(info.angle + M_PI, 2 * M_PI); // angle too close - if (fabs(revAngle - curAngle) < M_PI / 8) { + if (fabs(revAngle - curAngle) < M_PI / 4) { return false; } }