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

Copyright(c) Henry J. Wylde, 2016
LicenseBSD3
Maintainerpublic@hjwylde.com
Safe HaskellNone
LanguageHaskell2010

Game.Werewolf.Role

Contents

Description

Roles are split into four categories:

  • The Ambiguous.
  • The Loners.
  • The Villagers.
  • The Werewolves.

Synopsis

Role

data Role Source

Role definitions require only a few pieces of information. Most of the game logic behind a role is implemented in Game.Werewolf.Command and Game.Werewolf.Engine.

The balance attribute on a role indicates the allegiance it favours. For example, a Simple Werewolf has a balance of -4 while the Seer has a balance of 2. A balance of 0 means it favours neither allegiance.

N.B., role equality is defined on just the name as a role's allegiance may change throughout the game.

data Allegiance Source

The NoOne allegiance is used for the Loners. It is not used to determine who has won (i.e., if one Loner wins, the others still lose).

Constructors

NoOne 
Villagers 
Werewolves 

Instances

allRoles :: [Role] Source

A list containing all the roles defined in this file.

restrictedRoles :: [Role] Source

A list containing roles that are restricted to a single instance per Game.

  restrictedRoles = allRoles \\ [simpleVillagerRole, simpleWerewolfRole]
  

The Ambiguous

No-one knows the true nature of the Ambiguous, sometimes not even the Ambiguous themselves!

The Ambiguous are able to change allegiance throughout the game.

orphanRole :: Role Source

Abandoned by their parents as a child, with no-one wanting to look after another mouth to feed, the Orphan was left to fend for themself. No-one looked twice at the Orphan and even fewer showed kindness towards the lonely child. One day however, one townsperson changed all this. He offered the Orphan food, water and a roof over their head. Grateful for his chairty and affection, the Orphan made him their role model. Pray that no ill should befall their role model, for they are the only one conforming the Orphan as a Villager.

On the first night, the Orphan chooses a player to become their role model. So long as the role model is alive, the Orphan is a Villager. If however the role model is eliminated, then the Orphan becomes a Werewolf.

villageDrunkRole :: Role Source

Hah, maybe not as liked as the Jester, but the Drunk sure does their fair share of stupid things in the night! No-one knows if they even actually make it home; sometimes people see them sleeping outside the Blacksmith's home, others say they see them wandering towards the woods. It's pointless quizzing the Village Drunk in the morning about their doings; they can never remember what they did!

The Village Drunk is initially aligned with the Villagers.

On the third night the Village Drunk sobers up and is randomly assigned a new alignment, either Villagers or Werewolves.

The Loners

The Loners look out for themselves and themselves alone.

fallenAngelRole :: Role Source

Long ago during the War in Heaven, angels fell from the sky as one by one those that followed Lucifer were defeated. For centuries they lived amongst mortal Villagers as punishment for their sins and wrongdoings. The Fallen Angel was one such being and is now one of the few angels left on Earth. Nothing is worse punishment for them, the Fallen Angel yearns for death to once again be free!

When the Fallen Angel is in play, the game begins with the village's vote and then the first night.

The Fallen Angel wins if they manage to get eliminated on the first round (day or night). If however they fail, they become a Villager for the rest of the game.

The Villagers

Fraught with fear of the unseen enemy, the Villagers must work together to determine the truth and eliminate the threat to Fougères. The task before them will not be easy, but a certain few have learnt some tricks over the years that may turn out rather useful.

beholderRole :: Role Source

Awareness comes easy to the Beholder. They listen to their senses and trust their hunches. Over the years the Beholder has grown to know a certain few of the village just by paying attention. Little cues here and there, the way someone talks, the way they move - it all gives clues as to their true nature and role.

At the start of the game the Beholder is informed the Seer's identity.

crookedSenatorRole :: Role Source

Never trust a politician. Nor a Crooked Senator for that matter. The Crooked Senator may seem like he has the village's best interests at heart, but let's be honest, when put in a tough situation he looks after no-one but himself. Even when safe, the Crooked Senator may decide to toy with the Villagers' emotions and try pit them against one another.

The Crooked Senator looks at the village votes as they come in.

druidRole :: Role Source

How honoured we are to be in the presence of such a noble leader. The return of the Druid marks an exceptional time in Fougères's history! Friend of the woodland creatures, practiced philosopher and now, with the help of Ferina their companion, a bane to the Werewolves themselves! My does she have a nose on her, strong enough to sniff out lycanthropes in close proximity! Listen for her grunt and heed her warning for she will not let you down.

