Play around with tesla arcs

This commit is contained in:
2025-01-16 12:18:25 +00:00
parent 5fb71cec39
commit 881b866ed2
11 changed files with 227 additions and 230 deletions
+4 -5
View File
@@ -18,11 +18,10 @@ data ArcStep = ArcStep
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data NextArcStep
= EndArc
| DefaultArcStep
deriving (Eq, Ord, Show, Read) --Generic, Flat)
--data NextArcStep
-- = DefaultArcStep
-- deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''ArcStep
deriveJSON defaultOptions ''ArcStep
deriveJSON defaultOptions ''NextArcStep
--deriveJSON defaultOptions ''NextArcStep
+2 -22
View File
@@ -12,37 +12,17 @@ import Dodge.Data.ArcStep
data ItemParams
= NoParams
-- | MagShieldParams
-- {_magShieldMgMIX :: Maybe Int}
| FlatShieldParams
{_flatShieldWlMIX :: Maybe Int}
| Arcing
{ _currentArc :: [ArcStep]
, _arcSize :: Float
, _arcNumber :: Int
, _newArcStep :: NextArcStep --ItemParams -> World -> ArcStep -> State StdGen (Maybe ArcStep)
, _previousArcEffect :: PreviousArcEffect
-- , _arcSize :: Float
-- , _arcNumber :: Int
}
data ShrinkGunStatus = FullSize | Shrunk
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
data PreviousArcEffect = NoPreviousArcEffect | PerturbTillBreakPreviousArc
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
--data GunBarrels
---- = MultiBarrel
---- { _brlSpread :: BarrelSpread
---- , _brlNum :: Int
---- , _brlInaccuracy :: Float
---- }
-- = BarrelList
-- { _brlList :: [GunBarrel]
-- }
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''ItemParams
deriveJSON defaultOptions ''ShrinkGunStatus
deriveJSON defaultOptions ''PreviousArcEffect
deriveJSON defaultOptions ''ItemParams
+5 -4
View File
@@ -1,19 +1,20 @@
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.TeslaArc where
module Dodge.Data.TeslaArc (
module Dodge.Data.TeslaArc,
module Dodge.Data.ArcStep,
) where
import Color
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Dodge.Data.ArcStep
--import Geometry.Data
data TeslaArc = TeslaArc
-- { _taPoints :: [Point2]
{ _taTimer :: Int
, _taArcSteps :: [ArcStep]
, _taColor :: Color