Partial refactor of bullet weapon effect chain

This commit is contained in:
2024-09-16 13:05:59 +01:00
parent 6f372109d9
commit abc0dd1106
23 changed files with 655 additions and 510 deletions
+1 -1
View File
@@ -11,7 +11,7 @@ import Data.Aeson.TH
import Dodge.Data.Item.Use.Consumption.Ammo
data ComposeLinkType
= AmmoInLink AmmoType
= AmmoInLink Int AmmoType
| AmmoModLink
deriving (Eq,Ord,Show,Read)
+1
View File
@@ -9,6 +9,7 @@ import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Data.Bifunctor
--import qualified Data.Map.Strict as M
data DoubleTreeNodeType
= DTRootNode
+25 -1
View File
@@ -13,6 +13,8 @@ module Dodge.Data.Item.Use (
module Dodge.Data.Item.Targeting,
) where
import Sound.Data
import qualified Data.IntMap.Strict as IM
import Geometry.Data
import Control.Lens
import Data.Aeson
@@ -32,8 +34,9 @@ data ItemUse
, _heldMods :: HeldMod
, _heldHammer :: HammerPosition
, _heldAim :: AimParams
, _heldAmmoTypes :: [AmmoType]
, _heldAmmoTypes :: IM.IntMap AmmoType
, _heldParams :: HeldParams
, _heldTriggerType :: TriggerType
-- , _useTargeting :: Maybe TargetType
}
| LeftUse
@@ -62,6 +65,10 @@ data ItemUse
}
deriving (Eq, Show, Read) --Generic, Flat)
data TriggerType = AutoTrigger
| HammerTrigger
deriving (Eq, Show, Read) --Generic, Flat)
data HeldParams
= DefaultHeldParams
| GasSprayParams
@@ -72,6 +79,8 @@ data HeldParams
, _recoil :: Float
, _torqueAfter :: Float
, _randomOffset :: Float
, _sidePush :: Float
, _bulGunSound :: SoundID
}
deriving (Eq, Show, Read) --Generic, Flat)
@@ -114,11 +123,24 @@ data AimParams = AimParams
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data FlareType = DefaultFlareType
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data Muzzle = Muzzle
{ _mzPos :: V2 Float
, _mzRot :: Float
, _mzInaccuracy :: Float
, _mzAmmoSlot :: Int
, _mzFlareType :: FlareType
-- , _mzRecoil :: Float
-- , _mzTorque :: Float
-- , _mzSidePush :: Float
-- , _mzRandomOffset :: Float
-- , _mzVel :: Float
-- , _mzRifling :: Float
-- , _mzAmmoSlot :: Either Int
-- , _mzAmmoPerShot :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
@@ -147,6 +169,8 @@ makeLenses ''HeldParams
makeLenses ''AttachParams
makeLenses ''ScrollAttachParams
makeLenses ''AmmoParams
deriveJSON defaultOptions ''FlareType
deriveJSON defaultOptions ''TriggerType
deriveJSON defaultOptions ''AmmoParams
deriveJSON defaultOptions ''HeldParams
deriveJSON defaultOptions ''Muzzle