Safe Haskell | None |
---|---|
Language | Haskell2010 |
The type of cave kinds.
Synopsis
- 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
- cextraStairs :: Dice
- 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
- cescapeGroup :: Maybe (GroupName PlaceKind)
- cstairFreq :: Freqs PlaceKind
- cdesc :: Text
- makeData :: ContentData ItemKind -> ContentData PlaceKind -> ContentData TileKind -> [CaveKind] -> ContentData CaveKind
- validateSingle :: CaveKind -> [Text]
- validateAll :: ContentData ItemKind -> ContentData PlaceKind -> ContentData TileKind -> [CaveKind] -> ContentData CaveKind -> [Text]
Documentation
Parameters for the generation of dungeon levels. Warning: for efficiency, avoid embedded items in any of the common tiles.
CaveKind | |
|
Instances
makeData :: ContentData ItemKind -> ContentData PlaceKind -> ContentData TileKind -> [CaveKind] -> ContentData CaveKind Source #
Internal operations
validateSingle :: 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.
validateAll :: ContentData ItemKind -> ContentData PlaceKind -> ContentData TileKind -> [CaveKind] -> ContentData 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.