LambdaHack-0.2.14: A roguelike game engine in early development

Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Content.PlaceKind

Description

The type of kinds of rooms, halls and passages.

Synopsis

Documentation

data PlaceKind Source

Parameters for the generation of small areas within a dungeon level.

Constructors

PlaceKind 

Fields

psymbol :: !Char

a symbol

pname :: !Text

short description

pfreq :: !Freqs

frequency within groups

prarity :: ![(Int, Int)]

rarity on given depths

pcover :: !Cover

how to fill whole place based on the corner

pfence :: !Fence

whether to fence the place with solid border

ptopLeft :: ![Text]

plan of the top-left corner of the place

poverride :: ![(Char, Text)]

legend override, ignoring tile symbol

Instances

data Cover Source

A method of filling the whole area (except for CVerbatim, which is just placed in the middle of the area), by transforming a given corner.

Constructors

CAlternate

reflect every other corner, overlapping 1 row and column

CStretch

fill symmetrically 4 corners and stretch their borders

CReflect

tile separately and symmetrically quarters of the place

CVerbatim

just build the given interior, without filling the area

Instances

data Fence Source

The choice of a fence type for the place.

Constructors

FWall

put a solid wall fence around the place

FFloor

leave an empty floor space around the place

FNone

skip the fence and fill all with the place proper

Instances

validatePlaceKind :: [PlaceKind] -> [PlaceKind] Source

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

Verify that the top-left corner map is rectangular and not empty.