Implement launcher using attachment weapon chain effects
This commit is contained in:
@@ -276,9 +276,10 @@ stackedInventory =
|
|||||||
, bulletSynthesizer
|
, bulletSynthesizer
|
||||||
, drumMag
|
, drumMag
|
||||||
, launcher
|
, launcher
|
||||||
, shellMag
|
, launcherX 3
|
||||||
, shellMag
|
, megaShellMag
|
||||||
, shellMag
|
, megaShellMag
|
||||||
|
, megaShellMag
|
||||||
, pipe
|
, pipe
|
||||||
, scrollWatch
|
, scrollWatch
|
||||||
, rewindWatch
|
, rewindWatch
|
||||||
|
|||||||
@@ -46,6 +46,11 @@ beltMag =
|
|||||||
& itUse . amagLoadStatus . iaMax .~ 20000
|
& itUse . amagLoadStatus . iaMax .~ 20000
|
||||||
& itUse . amagType .~ BeltBulletAmmo
|
& itUse . amagType .~ BeltBulletAmmo
|
||||||
|
|
||||||
|
megaShellMag :: Item
|
||||||
|
megaShellMag = shellMag
|
||||||
|
& itUse . amagLoadStatus . iaMax .~ 1000000
|
||||||
|
& itUse . amagLoadStatus . iaLoaded .~ 1000000
|
||||||
|
|
||||||
shellMag :: Item
|
shellMag :: Item
|
||||||
shellMag =
|
shellMag =
|
||||||
defaultHeldItem & itType . iyBase .~ AMMOMAG SHELLMAG
|
defaultHeldItem & itType . iyBase .~ AMMOMAG SHELLMAG
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
module Dodge.Item.Held.Launcher where
|
module Dodge.Item.Held.Launcher where
|
||||||
|
|
||||||
|
import Dodge.SoundLogic.ExternallyGeneratedSounds
|
||||||
import Control.Applicative
|
import Control.Applicative
|
||||||
import Dodge.Default.Item
|
import Dodge.Default.Item
|
||||||
--import Dodge.Reloading.Action
|
--import Dodge.Reloading.Action
|
||||||
@@ -26,7 +27,8 @@ launcher =
|
|||||||
& itDimension . dimCenter .~ V3 10 0 0
|
& itDimension . dimCenter .~ V3 10 0 0
|
||||||
& itUse . heldDelay . rateMax .~ 20
|
& itUse . heldDelay . rateMax .~ 20
|
||||||
-- & itUse . heldUse .~ HeldPJCreation --usePjCreation
|
-- & itUse . heldUse .~ HeldPJCreation --usePjCreation
|
||||||
& itUse . heldMods .~ LauncherMod
|
-- & itUse . heldMods .~ LauncherMod
|
||||||
|
& itUse . heldMods .~ PistolMod
|
||||||
& itUse . heldAim . aimWeight .~ 8
|
& itUse . heldAim . aimWeight .~ 8
|
||||||
& itUse . heldAim . aimRange .~ 0.5
|
& itUse . heldAim . aimRange .~ 0.5
|
||||||
& itUse . heldAim . aimStance .~ TwoHandOver
|
& itUse . heldAim . aimStance .~ TwoHandOver
|
||||||
@@ -36,19 +38,25 @@ launcher =
|
|||||||
& itUse . heldAmmoTypes .~ singleAmmo ProjectileAmmo
|
& itUse . heldAmmoTypes .~ singleAmmo ProjectileAmmo
|
||||||
& itType . iyBase .~ HELD LAUNCHER
|
& itType . iyBase .~ HELD LAUNCHER
|
||||||
& itType . iyModules . at ModLauncherHoming ?~ EMPTYMODULE
|
& itType . iyModules . at ModLauncherHoming ?~ EMPTYMODULE
|
||||||
|
& itUse . heldParams . muzVel .~ ConstFloat 0
|
||||||
|
& itUse . heldParams . rifling .~ ConstFloat 0
|
||||||
|
& itUse . heldParams . recoil .~ 0
|
||||||
|
& itUse . heldParams . torqueAfter .~ 0
|
||||||
|
& itUse . heldParams . bulGunSound .~ (tap4S, 0)
|
||||||
|
|
||||||
launcherX :: Int -> Item
|
launcherX :: Int -> Item
|
||||||
launcherX i =
|
launcherX i =
|
||||||
launcher
|
launcher
|
||||||
& itType . iyBase .~ HELD (LAUNCHERX i)
|
& itType . iyBase .~ HELD (LAUNCHERX i)
|
||||||
-- & itUse . heldUse .~ HeldPJCreationX i
|
-- & itUse . heldUse .~ HeldPJCreationX i
|
||||||
& itUse . heldMods .~ LauncherXMod i
|
-- & itUse . heldMods .~ LauncherXMod i
|
||||||
& itUse . heldAim . aimMuzzles .~ getZipList
|
& itUse . heldAim . aimMuzzles .~ getZipList
|
||||||
(ZipList [Muzzle (V2 20 0) a 0 | a <- angles]
|
(ZipList [Muzzle (V2 20 0) a 0 | a <- angles]
|
||||||
<*> ZipList [0..]
|
<*> ZipList [0..]
|
||||||
<*> pure DefaultFlareType
|
<*> pure DefaultFlareType
|
||||||
<*> pure MuzzleLauncher
|
<*> pure MuzzleLauncher
|
||||||
)
|
)
|
||||||
|
& itUse . heldAmmoTypes .~ IM.fromList [(j,ProjectileAmmo) | j <- [0..i-1]]
|
||||||
where
|
where
|
||||||
angles = take i [0,2*pi/ fromIntegral i ..]
|
angles = take i [0,2*pi/ fromIntegral i ..]
|
||||||
--angles = take i [1,2 ..]
|
--angles = take i [1,2 ..]
|
||||||
|
|||||||
Reference in New Issue
Block a user