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

Safe Haskell | None
Language | Haskell2010

Game.LambdaHack.Server.HandleAtomicM

Contents

- Internal operations

Description

Handle atomic commands on the server, after they are executed to change server `State` and before they are sent to clients.

Synopsis

- cmdAtomicSemSer :: MonadServer m => State -> UpdAtomic -> m ()
- validateFloor :: MonadServer m => ItemId -> LevelId -> m ()
- validateFloorBag :: MonadServer m => ItemBag -> LevelId -> m ()
- levelOfStash :: MonadStateRead m => ActorId -> m LevelId
- invalidateArenas :: MonadServer m => m ()
- updateSclear :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool
- updateSlit :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool
- invalidateLucidLid :: MonadServer m => LevelId -> m ()
- invalidateLucidAid :: MonadServer m => ActorId -> m ()
- actorHasShine :: ActorMaxSkills -> ActorId -> Bool
- itemAffectsShineRadius :: DiscoveryAspect -> ItemId -> Bool
- itemAffectsPerRadius :: DiscoveryAspect -> ItemId -> Bool
- addPerActor :: MonadServer m => ActorId -> Actor -> m ()
- addPerActorAny :: MonadServer m => ActorId -> Actor -> m ()
- deletePerActor :: MonadServer m => ActorMaxSkills -> ActorId -> Actor -> m ()
- deletePerActorAny :: MonadServer m => ActorId -> Actor -> m ()
- invalidatePerActor :: MonadServer m => ActorId -> m ()
- reconsiderPerActor :: MonadServer m => ActorId -> m ()
- invalidatePerLid :: MonadServer m => LevelId -> m ()

# Documentation

cmdAtomicSemSer :: MonadServer m => State -> UpdAtomic -> m () Source #

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

# Internal operations

validateFloor :: MonadServer m => ItemId -> LevelId -> m () Source #

validateFloorBag :: MonadServer m => ItemBag -> LevelId -> m () Source #

levelOfStash :: MonadStateRead m => ActorId -> m LevelId Source #

invalidateArenas :: MonadServer m => m () Source #

updateSclear :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool Source #

updateSlit :: MonadServer m => LevelId -> Point -> ContentId TileKind -> ContentId TileKind -> m Bool Source #

invalidateLucidLid :: MonadServer m => LevelId -> m () Source #

invalidateLucidAid :: MonadServer m => ActorId -> m () Source #

actorHasShine :: ActorMaxSkills -> ActorId -> Bool Source #

itemAffectsShineRadius :: DiscoveryAspect -> ItemId -> Bool Source #

itemAffectsPerRadius :: DiscoveryAspect -> ItemId -> Bool Source #

addPerActor :: MonadServer m => ActorId -> Actor -> m () Source #

addPerActorAny :: MonadServer m => ActorId -> Actor -> m () Source #

deletePerActor :: MonadServer m => ActorMaxSkills -> ActorId -> Actor -> m () Source #

deletePerActorAny :: MonadServer m => ActorId -> Actor -> m () Source #

invalidatePerActor :: MonadServer m => ActorId -> m () Source #

reconsiderPerActor :: MonadServer m => ActorId -> m () Source #

invalidatePerLid :: MonadServer m => LevelId -> m () Source #