werewolf-1.5.0.0: app/Game/Werewolf/Message/Error.hs
{-|
Module : Game.Werewolf.Message.Error
Description : Suite of error messages used throughout the game.
Copyright : (c) Henry J. Wylde, 2016
License : BSD3
Maintainer : public@hjwylde.com
A 'Message' is used to relay information back to either all players or a single player. This module
defines suite of error messages used throughout the werewolf game.
-}
module Game.Werewolf.Message.Error (
-- * Command
-- ** Boot
playerHasAlreadyVotedToBootMessage,
-- ** Choose
playerCannotChooseJesterMessage, playerCannotChooseSelfMessage, playerCannotChooseZombieMessage,
playerMustChooseAtLeastOneTargetMessage,
-- ** General
noGameRunningMessage, playerCannotDoThatMessage, playerCannotDoThatRightNowMessage,
playerIsDeadMessage, playerDoesNotExistMessage, targetIsDeadMessage,
-- ** Heal
playerHasAlreadyHealedMessage,
-- ** Poison
playerHasAlreadyPoisonedMessage,
-- ** Protect
playerCannotProtectSamePlayerTwiceInARowMessage,
-- ** Start
gameAlreadyRunningMessage, mustHaveAtLeast7PlayersMessage, playerNamesMustBeUniqueMessage,
roleCountRestrictedMessage, roleDoesNotExistMessage, variantDoesNotExistMessage,
-- ** Unvote
playerHasNotVotedMessage,
-- ** Vote
playerHasAlreadyVotedMessage, playerCannotDevourAnotherWerewolfMessage,
) where
import Data.Text (Text)
import Game.Werewolf.Player
import Game.Werewolf.Response
import Game.Werewolf.Role
import Game.Werewolf.Variant.Standard.Error
playerHasAlreadyVotedToBootMessage :: Text -> Player -> Message
playerHasAlreadyVotedToBootMessage to = privateMessage to . callerAlreadyVotedBootText
playerCannotChooseJesterMessage :: Text -> Message
playerCannotChooseJesterMessage to = privateMessage to callerCannotChooseJesterText
playerCannotChooseSelfMessage :: Text -> Message
playerCannotChooseSelfMessage to = privateMessage to callerCannotChooseSelfText
playerCannotChooseZombieMessage :: Text -> Message
playerCannotChooseZombieMessage to = privateMessage to callerCannotChooseZombieText
playerMustChooseAtLeastOneTargetMessage :: Text -> Message
playerMustChooseAtLeastOneTargetMessage to = privateMessage to noTargetText
noGameRunningMessage :: Text -> Message
noGameRunningMessage to = privateMessage to noGameRunningText
playerCannotDoThatMessage :: Text -> Message
playerCannotDoThatMessage to = privateMessage to callerCannotDoThatText
playerCannotDoThatRightNowMessage :: Text -> Message
playerCannotDoThatRightNowMessage to = privateMessage to callerCannotDoThatRightNowText
playerIsDeadMessage :: Text -> Message
playerIsDeadMessage to = privateMessage to callerDeadText
playerDoesNotExistMessage :: Text -> Text -> Message
playerDoesNotExistMessage to = privateMessage to . playerDoesNotExistText
targetIsDeadMessage :: Text -> Player -> Message
targetIsDeadMessage to = privateMessage to . targetDeadText
playerHasAlreadyHealedMessage :: Text -> Message
playerHasAlreadyHealedMessage to = privateMessage to callerAlreadyHealedText
playerHasAlreadyPoisonedMessage :: Text -> Message
playerHasAlreadyPoisonedMessage to = privateMessage to callerAlreadyPoisonedText
playerCannotProtectSamePlayerTwiceInARowMessage :: Text -> Message
playerCannotProtectSamePlayerTwiceInARowMessage to = privateMessage to callerCannotProtectSamePlayerText
gameAlreadyRunningMessage :: Text -> Message
gameAlreadyRunningMessage to = privateMessage to gameAlreadyRunningText
mustHaveAtLeast7PlayersMessage :: Text -> Message
mustHaveAtLeast7PlayersMessage to = privateMessage to playerCountTooLowText
playerNamesMustBeUniqueMessage :: Text -> Message
playerNamesMustBeUniqueMessage to = privateMessage to playerNamesNotUniqueText
roleCountRestrictedMessage :: Text -> Role -> Message
roleCountRestrictedMessage to = privateMessage to . roleCountRestrictedText
roleDoesNotExistMessage :: Text -> Text -> Message
roleDoesNotExistMessage to = privateMessage to . roleDoesNotExistText
variantDoesNotExistMessage :: Text -> Text -> Message
variantDoesNotExistMessage to = privateMessage to . variantDoesNotExistText
playerHasNotVotedMessage :: Text -> Message
playerHasNotVotedMessage to = privateMessage to callerNotVotedText
playerHasAlreadyVotedMessage :: Text -> Message
playerHasAlreadyVotedMessage to = privateMessage to callerAlreadyVotedText
playerCannotDevourAnotherWerewolfMessage :: Text -> Message
playerCannotDevourAnotherWerewolfMessage to = privateMessage to callerCannotDevourAnotherWerewolfText