Cleanup, work towards unifying spayguns

This commit is contained in:
2022-03-03 10:34:56 +00:00
parent 163d0c584a
commit 08389ad4e0
11 changed files with 118 additions and 91 deletions
+20 -5
View File
@@ -2,6 +2,7 @@ module Dodge.Item.Weapon.BulletGun.Rod
( bangRod
, elephantGun
, amr
, autoAmr
, sniperRifle
, machineGun
) where
@@ -12,8 +13,9 @@ import Dodge.Item.Weapon.BulletGun.Clip
import Dodge.Default.Weapon
--import Dodge.Item.Weapon.InventoryDisplay
import Dodge.Default
import Dodge.Item.Weapon.ZoomScope
--import Dodge.Item.Attachment
--import Dodge.Item.Weapon.ExtraEffect
import Dodge.Item.Weapon.ExtraEffect
--import Dodge.Item.Weapon.InventoryDisplay
import Dodge.Item.Weapon.AmmoParams
--import Dodge.Item.Draw
@@ -43,13 +45,14 @@ bangRod = defaultGun
, _bore = 2
, _gunBarrels = SingleBarrel 0.1
}
, _itUse = ruseAmmoParamsRate 6 upHammer
, _itUse = ruseAmmoParamsRate 12 upHammer
[ ammoHammerCheck
, useTimeCheck
, withSoundStart autoGunS
, withSoundStart bangEchoS
, useAmmoAmount 1
, torqueAfterI 0.3
, applyInaccuracy
, withThickSmokeI
, withMuzFlareI
, withRecoilI 50
]
@@ -90,26 +93,38 @@ elephantGun = bangRod
& itUse . useMods .~
[ ammoHammerCheck
, useTimeCheck
, withSoundStart autoGunS
, withSoundStart bangEchoS
, useAmmoAmount 1
, torqueAfterI 0.1
, applyInaccuracy
, withThickSmokeI
, withMuzFlareI
, withRecoilI 50
]
amr :: Item
amr = elephantGun
& itName .~ "AMR"
& itName .~ "ANTIMATERIELRIFLE"
& itType .~ AMR
& itConsumption . ammoBaseMax .~ 15
& itDimension . dimSPic .~ (\it -> noPic $ baseAMRShape
<> makeTinClipAt 0 (V3 10 (-2) 0) it
)
autoAmr :: Item
autoAmr = amr
& itName .~ "AUTOAMR"
& itType .~ AUTOAMR
& itUse . useMods %~ ((ammoCheckI :) . tail)
sniperRifle :: Item
sniperRifle = elephantGun
& itName .~ "SNIPERRIFLE"
& itType .~ SNIPERRIFLE
& itParams . gunBarrels .~ SingleBarrel 0
& itUse . useAim . aimZoom .~ defaultItZoom {_itZoomMax = 0.5, _itZoomMin = 0.5}
& itScroll .~ zoomLongGun
& itScope .~ ZoomScope (V2 0 0) 0 1 False
& itTargeting .~ targetLaser
machineGun :: Item
machineGun = bangRod
& itName .~ "MACHINEGUN"