LambdaHack-0.11.0.1: A game engine library for tactical squad ASCII roguelike dungeon crawlers

Safe Haskell | None
Language | Haskell2010

Game.LambdaHack.Client.HandleAtomicM

Contents

- Internal operations

Description

Handle atomic commands received by the client.

Synopsis

- class MonadClient m => MonadClientSetup (m :: Type -> Type) where
  - saveClient :: m ()
- cmdAtomicSemCli :: MonadClientSetup m => State -> UpdAtomic -> m ()
- updateInMeleeDueToActor :: MonadClient m => Actor -> m ()
- updateInMeleeDueToItem :: MonadClient m => ActorId -> CStore -> m ()
- updateInMeleeInDungeon :: MonadClient m => m ()
- wipeBfsIfItemAffectsSkills :: MonadClient m => CStore -> ActorId -> m ()
- tileChangeAffectsBfs :: COps -> ContentId TileKind -> ContentId TileKind -> Bool
- createActor :: MonadClient m => ActorId -> Actor -> [(ItemId, Item)] -> m ()
- destroyActor :: MonadClient m => ActorId -> Actor -> Bool -> m ()
- addItemToDiscoBenefit :: MonadClient m => ItemId -> m ()
- perception :: MonadClient m => LevelId -> Perception -> Perception -> m ()
- discoverKind :: MonadClient m => ItemKindIx -> m ()
- discoverKindAndAspect :: MonadClient m => ItemKindIx -> m ()
- coverKind :: ItemKindIx -> m ()
- coverAspectAndKind :: ItemKindIx -> m ()
- discoverAspect :: MonadClient m => ItemId -> m ()
- coverAspect :: ItemId -> m ()
- killExit :: MonadClient m => m ()

# Documentation

class MonadClient m => MonadClientSetup (m :: Type -> Type) where Source #

Client monad for saving a game.

Methods

saveClient :: m () Source #

#### Instances

Instances details

MonadClientSetup CliImplementation Source # |
Instance details Defined in Implementation.MonadClientImplementation Methods saveClient :: CliImplementation () Source #

cmdAtomicSemCli :: MonadClientSetup m => State -> UpdAtomic -> m () Source #

Effect of atomic actions on client state. It is calculated with the global state from after the command is executed (except where the supplied `oldState` is used).

# Internal operations

updateInMeleeDueToActor :: MonadClient m => Actor -> m () Source #

updateInMeleeDueToItem :: MonadClient m => ActorId -> CStore -> m () Source #

updateInMeleeInDungeon :: MonadClient m => m () Source #

wipeBfsIfItemAffectsSkills :: MonadClient m => CStore -> ActorId -> m () Source #

tileChangeAffectsBfs :: COps -> ContentId TileKind -> ContentId TileKind -> Bool Source #

createActor :: MonadClient m => ActorId -> Actor -> [(ItemId, Item)] -> m () Source #

destroyActor :: MonadClient m => ActorId -> Actor -> Bool -> m () Source #

addItemToDiscoBenefit :: MonadClient m => ItemId -> m () Source #

perception :: MonadClient m => LevelId -> Perception -> Perception -> m () Source #

discoverKind :: MonadClient m => ItemKindIx -> m () Source #

discoverKindAndAspect :: MonadClient m => ItemKindIx -> m () Source #

coverKind :: ItemKindIx -> m () Source #

coverAspectAndKind :: ItemKindIx -> m () Source #

discoverAspect :: MonadClient m => ItemId -> m () Source #

coverAspect :: ItemId -> m () Source #

killExit :: MonadClient m => m () Source #