werewolf-1.5.1.1: A game engine for playing werewolf within an arbitrary chat client

Copyright | (c) Henry J. Wylde 2016
License | BSD3
Maintainer | public@hjwylde.com
Safe Haskell | None
Language | Haskell2010

Game.Werewolf.Variant

Contents

- Variant
  - Instances
  - Traversals

Description

Variants alter how a game plays out. Either by changing the messages returned, or by changing the game logic.

Synopsis

- data Variant
- tag :: Lens' Variant Text
- name :: Lens' Variant Text
- description :: Lens' Variant Text
- allVariants :: [Variant]
- standardVariant :: Variant
- noRoleKnowledgeVariant :: Variant
- noRoleKnowledgeOrRevealVariant :: Variant
- noRoleRevealVariant :: Variant
- spitefulVillageVariant :: Variant
- standard :: Traversal' Variant ()
- noRoleKnowledge :: Traversal' Variant ()
- noRoleKnowledgeOrReveal :: Traversal' Variant ()
- noRoleReveal :: Traversal' Variant ()
- spitefulVillage :: Traversal' Variant ()

# Variant

data Variant Source #

Variant definitions require only a few pieces of information.

Instances

Eq Variant Source # |
Methods (==) :: Variant -> Variant -> Bool # (/=) :: Variant -> Variant -> Bool #
Read Variant Source # |
Methods readsPrec :: Int -> ReadS Variant # readList :: ReadS [Variant] # readPrec :: ReadPrec Variant # readListPrec :: ReadPrec [Variant] #
Show Variant Source # |
Methods showsPrec :: Int -> Variant -> ShowS # show :: Variant -> String # showList :: [Variant] -> ShowS #
Humanise Variant Source # |
Methods humanise :: Variant -> Text Source #

tag :: Lens' Variant Text Source #

name :: Lens' Variant Text Source #

description :: Lens' Variant Text Source #

## Instances

allVariants :: [Variant] Source #

A list containing all the variants defined in this file.

standardVariant :: Variant Source #

noRoleKnowledgeVariant :: Variant Source #

noRoleKnowledgeOrRevealVariant :: Variant Source #

noRoleRevealVariant :: Variant Source #

spitefulVillageVariant :: Variant Source #

## Traversals

standard :: Traversal' Variant () Source #

The traversal of `standard` `Variant`s.

    standard = only standardVariant

noRoleKnowledge :: Traversal' Variant () Source #

The traversal of `noRoleKnowledge` `Variant`s.

    noRoleKnowledge = only noRoleKnowledgeVariant

noRoleKnowledgeOrReveal :: Traversal' Variant () Source #

The traversal of `noRoleKnowledgeOrReveal` `Variant`s.

    noRoleKnowledgeOrReveal = only noRoleKnowledgeOrRevealVariant

noRoleReveal :: Traversal' Variant () Source #

The traversal of `noRoleReveal` `Variant`s.

    noRoleReveal = only noRoleRevealVariant

spitefulVillage :: Traversal' Variant () Source #

The traversal of `spitefulVillage` `Variant`s.

    spitefulVillage = only spitefulVillageVariant