Each morning when Ferina wakes from her slumber she will be alert and cautious. If the Druid is next to a Werewolf then Ferina will grunt in warning.

hunterRole :: Role Source

A skilled marksman with quick reflexes. In the unfortunate situation that they are jumped and killed unjustly, they let off a shot at their attacker, killing them instantly. The Hunter never misses.

If the Hunter is killed they choose one player, believed to be an attacker, to kill immediately.

jesterRole :: Role Source

Every village needs a Jester; they're so stupid, but provide so much entertainment! The Jester may not have any special abilities, but at least no-one in the village wants to hurt them.

If the village votes to lynch the Jester, their identity is revealed. The village realise there's no point in burning them and so they are set free.

The Jester continues to play but may no longer vote as no-one can take them seriously.

lycanRole :: Role Source

Traditionally a Werewolf once transformed loses all memories and personality. Over years of transforming, the Lycan has slowly evolved and learnt how to retain themself. Night after night of devouring with the other Werewolves took its toll. The screams alone were enough to turn the Lycan and make them question their true nature.

The Lycan is aligned with the Villagers, but appears to nature-seeing roles (e.g., the Seer) as a Werewolf.

protectorRole :: Role Source

The Protector is one of the few pure of heart and altruistic Villagers; they are forever putting others needs above their own. Each night they fight against the Werewolves with naught but a sword and shield, potentially saving an innocents life.

Each night the Protector chooses a player deemed worthy of their protection. That player is safe for that night (and only that night) against the Werewolves.

The Protector may not protect the same player two nights in a row.

scapegoatRole :: Role Source

Werewolves don't just spring up out of the ground! That's where dwarves come from. Clearly someone is to blame for this affliction to Fougères. Unluckily for the Scapegoat, since no-one actually knows who brought them here, the blame is always laid upon them!

If the village's vote ends in a tie, it's the Scapegoat who is eliminated instead of no-one.

In this event, the Scapegoat has one last task to complete: they must choose whom is permitted to vote or not on the next day.

seerRole :: Role Source

The Seer has the ability to see into fellow townsfolk and determine their true nature. This ability to see is not given out lightly, for certain it is a gift! The visions will always be true, but only for the present as not even the Seer knows what the future holds.

Each night the Seer sees the allegiance of one player of their choice.

simpleVillagerRole :: Role Source

A simple, ordinary townsperson in every way. Some may be cobblers, others bakers or even nobles. No matter their differences though, the plight of Werewolves in Fougères unites all the Villagers in this unfortunate time.

The Simple Villager has no special abilities, they must use their guile to determine whom among them is not who they say they are.

trueVillagerRole :: Role Source

The True Villager has a heart and soul as clear as day! Their allegiance and devotion to the village are beyond reproach. If there is one person whom you should confide in, listen to and trust, it is the True Villager.

At the start of the game the True Villager's identity is revealed.

witchRole :: Role Source

Somehow forgotten with the coming of the Werewolves, the Witch has a chance to prove themself valuable to the village and maybe abolish the absurd pastime of burning and drowning their cult. The Witch is blessed (or maybe cursed) with the ability to make two powerful potions; one of which heals a victim of the Werewolves, the other poisons a player.

The Witch is called after the Werewolves. They are able to heal and poison one player per game. There is no restriction on using both potions in one night or to heal themself.

The Werewolves

Hiding in plain sight, the Werewolves are not a small trifle.

alphaWolfRole :: Role Source

The Alpha Wolf leads the Werewolves in the raids against Fougères each night and not even the Seer can see them coming. If the Werewolves caused the Villagers to question and accuse one another beforehand, the Alpha Wolf eliminates any shred of humanity left. No-one can be trusted anymore and no-one knows the truth.

The Alpha Wolf appears to nature-seeing roles (e.g., the Seer) as a Villager.

simpleWerewolfRole :: Role Source

The Simple Werewolf is a fearsome lupine, cunning like no other creature that roams the forest. Their origin is unknown, but that matters little, for they present a grave threat to Fougères. While each day they hide in plain sight as an ordinary Villager, each night they transform and devour an innocent. There is little hope left for the village.

A Werewolf may never devour another Werewolf.