public void HillGen(int baseSize, int height, int stretchX, int stretchY, int stretchBase) { AreaGen area = new AreaGen(); area.StretchedMazeGen(baseSize, 0.5, stretchX, stretchY, stretchBase, false, 1, 0.10, 1, 0); Width = area.Width; Height = area.Height; _tiles = area._tiles; Center = area.Center; area.FillCorners(); for (int k = 1; k <= height; k++) { int skx = (stretchX - 1) * k * 5 / stretchX; int sky = (stretchY - 1) * k * 5 / stretchY; AreaGen area2 = new AreaGen(); area2.StretchedMazeGen((int)(baseSize * Math.Pow(0.6, Math.Pow(k, 1.5))), 0.5, stretchX + skx, stretchY + sky, (int)(stretchBase * 0.9 / (k + 1)), false, 1, 0.15, 1, 0); area2.FillCorners(); for (int i = 0; i < area2.Width; i++) { for (int j = 0; j < area2.Height; j++) { if (area2._tiles[i, j] != AreaTileType.Depth) { _tiles[Center.X - area2.Center.X + i, Center.Y - area2.Center.Y + j] = area2._tiles[i, j]; } } } } }