Cleanup
This commit is contained in:
@@ -1,22 +1,24 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Item.Params where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
import Dodge.Data.Beam
|
||||
import Dodge.Data.ArcStep
|
||||
import Geometry.Data
|
||||
|
||||
import Color
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Dodge.Data.ArcStep
|
||||
import Dodge.Data.Beam
|
||||
import Geometry.Data
|
||||
|
||||
data ItemParams
|
||||
= NoParams
|
||||
| ShellLauncher
|
||||
{ _shellSpinDrag :: Int
|
||||
, _shellSpinAmount :: Int
|
||||
{ _shellSpinDrag :: Int
|
||||
, _shellSpinAmount :: Int
|
||||
, _shellThrustDelay :: Int
|
||||
}
|
||||
| Refracting
|
||||
| Refracting
|
||||
{ _phaseV :: Float
|
||||
, _lasColor :: Color
|
||||
, _lasColor2 :: Color
|
||||
@@ -31,77 +33,83 @@ data ItemParams
|
||||
, _lasDamage :: Int
|
||||
, _lasBeam :: BeamType
|
||||
, _subParams :: Maybe ItemParams
|
||||
, _dbGap :: Float
|
||||
, _dbGap :: Float
|
||||
}
|
||||
| Attracting {_attractionPower :: Point2}
|
||||
| Attracting {_attractionPower :: Point2}
|
||||
| BulletShooter
|
||||
{ _muzVel :: Float
|
||||
, _rifling :: Float
|
||||
, _bore :: Float
|
||||
{ _muzVel :: Float
|
||||
, _rifling :: Float
|
||||
, _bore :: Float
|
||||
, _gunBarrels :: GunBarrels
|
||||
, _recoil :: Float
|
||||
, _torqueAfter :: Float
|
||||
, _recoil :: Float
|
||||
, _torqueAfter :: Float
|
||||
, _randomOffset :: Float
|
||||
}
|
||||
| Sprayer { _sprayNozzles :: [Nozzle] }
|
||||
| Sprayer {_sprayNozzles :: [Nozzle]}
|
||||
| AngleWalk
|
||||
{ _maxWalkAngle :: Float
|
||||
, _currentWalkAngle :: Float
|
||||
, _walkSpeed :: Float
|
||||
}
|
||||
| Arcing
|
||||
{ _currentArc :: Maybe [ArcStep]
|
||||
| Arcing
|
||||
{ _currentArc :: Maybe [ArcStep]
|
||||
, _arcSize :: Float
|
||||
, _arcNumber :: Int
|
||||
, _newArcStep :: NextArcStep --ItemParams -> World -> ArcStep -> State StdGen (Maybe ArcStep)
|
||||
, _previousArcEffect :: PreviousArcEffect
|
||||
}
|
||||
| ParamMID {_paramMID :: Maybe Int}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemParams where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemParams
|
||||
| BoostPropIX {_boostPropIX :: Maybe Int}
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
|
||||
|
||||
data PreviousArcEffect = NoPreviousArcEffect | PerturbTillBreakPreviousArc
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON PreviousArcEffect where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON PreviousArcEffect
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
|
||||
|
||||
data GunBarrels
|
||||
= MultiBarrel
|
||||
{ _brlSpread :: BarrelSpread
|
||||
, _brlNum :: Int
|
||||
{ _brlSpread :: BarrelSpread
|
||||
, _brlNum :: Int
|
||||
, _brlInaccuracy :: Float
|
||||
}
|
||||
| RotBarrel
|
||||
{ _brlNum :: Int
|
||||
{ _brlNum :: Int
|
||||
, _brlInaccuracy :: Float
|
||||
}
|
||||
| SingleBarrel {_brlInaccuracy :: Float}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON GunBarrels where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON GunBarrels
|
||||
| SingleBarrel {_brlInaccuracy :: Float}
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
|
||||
|
||||
data Nozzle = Nozzle
|
||||
{ _nzPressure :: Float
|
||||
, _nzDir :: Float
|
||||
, _nzMaxWalkAngle :: Float
|
||||
, _nzCurrentWalkAngle :: Float
|
||||
, _nzWalkSpeed :: Float
|
||||
, _nzLength :: Float
|
||||
, _nzWalkSpeed :: Float
|
||||
, _nzLength :: Float
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON Nozzle where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON Nozzle
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
|
||||
|
||||
data BarrelSpread
|
||||
= AlignedBarrels
|
||||
| SpreadBarrels {_spreadAngle :: Float}
|
||||
| SpreadBarrels {_spreadAngle :: Float}
|
||||
| RotatingBarrels {_rotatingBarrelInaccuracy :: Float}
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON BarrelSpread where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON BarrelSpread
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
|
||||
|
||||
makeLenses ''BarrelSpread
|
||||
makeLenses ''ItemParams
|
||||
makeLenses ''Nozzle
|
||||
makeLenses ''GunBarrels
|
||||
deriveJSON defaultOptions ''ItemParams
|
||||
deriveJSON defaultOptions ''PreviousArcEffect
|
||||
deriveJSON defaultOptions ''GunBarrels
|
||||
deriveJSON defaultOptions ''Nozzle
|
||||
deriveJSON defaultOptions ''BarrelSpread
|
||||
|
||||
Reference in New Issue
Block a user