LambdaHack-0.2.12: A roguelike game engine in early and active development

Safe HaskellNone

Game.LambdaHack.Client.HumanLocal

Contents

Description

Semantics of HumanCmd client commands that do not return server commands. None of such commands takes game time. TODO: document

Synopsis

Assorted commands that do not notify the server

memberCycleHuman :: MonadClientUI m => m SlideshowSource

Switches current member to the next on the level, if any, wrapping.

memberBackHuman :: MonadClientUI m => m SlideshowSource

Switches current member to the previous in the whole dungeon, wrapping.

inventoryHuman :: MonadClientUI m => m SlideshowSource

Display inventory

clearHuman :: Monad m => m ()Source

Clear current messages, show the next screen if any.

helpHuman :: MonadClientUI m => m SlideshowSource

Display command help.

mainMenuHuman :: MonadClientUI m => m SlideshowSource

Display the main menu.

Commands specific to targeting

tgtFloorHuman :: MonadClientUI m => m SlideshowSource

Cycle targeting mode. Do not change position of the cursor, switch among things at that position.

tgtAscendHuman :: MonadClientUI m => Int -> m SlideshowSource

Change the displayed level in targeting mode to (at most) k levels shallower. Enters targeting mode, if not already in one.

epsIncrHuman :: MonadClientUI m => Bool -> m SlideshowSource

Tweak the eps parameter of the targeting digital line.

cancelHuman :: MonadClientUI m => m Slideshow -> m SlideshowSource

Cancel something, e.g., targeting mode, resetting the cursor to the position of the leader. Chosen target is not invalidated.

acceptHuman :: MonadClientUI m => m Slideshow -> m SlideshowSource

Accept something, e.g., targeting mode, keeping cursor where it was. Or perform the default action, if nothing needs accepting.

Helper definitions

floorItemOverlay :: MonadClient m => ItemBag -> m OverlaySource

Create a list of item names.

itemOverlay :: MonadClient m => ItemBag -> ItemInv -> m OverlaySource

Create a list of item names.

pickLeader :: MonadClientUI m => ActorId -> m BoolSource

Select a faction leader. False, if nothing to do.

lookAtSource

Arguments

:: MonadClientUI m 
=> Bool

detailed?

-> Text

how to start tile description

-> Bool

can be seen right now?

-> Point

position to describe

-> ActorId

the actor that looks

-> Text

an extra sentence to print

-> m Text 

Produces a textual description of the terrain and items at an already explored position. Mute for unknown positions. The detailed variant is for use in the targeting mode.