Push item use delay inside datatype, currently broken
This commit is contained in:
+14
-12
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user