module Game.LambdaHack.Client.Request
( RequestAI, ReqAI(..), RequestUI, ReqUI(..), RequestTimed(..)
) where
import Prelude ()
import Game.LambdaHack.Core.Prelude
import qualified Game.LambdaHack.Definition.Ability as Ability
import Game.LambdaHack.Definition.Defs
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
type RequestAI = (ReqAI, Maybe ActorId)
data ReqAI =
ReqAINop
| ReqAITimed RequestTimed
deriving Show
type RequestUI = (ReqUI, Maybe ActorId)
data ReqUI =
ReqUINop
| ReqUITimed RequestTimed
| ReqUIGameRestart (GroupName ModeKind) Challenge
| ReqUIGameDropAndExit
| ReqUIGameSaveAndExit
| ReqUIGameSave
| ReqUITactic Ability.Tactic
| ReqUIAutomate
deriving 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 Show