Add generic item placement rooms
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
module Dodge.Item.Weapon.BatteryGuns
|
||||
( lasGun
|
||||
, sparkGun
|
||||
, teslaGun
|
||||
, tractorGun
|
||||
, lasRayAt
|
||||
@@ -31,6 +32,10 @@ import LensHelp
|
||||
import System.Random
|
||||
--import Data.Tuple
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
sparkGun :: Item
|
||||
sparkGun = teslaGun
|
||||
& itName .~ "SPARKGUN"
|
||||
& itType .~ SPARKGUN
|
||||
teslaGun :: Item
|
||||
teslaGun = defaultGun
|
||||
{ _itName = "TESLA"
|
||||
|
||||
@@ -80,10 +80,7 @@ bangCane = defaultGun
|
||||
, _dimSPic = \it -> noPic $ baseCaneShape
|
||||
<> makeSingleClipAt (V3 5 0 3) it
|
||||
}
|
||||
} & itUse . useAim . aimSpeed .~ 0.4
|
||||
& itUse . useAim . aimRange .~ 1
|
||||
& itUse . useAim . aimStance .~ OneHand
|
||||
& itUse . useAim . aimZoom .~ defaultItZoom {_itZoomFac = 1.5}
|
||||
} & itUse . useAim . aimStance .~ OneHand
|
||||
bangCaneX :: Int -> Item
|
||||
bangCaneX i = bangCane
|
||||
{ _itName = "BANGCANEx"++show i
|
||||
@@ -133,7 +130,6 @@ caneClipX i it = case it ^? itConsumption . ammoLoaded of
|
||||
. (\k -> fromIntegral k * 5 - ((fromIntegral i - 1) * 2.5)))
|
||||
[0..la-1]
|
||||
_ -> mempty
|
||||
|
||||
rifle :: Item
|
||||
rifle = bangCane
|
||||
{ _itDimension = ItemDimension
|
||||
@@ -151,7 +147,9 @@ rifle = bangCane
|
||||
& itName .~ "RIFLE"
|
||||
& itType .~ RIFLE
|
||||
& itConsumption . ammoBaseMax .~ 1
|
||||
|
||||
& itUse . useAim . aimSpeed .~ 0.4
|
||||
& itUse . useAim . aimRange .~ 1
|
||||
& itUse . useAim . aimZoom .~ defaultItZoom {_itZoomFac = 1.5}
|
||||
repeater :: Item
|
||||
repeater = rifle
|
||||
& itModules . at ModRifleMag ?~ DefaultModule
|
||||
|
||||
@@ -92,32 +92,16 @@ flameWall :: Item
|
||||
flameWall = flameThrower
|
||||
& itName .~ "FLAMEWALL"
|
||||
& itType .~ FLAMEWALL
|
||||
& itParams . sprayNozzles .~
|
||||
[ Nozzle
|
||||
{ _nzPressure = 2.5
|
||||
, _nzDir = 0
|
||||
, _nzMaxWalkAngle = 0.2
|
||||
, _nzWalkSpeed = 0.01
|
||||
& itParams . sprayNozzles .~ zipWith makeNozzle [0,0.6,-0.6] [2,2.5,2.5]
|
||||
where
|
||||
makeNozzle dir pres = Nozzle
|
||||
{ _nzPressure = pres
|
||||
, _nzDir = dir
|
||||
, _nzMaxWalkAngle = 0
|
||||
, _nzWalkSpeed = 0
|
||||
, _nzCurrentWalkAngle = 0
|
||||
, _nzLength = 20
|
||||
}
|
||||
, Nozzle
|
||||
{ _nzPressure = 3
|
||||
, _nzDir = 0.5
|
||||
, _nzMaxWalkAngle = 0.2
|
||||
, _nzWalkSpeed = 0.01
|
||||
, _nzCurrentWalkAngle = 0
|
||||
, _nzLength = 20
|
||||
}
|
||||
, Nozzle
|
||||
{ _nzPressure = 3
|
||||
, _nzDir = -0.5
|
||||
, _nzMaxWalkAngle = 0.2
|
||||
, _nzWalkSpeed = 0.01
|
||||
, _nzCurrentWalkAngle = 0
|
||||
, _nzLength = 20
|
||||
}
|
||||
]
|
||||
|
||||
flameThrower :: Item
|
||||
flameThrower = defaultAutoGun
|
||||
|
||||
Reference in New Issue
Block a user