Improve item use hammer, improve wide laser
This commit is contained in:
@@ -43,17 +43,6 @@ defaultBangCane = defaultBulletWeapon
|
||||
, _torqueAfter = 0.1
|
||||
, _randomOffset = 0
|
||||
}
|
||||
, _itUse = ruseAmmoParamsRate 6
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundStart tap3S
|
||||
, useAmmoAmount 1
|
||||
, withTorqueAfter
|
||||
, applyInaccuracy
|
||||
, withRecoil
|
||||
, withSmoke 1 black 20 200 5
|
||||
, withMuzFlareI
|
||||
]
|
||||
, _itDimension = ItemDimension
|
||||
{ _dimRad = 8
|
||||
, _dimCenter = V3 5 0 0
|
||||
@@ -64,13 +53,27 @@ defaultBangCane = defaultBulletWeapon
|
||||
, _dimSPic = \it -> noPic $ baseCaneShape
|
||||
<> makeSingleClipAt (V3 5 0 3) it
|
||||
}
|
||||
} & itUse . useAim . aimStance .~ OneHand
|
||||
}
|
||||
& itUse . useDelay . rateMax .~ 6
|
||||
& itUse . useMods .~
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundStart tap3S
|
||||
, useAmmoAmount 1
|
||||
, withTorqueAfter
|
||||
, applyInaccuracy
|
||||
, withRecoil
|
||||
, withSmoke 1 black 20 200 5
|
||||
, withMuzFlareI
|
||||
]
|
||||
& itUse . useAim . aimStance .~ OneHand
|
||||
& itType . iyBase .~ error "undefined bangCane baseitemtype"
|
||||
& itConsumption . laMax .~ 1
|
||||
& itConsumption . laCycle .~ [loadPartialInsert 10 1]
|
||||
volleyGun :: Int -> Item
|
||||
volleyGun i = defaultBulletWeapon
|
||||
& itUse .~ ruseAmmoParamsRate 6
|
||||
& itUse . useDelay . rateMax .~ 6
|
||||
& itUse . useMods .~
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundItemChoiceStart caneStickSoundChoice
|
||||
@@ -224,29 +227,32 @@ burstRifle = repeater
|
||||
-- , withRecoil
|
||||
-- ]
|
||||
miniGunUse :: Int -> ItemUse
|
||||
miniGunUse i = ruseInstant (useAmmoParams $ Just 1) $
|
||||
[ ammoCheckI
|
||||
, withWarmUp crankSlowS
|
||||
, withSoundForI mini1S 2
|
||||
--, withThinSmokeI
|
||||
, withSmoke 1 black 20 200 5
|
||||
, withMuzFlareI
|
||||
, useAmmoAmount i
|
||||
] <>
|
||||
concat [
|
||||
[ withSidePushI 50
|
||||
, torqueBefore 0.05
|
||||
, afterRecoil recoilAmount
|
||||
, withRandomOffset
|
||||
, withOldDir x
|
||||
, trigDoAlso (useAmmoParams $ Just x)
|
||||
] | x <- map ((/fromIntegral i) . fromIntegral) [1..i-1]
|
||||
]
|
||||
<>
|
||||
[ withSidePushI 50
|
||||
, afterRecoil recoilAmount
|
||||
, withRandomOffset
|
||||
]
|
||||
miniGunUse i = ruseAmmoParams
|
||||
& rUse .~ useAmmoParams (Just 1)
|
||||
& useDelay .~ NoDelay
|
||||
& useMods .~
|
||||
[ ammoCheckI
|
||||
, withWarmUp crankSlowS
|
||||
, withSoundForI mini1S 2
|
||||
--, withThinSmokeI
|
||||
, withSmoke 1 black 20 200 5
|
||||
, withMuzFlareI
|
||||
, useAmmoAmount i
|
||||
] <>
|
||||
concat [
|
||||
[ withSidePushI 50
|
||||
, torqueBefore 0.05
|
||||
, afterRecoil recoilAmount
|
||||
, withRandomOffset
|
||||
, withOldDir x
|
||||
, trigDoAlso (useAmmoParams $ Just x)
|
||||
] | x <- map ((/fromIntegral i) . fromIntegral) [1..i-1]
|
||||
]
|
||||
<>
|
||||
[ withSidePushI 50
|
||||
, afterRecoil recoilAmount
|
||||
, withRandomOffset
|
||||
]
|
||||
where
|
||||
recoilAmount = 5
|
||||
|
||||
|
||||
@@ -20,9 +20,6 @@ import Dodge.Item.Weapon.ZoomScope
|
||||
--import Dodge.Particle.HitEffect.ExpireAndDamage
|
||||
--import Dodge.Particle.Damage
|
||||
import Dodge.Item.Weapon.ExtraEffect
|
||||
--import Dodge.Item.Weapon.InventoryDisplay
|
||||
import Dodge.Item.Weapon.AmmoParams
|
||||
--import Dodge.Item.Draw
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Picture
|
||||
@@ -39,7 +36,7 @@ import LensHelp
|
||||
|
||||
bangRod :: Item
|
||||
bangRod = defaultBulletWeapon
|
||||
{ _itParams = BulletShooter
|
||||
& itParams .~ BulletShooter
|
||||
{ _muzVel = 0.8
|
||||
, _rifling = 1
|
||||
, _bore = 2
|
||||
@@ -48,7 +45,8 @@ bangRod = defaultBulletWeapon
|
||||
, _torqueAfter = 0.3
|
||||
, _randomOffset = 0
|
||||
}
|
||||
, _itUse = ruseAmmoParamsRate 12
|
||||
& itUse . useDelay . rateMax .~ 12
|
||||
& itUse . useMods .~
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundStart bangEchoS
|
||||
@@ -59,7 +57,7 @@ bangRod = defaultBulletWeapon
|
||||
, withMuzFlareI
|
||||
, withRecoil
|
||||
]
|
||||
, _itDimension = ItemDimension
|
||||
& itDimension .~ ItemDimension
|
||||
{ _dimRad = 12
|
||||
, _dimCenter = V3 5 0 0
|
||||
, _dimPortage = HeldItem
|
||||
@@ -69,7 +67,6 @@ bangRod = defaultBulletWeapon
|
||||
, _dimSPic = \it -> noPic $ baseRodShape
|
||||
<> makeSingleClipAt (V3 5 0 3) it
|
||||
}
|
||||
}
|
||||
& itConsumption . laMax .~ 1
|
||||
& itConsumption . laCycle .~ [loadEject 5, loadInsert 10 , loadPrime 5]
|
||||
& itType . iyBase .~ BANGROD
|
||||
@@ -128,19 +125,19 @@ sniperRifle = elephantGun
|
||||
machineGun :: Item
|
||||
machineGun = bangRod
|
||||
& itType . iyBase .~ MACHINEGUN
|
||||
& itUse .~ (ruseAmmoParamsRate 25
|
||||
& itUse . useDelay . rateMax .~ 25
|
||||
& itUse . useMods .~
|
||||
[ ammoCheckI
|
||||
, rateIncAB (torqueBeforeAtLeast 0.1 0.1) withTorqueAfter
|
||||
, withSoundStart bangEchoS
|
||||
, withThinSmokeI
|
||||
, withMuzFlareI
|
||||
]
|
||||
& useAim . aimWeight .~ 8
|
||||
& useAim . aimRange .~ 1
|
||||
& useAim . aimStance .~ TwoHandTwist
|
||||
& useAim . aimZoom .~ defaultItZoom {_itZoomFac = 1.5}
|
||||
& useDelay .~ VariableRate {_rateMax = 25, _rateMaxMax = 24, _rateMinMax = 7, _rateTime = 0}
|
||||
)
|
||||
& itUse . useAim . aimWeight .~ 8
|
||||
& itUse . useAim . aimRange .~ 1
|
||||
& itUse . useAim . aimStance .~ TwoHandTwist
|
||||
& itUse . useAim . aimZoom .~ defaultItZoom {_itZoomFac = 1.5}
|
||||
& itUse . useDelay .~ VariableRate {_rateMax = 25, _rateMaxMax = 24, _rateMinMax = 7, _rateTime = 0}
|
||||
& itConsumption . laMax .~ 100
|
||||
& itConsumption . laCycle .~ [loadEject 10, loadInsert 40 , loadPrime 10]
|
||||
& itInvSize .~ 3
|
||||
|
||||
@@ -41,17 +41,19 @@ bangStickSoundChoice it
|
||||
|
||||
bangStick :: Int -> Item
|
||||
bangStick i = defaultBulletWeapon
|
||||
{ _itUse = ruseAmmoParamsRate 8
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundItemChoiceStart bangStickSoundChoice
|
||||
, useAllAmmo
|
||||
, withMuzFlareI
|
||||
, withTorqueAfter
|
||||
, spreadLoaded
|
||||
-- , applyInaccuracy
|
||||
, withRecoil
|
||||
]
|
||||
{ _itUse = ruseAmmoParams
|
||||
& useDelay . rateMax .~ 8
|
||||
& useMods .~
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundItemChoiceStart bangStickSoundChoice
|
||||
, useAllAmmo
|
||||
, withMuzFlareI
|
||||
, withTorqueAfter
|
||||
, spreadLoaded
|
||||
-- , applyInaccuracy
|
||||
, withRecoil
|
||||
]
|
||||
, _itParams = BulletShooter
|
||||
{ _muzVel = 0.8
|
||||
, _rifling = 0.8
|
||||
@@ -159,7 +161,8 @@ pistol = bangStick 1
|
||||
& itConsumption .~ ( defaultBulletLoadable
|
||||
& laMax .~ 15
|
||||
& laCycle .~ [loadEject 5, loadInsert 5 , loadPrime 5] )
|
||||
& itUse .~ ruseAmmoParamsRate 6 (ammoHammerCheck : pistolAfterHamMods)
|
||||
& itUse . useDelay . rateMax .~ 6
|
||||
& itUse . useMods .~ (ammoHammerCheck : pistolAfterHamMods)
|
||||
& itDimension . dimSPic .~ (\it -> noPic $ baseStickShape <> makeTinClipAt pi (V3 5 2 0) it)
|
||||
& itParams %~
|
||||
( ( muzVel .~ 0.8 )
|
||||
@@ -193,7 +196,8 @@ smg = autoPistol -- & some parameter affecting stability
|
||||
<> makeTinClipAt 0 (V3 7 (-2) 0) it)
|
||||
revolverX :: Int -> Item
|
||||
revolverX i = revolver
|
||||
{ _itUse = ruseAmmoParamsRate 8
|
||||
& itUse . useDelay . rateMax .~ 8
|
||||
& itUse . useMods .~
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
-- rather than locking the inventory, a better solution may be to check
|
||||
@@ -208,5 +212,5 @@ revolverX i = revolver
|
||||
, withTorqueAfter
|
||||
, withRecoil
|
||||
]
|
||||
} & itConsumption . laMax .~ i * 6
|
||||
& itConsumption . laMax .~ i * 6
|
||||
& itType . iyBase .~ REVOLVERX i
|
||||
|
||||
Reference in New Issue
Block a user