packages feed

werewolf 0.2.0.0 → 0.2.0.1

raw patch · 5 files changed

+26/−26 lines, 5 files

Files

CHANGELOG.md view
@@ -2,6 +2,13 @@  #### Upcoming +#### v0.2.0.1++*Revisions*++* Tidied up the help text to be smaller. ([#26](https://github.com/hjwylde/werewolf/issues/26))+* Fixed a bug where the turn was advanced to Werewolves when no Werewolves were alive. ([#26](https://github.com/hjwylde/werewolf/issues/26))+ #### v0.2.0.0  *Major*
app/Werewolf/Commands/Help.hs view
@@ -61,31 +61,22 @@  commandsMessages :: [Text] commandsMessages = map T.unlines [[-    "Usage: COMMAND ARG ..."-    ], [-    "Available commands:",-    "  end - end the current game",-    "  help - help documents",-    "  see - see a player's allegiance",-    "  start - start a new game",-    "  vote - vote against a player"-    ], [-    "End:",+    "End: end the current game",     "Usage: end",-    "  Ends the current game."+    "- Ends the current game."     ], [-    "See:",+    "See: see a player's allegiance",     "Usage: see PLAYER",-    "  See a player's allegiance. A Seer may determine a player's allegiance once per day."+    "- See a player's allegiance. A Seer may determine a player's allegiance once per day."     ], [-    "Start:",-    "Usage: start PLAYER ...",-    "  Starts a new game with the given players. A game requires at least 7 players."+    "Start: start a new game",+    "Usage: start [--extra-roles ROLE,...] PLAYER ...",+    "- Starts a new game with the given players and extra roles. A game requires at least 7 players."     ], [-    "Vote:",+    "Vote: vote against a player",     "Usage: vote PLAYER",     T.unwords [-        "  Vote against a player.",+        "- Vote against a player.",         "A townsperson may vote at daytime to lynch someone",         "and a Werewolf may vote at nighttime to kill a Villager."         ]
src/Game/Werewolf/Engine.hs view
@@ -127,7 +127,9 @@     turn' <- use turn     alivePlayers <- uses players filterAlive -    let nextTurn = head . drop1 $ filter (turnAvailable alivePlayers) (dropWhile (turn' /=) turnRotation)+    let nextTurn = if length (nub $ map (_allegiance . _role) alivePlayers) <= 1+        then NoOne+        else head . drop1 $ filter (turnAvailable alivePlayers) (dropWhile (turn' /=) turnRotation)      tell $ turnMessages nextTurn alivePlayers @@ -135,10 +137,10 @@     sees    .= Map.empty     votes   .= Map.empty     where-        turnAvailable alivePlayers Seers    = not . null $ filterSeers alivePlayers-        turnAvailable _ Villagers           = True-        turnAvailable _ Werewolves          = True-        turnAvailable _ NoOne               = False+        turnAvailable alivePlayers Seers        = not . null $ filterSeers alivePlayers+        turnAvailable alivePlayers Villagers    = not . null $ filterVillagers alivePlayers+        turnAvailable alivePlayers Werewolves   = not . null $ filterWerewolves alivePlayers+        turnAvailable _ NoOne                   = False  checkGameOver :: (MonadState Game m, MonadWriter [Message] m) => m () checkGameOver = do
src/Game/Werewolf/Response.hs view
@@ -125,7 +125,7 @@ turnMessages Seers players      = seersTurnMessages $ filter isSeer players turnMessages Villagers _        = [villagersTurnMessage] turnMessages Werewolves players = werewolvesTurnMessages $ filter isWerewolf players-turnMessages NoOne _            = undefined+turnMessages NoOne _            = []  seersTurnMessages :: [Player] -> [Message] seersTurnMessages seers = nightFallsMessage:(publicMessage "The Seers wake up."):(map (\seer -> privateMessage [seer ^. name] "Who's allegiance would you like to see?") seers)
werewolf.cabal view
@@ -1,5 +1,5 @@ name:           werewolf-version:        0.2.0.0+version:        0.2.0.1  author:         Henry J. Wylde maintainer:     public@hjwylde.com@@ -14,7 +14,7 @@ license-file:   LICENSE  cabal-version:  >= 1.10-category:       Development+category:       Game build-type:     Simple  extra-source-files: CHANGELOG.md README.md