Fold together useDelay and itemTriggerType

This commit is contained in:
2025-07-03 22:25:32 +01:00
parent 8a00450e3f
commit a207073846
12 changed files with 404 additions and 365 deletions
+16 -6
View File
@@ -1,18 +1,28 @@
{-# LANGUAGE StrictData #-}
--{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.TriggerType where
import Control.Lens
--import Data.Aeson
--import Data.Aeson.TH
data TriggerType
= AutoTrigger
| HammerTrigger
= AutoTrigger Int
| HammerTrigger Int
| NoTrigger
| AlwaysSingleTrigger
| BurstTrigger [Int]
| VolleyGunTrigger Int
-- | AlwaysSingleTrigger Int
| BurstTrigger {_burstFrames :: [Int], _burstRate :: Int}
| VolleyGunTrigger {_volleyNumBarrels::Int, _volleyRate :: Int}
| WarmUpCoolDown
{ _warmStart :: Int
, _coolStart :: Int
, _coolEnd :: Int
}
| WarmUpNoDelay
{ _warmMax :: Int
}
deriving (Eq, Show, Read)
makeLenses ''TriggerType
--deriveJSON defaultOptions ''TriggerType
-8
View File
@@ -12,14 +12,6 @@ data ItemUseDelay -- should just be Delay
| FixedRate
{ _rateMax :: Int
}
| WarmUpNoDelay
{ _warmMax :: Int
}
| WarmUpCoolDown
{ _warmStart :: Int
, _coolStart :: Int
, _coolEnd :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''ItemUseDelay