Move some item datatypes into dedicated module

This commit is contained in:
2021-11-29 16:50:44 +00:00
parent f40d486d68
commit 89a80a0c77
15 changed files with 90 additions and 124 deletions
+40
View File
@@ -54,4 +54,44 @@ data AimStance
| LeaveHolstered
deriving
(Eq,Show,Ord,Enum)
data ItZoom = ItZoom
{ _itZoomMax :: Float
, _itZoomMin :: Float
, _itZoomFac :: Float
}
data CurseStatus = Uncursed | UndroppableIdentified | UndroppableUnidentified
data AimParams = AimParams
{ _aimSpeed :: Float
, _aimRange :: Float
, _aimZoom :: ItZoom
, _aimStance :: AimStance
}
data UseDelay -- should just be Delay
= NoDelay
| FixedRate
{_rateMax :: Int
,_rateTime :: Int
}
| VariableRate
{_rateMax :: Int
,_rateTime :: Int
,_rateMaxMax :: Int
,_rateMinMax :: Int
}
| WarmUpNoDelay
{_warmTime :: Int
,_warmMax :: Int
}
data ItemType
= Weapon'
{ _wpSpread :: Float
, _wpRange :: Float
, _wpNumBarrels :: Int
}
| UtilityItem
| ConsumableItem
makeLenses ''HammerType
makeLenses ''ItZoom
makeLenses ''AimParams
makeLenses ''UseDelay
makeLenses ''ItemType