Orient alteRifle ammo

This commit is contained in:
2026-01-02 21:14:19 +00:00
parent c02a1fd212
commit 02da762f2f
2 changed files with 11 additions and 1 deletions
+1 -1
View File
@@ -160,7 +160,7 @@ inventoryX c = case c of
]
"E" -> [alteRifle
, tinMag
, tinMag
, drumMag
] <>
fold
[ makeTypeCraftNum 1 SPRING
+10
View File
@@ -1,3 +1,4 @@
{-# LANGUAGE LambdaCase #-}
module Dodge.Item.Orientation (
orientAttachment,
propagateOrientation,
@@ -36,6 +37,7 @@ orientByParentChSF itm lt = case (_itType itm, lt) of
(HELD FLAMETHROWER, AmmoMagSF{}) -> (V3 4 (-6) 0, Q.qID)
(HELD (VOLLEYGUN n), AmmoMagSF i _)
-> (V3 2 (2.5 + fromIntegral i * 5 - (0.5 * 5 * fromIntegral n)) 3, Q.qz (pi/2))
(HELD ALTERIFLE, AmmoMagSF i _) -> alteRifleAmmoOrient itm i
(HELD _, AmmoMagSF{_amsfType = ElectricalAmmo}) -> (V3 0 0 z, Q.qID)
(HELD _, AmmoMagSF{}) -> (V3 7 (itemShapeMin _y itm) 0, Q.qID)
(HELD _, WeaponScopeSF) -> (V3 5 0 5, Q.qID)
@@ -46,6 +48,14 @@ orientByParentChSF itm lt = case (_itType itm, lt) of
y = itemShapeMaxY itm
z = itemShapeMaxZ itm
alteRifleAmmoOrient :: Item -> Int -> Point3Q
alteRifleAmmoOrient itm = \case
1 -> (V3 18 (itemShapeMin _y itm + s + 1) 0, Q.qID)
_ -> (V3 18 (itemShapeMax _y itm + s - 1) 0, Q.qz pi)
where
s | itm ^? itParams . alteRifleSwitch == Just 0 = 1
| otherwise = (-1)
itemShapeMaxX :: Item -> Float
itemShapeMaxX = itemShapeMax _1