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

Game.LambdaHack.Client.State

Description

Client-specific game state components.

Synopsis

Documentation

data StateClient Source #

Client state, belonging to a single faction.

Constructors

StateClient 

Fields

Instances

Instances details
Binary StateClient Source # 
Instance details

Defined in Game.LambdaHack.Client.State

data BfsAndPath Source #

Pathfinding distances to all reachable positions of an actor and a shortest paths to some of the positions.

Instances

Instances details
Show BfsAndPath Source # 
Instance details

Defined in Game.LambdaHack.Client.State

data TgtAndPath Source #

Actor's target and a path to it, if any.

Constructors

TgtAndPath 

Instances

Instances details
Show TgtAndPath Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Generic TgtAndPath Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Associated Types

type Rep TgtAndPath :: Type -> Type #

Binary TgtAndPath Source # 
Instance details

Defined in Game.LambdaHack.Client.State

type Rep TgtAndPath Source # 
Instance details

Defined in Game.LambdaHack.Client.State

type Rep TgtAndPath = D1 ('MetaData "TgtAndPath" "Game.LambdaHack.Client.State" "LambdaHack-0.11.0.0-inplace" 'False) (C1 ('MetaCons "TgtAndPath" 'PrefixI 'True) (S1 ('MetaSel ('Just "tapTgt") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Target) :*: S1 ('MetaSel ('Just "tapPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AndPath))))

data Target Source #

The type of na actor target.

Constructors

TEnemy ActorId

target an enemy

TNonEnemy ActorId

target a friend or neutral

TPoint TGoal LevelId Point

target a concrete spot

TVector Vector

target position relative to actor

Instances

Instances details
Eq Target Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Methods

(==) :: Target -> Target -> Bool #

(/=) :: Target -> Target -> Bool #

Show Target Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Generic Target Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Associated Types

type Rep Target :: Type -> Type #

Methods

from :: Target -> Rep Target x #

to :: Rep Target x -> Target #

Binary Target Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Methods

put :: Target -> Put #

get :: Get Target #

putList :: [Target] -> Put #

type Rep Target Source # 
Instance details

Defined in Game.LambdaHack.Client.State

data TGoal Source #

The goal of an actor.

Constructors

TStash FactionId

shared inventory stash of our or an enemy faction

TEnemyPos ActorId

last seen position of the targeted actor

TEmbed ItemBag Point

embedded item that can be triggered; in TPoint (TEmbed bag p) _ q usually bag is embbedded in p and q is an adjacent open tile

TItem ItemBag

item lying on the ground

TSmell

smell potentially left by enemies

TBlock

a blocking tile to be approached (and, e.g., revealed to be walkable or altered or searched)

TUnknown

an unknown tile to be explored

TKnown

a known tile to be patrolled

THideout

a hideout to either flee to or find a hidden enemy sniper in

Instances

Instances details
Eq TGoal Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Methods

(==) :: TGoal -> TGoal -> Bool #

(/=) :: TGoal -> TGoal -> Bool #

Show TGoal Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Methods

showsPrec :: Int -> TGoal -> ShowS #

show :: TGoal -> String #

showList :: [TGoal] -> ShowS #

Generic TGoal Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Associated Types

type Rep TGoal :: Type -> Type #

Methods

from :: TGoal -> Rep TGoal x #

to :: Rep TGoal x -> TGoal #

Binary TGoal Source # 
Instance details

Defined in Game.LambdaHack.Client.State

Methods

put :: TGoal -> Put #

get :: Get TGoal #

putList :: [TGoal] -> Put #

type Rep TGoal Source # 
Instance details

Defined in Game.LambdaHack.Client.State

emptyStateClient :: FactionId -> StateClient Source #

Initial empty game client state.

updateTarget :: ActorId -> (Maybe Target -> Maybe Target) -> StateClient -> StateClient Source #

Update target parameters within client state.

getTarget :: ActorId -> StateClient -> Maybe Target Source #

Get target parameters from client state.

updateLeader :: ActorId -> State -> StateClient -> StateClient Source #

Update picked leader within state. Verify actor's faction.