| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Game.LambdaHack.Common.ItemAspect
Contents
Description
The type of item aspects and its operations.
Synopsis
- data Aspect
- data AspectRecord = AspectRecord {}
- data KindMean = KindMean {
- kmConst :: Bool
- kmMean :: AspectRecord
- data EqpSlot
- = EqpSlotMiscBonus
- | EqpSlotAddHurtMelee
- | EqpSlotAddArmorMelee
- | EqpSlotAddArmorRanged
- | EqpSlotAddMaxHP
- | EqpSlotAddSpeed
- | EqpSlotAddSight
- | EqpSlotLightSource
- | EqpSlotWeapon
- | EqpSlotMiscAbility
- | EqpSlotAbMove
- | EqpSlotAbMelee
- | EqpSlotAbDisplace
- | EqpSlotAbAlter
- | EqpSlotAbProject
- | EqpSlotAbApply
- | EqpSlotAddMaxCalm
- | EqpSlotAddSmell
- | EqpSlotAddNocto
- | EqpSlotAddAggression
- | EqpSlotAbWait
- | EqpSlotAbMoveItem
- emptyAspectRecord :: AspectRecord
- addMeanAspect :: AspectRecord -> Aspect -> AspectRecord
- castAspect :: AbsDepth -> AbsDepth -> AspectRecord -> Aspect -> Rnd AspectRecord
- aspectsRandom :: [Aspect] -> Bool
- sumAspectRecord :: [(AspectRecord, Int)] -> AspectRecord
- aspectRecordToList :: AspectRecord -> [Aspect]
- rollAspectRecord :: [Aspect] -> AbsDepth -> AbsDepth -> Rnd AspectRecord
- prEqpSlot :: EqpSlot -> AspectRecord -> Int
- ceilingMeanDice :: Dice -> Int
Documentation
Aspects of items. Those that are named Add* are additive
(starting at 0) for all items wielded by an actor and they affect the actor.
Constructors
| Timeout Dice | some effects disabled until item recharges; expressed in game turns |
| AddHurtMelee Dice | percentage damage bonus in melee |
| AddArmorMelee Dice | percentage armor bonus against melee |
| AddArmorRanged Dice | percentage armor bonus against ranged |
| AddMaxHP Dice | maximal hp |
| AddMaxCalm Dice | maximal calm |
| AddSpeed Dice | speed in m/10s (not when pushed or pulled) |
| AddSight Dice | FOV radius, where 1 means a single tile FOV |
| AddSmell Dice | smell radius |
| AddShine Dice | shine radius |
| AddNocto Dice | noctovision radius |
| AddAggression Dice | aggression, e.g., when closing in for melee |
| AddAbility Ability Dice | bonus to an ability |
Instances
data AspectRecord Source #
Record of sums of aspect values of an item, container, actor, etc.
Constructors
| AspectRecord | |
Instances
Partial information about an item, deduced from its item kind.
These are assigned to each ItemKind. The kmConst flag says whether
the item's aspect record is constant rather than random or dependent
on item creation dungeon level.
Constructors
| KindMean | |
Fields
| |
Instances
| Eq KindMean Source # | |
| Ord KindMean Source # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
| Show KindMean Source # | |
| Generic KindMean Source # | |
| type Rep KindMean Source # | |
Defined in Game.LambdaHack.Common.ItemAspect type Rep KindMean = D1 (MetaData "KindMean" "Game.LambdaHack.Common.ItemAspect" "LambdaHack-0.8.3.0-5WMRdylEY9jFLqYScFUab7" False) (C1 (MetaCons "KindMean" PrefixI True) (S1 (MetaSel (Just "kmConst") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Bool) :*: S1 (MetaSel (Just "kmMean") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 AspectRecord))) | |
AI and UI hints about the role of the item.
Constructors
Instances
| Bounded EqpSlot Source # | |
| Enum EqpSlot Source # | |
| Eq EqpSlot Source # | |
| Ord EqpSlot Source # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
| Show EqpSlot Source # | |
| Generic EqpSlot Source # | |
| NFData EqpSlot Source # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
| type Rep EqpSlot Source # | |
Defined in Game.LambdaHack.Common.ItemAspect type Rep EqpSlot = D1 (MetaData "EqpSlot" "Game.LambdaHack.Common.ItemAspect" "LambdaHack-0.8.3.0-5WMRdylEY9jFLqYScFUab7" False) ((((C1 (MetaCons "EqpSlotMiscBonus" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAddHurtMelee" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "EqpSlotAddArmorMelee" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EqpSlotAddArmorRanged" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAddMaxHP" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "EqpSlotAddSpeed" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EqpSlotAddSight" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotLightSource" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "EqpSlotWeapon" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EqpSlotMiscAbility" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAbMove" PrefixI False) (U1 :: * -> *))))) :+: (((C1 (MetaCons "EqpSlotAbMelee" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAbDisplace" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "EqpSlotAbAlter" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EqpSlotAbProject" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAbApply" PrefixI False) (U1 :: * -> *)))) :+: ((C1 (MetaCons "EqpSlotAddMaxCalm" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EqpSlotAddSmell" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAddNocto" PrefixI False) (U1 :: * -> *))) :+: (C1 (MetaCons "EqpSlotAddAggression" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "EqpSlotAbWait" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "EqpSlotAbMoveItem" PrefixI False) (U1 :: * -> *)))))) | |
addMeanAspect :: AspectRecord -> Aspect -> AspectRecord Source #
castAspect :: AbsDepth -> AbsDepth -> AspectRecord -> Aspect -> Rnd AspectRecord Source #
aspectsRandom :: [Aspect] -> Bool Source #
sumAspectRecord :: [(AspectRecord, Int)] -> AspectRecord Source #
aspectRecordToList :: AspectRecord -> [Aspect] Source #
rollAspectRecord :: [Aspect] -> AbsDepth -> AbsDepth -> Rnd AspectRecord Source #
Internal operations
ceilingMeanDice :: Dice -> Int Source #