Fold aiming parameters into item use datatype

This commit is contained in:
2021-11-27 18:10:05 +00:00
parent 8639b2d428
commit 652af6b0a9
24 changed files with 135 additions and 155 deletions
+9 -10
View File
@@ -42,20 +42,18 @@ teslaGun = defaultGun
, _wpLoadedAmmo = 200
, _wpReloadTime = 80
}
, _itAimStance = TwoHandFlat
, _itUse = ruseInstant (const aTeslaArc) NoHammer
[ ammoCheckI
, useTimeCheckI
, withTempLight 1 100 (V3 0 0 1)
, withSoundForI elecCrackleS 1
, useAmmo 1
]
& useAim . aimSpeed .~ 0.4
& useAim . aimStance .~ TwoHandFlat
, _wpSpread = 0.001
, _wpRange = 20
, _itFloorPict = teslaGunPic
, _itAimingSpeed = 0.4
, _itZoom = defaultItZoom
, _itAimingRange = 0
}
teslaGunPic :: Item -> SPic
teslaGunPic _ = noPic $ colorSH blue $
@@ -76,16 +74,16 @@ lasGun = defaultAutoGun
}
, _itUse = ruseInstant (const aLaser) NoHammer
[ ammoCheckI
, useTimeCheckI
, withTempLight 1 100 (V3 1 1 0)
, withSoundForI tone440sawtoothquietS 2
, useAmmo 1
]
& useAim . aimSpeed .~ 0.4
& useAim . aimRange .~ 1
& useAim . aimStance .~ TwoHandTwist
, _wpSpread = 0.001
, _wpRange = 20
, _itFloorPict = lasGunPic
, _itAimingSpeed = 0.4
, _itAimingRange = 1
, _itAttachment = ItCharMode $ Seq.fromList "/VZ"
, _itScroll = scrollCharMode
, _itInvDisplay = basicWeaponDisplay
@@ -113,13 +111,14 @@ tractorGun = defaultAutoGun
, _wpReloadTime = 40
}
, _itUse = ruseInstant aTractorBeam NoHammer
[ ammoUseCheckI
[ ammoCheckI
]
& useAim . aimSpeed .~ 0.4
& useAim . aimRange .~ 1
& useAim . aimStance .~ TwoHandTwist
, _wpSpread = 0.00001
, _wpRange = 20
, _itFloorPict = tractorGunSPic
, _itAimingSpeed = 0.4
, _itAimingRange = 0.5
}
-- TODO own picture for tractor gun
tractorGunSPic :: Item -> SPic