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