Safe Haskell | None |
---|---|
Language | Haskell2010 |
AI procedure for picking the best action for an actor.
Synopsis
- pickAction :: MonadClient m => ActorId -> Bool -> m RequestTimed
- actionStrategy :: forall m. MonadClient m => ActorId -> Bool -> m (Strategy RequestTimed)
- waitBlockNow :: MonadClient m => m (Strategy RequestTimed)
- yellNow :: MonadClient m => m (Strategy RequestTimed)
- pickup :: MonadClient m => ActorId -> Bool -> m (Strategy RequestTimed)
- equipItems :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- yieldUnneeded :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- unEquipItems :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- groupByEqpSlot :: [(ItemId, ItemFullKit)] -> EnumMap EqpSlot [(ItemId, ItemFullKit)]
- bestByEqpSlot :: DiscoveryBenefit -> [(ItemId, ItemFullKit)] -> [(ItemId, ItemFullKit)] -> [(ItemId, ItemFullKit)] -> [([(Int, (ItemId, ItemFullKit))], [(Int, (ItemId, ItemFullKit))], [(Int, (ItemId, ItemFullKit))])]
- harmful :: DiscoveryBenefit -> ItemId -> Bool
- meleeBlocker :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- meleeAny :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- trigger :: MonadClient m => ActorId -> FleeViaStairsOrEscape -> m (Strategy RequestTimed)
- projectItem :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- data ApplyItemGroup
- applyItem :: MonadClient m => ActorId -> ApplyItemGroup -> m (Strategy RequestTimed)
- flee :: MonadClient m => ActorId -> [(Int, Point)] -> m (Strategy RequestTimed)
- displaceFoe :: MonadClient m => ActorId -> m (Strategy RequestTimed)
- displaceBlocker :: MonadClient m => ActorId -> Bool -> m (Strategy RequestTimed)
- displaceTgt :: MonadClient m => ActorId -> Point -> Bool -> m (Strategy RequestTimed)
- chase :: MonadClient m => ActorId -> Bool -> Bool -> m (Strategy RequestTimed)
- moveTowards :: MonadClient m => ActorId -> Point -> Point -> Bool -> m (Strategy Vector)
- moveOrRunAid :: MonadClient m => ActorId -> Vector -> m (Maybe RequestTimed)
Documentation
pickAction :: MonadClient m => ActorId -> Bool -> m RequestTimed Source #
Pick the most desirable AI ation for the actor.
Internal operations
actionStrategy :: forall m. MonadClient m => ActorId -> Bool -> m (Strategy RequestTimed) Source #
waitBlockNow :: MonadClient m => m (Strategy RequestTimed) Source #
yellNow :: MonadClient m => m (Strategy RequestTimed) Source #
pickup :: MonadClient m => ActorId -> Bool -> m (Strategy RequestTimed) Source #
equipItems :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
yieldUnneeded :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
unEquipItems :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
groupByEqpSlot :: [(ItemId, ItemFullKit)] -> EnumMap EqpSlot [(ItemId, ItemFullKit)] Source #
bestByEqpSlot :: DiscoveryBenefit -> [(ItemId, ItemFullKit)] -> [(ItemId, ItemFullKit)] -> [(ItemId, ItemFullKit)] -> [([(Int, (ItemId, ItemFullKit))], [(Int, (ItemId, ItemFullKit))], [(Int, (ItemId, ItemFullKit))])] Source #
meleeBlocker :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
meleeAny :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
trigger :: MonadClient m => ActorId -> FleeViaStairsOrEscape -> m (Strategy RequestTimed) Source #
projectItem :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
data ApplyItemGroup Source #
Instances
Eq ApplyItemGroup Source # | |
Defined in Game.LambdaHack.Client.AI.PickActionM (==) :: ApplyItemGroup -> ApplyItemGroup -> Bool # (/=) :: ApplyItemGroup -> ApplyItemGroup -> Bool # |
applyItem :: MonadClient m => ActorId -> ApplyItemGroup -> m (Strategy RequestTimed) Source #
flee :: MonadClient m => ActorId -> [(Int, Point)] -> m (Strategy RequestTimed) Source #
displaceFoe :: MonadClient m => ActorId -> m (Strategy RequestTimed) Source #
displaceBlocker :: MonadClient m => ActorId -> Bool -> m (Strategy RequestTimed) Source #
displaceTgt :: MonadClient m => ActorId -> Point -> Bool -> m (Strategy RequestTimed) Source #
chase :: MonadClient m => ActorId -> Bool -> Bool -> m (Strategy RequestTimed) Source #
moveTowards :: MonadClient m => ActorId -> Point -> Point -> Bool -> m (Strategy Vector) Source #
moveOrRunAid :: MonadClient m => ActorId -> Vector -> m (Maybe RequestTimed) Source #