Add Read instances

This commit is contained in:
2022-07-22 01:06:35 +01:00
parent d4e5b02874
commit 4c5218c633
44 changed files with 209 additions and 126 deletions
+1
View File
@@ -28,4 +28,5 @@ data ItemConsumption
{ _icAmount :: IcAmount
}
| NoConsumption
deriving (Show,Read)
makeLenses ''ItemConsumption
+1
View File
@@ -2,3 +2,4 @@
module Dodge.Data.Item.HeldScroll where
data HeldScroll = HeldScrollDoNothing | HeldScrollZoom | HeldScrollCharMode
deriving (Eq,Ord,Enum,Bounded,Show,Read)
+5 -1
View File
@@ -18,9 +18,11 @@ data HeldUse = HeldDoNothing
| HeldSonicWave
| HeldForceField
| HeldShatter
deriving (Eq,Ord,Show,Read)
data Cuse = CDoNothing
| CHeal Int
deriving (Eq,Ord,Show,Read)
data Euse = EDoNothing
| EDetector Detector
@@ -32,13 +34,14 @@ data Euse = EDoNothing
| EonWristShield
| EoffWristShield
deriving (Eq,Ord,Show,Read)
data Luse = LDoNothing
| LRewind
| LShrink
| LBlink
| LUnsafeBlink
| LBoost
deriving (Eq,Ord,Show,Read)
data HeldMod = HeldModNothing
| PoisonSprayerMod
@@ -72,3 +75,4 @@ data HeldMod = HeldModNothing
| SmgMod
| RevolverXMod
| BangConeMod
deriving (Eq,Ord,Show,Read)
+5
View File
@@ -9,6 +9,7 @@ data ItemDimension = ItemDimension
, _dimCenter :: Point3
, _dimAttachPos :: Point3
}
deriving (Eq,Ord,Show,Read)
data ItemPortage
= HeldItem
{ _handlePos :: Float
@@ -16,16 +17,20 @@ data ItemPortage
}
| WornItem
| NoPortage
deriving (Eq,Ord,Show,Read)
data ItemValue = ItemValue
{ _ivInt :: Int
, _ivType :: ItemValueType
}
deriving (Eq,Ord,Show,Read)
data ItemValueType = MundaneItem | ArtefactItem
deriving (Eq,Ord,Show,Read)
data ItemPos
= InInv { _ipCrID :: Int , _ipInvID :: Int }
| OnFloor { _ipFlID :: Int }
| VoidItm
deriving (Eq,Ord,Show,Read)
makeLenses ''ItemDimension
makeLenses ''ItemPortage
makeLenses ''ItemValue
+5
View File
@@ -55,7 +55,9 @@ data ItemParams
, _previousArcEffect :: PreviousArcEffect
}
| ParamMID {_paramMID :: Maybe Int}
deriving (Eq,Ord,Show,Read)
data PreviousArcEffect = NoPreviousArcEffect | PerturbTillBreakPreviousArc
deriving (Eq,Ord,Show,Read)
data GunBarrels
= MultiBarrel
{ _brlSpread :: BarrelSpread
@@ -67,6 +69,7 @@ data GunBarrels
, _brlInaccuracy :: Float
}
| SingleBarrel {_brlInaccuracy :: Float}
deriving (Eq,Ord,Show,Read)
data Nozzle = Nozzle
{ _nzPressure :: Float
, _nzDir :: Float
@@ -75,10 +78,12 @@ data Nozzle = Nozzle
, _nzWalkSpeed :: Float
, _nzLength :: Float
}
deriving (Eq,Ord,Show,Read)
data BarrelSpread
= AlignedBarrels
| SpreadBarrels {_spreadAngle :: Float}
| RotatingBarrels {_rotatingBarrelInaccuracy :: Float}
deriving (Eq,Ord,Show,Read)
makeLenses ''BarrelSpread
makeLenses ''ItemParams
+17
View File
@@ -0,0 +1,17 @@
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE StrictData #-}
module Dodge.Data.Item.Tweak where
import Control.Lens
data TweakType = TweakPhaseV
| TweakTractionPower
| TweakSpinDrag
| TweakSpinAmount
| TweakThrustDelay
deriving (Eq,Ord,Show,Read)
data TweakParam = TweakParam
{ _tweakType :: TweakType -- Int -> Item -> Item
, _tweakVal :: Int
, _tweakMax :: Int
}
deriving (Eq,Ord,Show,Read)
makeLenses ''TweakParam
+6 -1
View File
@@ -30,6 +30,7 @@ data ItemUse
{ _eqEq :: Equipment
}
| NoUse
deriving (Eq,Ord,Show,Read)
data Equipment = Equipment
{ _eqUse :: Euse --Item -> Creature -> World -> World
, _eqOnEquip :: Euse --Item -> Creature -> World -> World
@@ -38,6 +39,7 @@ data Equipment = Equipment
, _eqParams :: EquipParams
, _eqViewDist :: Maybe Float
}
deriving (Eq,Ord,Show,Read)
data AimParams = AimParams
{ _aimWeight :: Int
, _aimRange :: Float
@@ -46,23 +48,26 @@ data AimParams = AimParams
, _aimHandlePos :: Float
, _aimMuzPos :: Float
}
deriving (Eq,Ord,Show,Read)
data AimStance
= TwoHandTwist
| TwoHandFlat
| OneHand
| LeaveHolstered
deriving
(Eq,Show,Ord,Enum)
(Eq,Show,Ord,Enum,Read)
data EquipParams
= NoEquipParams
| EquipID {_eparamID :: Int}
| EquipCounter {_eparamInt :: Int}
deriving (Eq,Ord,Show,Read)
data ItZoom = ItZoom
{ _itZoomMax :: Float
, _itZoomMin :: Float
, _itZoomFac :: Float
}
deriving (Eq,Ord,Show,Read)
makeLenses ''ItemUse
makeLenses ''AimParams
makeLenses ''EquipParams
+1
View File
@@ -18,4 +18,5 @@ data UseDelay -- should just be Delay
{_warmTime :: Int
,_warmMax :: Int
}
deriving (Eq,Ord,Show,Read)
makeLenses ''UseDelay