| 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 #
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 # | |
| Ord KindMean # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
| Show KindMean # | |
| Generic KindMean # | |
| type Rep KindMean # | |
Defined in Game.LambdaHack.Common.ItemAspect type Rep KindMean = D1 (MetaData "KindMean" "Game.LambdaHack.Common.ItemAspect" "LambdaHack-0.8.3.0-1NVXOytHwux3AEZcvJHaGA" 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 # | |
| Enum EqpSlot # | |
| Eq EqpSlot # | |
| Ord EqpSlot # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
| Show EqpSlot # | |
| Generic EqpSlot # | |
| NFData EqpSlot # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
| type Rep EqpSlot # | |
Defined in Game.LambdaHack.Common.ItemAspect type Rep EqpSlot = D1 (MetaData "EqpSlot" "Game.LambdaHack.Common.ItemAspect" "LambdaHack-0.8.3.0-1NVXOytHwux3AEZcvJHaGA" False) ((((C1 (MetaCons "EqpSlotMiscBonus" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAddHurtMelee" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "EqpSlotAddArmorMelee" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "EqpSlotAddArmorRanged" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAddMaxHP" PrefixI False) (U1 :: Type -> Type)))) :+: ((C1 (MetaCons "EqpSlotAddSpeed" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "EqpSlotAddSight" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotLightSource" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "EqpSlotWeapon" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "EqpSlotMiscAbility" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAbMove" PrefixI False) (U1 :: Type -> Type))))) :+: (((C1 (MetaCons "EqpSlotAbMelee" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAbDisplace" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "EqpSlotAbAlter" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "EqpSlotAbProject" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAbApply" PrefixI False) (U1 :: Type -> Type)))) :+: ((C1 (MetaCons "EqpSlotAddMaxCalm" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "EqpSlotAddSmell" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAddNocto" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "EqpSlotAddAggression" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "EqpSlotAbWait" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "EqpSlotAbMoveItem" PrefixI False) (U1 :: Type -> Type)))))) | |
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 #
Internal operations
ceilingMeanDice :: Dice -> Int #