module Game.LambdaHack.Client.Request
( RequestAI, ReqAI(..), RequestUI, ReqUI(..), RequestTimed(..)
) where
import Prelude ()
import Game.LambdaHack.Core.Prelude
import Game.LambdaHack.Common.Faction
import Game.LambdaHack.Common.Point
import Game.LambdaHack.Common.Types
import Game.LambdaHack.Common.Vector
import Game.LambdaHack.Content.ModeKind
import qualified Game.LambdaHack.Definition.Ability as Ability
import Game.LambdaHack.Definition.Defs
type RequestAI = (ReqAI, Maybe ActorId)
data ReqAI =
ReqAINop
| ReqAITimed RequestTimed
deriving Int -> ReqAI -> ShowS
[ReqAI] -> ShowS
ReqAI -> String
(Int -> ReqAI -> ShowS)
-> (ReqAI -> String) -> ([ReqAI] -> ShowS) -> Show ReqAI
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReqAI] -> ShowS
$cshowList :: [ReqAI] -> ShowS
show :: ReqAI -> String
$cshow :: ReqAI -> String
showsPrec :: Int -> ReqAI -> ShowS
$cshowsPrec :: Int -> ReqAI -> ShowS
Show
type RequestUI = (ReqUI, Maybe ActorId)
data ReqUI =
ReqUINop
| ReqUITimed RequestTimed
| ReqUIGameRestart (GroupName ModeKind) Challenge
| ReqUIGameDropAndExit
| ReqUIGameSaveAndExit
| ReqUIGameSave
| ReqUIDoctrine Ability.Doctrine
| ReqUIAutomate
deriving Int -> ReqUI -> ShowS
[ReqUI] -> ShowS
ReqUI -> String
(Int -> ReqUI -> ShowS)
-> (ReqUI -> String) -> ([ReqUI] -> ShowS) -> Show ReqUI
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReqUI] -> ShowS
$cshowList :: [ReqUI] -> ShowS
show :: ReqUI -> String
$cshow :: ReqUI -> String
showsPrec :: Int -> ReqUI -> ShowS
$cshowsPrec :: Int -> ReqUI -> ShowS
Show
data RequestTimed =
ReqMove Vector
| ReqMelee ActorId ItemId CStore
| ReqDisplace ActorId
| ReqAlter Point
| ReqWait
| ReqWait10
| ReqYell
| ReqMoveItems [(ItemId, Int, CStore, CStore)]
| ReqProject Point Int ItemId CStore
| ReqApply ItemId CStore
deriving Int -> RequestTimed -> ShowS
[RequestTimed] -> ShowS
RequestTimed -> String
(Int -> RequestTimed -> ShowS)
-> (RequestTimed -> String)
-> ([RequestTimed] -> ShowS)
-> Show RequestTimed
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RequestTimed] -> ShowS
$cshowList :: [RequestTimed] -> ShowS
show :: RequestTimed -> String
$cshow :: RequestTimed -> String
showsPrec :: Int -> RequestTimed -> ShowS
$cshowsPrec :: Int -> RequestTimed -> ShowS
Show