Safe Haskell | None |
---|---|
Language | Haskell2010 |
The type of game modes.
Synopsis
- pattern CAMPAIGN_SCENARIO :: GroupName ModeKind
- pattern INSERT_COIN :: GroupName ModeKind
- data ModeKind = ModeKind {}
- makeData :: ContentData FactionKind -> [ModeKind] -> [GroupName ModeKind] -> [GroupName ModeKind] -> ContentData ModeKind
- type Caves = [([Int], [GroupName CaveKind])]
- type Roster = [(GroupName FactionKind, [(Int, Dice, GroupName ItemKind)])]
- mandatoryGroups :: [GroupName ModeKind]
- validateSingle :: ContentData FactionKind -> ModeKind -> [Text]
- validateAll :: [ModeKind] -> ContentData ModeKind -> [Text]
- validateSingleRoster :: ContentData FactionKind -> Caves -> Roster -> [Text]
Documentation
pattern CAMPAIGN_SCENARIO :: GroupName ModeKind Source #
pattern INSERT_COIN :: GroupName ModeKind Source #
Game mode specification.
ModeKind | |
|
makeData :: ContentData FactionKind -> [ModeKind] -> [GroupName ModeKind] -> [GroupName ModeKind] -> ContentData ModeKind Source #
type Caves = [([Int], [GroupName CaveKind])] Source #
Requested cave groups for particular level intervals.
type Roster = [(GroupName FactionKind, [(Int, Dice, GroupName ItemKind)])] Source #
The specification of factions and of levels, numbers and groups of their initial members.
Internal operations
validateSingle :: ContentData FactionKind -> ModeKind -> [Text] Source #
Catch invalid game mode kind definitions.
validateAll :: [ModeKind] -> ContentData ModeKind -> [Text] Source #
Validate game mode kinds together.
validateSingleRoster :: ContentData FactionKind -> Caves -> Roster -> [Text] Source #
Checks, in particular, that there is at least one faction with fneverEmpty or the game would get stuck as soon as the dungeon is devoid of actors.