Add code for determining item orientation

This commit is contained in:
2025-06-28 21:21:50 +01:00
parent 4f0dc64e72
commit 6af2a8cc36
7 changed files with 197 additions and 138 deletions
+6 -2
View File
@@ -10,6 +10,7 @@ module Dodge.HeldUse (
heldEffectMuzzles,
) where
import qualified Quaternion as Q
import Color
import Control.Applicative
import Control.Monad
@@ -782,6 +783,7 @@ useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
MuzzleRLauncher -> createProjectileR itmtree magtree mz cr w
MuzzleGLauncher ->
createProjectile
(0, Q.qID)
(Grenade (getGrenadeHitEffect itmtree))
magtree
(getPJStabiliser itmtree)
@@ -1288,6 +1290,7 @@ createProjectileR ::
World
createProjectileR itmtree magtree =
createProjectile
(0, Q.qID)
( Rocket
(determineProjectileTracking magtree itmtree)
smoke
@@ -1315,6 +1318,7 @@ getGrenadeHitEffect t = case lookup GrenadeHitEffectLink (t ^. ldtRight) of
_ -> GBounce 2
createProjectile ::
(Point3, Q.Quaternion Float) ->
ProjectileType ->
LDTree ItemLink Item ->
Maybe PJStabiliser ->
@@ -1322,7 +1326,7 @@ createProjectile ::
Creature ->
World ->
World
createProjectile pjtype magtree stab muz cr = fromMaybe failsound $ do
createProjectile x pjtype magtree stab muz cr = fromMaybe failsound $ do
magid <- magtree ^? ldtValue . itLocation . ilInvID
ammoitem <- cr ^? crInv . ix magid
let rdetonate =
@@ -1336,7 +1340,7 @@ createProjectile pjtype magtree stab muz cr = fromMaybe failsound $ do
-- <|> ammoitem ^? itConsumables . magParams . ampPayload
<|> magAmmoParams ammoitem ^? _Just . ampPayload
return $
createShell rdetonate rscreen stab pjtype aparams muz cr
createShell x rdetonate rscreen stab pjtype aparams muz cr
. startthesound
where
-- the sound should be moved to the projectile firing