Work on AttachUse -> UseAttach

This commit is contained in:
2024-10-01 14:21:40 +01:00
parent 36238669f5
commit f90bbc1cd0
15 changed files with 436 additions and 374 deletions
+1 -4
View File
@@ -69,13 +69,10 @@ data CraftType
| GASINJECTOR
| FLAKCRAFT
| FRAGCRAFT
| -- | ENERGYBALLCRAFT EnergyBallType
-- | BULBODYCRAFT BulletEffect
TELEPORTMODULE
| TELEPORTMODULE
| TIMEMODULE
| SIZEMODULE
| GRAVITYMODULE
-- | TARGETMODULE TargetingType
deriving (Eq, Ord, Show, Read)
data AttachType
+13 -7
View File
@@ -16,6 +16,7 @@ module Dodge.Data.Item.Use (
module Dodge.Data.Item.BulletMod
) where
import Dodge.Data.Item.Effect
import Dodge.Data.Item.BulletMod
import Dodge.Data.Item.Scope
import Control.Lens
@@ -23,7 +24,6 @@ import Data.Aeson
import Data.Aeson.TH
import qualified Data.IntMap.Strict as IM
import Dodge.Data.GenFloat
--import qualified Data.Sequence as Seq
import Dodge.Data.Hammer
import Dodge.Data.Item.HeldDelay
import Dodge.Data.Item.HeldUse
@@ -55,8 +55,8 @@ data ItemUse
, _equipTargeting :: Maybe TargetingType
}
| CraftUse
| AttachUse
{_atLinkedProjectile :: Maybe Int}
| UseAttach
{_uaParams :: AttachParams}
| UseAmmoMag
{ _amagLoadStatus :: ReloadStatus
, _amagParams :: AmmoParams
@@ -76,6 +76,14 @@ data ItemUse
data TriggerType = AutoTrigger | HammerTrigger
deriving (Eq, Show, Read)
data AttachParams
= APLinkProjectile
{_apLinkedProjectile :: Maybe Int}
| APItEffect
{_apItEffect :: ItEffect }
| APNothing
deriving (Eq, Show, Read)
data HeldParams
= DefaultHeldParams
| GasSprayParams
@@ -189,9 +197,7 @@ makeLenses ''AimParams
makeLenses ''ItZoom
makeLenses ''Muzzle
makeLenses ''HeldParams
--makeLenses ''AttachParams
--makeLenses ''ScrollAttachParams
makeLenses ''AttachParams
makeLenses ''AmmoParams
makeLenses ''MuzzleEffect
deriveJSON defaultOptions ''MuzzleEffect
@@ -203,7 +209,7 @@ deriveJSON defaultOptions ''Muzzle
deriveJSON defaultOptions ''AimStance
--deriveJSON defaultOptions ''ScrollAttachParams
--deriveJSON defaultOptions ''AttachParams
deriveJSON defaultOptions ''AttachParams
deriveJSON defaultOptions ''ItZoom
deriveJSON defaultOptions ''AimParams
deriveJSON defaultOptions ''ItemUse