Core/MMaps: Fallback to shortcut for flying units if Detour returned an incomplete path.

Fallback to shortcut for flying units if Detour returned an incomplete path. This is needed when a flying unit should fly to the floor below to reach the target, but since Recastnavigation doesn't support "jumping down" the unit would not find a path to the target.

(cherry picked from commit d182e5f7e7)
This commit is contained in:
jackpoz
2019-04-12 23:23:31 +02:00
committed by Shauren
parent 15aece546f
commit bf1bf510fb

View File

@@ -469,6 +469,13 @@ void PathGenerator::BuildPolyPath(G3D::Vector3 const& startPos, G3D::Vector3 con
else
_type = PATHFIND_INCOMPLETE;
if (_type & PATHFIND_INCOMPLETE && _sourceUnit->CanFly())
{
BuildShortcut();
_type = PathType(PATHFIND_NORMAL | PATHFIND_NOT_USING_PATH);
return;
}
// generate the point-path out of our up-to-date poly-path
BuildPointPath(startPoint, endPoint);
}