Fold aiming parameters into item use datatype
This commit is contained in:
+12
-16
@@ -301,13 +301,22 @@ data ItemUse
|
||||
, _useDelay :: UseDelay
|
||||
, _useMods :: [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
|
||||
, _useHammer :: HammerType
|
||||
, _useAim :: AimParams
|
||||
}
|
||||
| LeftUse
|
||||
{ _lUse :: Creature -> Int -> World -> World
|
||||
, _itUseDelay :: UseDelay
|
||||
, _itHammer :: HammerType
|
||||
, _useDelay :: UseDelay
|
||||
, _useHammer :: HammerType
|
||||
}
|
||||
| NoUse
|
||||
data AimParams = AimParams
|
||||
{ _aimSpeed :: Float
|
||||
, _aimRange :: Float
|
||||
, _aimZoom :: ItZoom
|
||||
, _aimStance :: AimStance
|
||||
}
|
||||
_itUseAimStance :: Item -> AimStance
|
||||
_itUseAimStance = _aimStance . _useAim . _itUse
|
||||
data ItemAmmo
|
||||
= LoadableAmmo
|
||||
{ _aoType :: AmmoType
|
||||
@@ -333,10 +342,7 @@ data Item
|
||||
, _wpSpread :: Float
|
||||
, _wpRange :: Float
|
||||
, _itFloorPict :: Item -> SPic
|
||||
, _itAimingSpeed :: Float
|
||||
, _itAimingRange :: Float
|
||||
, _itZoom :: ItZoom
|
||||
, _itAimZoom :: ItZoom
|
||||
, _itEquipPict :: Creature -> Int -> SPic
|
||||
, _itScroll :: Float -> Creature -> Item -> Item
|
||||
, _itIdentity :: ItemIdentity
|
||||
@@ -347,7 +353,6 @@ data Item
|
||||
, _itInvColor :: Color
|
||||
, _itTargeting :: Maybe (World -> Maybe Point2, Int -> Item -> Creature -> World -> Picture)
|
||||
, _itWorldTrigger :: Maybe (Int -> World -> Bool)
|
||||
, _itAimStance :: AimStance
|
||||
, _wpNumBarrels :: Int
|
||||
, _itDimension :: ItemDimension
|
||||
, _itCurseStatus :: CurseStatus
|
||||
@@ -364,7 +369,6 @@ data Item
|
||||
, _itInvDisplay :: Item -> String
|
||||
, _itInvColor :: Color
|
||||
, _itEffect :: ItEffect
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
, _itDimension :: ItemDimension
|
||||
}
|
||||
@@ -378,7 +382,6 @@ data Item
|
||||
, _itID :: Maybe Int
|
||||
, _itInvDisplay :: Item -> String
|
||||
, _itInvColor :: Color
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
, _itDimension :: ItemDimension
|
||||
}
|
||||
@@ -389,13 +392,9 @@ data Item
|
||||
, _itIdentity :: ItemIdentity
|
||||
, _itEffect :: ItEffect
|
||||
, _itID :: Maybe Int
|
||||
, _itAimingSpeed :: Float
|
||||
, _itAimingRange :: Float
|
||||
, _itZoom :: ItZoom
|
||||
, _itAimZoom :: ItZoom
|
||||
, _itInvDisplay :: Item -> String
|
||||
, _itInvColor :: Color
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
, _itDimension :: ItemDimension
|
||||
}
|
||||
@@ -407,10 +406,7 @@ data Item
|
||||
, _twMaxRange :: Float
|
||||
, _twAccuracy :: Float
|
||||
, _itUse :: ItemUse
|
||||
, _itAimingSpeed :: Float
|
||||
, _itAimingRange :: Float
|
||||
, _itZoom :: ItZoom
|
||||
, _itAimZoom :: ItZoom
|
||||
, _itEquipPict :: Creature -> Int -> SPic
|
||||
, _itIdentity :: ItemIdentity
|
||||
, _itID :: Maybe Int
|
||||
@@ -419,7 +415,6 @@ data Item
|
||||
, _itInvColor :: Color
|
||||
, _itEffect :: ItEffect
|
||||
, _itScroll :: Float -> Creature -> Item -> Item
|
||||
, _itAimStance :: AimStance
|
||||
, _itCurseStatus :: CurseStatus
|
||||
, _itDimension :: ItemDimension
|
||||
}
|
||||
@@ -894,3 +889,4 @@ makeLenses ''Zone
|
||||
makeLenses ''ItemDimension
|
||||
makeLenses ''Vocalization
|
||||
makeLenses ''UseDelay
|
||||
makeLenses ''AimParams
|
||||
|
||||
Reference in New Issue
Block a user