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

Safe HaskellNone

Game.LambdaHack.Content.ModeKind

Description

The type of kinds of game modes.

Synopsis

Documentation

type Caves = EnumMap LevelId (Text, Maybe Bool)Source

Requested cave groups for particular levels. The default is the dng group, which means a random choice from all caves that can randomly appear. The second component of the pair is the Escape feature on the level. True means it's represented by @False@, by @.

data Players Source

The specification of players for the game mode.

Constructors

Players 

Fields

playersList :: ![Player]

players, both human and computer

playersEnemy :: ![(Text, Text)]

the initial enmity matrix

playersAlly :: ![(Text, Text)]

the initial aliance matrix

Instances

data Player Source

Properties of a particular player.

Constructors

Player 

Fields

playerName :: !Text

name of the player

playerFaction :: !Text

name of faction(s) the player can control

playerEntry :: !LevelId

level where the initial members start

playerInitial :: !Int

number of initial members

playerAiLeader :: !Bool

is the leader under AI control?

playerAiOther :: !Bool

are the others under AI control?

playerHuman :: !Bool

is the player considered human and so, e.g., eligible for a high score?

playerUI :: !Bool

does the faction have a UI client (for control or passive observation)

data ModeKind Source

Game mode specification.

Constructors

ModeKind 

Fields

msymbol :: !Char

a symbol (matches the keypress, if any)

mname :: !Text

short description

mfreq :: !Freqs

frequency within groups

mplayers :: !Players

players taking part in the game

mcaves :: !Caves

arena of the game

Instances

mvalidate :: [ModeKind] -> [ModeKind]Source

No specific possible problems for the content of this kind, so far, so the validation function always returns the empty list of offending kinds.