Safe Haskell | None |
---|---|
Language | Haskell2010 |
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.
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 #