Copyright | (c) Henry J. Wylde, 2016 |
---|---|
License | BSD3 |
Maintainer | public@hjwylde.com |
Safe Haskell | None |
Language | Haskell2010 |
- data Player
- name :: Lens' Player Text
- role :: Lens' Player Role
- state :: Lens' Player State
- data State
- _Alive :: Prism' State ()
- _Dead :: Prism' State ()
- newPlayer :: Text -> Role -> Player
- alphaWolf :: Traversal' Player ()
- beholder :: Traversal' Player ()
- crookedSenator :: Traversal' Player ()
- druid :: Traversal' Player ()
- dullahan :: Traversal' Player ()
- fallenAngel :: Traversal' Player ()
- hunter :: Traversal' Player ()
- jester :: Traversal' Player ()
- lycan :: Traversal' Player ()
- medusa :: Traversal' Player ()
- oracle :: Traversal' Player ()
- orphan :: Traversal' Player ()
- protector :: Traversal' Player ()
- scapegoat :: Traversal' Player ()
- seer :: Traversal' Player ()
- simpleVillager :: Traversal' Player ()
- simpleWerewolf :: Traversal' Player ()
- spitefulGhost :: Traversal' Player ()
- trueVillager :: Traversal' Player ()
- villageDrunk :: Traversal' Player ()
- witch :: Traversal' Player ()
- loner :: Traversal' Player ()
- villager :: Traversal' Player ()
- werewolf :: Traversal' Player ()
- names :: Traversable t => Traversal' (t Player) Text
- roles :: Traversable t => Traversal' (t Player) Role
- states :: Traversable t => Traversal' (t Player) State
- named :: Text -> Traversal' Player Player
- alphaWolves :: Traversable t => Traversal' (t Player) Player
- beholders :: Traversable t => Traversal' (t Player) Player
- crookedSenators :: Traversable t => Traversal' (t Player) Player
- druids :: Traversable t => Traversal' (t Player) Player
- dullahans :: Traversable t => Traversal' (t Player) Player
- fallenAngels :: Traversable t => Traversal' (t Player) Player
- hunters :: Traversable t => Traversal' (t Player) Player
- jesters :: Traversable t => Traversal' (t Player) Player
- lycans :: Traversable t => Traversal' (t Player) Player
- medusas :: Traversable t => Traversal' (t Player) Player
- oracles :: Traversable t => Traversal' (t Player) Player
- orphans :: Traversable t => Traversal' (t Player) Player
- protectors :: Traversable t => Traversal' (t Player) Player
- scapegoats :: Traversable t => Traversal' (t Player) Player
- seers :: Traversable t => Traversal' (t Player) Player
- simpleVillagers :: Traversable t => Traversal' (t Player) Player
- simpleWerewolves :: Traversable t => Traversal' (t Player) Player
- spitefulGhosts :: Traversable t => Traversal' (t Player) Player
- trueVillagers :: Traversable t => Traversal' (t Player) Player
- villageDrunks :: Traversable t => Traversal' (t Player) Player
- witches :: Traversable t => Traversal' (t Player) Player
- loners :: Traversable t => Traversal' (t Player) Player
- villagers :: Traversable t => Traversal' (t Player) Player
- werewolves :: Traversable t => Traversal' (t Player) Player
- alive :: Traversal' Player Player
- dead :: Traversal' Player Player
Player
newPlayer :: Text -> Role -> Player Source #
Creates a new Alive
player, with one exception: a spitefulGhost
always starts Dead
.
Traversals
alphaWolf :: Traversal' Player () Source #
The traversal of Player
s with an alphaWolfRole
.
alphaWolf
=role
.only
alphaWolfRole
beholder :: Traversal' Player () Source #
The traversal of Player
s with a beholderRole
.
beholder
=role
.only
beholderRole
crookedSenator :: Traversal' Player () Source #
The traversal of Player
s with a crookedSenatorRole
.
crookedSenator
=role
.only
crookedSenatorRole
druid :: Traversal' Player () Source #
dullahan :: Traversal' Player () Source #
The traversal of Player
s with a dullahanRole
.
dullahan
=role
.only
dullahanRole
fallenAngel :: Traversal' Player () Source #
The traversal of Player
s with a fallenAngelRole
.
fallenAngel
=role
.only
fallenAngelRole
hunter :: Traversal' Player () Source #
The traversal of Player
s with a hunterRole
.
hunter
=role
.only
hunterRole
jester :: Traversal' Player () Source #
The traversal of Player
s with a jesterRole
.
jester
=role
.only
jesterRole
lycan :: Traversal' Player () Source #
medusa :: Traversal' Player () Source #
The traversal of Player
s with a medusaRole
.
medusa
=role
.only
medusaRole
oracle :: Traversal' Player () Source #
The traversal of Player
s with a oracleRole
.
oracle
=role
.only
oracleRole
orphan :: Traversal' Player () Source #
The traversal of Player
s with an orphanRole
.
orphan
=role
.only
orphanRole
protector :: Traversal' Player () Source #
The traversal of Player
s with a protectorRole
.
protector
=role
.only
protectorRole
scapegoat :: Traversal' Player () Source #
The traversal of Player
s with a scapegoatRole
.
scapegoat
=role
.only
scapegoatRole
seer :: Traversal' Player () Source #
simpleVillager :: Traversal' Player () Source #
The traversal of Player
s with a simpleVillagerRole
.
simpleVillager
=role
.only
simpleVillagerRole
simpleWerewolf :: Traversal' Player () Source #
The traversal of Player
s with a simpleWerewolfRole
.
simpleWerewolf
=role
.only
simpleWerewolfRole
spitefulGhost :: Traversal' Player () Source #
The traversal of Player
s with a spitefulGhostRole
.
spitefulGhost
=role
.only
spitefulGhostRole
trueVillager :: Traversal' Player () Source #
The traversal of Player
s with a trueVillagerRole
.
trueVillager
=role
.only
trueVillagerRole
villageDrunk :: Traversal' Player () Source #
The traversal of Player
s with a villageDrunkRole
.
villageDrunk
=role
.only
villageDrunkRole
witch :: Traversal' Player () Source #
loner :: Traversal' Player () Source #
villager :: Traversal' Player () Source #
The traversal of Player
s aligned with the Villagers
.
villager
=role
.allegiance
._Villagers
werewolf :: Traversal' Player () Source #
The traversal of Player
s aligned with the Werewolves
.
werewolf
=role
.allegiance
._Werewolves
The following traversals are provided just as a bit of sugar to avoid continually writing
.traverse
.
names :: Traversable t => Traversal' (t Player) Text Source #
roles :: Traversable t => Traversal' (t Player) Role Source #
states :: Traversable t => Traversal' (t Player) State Source #
N.B., the following traversals are not legal for the same reason filtered
isn't!
named :: Text -> Traversal' Player Player Source #
This Traversal
provides the traversal of Player
s with the given name.
named
name' =filteredBy
.name
name'
alphaWolves :: Traversable t => Traversal' (t Player) Player Source #
beholders :: Traversable t => Traversal' (t Player) Player Source #
crookedSenators :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of crookedSenator
Player
s.
crookedSenators
=traverse
.filtered
(is
crookedSenator
)
druids :: Traversable t => Traversal' (t Player) Player Source #
dullahans :: Traversable t => Traversal' (t Player) Player Source #
fallenAngels :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of fallenAngel
Player
s.
fallenAngels
=traverse
.filtered
(is
fallenAngel
)
hunters :: Traversable t => Traversal' (t Player) Player Source #
jesters :: Traversable t => Traversal' (t Player) Player Source #
lycans :: Traversable t => Traversal' (t Player) Player Source #
medusas :: Traversable t => Traversal' (t Player) Player Source #
oracles :: Traversable t => Traversal' (t Player) Player Source #
orphans :: Traversable t => Traversal' (t Player) Player Source #
protectors :: Traversable t => Traversal' (t Player) Player Source #
scapegoats :: Traversable t => Traversal' (t Player) Player Source #
seers :: Traversable t => Traversal' (t Player) Player Source #
simpleVillagers :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of simpleVillager
Player
s.
simpleVillagers
=traverse
.filtered
(is
simpleVillager
)
simpleWerewolves :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of simpleWerewolf
Player
s.
simpleWerewolves
=traverse
.filtered
(is
simpleWerewolf
)
spitefulGhosts :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of spitefulGhost
Player
s.
spitefulGhosts
=traverse
.filtered
(is
spitefulGhost
)
trueVillagers :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of trueVillager
Player
s.
trueVillagers
=traverse
.filtered
(is
trueVillager
)
villageDrunks :: Traversable t => Traversal' (t Player) Player Source #
This Traversal
provides the traversal of villageDrunk
Player
s.
villageDrunks
=traverse
.filtered
(is
villageDrunk
)
witches :: Traversable t => Traversal' (t Player) Player Source #
loners :: Traversable t => Traversal' (t Player) Player Source #
villagers :: Traversable t => Traversal' (t Player) Player Source #
werewolves :: Traversable t => Traversal' (t Player) Player Source #