LambdaHack-0.2.6.5: A roguelike game engine in early and active development

Safe HaskellNone

Game.LambdaHack.Cave

Description

Generation of caves (not yet inhabited dungeon levels) from cave kinds.

Synopsis

Documentation

type TileMapXY = TileMapXYSource

The map of tile kinds in a cave. The map is sparse. The default tile that eventually fills the empty spaces is specified in the cave kind specification with cdefaultTile.

type SecretMapXY = Map PointXY SecretTimeSource

The map of starting secrecy strength of tiles in a cave. The map is sparse. Unspecified tiles have secrecy strength of 0.

type ItemMapXY = Map PointXY ItemSource

The map of starting items in tiles of a cave. The map is sparse. Unspecified tiles have no starting items.

data Cave Source

The type of caves (not yet inhabited dungeon levels).

Constructors

Cave 

Fields

dkind :: !(Id CaveKind)

the kind of the cave

dmap :: TileMapXY

tile kinds in the cave

dsecret :: SecretMapXY

secrecy strength of cave tiles

ditem :: ItemMapXY

starting items in the cave

dmeta :: Text

debug information about the cave

dplaces :: [Place]

places generated in the cave

Instances

buildCaveSource

Arguments

:: COps

content definitions

-> Int

depth of the level to generate

-> Int

maximum depth of the dungeon

-> Id CaveKind

cave kind to use for generation

-> Rnd Cave 

Cave generation by an algorithm inspired by the original Rogue,