{-# 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