Safe Haskell | None |
---|---|
Language | Haskell2010 |
Abstract syntax of server commands. See https://github.com/LambdaHack/LambdaHack/wiki/Client-server-architecture.
- data RequestAI
- = forall a . ReqAITimed !(RequestTimed a)
- | ReqAILeader !ActorId !(Maybe Target) !RequestAI
- | ReqAIPong
- data RequestUI
- = forall a . ReqUITimed !(RequestTimed a)
- | ReqUILeader !ActorId !(Maybe Target) !RequestUI
- | ReqUIGameRestart !ActorId !(GroupName ModeKind) !Int ![(Int, (Text, Text))]
- | ReqUIGameExit !ActorId !Int
- | ReqUIGameSave
- | ReqUITactic !Tactic
- | ReqUIAutomate
- | ReqUIPong [CmdAtomic]
- data RequestTimed :: Ability -> * where
- ReqMove :: !Vector -> RequestTimed AbMove
- ReqMelee :: !ActorId -> !ItemId -> !CStore -> RequestTimed AbMelee
- ReqDisplace :: !ActorId -> RequestTimed AbDisplace
- ReqAlter :: !Point -> !(Maybe Feature) -> RequestTimed AbAlter
- ReqWait :: RequestTimed AbWait
- ReqMoveItem :: !ItemId -> !Int -> !CStore -> !CStore -> RequestTimed AbMoveItem
- ReqProject :: !Point -> !Int -> !ItemId -> !CStore -> RequestTimed AbProject
- ReqApply :: !ItemId -> !CStore -> RequestTimed AbApply
- ReqTrigger :: !(Maybe Feature) -> RequestTimed AbTrigger
- data RequestAnyAbility = forall a . RequestAnyAbility !(RequestTimed a)
- data ReqFailure
- = MoveNothing
- | MeleeSelf
- | MeleeDistant
- | DisplaceDistant
- | DisplaceAccess
- | DisplaceProjectiles
- | DisplaceDying
- | DisplaceBraced
- | DisplaceImmobile
- | DisplaceSupported
- | AlterDistant
- | AlterBlockActor
- | AlterBlockItem
- | AlterNothing
- | EqpOverfull
- | ApplyUnskilled
- | ApplyRead
- | ApplyOutOfReach
- | ItemNothing
- | ItemNotCalm
- | NotCalmPrecious
- | ProjectAimOnself
- | ProjectBlockTerrain
- | ProjectBlockActor
- | ProjectUnskilled
- | ProjectFragile
- | ProjectOutOfReach
- | TriggerNothing
- | NoChangeDunLeader
- | NoChangeLvlLeader
- impossibleReqFailure :: ReqFailure -> Bool
- showReqFailure :: ReqFailure -> Msg
- anyToUI :: RequestAnyAbility -> RequestUI
- permittedPrecious :: Bool -> Bool -> ItemFull -> Either ReqFailure Bool
- permittedProject :: [Char] -> Bool -> Int -> ItemFull -> Actor -> [ItemFull] -> Either ReqFailure Bool
- permittedApply :: [Char] -> Int -> ItemFull -> Actor -> [ItemFull] -> Either ReqFailure Bool
Documentation
Cclient-server requests sent by AI clients.
forall a . ReqAITimed !(RequestTimed a) | |
ReqAILeader !ActorId !(Maybe Target) !RequestAI | |
ReqAIPong |
Client-server requests sent by UI clients.
forall a . ReqUITimed !(RequestTimed a) | |
ReqUILeader !ActorId !(Maybe Target) !RequestUI | |
ReqUIGameRestart !ActorId !(GroupName ModeKind) !Int ![(Int, (Text, Text))] | |
ReqUIGameExit !ActorId !Int | |
ReqUIGameSave | |
ReqUITactic !Tactic | |
ReqUIAutomate | |
ReqUIPong [CmdAtomic] |
data RequestTimed :: Ability -> * where Source
Client-server requests that take game time. Sent by both AI and UI clients.
ReqMove :: !Vector -> RequestTimed AbMove | |
ReqMelee :: !ActorId -> !ItemId -> !CStore -> RequestTimed AbMelee | |
ReqDisplace :: !ActorId -> RequestTimed AbDisplace | |
ReqAlter :: !Point -> !(Maybe Feature) -> RequestTimed AbAlter | |
ReqWait :: RequestTimed AbWait | |
ReqMoveItem :: !ItemId -> !Int -> !CStore -> !CStore -> RequestTimed AbMoveItem | |
ReqProject :: !Point -> !Int -> !ItemId -> !CStore -> RequestTimed AbProject | |
ReqApply :: !ItemId -> !CStore -> RequestTimed AbApply | |
ReqTrigger :: !(Maybe Feature) -> RequestTimed AbTrigger |
Show (RequestTimed a) |
data ReqFailure Source
showReqFailure :: ReqFailure -> Msg Source
permittedPrecious :: Bool -> Bool -> ItemFull -> Either ReqFailure Bool Source
permittedProject :: [Char] -> Bool -> Int -> ItemFull -> Actor -> [ItemFull] -> Either ReqFailure Bool Source
permittedApply :: [Char] -> Int -> ItemFull -> Actor -> [ItemFull] -> Either ReqFailure Bool Source