Partial refactor of bullet weapon effect chain
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user