{-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Item.Params where import Sound.Data 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 , _isWarming :: Bool , _coolSound :: Maybe SoundID } | ItemParamID {_itParamID :: Int} data ShrinkGunStatus = FullSize | Shrunk makeLenses ''ItemParams deriveJSON defaultOptions ''ShrinkGunStatus deriveJSON defaultOptions ''ItemParams