Files
loop/src/Dodge/Data/Item/Params.hs
T

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