Continue refactor of reloading
This commit is contained in:
@@ -21,7 +21,6 @@ import Dodge.Default
|
||||
--import Dodge.Item.Weapon.InventoryDisplay
|
||||
import Dodge.Item.Weapon.AmmoParams
|
||||
import Dodge.Item.Draw
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Picture
|
||||
@@ -38,7 +37,7 @@ import LensHelp
|
||||
--import System.Random
|
||||
|
||||
bangCane :: Item
|
||||
bangCane = defaultGun
|
||||
bangCane = defaultBulletWeapon
|
||||
{ _itParams = BulletShooter
|
||||
{ _muzVel = 0.8
|
||||
, _rifling = 0.9
|
||||
@@ -50,12 +49,6 @@ bangCane = defaultGun
|
||||
, _torqueAfter = 0.1
|
||||
, _randomOffset = 0
|
||||
}
|
||||
, _itConsumption = defaultAmmo
|
||||
{ _laType = basicBullet
|
||||
, _laMax = 1
|
||||
, _laReloadTime = 15
|
||||
, _laReloadType = ActivePartial 1
|
||||
}
|
||||
, _itUse = ruseAmmoParamsRate 6 upHammer
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
@@ -79,6 +72,8 @@ bangCane = defaultGun
|
||||
}
|
||||
} & itUse . useAim . aimStance .~ OneHand
|
||||
& itType . iyBase .~ BANGCANE
|
||||
& itConsumption . laMax .~ 1
|
||||
& itConsumption . laLoadType .~ ActivePartial 10 1 NoTransfer
|
||||
bangCaneX :: Int -> Item
|
||||
bangCaneX i = bangCane
|
||||
{ _itUse = ruseAmmoParamsRate 6 upHammer
|
||||
@@ -144,6 +139,7 @@ rifle = bangCane
|
||||
& itUse . useAim . aimStance .~ TwoHandTwist
|
||||
& itType . iyBase .~ RIFLE
|
||||
& itConsumption . laMax .~ 1
|
||||
& itConsumption . laLoadType .~ ActiveEject 5 5 NoTransfer
|
||||
& itUse . useAim . aimWeight .~ 6
|
||||
& itUse . useAim . aimRange .~ 1
|
||||
-- & itUse . useAim . aimZoom .~ defaultItZoom {_itZoomFac = 1.5}
|
||||
@@ -152,8 +148,8 @@ repeater :: Item
|
||||
repeater = rifle
|
||||
& itType . iyModules . at ModRifleMag ?~ EMPTYMODULE
|
||||
& itType . iyBase .~ REPEATER
|
||||
& itConsumption . laReloadType .~ ActiveClear
|
||||
& itConsumption . laReloadTime .~ 80
|
||||
& itConsumption . laLoadType . ejectTime .~ 40
|
||||
& itConsumption . laLoadType . insertTime .~ 40
|
||||
& itConsumption . laMax .~ 15
|
||||
& itDimension . dimSPic .~ (\it -> noPic $ baseRifleShape
|
||||
<> makeTinClipAt 0 (V3 10 (-2) 0) it
|
||||
@@ -252,14 +248,14 @@ miniGunUse i = ruseInstant (useAmmoParams $ Just 1) NoHammer $
|
||||
|
||||
miniGunX :: Int -> Item
|
||||
miniGunX i = defaultAutoGun
|
||||
{ _itConsumption = defaultAmmo
|
||||
{ _laType = basicBullet
|
||||
, _laMax = 1500
|
||||
{ _itConsumption = defaultBulletLoadable
|
||||
{ _laMax = 1500
|
||||
, _laLoaded = 1500
|
||||
, _laReloadTime = 200
|
||||
}
|
||||
& laLoadType . ejectTime .~ 60
|
||||
& laLoadType . insertTime .~ 60
|
||||
, _itUse = miniGunUse i
|
||||
& useDelay .~ WarmUpNoDelay {_warmTime = 0,_warmMax = 200}
|
||||
& useDelay .~ WarmUpNoDelay {_warmTime = 0,_warmMax = 100}
|
||||
& useAim . aimWeight .~ 6
|
||||
& useAim . aimRange .~ 1
|
||||
& useAim . aimStance .~ TwoHandTwist
|
||||
|
||||
@@ -22,7 +22,6 @@ import Dodge.Item.Weapon.ExtraEffect
|
||||
--import Dodge.Item.Weapon.InventoryDisplay
|
||||
import Dodge.Item.Weapon.AmmoParams
|
||||
--import Dodge.Item.Draw
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Picture
|
||||
@@ -38,7 +37,7 @@ import LensHelp
|
||||
--import System.Random
|
||||
|
||||
bangRod :: Item
|
||||
bangRod = defaultGun
|
||||
bangRod = defaultBulletWeapon
|
||||
{ _itParams = BulletShooter
|
||||
{ _muzVel = 0.8
|
||||
, _rifling = 1
|
||||
@@ -69,18 +68,16 @@ bangRod = defaultGun
|
||||
, _dimSPic = \it -> noPic $ baseRodShape
|
||||
<> makeSingleClipAt (V3 5 0 3) it
|
||||
}
|
||||
, _itConsumption = defaultAmmo
|
||||
{ _laType = basicBullet
|
||||
, _laMax = 1
|
||||
, _laReloadTime = 20
|
||||
}
|
||||
}
|
||||
& itConsumption . laMax .~ 1
|
||||
& itConsumption . laLoadType . ejectTime .~ 10
|
||||
& itConsumption . laLoadType . insertTime .~ 10
|
||||
& itType . iyBase .~ BANGROD
|
||||
& itUse . useAim . aimWeight .~ 8
|
||||
& itUse . useAim . aimRange .~ 1
|
||||
& itUse . useAim . aimStance .~ OneHand
|
||||
& itUse . useAim . aimZoom .~ defaultItZoom {_itZoomFac = 1.5}
|
||||
& itConsumption . laType . amBulEff .~ expireAndDamage heavyBulDams
|
||||
& itConsumption . laAmmoType . amBulEff .~ expireAndDamage heavyBulDams
|
||||
baseRodShape :: Shape
|
||||
baseRodShape = colorSH orange $ upperPrismPoly 3 $ rectXH 20 2
|
||||
baseAMRShape :: Shape
|
||||
@@ -145,6 +142,7 @@ machineGun = bangRod
|
||||
& useDelay .~ VariableRate {_rateMax = 25, _rateMaxMax = 24, _rateMinMax = 7, _rateTime = 0}
|
||||
)
|
||||
& itConsumption . laMax .~ 100
|
||||
& itConsumption . laReloadTime .~ 75
|
||||
& itConsumption . laLoadType . ejectTime .~ 25
|
||||
& itConsumption . laLoadType . insertTime .~ 25
|
||||
& itInvSize .~ 3
|
||||
& itParams. torqueAfter .~ 0.2 -- not sure if this is necessary?
|
||||
|
||||
@@ -18,7 +18,6 @@ import Dodge.Default
|
||||
--import Dodge.Item.Weapon.InventoryDisplay
|
||||
import Dodge.Item.Weapon.AmmoParams
|
||||
--import Dodge.Item.Draw
|
||||
import Dodge.Item.Weapon.Bullet
|
||||
import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Picture
|
||||
@@ -40,14 +39,8 @@ bangStickSoundChoice it
|
||||
| otherwise = shotgunS
|
||||
|
||||
bangStick :: Int -> Item
|
||||
bangStick i = defaultGun
|
||||
{ _itConsumption = defaultAmmo
|
||||
{ _laType = basicBullet
|
||||
, _laMax = i
|
||||
, _laReloadTime = 10
|
||||
, _laReloadType = ActivePartial 1
|
||||
}
|
||||
, _itUse = ruseAmmoParamsRate 8 upHammer
|
||||
bangStick i = defaultBulletWeapon
|
||||
{ _itUse = ruseAmmoParamsRate 8 upHammer
|
||||
[ ammoHammerCheck
|
||||
, useTimeCheck
|
||||
, withSoundItemChoiceStart bangStickSoundChoice
|
||||
@@ -84,6 +77,8 @@ bangStick i = defaultGun
|
||||
}
|
||||
}
|
||||
& itType . iyBase .~ BANGSTICK i
|
||||
& itConsumption . laMax .~ i
|
||||
& itConsumption . laLoadType .~ ActivePartial 10 1 NoTransfer
|
||||
baseStickShapeX :: Int -> Shape
|
||||
baseStickShapeX i = foldMap f [0..i-1]
|
||||
where
|
||||
@@ -110,14 +105,10 @@ stickClip it = case it ^? itConsumption . laLoaded of
|
||||
|
||||
revolver :: Item
|
||||
revolver = pistol
|
||||
{ _itConsumption = defaultAmmo
|
||||
{ _laType = basicBullet
|
||||
, _laMax = 6
|
||||
, _laLoaded = 0
|
||||
, _laReloadTime = 10
|
||||
, _laReloadType = ActivePartial 1
|
||||
}
|
||||
}
|
||||
& itConsumption .~
|
||||
(defaultBulletLoadable
|
||||
& laMax .~ 6
|
||||
& laLoadType .~ ActivePartial 10 1 NoTransfer )
|
||||
& itDimension . dimSPic .~ (\it -> noPic $ baseStickShape <> revolverClip it)
|
||||
& itType . iyBase .~ REVOLVER
|
||||
|
||||
@@ -164,18 +155,12 @@ smgAfterHamMods =
|
||||
|
||||
pistol :: Item
|
||||
pistol = (bangStick 1)
|
||||
{ _itConsumption = defaultAmmo
|
||||
{ _laType = basicBullet
|
||||
, _laMax = 15
|
||||
, _laLoaded = 0
|
||||
, _laReloadTime = 70
|
||||
, _laReloadType = ActiveClear
|
||||
}
|
||||
, _itUse = ruseAmmoParamsRate 6 upHammer
|
||||
(ammoHammerCheck : pistolAfterHamMods)
|
||||
-- , _itZoom = defaultItZoom
|
||||
-- , _itEquipPict = pictureWeaponAim pistolPic
|
||||
} & itDimension . dimSPic .~ (\it -> noPic $ baseStickShape <> makeTinClipAt pi (V3 5 2 0) it)
|
||||
& itConsumption .~ ( defaultBulletLoadable
|
||||
& laMax .~ 15
|
||||
& laLoadType . ejectTime .~ 20
|
||||
& laLoadType . insertTime .~ 20 )
|
||||
& itUse .~ ruseAmmoParamsRate 6 upHammer (ammoHammerCheck : pistolAfterHamMods)
|
||||
& itDimension . dimSPic .~ (\it -> noPic $ baseStickShape <> makeTinClipAt pi (V3 5 2 0) it)
|
||||
& itParams %~
|
||||
( ( muzVel .~ 0.8 )
|
||||
. ( rifling .~ 0.8 )
|
||||
|
||||
Reference in New Issue
Block a user