Safe Haskell | None |
---|---|
Language | Haskell2010 |
Semantics of Game.LambdaHack.Client.UI.HumanCmd client commands that do not return server requests,, but only change internal client state. None of such commands takes game time.
Synopsis
- macroHuman :: MonadClientUI m => [String] -> m ()
- sortSlotsHuman :: MonadClientUI m => m ()
- chooseItemHuman :: MonadClientUI m => ItemDialogMode -> m MError
- chooseItemDialogMode :: MonadClientUI m => ItemDialogMode -> m (FailOrCmd ItemDialogMode)
- chooseItemProjectHuman :: forall m. (MonadClient m, MonadClientUI m) => [TriggerItem] -> m MError
- chooseItemApplyHuman :: forall m. MonadClientUI m => [TriggerItem] -> m MError
- psuitReq :: (MonadClient m, MonadClientUI m) => m (Either Text (ItemFull -> Either ReqFailure (Point, Bool)))
- triggerSymbols :: [TriggerItem] -> [Char]
- pickLeaderHuman :: MonadClientUI m => Int -> m MError
- pickLeaderWithPointerHuman :: MonadClientUI m => m MError
- memberCycleHuman :: MonadClientUI m => m MError
- memberBackHuman :: MonadClientUI m => m MError
- selectActorHuman :: MonadClientUI m => m ()
- selectNoneHuman :: MonadClientUI m => m ()
- selectWithPointerHuman :: MonadClientUI m => m MError
- repeatHuman :: MonadClientUI m => Int -> m ()
- recordHuman :: MonadClientUI m => m ()
- allHistoryHuman :: MonadClientUI m => m ()
- lastHistoryHuman :: MonadClientUI m => m ()
- markVisionHuman :: MonadClientUI m => m ()
- markSmellHuman :: MonadClientUI m => m ()
- markSuspectHuman :: MonadClient m => m ()
- printScreenHuman :: MonadClientUI m => m ()
- cancelHuman :: MonadClientUI m => m ()
- acceptHuman :: (MonadClient m, MonadClientUI m) => m ()
- clearTargetIfItemClearHuman :: (MonadClient m, MonadClientUI m) => m ()
- itemClearHuman :: MonadClientUI m => m ()
- moveXhairHuman :: MonadClientUI m => Vector -> Int -> m MError
- aimTgtHuman :: MonadClientUI m => m MError
- aimFloorHuman :: MonadClientUI m => m ()
- aimEnemyHuman :: MonadClientUI m => m ()
- aimItemHuman :: MonadClientUI m => m ()
- aimAscendHuman :: MonadClientUI m => Int -> m MError
- epsIncrHuman :: (MonadClient m, MonadClientUI m) => Bool -> m ()
- xhairUnknownHuman :: (MonadClient m, MonadClientUI m) => m MError
- xhairItemHuman :: (MonadClient m, MonadClientUI m) => m MError
- xhairStairHuman :: (MonadClient m, MonadClientUI m) => Bool -> m MError
- xhairPointerFloorHuman :: MonadClientUI m => m ()
- xhairPointerEnemyHuman :: MonadClientUI m => m ()
- aimPointerFloorHuman :: MonadClientUI m => m ()
- aimPointerEnemyHuman :: MonadClientUI m => m ()
- permittedProjectClient :: MonadClientUI m => m (ItemFull -> Either ReqFailure Bool)
- projectCheck :: MonadClientUI m => Point -> m (Maybe ReqFailure)
- xhairLegalEps :: MonadClientUI m => m (Either Text Int)
- posFromXhair :: (MonadClient m, MonadClientUI m) => m (Either Text Point)
- permittedApplyClient :: MonadClientUI m => m (ItemFull -> ItemQuant -> Either ReqFailure Bool)
- selectAid :: MonadClientUI m => ActorId -> m ()
- eitherHistory :: forall m. MonadClientUI m => Bool -> m ()
- endAiming :: (MonadClient m, MonadClientUI m) => m ()
- endAimingMsg :: MonadClientUI m => m ()
- doLook :: MonadClientUI m => m ()
- flashAiming :: MonadClientUI m => m ()
Meta commands
macroHuman :: MonadClientUI m => [String] -> m () Source #
Local commands
sortSlotsHuman :: MonadClientUI m => m () Source #
chooseItemHuman :: MonadClientUI m => ItemDialogMode -> m MError Source #
Display items from a given container store and possibly let the user chose one.
chooseItemDialogMode :: MonadClientUI m => ItemDialogMode -> m (FailOrCmd ItemDialogMode) Source #
chooseItemProjectHuman :: forall m. (MonadClient m, MonadClientUI m) => [TriggerItem] -> m MError Source #
chooseItemApplyHuman :: forall m. MonadClientUI m => [TriggerItem] -> m MError Source #
psuitReq :: (MonadClient m, MonadClientUI m) => m (Either Text (ItemFull -> Either ReqFailure (Point, Bool))) Source #
On top of permittedProjectClient
, it also checks legality
of aiming at the target and projection range. It also modifies eps
.
triggerSymbols :: [TriggerItem] -> [Char] Source #
pickLeaderHuman :: MonadClientUI m => Int -> m MError Source #
pickLeaderWithPointerHuman :: MonadClientUI m => m MError Source #
memberCycleHuman :: MonadClientUI m => m MError Source #
Switch current member to the next on the viewed level, if any, wrapping.
memberBackHuman :: MonadClientUI m => m MError Source #
Switch current member to the previous in the whole dungeon, wrapping.
selectActorHuman :: MonadClientUI m => m () Source #
selectNoneHuman :: MonadClientUI m => m () Source #
selectWithPointerHuman :: MonadClientUI m => m MError Source #
repeatHuman :: MonadClientUI m => Int -> m () Source #
recordHuman :: MonadClientUI m => m () Source #
allHistoryHuman :: MonadClientUI m => m () Source #
lastHistoryHuman :: MonadClientUI m => m () Source #
markVisionHuman :: MonadClientUI m => m () Source #
markSmellHuman :: MonadClientUI m => m () Source #
markSuspectHuman :: MonadClient m => m () Source #
printScreenHuman :: MonadClientUI m => m () Source #
Commands specific to aiming
cancelHuman :: MonadClientUI m => m () Source #
End aiming mode, rejecting the current position.
acceptHuman :: (MonadClient m, MonadClientUI m) => m () Source #
Accept the current x-hair position as target, ending aiming mode, if active.
clearTargetIfItemClearHuman :: (MonadClient m, MonadClientUI m) => m () Source #
itemClearHuman :: MonadClientUI m => m () Source #
moveXhairHuman :: MonadClientUI m => Vector -> Int -> m MError Source #
Move the xhair. Assumes aiming mode.
aimTgtHuman :: MonadClientUI m => m MError Source #
Start aiming.
aimFloorHuman :: MonadClientUI m => m () Source #
Cycle aiming mode. Do not change position of the xhair, switch among things at that position.
aimEnemyHuman :: MonadClientUI m => m () Source #
aimItemHuman :: MonadClientUI m => m () Source #
aimAscendHuman :: MonadClientUI m => Int -> m MError Source #
Change the displayed level in aiming mode to (at most) k levels shallower. Enters aiming mode, if not already in one.
epsIncrHuman :: (MonadClient m, MonadClientUI m) => Bool -> m () Source #
Tweak the eps
parameter of the aiming digital line.
xhairUnknownHuman :: (MonadClient m, MonadClientUI m) => m MError Source #
xhairItemHuman :: (MonadClient m, MonadClientUI m) => m MError Source #
xhairStairHuman :: (MonadClient m, MonadClientUI m) => Bool -> m MError Source #
xhairPointerFloorHuman :: MonadClientUI m => m () Source #
xhairPointerEnemyHuman :: MonadClientUI m => m () Source #
aimPointerFloorHuman :: MonadClientUI m => m () Source #
aimPointerEnemyHuman :: MonadClientUI m => m () Source #
Internal operations
permittedProjectClient :: MonadClientUI m => m (ItemFull -> Either ReqFailure Bool) Source #
projectCheck :: MonadClientUI m => Point -> m (Maybe ReqFailure) Source #
xhairLegalEps :: MonadClientUI m => m (Either Text Int) Source #
Check whether one is permitted to aim (for projecting) at a target.
The check is stricter for actor targets, assuming the player simply wants
to hit a single actor. In order to fine tune trick-shots, e.g., piercing
many actors, other aiming modes should be used.
Returns a different seps
if needed to reach the target.
Note: Simple Perception check is not enough for the check, e.g., because the target actor can be obscured by a glass wall.
posFromXhair :: (MonadClient m, MonadClientUI m) => m (Either Text Point) Source #
permittedApplyClient :: MonadClientUI m => m (ItemFull -> ItemQuant -> Either ReqFailure Bool) Source #
selectAid :: MonadClientUI m => ActorId -> m () Source #
eitherHistory :: forall m. MonadClientUI m => Bool -> m () Source #
endAiming :: (MonadClient m, MonadClientUI m) => m () Source #
End aiming mode, accepting the current position.
endAimingMsg :: MonadClientUI m => m () Source #
doLook :: MonadClientUI m => m () Source #
Perform look around in the current position of the xhair. Does nothing outside aiming mode.
flashAiming :: MonadClientUI m => m () Source #