Safe Haskell | None |
---|---|
Language | Haskell2010 |
The type of cave layout kinds.
- data CaveKind = CaveKind {
- csymbol :: !Char
- cname :: !Text
- cfreq :: !(Freqs CaveKind)
- cxsize :: !X
- cysize :: !Y
- cgrid :: !DiceXY
- cminPlaceSize :: !DiceXY
- cmaxPlaceSize :: !DiceXY
- cdarkChance :: !Dice
- cnightChance :: !Dice
- cauxConnects :: !Rational
- cmaxVoid :: !Rational
- cminStairDist :: !Int
- cdoorChance :: !Chance
- copenChance :: !Chance
- chidden :: !Int
- cactorCoeff :: !Int
- cactorFreq :: !(Freqs ItemKind)
- citemNum :: !Dice
- citemFreq :: !(Freqs ItemKind)
- cplaceFreq :: !(Freqs PlaceKind)
- cpassable :: !Bool
- cdefTile :: !(GroupName TileKind)
- cdarkCorTile :: !(GroupName TileKind)
- clitCorTile :: !(GroupName TileKind)
- cfillerTile :: !(GroupName TileKind)
- couterFenceTile :: !(GroupName TileKind)
- clegendDarkTile :: !(GroupName TileKind)
- clegendLitTile :: !(GroupName TileKind)
- validateSingleCaveKind :: CaveKind -> [Text]
- validateAllCaveKind :: [CaveKind] -> [Text]
Documentation
Parameters for the generation of dungeon levels. Warning: for efficiency, avoid embedded items in any of the common tiles.
CaveKind | |
|
validateSingleCaveKind :: CaveKind -> [Text] Source
Catch caves with not enough space for all the places. Check the size of the cave descriptions to make sure they fit on screen. Etc.
validateAllCaveKind :: [CaveKind] -> [Text] Source
Validate all cave kinds. Note that names don't have to be unique: we can have several variants of a cave with a given name.