anchor.diff:            BaseLayer.Terrain := 0;
           LayersCnt    := 0;
           BaseLayer.Corners := [0,1,2,3];
  -        Height       := 30 + KaMRandom(7, 'TKMTerrain.MakeNewMap 3');  //variation in Height
  +        Height       := 30 + KaMRandom(HEIGHT_RAND_VALUE, 'TKMTerrain.MakeNewMap 3');  //variation in Height
           BaseLayer.Rotation     := KaMRandom(4, 'TKMTerrain.MakeNewMap 4');  //Make it random
           Obj          := OBJ_NONE;             //none
           IsCustom     := False;
  
positive.code:           D := Ord(dirW)*Byte(extLeft) + Ord(dirE)*Byte(extRight) //Only 1 could happen
          else
          begin
            D := D + (Byte(extBot)*2 - 1)*Byte(extLeft) + (Byte(extTop)*2 - 1)*Byte(extRight);
            D := ((D - 1 + 8) mod 8) + 1; //circle around for 0-value as dirNE
          end;
  
          SetNewLand(S, K, I, KFrom, IFrom, NewGenTileK, NewGenTileI, TKMDirection(D));
        end;
      end;
  
  
negative.code:         end;
        end;
  
        //Apply some random tiles for artisticity
        TileBasic.BaseLayer.Terrain  := gGame.MapEditor.TerrainPainter.PickRandomTile(terKind, True);
        TileBasic.BaseLayer.Rotation := KaMRandom(4, 'TKMTerrain.SaveToFile.SetNewLand 2');
        TileBasic.BaseLayer.Corners := [0,1,2,3];
        //find height mid point to make random elevation even for close to 0 or 100 height
        hMid := Max(0, Land[aFromY,aFromX].Height - H_RND_HALF) + H_RND_HALF;
        hMid := Min(100, hMid + H_RND_HALF) - H_RND_HALF;
        TileBasic.Height    := EnsureRange(hMid - H_RND_HALF + KaMRandom(HEIGHT_RAND_VALUE, 'TKMTerrain.SaveToFile.SetNewLand 3'), 0, 100);
        TileBasic.Obj       := OBJ_NONE; // No object
        TileBasic.IsCustom  := False;
        TileBasic.BlendingLvl := DEFAULT_BLENDING_LVL;
        TileBasic.LayersCnt := 0;
      end
      else
  