anchor.diff:  var i,k:integer; List:TKMPointDirList;
   begin
     List := TKMPointDirList.Create;
  -  for i:=max(aPosition.Y-aRadius,Ins) to min(aPosition.Y+aRadius,MapY-Ins-1) do //Leave one more tile below, where Stoncutter will stand
  -  for k:=max(aPosition.X-aRadius,Ins) to min(aPosition.X+aRadius,MapX-Ins) do
  +  for i:=max(aPosition.Y-aRadius,Ins) to min(aPosition.Y+aRadius,fMapY-Ins-1) do //Leave one more tile below, where Stoncutter will stand
  +  for k:=max(aPosition.X-aRadius,Ins) to min(aPosition.X+aRadius,fMapX-Ins) do
       if (KMLength(aPosition,KMPoint(k,i))<=aRadius) and not KMSamePoint(aAvoidLoc,KMPoint(k,i+1)) then
         if (TileIsStone(k,i)>0) then
           if (CanWalk in Land[i+1,k].Passability) then //Now check the tile right below
  
positive.code: procedure TTerrain.SyncLoad;
  var i,k:integer;
  begin
    for i:=1 to MapY do for k:=1 to MapX do
      Land[i,k].IsUnit := fPlayers.GetUnitByID(cardinal(Land[i,k].IsUnit));
  end;
  
  
negative.code:   if aPass=CanWalkRoad then
    begin
      TestRadius := false;
      for i:=max(round(LocB.Y-aDistance),1) to min(round(LocB.Y+aDistance),fMapY-1) do
      for k:=max(round(LocB.X-aDistance),1) to min(round(LocB.X+aDistance),fMapX-1) do
      if GetLength(LocB,KMPoint(k,i))<=aDistance then
        TestRadius := TestRadius or (Land[LocA.Y,LocA.X].WalkConnect[wcRoad] = Land[i,k].WalkConnect[wcRoad]);
      Result := Result and TestRadius;
  