packages feed

werewolf-1.5.0.0: app/Game/Werewolf/Variant/Standard/Error.hs

{-|
Module      : Game.Werewolf.Variant.Standard.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 for the 'Standard' variant.
-}

{-# LANGUAGE QuasiQuotes #-}

module Game.Werewolf.Variant.Standard.Error (
    -- * Command

    -- ** Boot
    callerAlreadyVotedBootText,

    -- ** Choose
    callerCannotChooseJesterText, callerCannotChooseSelfText, callerCannotChooseZombieText,
    noTargetText,

    -- ** General
    callerCannotDoThatText, callerCannotDoThatRightNowText, callerDeadText, noGameRunningText,
    playerDoesNotExistText, targetDeadText,

    -- ** Heal
    callerAlreadyHealedText,

    -- ** Poison
    callerAlreadyPoisonedText,

    -- ** Protect
    callerCannotProtectSamePlayerText,

    -- ** Start
    gameAlreadyRunningText, playerCountTooLowText, playerNamesNotUniqueText,
    roleCountRestrictedText, roleDoesNotExistText, variantDoesNotExistText,

    -- ** Unvote
    callerNotVotedText,

    -- ** Vote
    callerAlreadyVotedText, callerCannotDevourAnotherWerewolfText,
) where

import Data.String.Humanise
import Data.String.Interpolate.Extra
import Data.Text                     (Text)

import Game.Werewolf

callerAlreadyVotedBootText :: Player -> Text
callerAlreadyVotedBootText target = [iFile|variant/standard/error/command/boot/caller-already-voted-boot.txt|]

callerCannotChooseJesterText :: Text
callerCannotChooseJesterText = [iFile|variant/standard/error/command/choose/caller-cannot-choose-jester.txt|]

callerCannotChooseSelfText :: Text
callerCannotChooseSelfText = [iFile|variant/standard/error/command/choose/caller-cannot-choose-self.txt|]

callerCannotChooseZombieText :: Text
callerCannotChooseZombieText = [iFile|variant/standard/error/command/choose/caller-cannot-choose-zombie.txt|]

noTargetText :: Text
noTargetText = [iFile|variant/standard/error/command/choose/no-target.txt|]

callerCannotDoThatText :: Text
callerCannotDoThatText = [iFile|variant/standard/error/command/general/caller-cannot-do-that.txt|]

callerCannotDoThatRightNowText :: Text
callerCannotDoThatRightNowText = [iFile|variant/standard/error/command/general/caller-cannot-do-that-right-now.txt|]

callerDeadText :: Text
callerDeadText = [iFile|variant/standard/error/command/general/caller-dead.txt|]

noGameRunningText :: Text
noGameRunningText = [iFile|variant/standard/error/command/general/no-game-running.txt|]

playerDoesNotExistText :: Text -> Text
playerDoesNotExistText name = [iFile|variant/standard/error/command/general/player-does-not-exist.txt|]

targetDeadText :: Player -> Text
targetDeadText target = [iFile|variant/standard/error/command/general/target-dead.txt|]

callerAlreadyHealedText :: Text
callerAlreadyHealedText = [iFile|variant/standard/error/command/heal/caller-already-healed.txt|]

callerAlreadyPoisonedText :: Text
callerAlreadyPoisonedText = [iFile|variant/standard/error/command/poison/caller-already-poisoned.txt|]

callerCannotProtectSamePlayerText :: Text
callerCannotProtectSamePlayerText = [iFile|variant/standard/error/command/protect/caller-cannot-protect-same-player.txt|]

gameAlreadyRunningText :: Text
gameAlreadyRunningText = [iFile|variant/standard/error/command/start/game-already-running.txt|]

playerCountTooLowText :: Text
playerCountTooLowText = [iFile|variant/standard/error/command/start/player-count-too-low.txt|]

playerNamesNotUniqueText :: Text
playerNamesNotUniqueText = [iFile|variant/standard/error/command/start/player-names-not-unique.txt|]

roleCountRestrictedText :: Role -> Text
roleCountRestrictedText role = [iFile|variant/standard/error/command/start/role-count-restricted.txt|]

roleDoesNotExistText :: Text -> Text
roleDoesNotExistText roleName = [iFile|variant/standard/error/command/start/role-does-not-exist.txt|]

variantDoesNotExistText :: Text -> Text
variantDoesNotExistText variantName = [iFile|variant/standard/error/command/start/variant-does-not-exist.txt|]

callerNotVotedText :: Text
callerNotVotedText = [iFile|variant/standard/error/command/unvote/caller-not-voted.txt|]

callerAlreadyVotedText :: Text
callerAlreadyVotedText = [iFile|variant/standard/error/command/vote/caller-already-voted.txt|]

callerCannotDevourAnotherWerewolfText :: Text
callerCannotDevourAnotherWerewolfText = [iFile|variant/standard/error/command/vote/caller-cannot-devour-werewolf.txt|]