anchor.diff:    end;
   
     var
  -    X,Y,I,K, MaxIdx, MaxCnt, cntr, finalCnt, ObstBiome, ObstVariance: Integer;
  +    X,Y,I,K, MaxIdx, MaxCnt, cntr, finalCnt, ObstBiome: Integer;
       Factor,Probability, ProbabilityReducer: Single;
       check: Boolean;
       Obstacle: TObstacleType;
  
positive.code: // TileTempl = array of biome-decomposition
  procedure TKMRandomMapGenerator.GenerateHeight(aLocs: TKMPointArray; var TilesPartsArr: TTileParts; var A: TKMByte2Array; var TileTempl: TKMByte2Array);
  const
    HeightMix: array [0..23] of Byte = (
      //20,18,15,15,15,21,19,22,23,24,25,20,20,19,18,17,18,21,20,20,20,20,20,20
      10,10,5,5,3,5,10,1,10,10,20,20,0,5,10,10,15,20,10,20,20,20,20,0
    );
    //TBiomeType = (
    //10,15,0,0,0,10,5,0,15,15,20,20,10,5,btGrassSand1,btGrassSand2,btGrassSand3,btSand,btStone,btGold,btEgold,btIron,btEIron,btDark);
  
  
negative.code: // aPoints = array of TKMPoints belonging to its shapes (1 point = 1 shape)
  function TKMRandomMapGenerator.VoronoiMod(const aStep: Integer; var aPoints: TKMPoint2Array): TInteger2Array;
  var
    //X0,X2,Y0,Y2,move,
    X,aX,X1,Y,aY,Y1,i,idxX,idxY,price: Integer;
    Output, History: TInteger2Array;
  begin
    SetLength(Output, gTerrain.MapY+1, gTerrain.MapX+1);
  