LambdaHack-0.2.6: Game/LambdaHack/Ability.hs
-- | AI strategy abilities.
module Game.LambdaHack.Ability
( Ability(..)
) where
-- | All possible AI actor abilities. AI chooses among these when considering
-- the next action to perform. The ability descriptions refer to the target
-- that any actor picks each turn, depending on the actor's characteristics
-- and his environment.
data Ability =
Track -- ^ move along a set path, if any, meleeing any opponents
| Heal -- ^ heal if almost dead
| Flee -- ^ flee if almost dead
| Melee -- ^ melee target
| Pickup -- ^ gather items, if no foes visible
| Ranged -- ^ attack the visible target opponent at range, some of the time
| Tools -- ^ use items, if target opponent visible, some of the time
| Chase -- ^ chase the target, ignoring any actors on the way
| Wander -- ^ wander around, meleeing any opponents on the way
deriving (Show, Eq, Ord, Enum, Bounded)