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