Implement burstRifle using attachment weapon chain

This commit is contained in:
2024-09-17 11:05:34 +01:00
parent ecc63a70cc
commit 791003ebb9
11 changed files with 324 additions and 319 deletions
+8 -13
View File
@@ -6,7 +6,6 @@ module Dodge.Item.Held.Cane (
miniGunX,
) where
import Dodge.SoundLogic.ExternallyGeneratedSounds
import Dodge.Base
import Dodge.Data.Item
import Dodge.Default
@@ -19,16 +18,9 @@ import Control.Applicative
defaultBangCane :: Item
defaultBangCane =
defaultBulletWeapon
& itUse . heldParams
.~ BulletShooterParams
{ _muzVel = ConstFloat 0.8
, _rifling = ConstFloat 0.9
, _recoil = 50
, _torqueAfter = 0.1
, _randomOffset = 0
, _sidePush = 0
, _bulGunSound = tap3S
}
& itUse . heldParams . rifling .~ ConstFloat 0.9
& itUse . heldParams . recoil .~ 50
& itUse . heldParams . torqueAfter .~ 0.1
& itDimension . dimRad .~ 8
& itDimension . dimCenter .~ V3 5 0 0
& itUse . heldDelay . rateMax .~ 6
@@ -86,8 +78,11 @@ burstRifle =
rifle
& itType . iyBase .~ HELD BURSTRIFLE
& itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy .~ 0.05
& itUse . heldDelay . rateMax .~ 18
& itUse . heldMods .~ BurstRifleMod
-- & itUse . heldDelay . rateMax .~ 18
& itUse . heldDelay . rateMax .~ 6
-- & itUse . heldMods .~ BurstRifleMod
& itUse . heldParams . weaponInvLock .~ 7
& itUse . heldParams . weaponRepeat .~ [3,6]
miniGunUse :: Int -> ItemUse
miniGunUse i =
+6 -9
View File
@@ -17,15 +17,12 @@ bangCone =
& itUse . heldMods .~ PistolMod
-- & itUse . heldAim . aimHandlePos .~ 5
& itUse . heldAim . aimMuzzles .~ replicate 15 (Muzzle (V2 15 0) 0 0.5 0 DefaultFlareType)
& itUse . heldParams .~ BulletShooterParams
{ _muzVel = UniRandFloat 0.5 0.8
, _rifling = UniRandFloat 0.3 0.9
, _recoil = 150
, _torqueAfter = 0.1
, _randomOffset = 12
, _sidePush = 0
, _bulGunSound = bangEchoS
}
& itUse . heldParams . muzVel .~ UniRandFloat 0.5 0.8
& itUse . heldParams . rifling .~ UniRandFloat 0.3 0.8
& itUse . heldParams . recoil .~ 150
& itUse . heldParams . torqueAfter .~ 0.1
& itUse . heldParams . randomOffset .~ 12
& itUse . heldParams . bulGunSound .~ bangEchoS
& itType . iyBase .~ HELD BANGCONE
blunderbuss :: Item
+5 -14
View File
@@ -18,18 +18,11 @@ import LensHelp
bangRod :: Item
bangRod =
defaultBulletWeapon
& itUse . heldParams
.~ BulletShooterParams
{ _muzVel = ConstFloat 0.8
, _rifling = ConstFloat 1
, _recoil = 50
, _torqueAfter = 0.3
, _randomOffset = 0
, _sidePush = 0
, _bulGunSound = bangEchoS
}
& itUse . heldParams . rifling .~ ConstFloat 1
& itUse . heldParams . recoil .~ 50
& itUse . heldParams . torqueAfter .~ 0.3
& itUse . heldParams . bulGunSound .~ bangEchoS
& itUse . heldDelay . rateMax .~ 12
& itUse . heldMods .~ BangRodMod
& itDimension . dimRad .~ 12
& itDimension . dimCenter .~ V3 5 0 0
& itType . iyBase .~ HELD BANGROD
@@ -38,7 +31,7 @@ bangRod =
& itUse . heldAim . aimStance .~ OneHand
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
-- & itUse . heldAim . aimHandlePos .~ 5
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0.1 0 DefaultFlareType]
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0.1 0 HeavySmokeFlare]
-- & itUse . heldConsumption . laAmmoType .~ hvBulletAmmo
elephantGun :: Item
@@ -47,7 +40,6 @@ elephantGun =
& itType . iyBase .~ HELD ELEPHANTGUN
& itUse . heldAim . aimStance .~ TwoHandUnder
& itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy .~ 0.05
& itUse . heldMods .~ ElephantGunMod
& itUse . heldParams . recoil .~ 50
amr :: Item
@@ -59,7 +51,6 @@ autoAmr :: Item
autoAmr =
amr
& itType . iyBase .~ HELD AUTOAMR
& itUse . heldMods .~ AutoAmrMod
sniperRifle :: Item
sniperRifle =
+4 -11
View File
@@ -17,22 +17,15 @@ import LensHelp
bangStick :: Int -> Item
bangStick i =
defaultBulletWeapon
& itUse . heldParams
.~ BulletShooterParams
{ _muzVel = ConstFloat 0.8
, _rifling = ConstFloat 0.8
, _recoil = 25
, _torqueAfter = 0.18 + 0.02 * fromIntegral i
, _randomOffset = 0
, _sidePush = 0
, _bulGunSound = tap3S
}
& itUse . heldParams . recoil .~ 25
& itUse . heldParams . torqueAfter .~ 0.18 + 0.02 * fromIntegral i
& itType . iyBase .~ HELD (BANGSTICK i)
& itInvSize .~ fromIntegral i / 3
& itDimension . dimRad .~ 5
& itDimension . dimCenter .~ V3 5 0 0
& itUse . heldDelay . rateMax .~ 8
& itUse . heldMods .~ BangStickMod
-- & itUse . heldMods .~ BangStickMod
& itUse . heldMods .~ PistolMod
& itUse . heldAim . aimMuzzles
.~ [Muzzle (V2 10 0) a 0.01 0 DefaultFlareType | a <- spreadAroundCenter i baseStickSpread]