anchor.diff:  end;
   
   
  -procedure TNavMeshPathFinding.ReturnRoute(out aDistance: Word; out aRoutePointArray: TKMPointArray);
  -const
  -  USED_PENALIZATION = 40;
  +procedure TNavMeshPathFinding.ReturnPolygonRoute(out aDistance: Word; out aRoutePolygonArray: TKMWordArray);
   var
     Count: Word;
     N, FinalN: TNavMeshNode;
  
positive.code: end;
  
  
  function TNavMeshPathFinding.ShortestRoute(aStart, aEnd: TKMPoint; out aDistance: Word; out aRoutePointArray: TKMPointArray): Boolean;
  begin
    Result := InitRoute(aStart, aEnd, aDistance, aRoutePointArray);
  
negative.code:   const
      CHANCES: array[TGroupType] of array[TGroupType] of Single = (
      // gt_Melee gt_AntiHorse gt_Ranged gt_Mounted
        (1,       0.5,         0.5,      2   ), // gt_Melee
        (0.5,     1,           1,        0.5 ), // gt_AntiHorse
        (2,       1,           0.5,      3   ), // gt_Ranged
        (0.5,     3,           0.5,      1   )  // gt_Mounted
      );
    var
      GT: TGroupType;
  