Cleanup projectile firing
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user