Safe Haskell | None |
---|---|
Language | Haskell2010 |
Game.LambdaHack.Common.Ability
Description
AI strategy abilities.
- data Ability
- = AbMove
- | AbMelee
- | AbDisplace
- | AbAlter
- | AbWait
- | AbMoveItem
- | AbProject
- | AbApply
- type Skills = EnumMap Ability Int
- zeroSkills :: Skills
- unitSkills :: Skills
- addSkills :: Skills -> Skills -> Skills
- scaleSkills :: Int -> Skills -> Skills
- tacticSkills :: Tactic -> Skills
- blockOnly :: Skills
- meleeAdjacent :: Skills
- meleeAndRanged :: Skills
- ignoreItems :: Skills
Documentation
Actor and faction abilities corresponding to client-server requests.
Constructors
AbMove | |
AbMelee | |
AbDisplace | |
AbAlter | |
AbWait | |
AbMoveItem | |
AbProject | |
AbApply |
type Skills = EnumMap Ability Int Source #
Skill level in particular abilities.
This representation is sparse, so better than a record when there are more item kinds (with few abilities) than actors (with many abilities), especially if the number of abilities grows as the engine is developed. It's also easier to code and maintain.
zeroSkills :: Skills Source #
unitSkills :: Skills Source #
tacticSkills :: Tactic -> Skills Source #
ignoreItems :: Skills Source #