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
+5 -1
View File
@@ -4,6 +4,7 @@ module Dodge.Default.Item (
module Dodge.Default.Item.Effect,
) where
import qualified Data.IntMap.Strict as IM
import Control.Lens
import qualified Data.Map.Strict as M
import Dodge.Data.Item
@@ -41,10 +42,13 @@ defaultLeftItem = defaultHeldItem & itUse .~ defaultLeftUse
defaultCraftItem :: Item
defaultCraftItem = defaultHeldItem & itUse .~ CraftUse
singleAmmo :: a -> IM.IntMap a
singleAmmo x = IM.insert 0 x mempty
defaultBulletWeapon :: Item
defaultBulletWeapon =
defaultWeapon
& itUse . heldAmmoTypes .~ [BulletAmmo]
& itUse . heldAmmoTypes .~ singleAmmo BulletAmmo
-- & itUse . heldUse .~ HeldUseAmmoParams -- useAmmoParams
& itType . iyModules . at ModBulletCollision ?~ EMPTYMODULE
-- & itType . iyModules . at ModBulletPayload ?~ EMPTYMODULE
+5 -1
View File
@@ -5,6 +5,7 @@ module Dodge.Default.Item.Use (
module Dodge.Default.Item.Use.Equipment,
) where
import Dodge.SoundLogic.ExternallyGeneratedSounds
import Dodge.Data.Item.Use
import Dodge.Default.Item.Use.AimParams
import Dodge.Default.Item.Use.Consumption
@@ -33,12 +34,15 @@ defaultHeldUse =
, _heldMods = DoNothingMod
, _heldHammer = HammerUp
, _heldAim = defaultAimParams
, _heldAmmoTypes = []
, _heldAmmoTypes = mempty
, _heldParams = BulletShooterParams
{ _muzVel = 0.8
, _rifling = 0.8
, _recoil = 10
, _torqueAfter = 0.2
, _randomOffset = 0
, _sidePush = 0
, _bulGunSound = tap3S
}
, _heldTriggerType = HammerTrigger
}
+11 -1
View File
@@ -13,10 +13,20 @@ defaultAimParams =
, _aimStance = OneHand
, --, _aimHandlePos = 10
_aimHandlePos = V2 3 0
, _aimMuzzles = [Muzzle (V2 20 0) 0 0 0]
, _aimMuzzles = [defaultMuzzle]
-- , _aimMuzPos = 20
}
defaultMuzzle :: Muzzle
defaultMuzzle = Muzzle
{ _mzPos = V2 20 0
, _mzRot = 0
, _mzInaccuracy = 0.05
, _mzAmmoSlot = 0
, _mzFlareType = DefaultFlareType
}
defaultItZoom :: ItZoom
defaultItZoom =
ItZoom