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

Safe HaskellNone



The type of cave layout kinds.



data CaveKind Source

Parameters for the generation of dungeon levels.




csymbol :: Char

a symbol

cname :: String

short description

cfreq :: Freqs

frequency within groups

cxsize :: X

X size of the whole cave

cysize :: Y

Y size of the whole cave

cgrid :: RollDiceXY

the dimensions of the grid of places

cminPlaceSize :: RollDiceXY

minimal size of places

cdarkChance :: RollDeep

the chance a place is dark

cauxConnects :: Rational

a proportion of extra connections

cvoidChance :: Chance

the chance of not creating a place

cnonVoidMin :: Int

extra places, may overlap except two

cminStairDist :: Int

minimal distance between stairs

cdoorChance :: Chance

the chance of a door in an opening

copenChance :: Chance

if there's a door, is it open?

chiddenChance :: Chance

if not open, is it hidden?

citemNum :: RollDice

the number of items in the cave

cdefaultTile :: String

the default cave tile group name

ccorridorTile :: String

the cave corridor tile group name

cfillerTile :: String

the filler wall group name

cdarkLegendTile :: String

the dark place plan legend ground name

clitLegendTile :: String

the lit place plan legend ground name

chiddenTile :: String

the hidden tiles ground name


cvalidate :: [CaveKind] -> [CaveKind]Source

Filter a list of kinds, passing through only the incorrect ones, if any.

Catch caves with not enough space for all the places. Check the size of the cave descriptions to make sure they fit on screen.