Safe Haskell | None |
---|---|
Language | Haskell2010 |
The type of item aspects and its operations.
Synopsis
- data Aspect
- data AspectRecord = AspectRecord {}
- data KindMean = KindMean {
- kmConst :: Bool
- kmMean :: AspectRecord
- data ItemSeed
- 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]
- seedToAspect :: ItemSeed -> [Aspect] -> AbsDepth -> AbsDepth -> 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.
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.
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 aspects are constant rather than random or dependent
on item creation dungeon level.
KindMean | |
|
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.0.0-F0O84Ns8lID9eizm4mHo10" False) (C1 (MetaCons "KindMean" PrefixI True) (S1 (MetaSel (Just "kmConst") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Bool) :*: S1 (MetaSel (Just "kmMean") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 AspectRecord))) |
A seed for rolling aspects of an item Clients have partial knowledge of how item ids map to the seeds. They gain knowledge by identifying items.
Instances
Enum ItemSeed Source # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
Eq ItemSeed Source # | |
Ord ItemSeed Source # | |
Defined in Game.LambdaHack.Common.ItemAspect | |
Show ItemSeed Source # | |
Binary ItemSeed Source # | |
Hashable ItemSeed Source # | |
Defined in Game.LambdaHack.Common.ItemAspect |
AI and UI hints about the role of the item.
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.0.0-F0O84Ns8lID9eizm4mHo10" 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 #
seedToAspect :: ItemSeed -> [Aspect] -> AbsDepth -> AbsDepth -> AspectRecord Source #
Internal operations
ceilingMeanDice :: Dice -> Int Source #