LambdaHack-0.10.3.0: A game engine library for tactical squad ASCII roguelike dungeon crawlers
Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Content.PlaceKind

Description

The type of place kinds. Every room in the game is an instantiated place kind.

Synopsis

Documentation

data PlaceKind Source #

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

Constructors

PlaceKind 

Fields

Instances

Instances details
Show PlaceKind Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

data Cover Source #

A method of filling the whole area (except for CVerbatim and CMirror, which are 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

CMirror

build the given interior in one of 4 mirrored variants

Instances

Instances details
Eq Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

(==) :: Cover -> Cover -> Bool #

(/=) :: Cover -> Cover -> Bool #

Show Cover Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

showsPrec :: Int -> Cover -> ShowS #

show :: Cover -> String #

showList :: [Cover] -> ShowS #

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 space, like the room's floor

FGround

leave an empty space, like the cave's ground

FNone

skip the fence and fill all with the place proper

Instances

Instances details
Eq Fence Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

(==) :: Fence -> Fence -> Bool #

(/=) :: Fence -> Fence -> Bool #

Show Fence Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Methods

showsPrec :: Int -> Fence -> ShowS #

show :: Fence -> String #

showList :: [Fence] -> ShowS #

data PlaceEntry Source #

Places are rooms and other dungeon features, their names can be seen on a level map by aiming at a position that is an entry to the place (an individual entrance point, an approach area around the place or a phantom entry not on the map, but only used for statistics to witness the place exists). Entries are proxies for initial places created on the level (which may be otherwise eradicated by burrowing the walls, etc.) and so used for dungeon statistics. The statistics are presented in the Dashboard/displace place lore menu.

Instances

Instances details
Eq PlaceEntry Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Show PlaceEntry Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Generic PlaceEntry Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Associated Types

type Rep PlaceEntry :: Type -> Type #

Binary PlaceEntry Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

type Rep PlaceEntry Source # 
Instance details

Defined in Game.LambdaHack.Content.PlaceKind

Internal operations

validateSingle :: ContentData TileKind -> PlaceKind -> [Text] Source #

Catch invalid place kind definitions. In particular, verify that the top-left corner map is rectangular and not empty.

validateAll :: [PlaceKind] -> ContentData PlaceKind -> [Text] Source #

Validate all place kinds.