Cleanup, work towards unifying spayguns
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user