Push item use delay inside datatype, currently broken

This commit is contained in:
2021-11-27 16:37:30 +00:00
parent 224db733f6
commit 8639b2d428
21 changed files with 162 additions and 177 deletions
+14 -12
View File
@@ -289,12 +289,23 @@ data FloorItem = FlIt { _flIt :: Item , _flItPos :: Point2 , _flItRot :: Float,
data ItemPos
= InInv { _itCrId :: Int , _itInvId :: Int }
| OnFloor { _itFlID :: Int }
data UseDelay -- should just be Delay
= NoDelay
| DelayRate
{_rateMax :: Int
,_rateTime :: Int
}
data ItemUse
= RightUse
{ _rUse :: Item -> Creature -> World -> World
{ _rUse :: Item -> Creature -> World -> World
, _useDelay :: UseDelay
, _useMods :: [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
, _useHammer :: HammerType
}
| LeftUse
{ _lUse :: Creature -> Int -> World -> World
{ _lUse :: Creature -> Int -> World -> World
, _itUseDelay :: UseDelay
, _itHammer :: HammerType
}
| NoUse
data ItemAmmo
@@ -318,13 +329,9 @@ data Item
, _wpCurWarmUp :: Int
, _wpMaxCoolDown :: Int
, _wpCurCoolDown :: Int
, _itUseRate :: Int
, _itUseTime :: Int
, _itUse :: ItemUse
, _itUseModifiers :: [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
, _wpSpread :: Float
, _wpRange :: Float
, _itHammer :: HammerPosition
, _itFloorPict :: Item -> SPic
, _itAimingSpeed :: Float
, _itAimingRange :: Float
@@ -357,7 +364,6 @@ data Item
, _itInvDisplay :: Item -> String
, _itInvColor :: Color
, _itEffect :: ItEffect
, _itHammer :: HammerPosition
, _itAimStance :: AimStance
, _itCurseStatus :: CurseStatus
, _itDimension :: ItemDimension
@@ -389,7 +395,6 @@ data Item
, _itAimZoom :: ItZoom
, _itInvDisplay :: Item -> String
, _itInvColor :: Color
, _itHammer :: HammerPosition
, _itAimStance :: AimStance
, _itCurseStatus :: CurseStatus
, _itDimension :: ItemDimension
@@ -402,9 +407,6 @@ data Item
, _twMaxRange :: Float
, _twAccuracy :: Float
, _itUse :: ItemUse
, _itUseRate :: Int
, _itUseTime :: Int
, _itUseModifiers :: [(Item -> Creature -> World -> World) -> Item -> Creature -> World -> World]
, _itAimingSpeed :: Float
, _itAimingRange :: Float
, _itZoom :: ItZoom
@@ -416,7 +418,6 @@ data Item
, _itInvDisplay :: Item -> String
, _itInvColor :: Color
, _itEffect :: ItEffect
, _itHammer :: HammerPosition
, _itScroll :: Float -> Creature -> Item -> Item
, _itAimStance :: AimStance
, _itCurseStatus :: CurseStatus
@@ -892,3 +893,4 @@ makeLenses ''MachineType
makeLenses ''Zone
makeLenses ''ItemDimension
makeLenses ''Vocalization
makeLenses ''UseDelay