 	generateCave: (path, level, connections) ->
 		map = MapGen.generateCellularAutomata path, level, connections, 100, 50
 
+		@generateCaveEntities map, path, level
+
 		map
-
-	handleCreatures: (map, path, level) ->
-		if level > 1
-			@generateCaveEntities map, path, (level - 1)
 
 	generateCaveEntities: (map, path, level) ->
 		## Creatures

		[path, level] = id.split '-'
		level = Number level

		map = @handleMap id, path, level

		map.id = id

		FeatureGen.generateFeatures path, level, map
		@handleCreatures map, path, level

		map


			@addConnection thisMap, name, map, target

	handleMap: (id, path, level) ->
		connections = @getConnections id

		map =
			if level is 1
				@generateStart path, 1, connections

			else if level > 1
				@generateCave path, (level - 1), connections

		FeatureGen.generateFeatures path, level, map

		map

	generateStart: (path, level, connections) ->
		MapGen.generateBigRoom path, level, connections, 80, 21
