Cleanup projectile firing

This commit is contained in:
2025-10-12 10:46:27 +01:00
parent 33de1f79b6
commit bbda28cbc1
4 changed files with 45 additions and 64 deletions
+6 -9
View File
@@ -729,15 +729,13 @@ useLoadedAmmo loc cr mz m w =
MuzzlePulseBall -> creatureShootPulseBall loc cr mz w
MuzzleTesla -> shootTeslaArc loc cr mz w
MuzzleTractor -> shootTractorBeam cr w
MuzzleRLauncher -> createProjectileR loc magtree mz cr w
MuzzleRLauncher -> createProjectileR pq loc magtree cr w
MuzzleGLauncher ->
createProjectile
pq
-- (itmtree ^. dtValue . _3)
(Grenade (getGrenadeHitEffect itmtree))
magtree
(getPJStabiliser itmtree)
mz
cr
w
MuzzleNozzle{} -> useGasParams mitid mz loc cr $ walkNozzle mz itm w
@@ -1267,15 +1265,15 @@ determineProjectileTracking magtree itmtree =
_ -> False
createProjectileR ::
Point3Q ->
LocationDT OItem ->
DTree OItem ->
Muzzle ->
Creature ->
World ->
World
createProjectileR loc magtree =
createProjectileR pq loc magtree =
createProjectile
(loc ^. locDT . dtValue . _3)
pq
( Rocket
(determineProjectileTracking magtree itmtree)
smoke
@@ -1322,11 +1320,10 @@ createProjectile ::
ProjectileType ->
DTree OItem ->
Maybe PJStabiliser ->
Muzzle ->
Creature ->
World ->
World
createProjectile x pjtype mtree stab muz cr w = fromMaybe (failsound w) $ do
createProjectile x pjtype mtree stab cr w = fromMaybe (failsound w) $ do
magitid <- mtree ^? dtValue . _1 . itID . unNInt
ammoitem <- w ^? cWorld . lWorld . items . ix magitid
let rdetonate =
@@ -1336,7 +1333,7 @@ createProjectile x pjtype mtree stab muz cr w = fromMaybe (failsound w) $ do
aparams <-
((mtree ^? dtLeft) >>= find isampay >>= (^? dtValue . _1 . itType . ibtAttach . shellPayload))
<|> magAmmoParams ammoitem ^? _Just . ampPayload
return . makesound $ createShell x rdetonate rscreen stab pjtype aparams muz cr w
return . makesound $ createShell x rdetonate rscreen stab pjtype aparams cr w
where
isrdet :: DTree OItem -> Bool
isrdet y = case y ^. dtValue . _2 of