anchor.diff:      (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,100,0,0,0),
       (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
     );
  +var
  +  X_0,Y_0,X_1,Y_1,X_2,Y_2,X0,X1,X2,Y0,Y1,Y2,sum: Integer;
  +  H1,H2: TInteger2Array;
  +  FillHeight: TKMFillBiome;
   begin
   
     H1 := LinearInterpolation(7,20);
  
positive.code:     if RMGSettings.Obstacle.Wetland then
        InacessibleTextures(Byte(btWetland), 5, 3, 2, 50, 0.25, 0.5);
    end;
  
    for Y := High(A)-1 downto 1 do
  	  for X := High(A[Y])-1 downto 1 do
        if (A[Y,X] = Byte(btStone)) OR (A[Y,X] = Byte(btGold)) OR (A[Y,X] = Byte(btIron)) OR (A[Y,X] = Byte(btCoal)) then
  
negative.code:   end;
  
    Result := Output;
  end;
  
  
  // Generator of random points inside circle
  function TKMRandomMapGenerator.RNDPointInCircle(aMin,aMax,aCenter: TKMPoint; aMaxRadius: Single): TKMPoint;
  const
    MAX_ANGLE = 3.14*2; // = 360°
  var
    angle, radius: Single;
  begin
    // Random point in Polar coordinates
    angle := fRNG.Random() * MAX_ANGLE;
    radius := fRNG.Random() * aMaxRadius;
    // Back to Cartesian coordinates + check edges
    Result.X := Min(  aMax.X, Max( aMin.X,Round(aCenter.X + radius * cos(angle)) )  );
    Result.Y := Min(  aMax.Y, Max( aMin.Y,Round(aCenter.Y + radius * sin(angle)) )  );
  end;
  
  
  