anchor.diff:      Exit;
   
     // Try find path to the target point
  -  if gAIFields.NavMesh.Pathfinding.ShortestRoute(aActualPosition, TargetPoint, Distance, PointPath) then
  +  //if gAIFields.NavMesh.Pathfinding.ShortestRoute(aActualPosition, TargetPoint, Distance, PointPath) then
  +  if gAIFields.NavMesh.Pathfinding.AvoidTrafficRoute(fOwner, aActualPosition, TargetPoint, Distance, PointPath) then
     begin
       fDEBUGPointPath := PointPath;
       Cnt := SquadCnt(); // Count of groups in company
  
positive.code:       begin
          Squad.TargetUnit := UA[ fTargetU[TargetIdx].Index ];
          Output := True;
          fTargetU[TargetIdx].DistantThreat := fTargetU[TargetIdx].DistantThreat - Squad.Group.Count;
          // Unit will be targeted by Ranged group -> if there was minimal priority for close combat then remove it
          if (fTargetU[TargetIdx].CloseThreat = 1) then
            fTargetU[TargetIdx].CloseThreat := 0;
  
negative.code:     begin
        Squad := AvailableSquads[GT].Squads[I];
        HighestThreat := INIT_THREAT;
        BestDist := 0;
        for K := 0 to Length(fTargetU) - 1 do
          if (fTargetU[K].DistantThreat > 0) then
          begin
            Dist := KMDistanceSqr(TAISquad(fSquads[GT].Items[I]).Position, UA[ fTargetU[K].Index ].GetPosition);
            Threat := fTargetU[K].DistantThreat - Dist;
            if (Threat > HighestThreat) then
            begin
              BestDist := Dist;
              HighestThreat := Threat;
              TargetIdx := K;
            end;
  