30 lines
766 B
Haskell
30 lines
766 B
Haskell
{-# LANGUAGE DeriveGeneric #-}
|
|
{-# LANGUAGE DeriveAnyClass #-}
|
|
{-# LANGUAGE StrictData #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
module Dodge.Data.Item.Params where
|
|
|
|
import Control.Lens
|
|
import Data.Aeson
|
|
import Data.Aeson.TH
|
|
import Dodge.Data.ArcStep
|
|
|
|
data ItemParams
|
|
= NoParams
|
|
| FlatShieldParams
|
|
{_flatShieldWlMIX :: Maybe Int}
|
|
| Arcing
|
|
{ _currentArc :: [ArcStep]}
|
|
| NozzleAngle {_nzAngle :: Float}
|
|
| VolleyUnfiredBarrels {_unfiredBarrels :: [Int]}
|
|
| AlteRifleSwitch {_alteRifleSwitch :: Int}
|
|
| WarmTime {_wTime :: Int}
|
|
|
|
data ShrinkGunStatus = FullSize | Shrunk
|
|
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
|
|
|
makeLenses ''ItemParams
|
|
deriveJSON defaultOptions ''ShrinkGunStatus
|
|
deriveJSON defaultOptions ''ItemParams
|