31 lines
773 B
Haskell
31 lines
773 B
Haskell
{-# 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
|