Improve low level flamer

This commit is contained in:
2022-03-15 08:54:23 +00:00
parent 4c116a82c9
commit b71579441e
10 changed files with 78 additions and 47 deletions
+21 -5
View File
@@ -1,6 +1,6 @@
module Dodge.Item.Weapon.SprayGuns
( poisonSprayer
, flameStick
, flameSpitter
, blowTorch
, flameThrower
, flameTorrent
@@ -33,6 +33,7 @@ import LensHelp
import Data.Traversable
import qualified Data.IntMap.Strict as IM
import Control.Monad.State
--import Data.Function
import System.Random
poisonSprayer :: Item
@@ -64,14 +65,29 @@ flamerPic it =
tz = 3
r = 5
am = fractionLoadedAmmo2 it
flameStick :: Item
flameStick = flameThrower
& itName .~ "FLAMESTICK"
& itType .~ FLAMESTICK
flameSpitter :: Item
flameSpitter = flameThrower
& itName .~ "FLAMESPITTER"
& itType .~ FLAMESPITTER
& itConsumption . ammoBaseMax .~ 10
& itConsumption . reloadTime .~ 20
& itParams . sprayNozzles . ix 0 . nzPressure .~ 4
& itUse . useAim . aimStance .~ OneHand
& itUse . useDelay .~ FixedRate {_rateMax =12,_rateTime = 0}
& itUse . useMods .~
[ ammoCheckI
, useTimeCheck
, lockInvFor 10
, repeatOnFrames [1..9]
, withRandomItemParams f
, useAmmoAmount 1
, withSidePushI 5
, withSidePushAfterI 20
]
where
f = do
nzpres <- state $ randomR (3,4)
return $ sprayNozzles . ix 0 . nzPressure .~ nzpres
flameTorrent :: Item
flameTorrent = flameThrower