LambdaHack-0.11.0.0: A game engine library for tactical squad ASCII roguelike dungeon crawlers
Safe HaskellNone
LanguageHaskell2010

Game.LambdaHack.Client.UI.HandleHelperM

Description

Helper functions for both inventory management and human commands.

Synopsis

Documentation

data FailError Source #

Message describing the cause of failure of human command.

Instances

Instances details
Eq FailError Source # 
Instance details

Defined in Game.LambdaHack.Client.UI.HandleHelperM

Show FailError Source # 
Instance details

Defined in Game.LambdaHack.Client.UI.HandleHelperM

pointmanCycle :: MonadClientUI m => ActorId -> Bool -> Direction -> m MError Source #

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

pointmanCycleLevel :: MonadClientUI m => ActorId -> Bool -> Direction -> m MError Source #

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

pickLeader :: MonadClientUI m => Bool -> ActorId -> m Bool Source #

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

doLook :: MonadClientUI m => m () Source #

Perform look around in the current position of the xhair. Does nothing outside aiming mode.

placesFromState :: ContentData PlaceKind -> Bool -> State -> EnumMap (ContentId PlaceKind) (EnumSet LevelId, Int, Int, Int) Source #

Extract whole-dungeon statistics for each place kind, counting the number of occurrences of each type of PlaceEntry for the given place kind and gathering the set of levels on which any entry for that place kind can be found.

lookAtItems Source #

Arguments

:: MonadClientUI m 
=> Bool

can be seen right now?

-> Point

position to describe

-> LevelId

level the position is at

-> Maybe ActorId

the actor that looks

-> Maybe (Part, Bool)

pronoun for the big actor at the position, if any, and whether the big actor is alive

-> m (Text, Maybe Person) 

Produces a textual description of items at a position.

lookAtPosition :: MonadClientUI m => Point -> LevelId -> m [(MsgClassShow, Text)] Source #

Produces a textual description of everything at the requested level's position.

cycleLore :: MonadClientUI m => [m KM] -> [m KM] -> m () Source #

Internal operations

lookAtTile Source #

Arguments

:: MonadClientUI m 
=> Bool

can be seen right now?

-> Point

position to describe

-> LevelId

level the position is at

-> Maybe ActorId

the actor that looks

-> Maybe Person

grammatical person of the item(s), if any

-> m (Text, Text, [(Int, Part)]) 

Produces a textual description of the tile at a position.

lookAtActors Source #

Arguments

:: MonadClientUI m 
=> Point

position to describe

-> LevelId

level the position is at

-> m (Text, Maybe (Part, Bool), Text) 

Produces a textual description of actors at a position.