Safe Haskell | None |
---|
Game.LambdaHack.Client.AI.ConditionClient
Description
Semantics of abilities in terms of actions and the AI procedure for picking the best action for an actor.
- condTgtEnemyPresentM :: MonadClient m => ActorId -> m Bool
- condTgtEnemyRememberedM :: MonadClient m => ActorId -> m Bool
- condAnyFoeAdjM :: MonadStateRead m => ActorId -> m Bool
- condHpTooLowM :: MonadClient m => ActorId -> m Bool
- condOnTriggerableM :: MonadStateRead m => ActorId -> m Bool
- condBlocksFriendsM :: MonadClient m => ActorId -> m Bool
- condFloorWeaponM :: MonadClient m => ActorId -> m Bool
- condNoEqpWeaponM :: MonadClient m => ActorId -> m Bool
- condCanProjectM :: MonadClient m => ActorId -> m Bool
- condNotCalmEnoughM :: MonadClient m => ActorId -> m Bool
- condDesirableFloorItemM :: MonadClient m => ActorId -> m Bool
- condMeleeBadM :: MonadClient m => ActorId -> m Bool
- condLightBetraysM :: MonadClient m => ActorId -> m Bool
- benAvailableItems :: MonadClient m => ActorId -> (ItemFull -> Maybe Int -> Bool) -> [CStore] -> m [((Maybe (Int, (Int, Int)), (Int, CStore)), (ItemId, ItemFull))]
- benGroundItems :: MonadClient m => ActorId -> m [((Maybe (Int, (Int, Int)), (Int, CStore)), (ItemId, ItemFull))]
- threatDistList :: MonadClient m => ActorId -> m [(Int, (ActorId, Actor))]
- fleeList :: MonadClient m => Bool -> ActorId -> m [(Int, Point)]
Documentation
condTgtEnemyPresentM :: MonadClient m => ActorId -> m BoolSource
Require that the target enemy is visible by the party.
condTgtEnemyRememberedM :: MonadClient m => ActorId -> m BoolSource
Require that the target enemy is remembered on the actor's level.
condAnyFoeAdjM :: MonadStateRead m => ActorId -> m BoolSource
Require that any non-dying foe is adjacent.
condHpTooLowM :: MonadClient m => ActorId -> m BoolSource
Require the actor's HP is low enough.
condOnTriggerableM :: MonadStateRead m => ActorId -> m BoolSource
Require the actor stands over a triggerable tile.
condBlocksFriendsM :: MonadClient m => ActorId -> m BoolSource
Require the actor blocks the paths of any of his party members.
condFloorWeaponM :: MonadClient m => ActorId -> m BoolSource
Require the actor stands over a weapon.
condNoEqpWeaponM :: MonadClient m => ActorId -> m BoolSource
Check whether the actor has no weapon in equipment.
condCanProjectM :: MonadClient m => ActorId -> m BoolSource
Require that the actor can project any items.
condNotCalmEnoughM :: MonadClient m => ActorId -> m BoolSource
Require the actor is not calm enough.
condDesirableFloorItemM :: MonadClient m => ActorId -> m BoolSource
Require that the actor stands over a desirable item.
condMeleeBadM :: MonadClient m => ActorId -> m BoolSource
Require the actor is in a bad position to melee. We do not check if the actor has a weapon, because having no innate weapon is rare.
condLightBetraysM :: MonadClient m => ActorId -> m BoolSource
Require that the actor stands in the dark, but is betrayed by his own equipped light,
benAvailableItems :: MonadClient m => ActorId -> (ItemFull -> Maybe Int -> Bool) -> [CStore] -> m [((Maybe (Int, (Int, Int)), (Int, CStore)), (ItemId, ItemFull))]Source
Produce the list of items with a given property available to the actor and the items' values.
benGroundItems :: MonadClient m => ActorId -> m [((Maybe (Int, (Int, Int)), (Int, CStore)), (ItemId, ItemFull))]Source
Produce the list of items on the ground beneath the actor.
threatDistList :: MonadClient m => ActorId -> m [(Int, (ActorId, Actor))]Source
Produce the chess-distance-sorted list of non-low-HP foes on the level. We don't consider path-distance, because we are interested in how soon the foe can hit us, which can diverge greately from path distance for short distances.