anchor.diff:    if aInteractionAvoid then
     begin
       TestRadius := false;
  -    for i:=max(round(LocB.Y-aDistance),1) to min(round(LocB.Y+aDistance),MapY-1) do
  -    for k:=max(round(LocB.X-aDistance),1) to min(round(LocB.X+aDistance),MapX-1) do
  +    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[wcAvoid] = Land[i,k].WalkConnect[wcAvoid]);
       Result := Result and TestRadius;
  
positive.code: procedure TTerrain.RemovePlayer(aPlayer:TPlayerIndex);
  var i,k:word;
  begin
    for i:=1 to MapY do for k:=1 to MapX do
      if Land[i,k].TileOwner > aPlayer then
        Land[i,k].TileOwner := pred(Land[i,k].TileOwner)
      else
  
negative.code: procedure TTerrain.RebuildPassability(LowX,HighX,LowY,HighY:integer);
  var i,k:integer;
  begin
    for i:=max(LowY,1) to min(HighY,fMapY-1) do for k:=max(LowX,1) to min(HighX,fMapX-1) do
      RecalculatePassability(KMPoint(k,i));
  end;
  
  