Work on weapon positioning

This commit is contained in:
2026-04-01 10:04:22 +01:00
parent ecdc19fb5e
commit aea7e6434e
10 changed files with 95 additions and 84 deletions
+23 -23
View File
@@ -34,33 +34,33 @@ heldAimStance = \case
PISTOL -> OneHand
MACHINEPISTOL -> OneHand
AUTOPISTOL -> OneHand
SMG -> TwoHandUnder
SMG -> TwoHandTwist
BANGCONE -> OneHand
BLUNDERBUSS -> TwoHandUnder
GRAPECANNON{} -> TwoHandUnder
MINIGUNX{} -> TwoHandUnder
BLUNDERBUSS -> TwoHandTwist
GRAPECANNON{} -> TwoHandTwist
MINIGUNX{} -> TwoHandTwist
VOLLEYGUN{} -> TwoHandFlat
RIFLE -> TwoHandUnder
ALTERIFLE -> TwoHandUnder
AUTORIFLE -> TwoHandUnder
BURSTRIFLE -> TwoHandUnder
BANGROD -> TwoHandUnder
ELEPHANTGUN -> TwoHandUnder
AMR -> TwoHandUnder
AUTOAMR -> TwoHandUnder
SNIPERRIFLE -> TwoHandUnder
RIFLE -> TwoHandTwist
ALTERIFLE -> TwoHandTwist
AUTORIFLE -> TwoHandTwist
BURSTRIFLE -> TwoHandTwist
BANGROD -> TwoHandTwist
ELEPHANTGUN -> TwoHandTwist
AMR -> TwoHandTwist
AUTOAMR -> TwoHandTwist
SNIPERRIFLE -> TwoHandTwist
FLAMESPITTER -> OneHand
FLAMETHROWER -> TwoHandUnder
FLAMETORRENT -> TwoHandUnder
FLAMEWALL -> TwoHandUnder
BLOWTORCH -> TwoHandUnder
FLAMETHROWER -> TwoHandTwist
FLAMETORRENT -> TwoHandTwist
FLAMEWALL -> TwoHandTwist
BLOWTORCH -> TwoHandTwist
TESLACOIL -> TwoHandFlat
TRACTORGUN -> TwoHandUnder
RLAUNCHER -> TwoHandOver
RLAUNCHERX{} -> TwoHandOver
GLAUNCHER -> TwoHandUnder
POISONSPRAYER -> TwoHandUnder
SHATTERGUN -> TwoHandUnder
TRACTORGUN -> TwoHandTwist
RLAUNCHER -> TwoHandTwist
RLAUNCHERX{} -> TwoHandTwist
GLAUNCHER -> TwoHandTwist
POISONSPRAYER -> TwoHandTwist
SHATTERGUN -> TwoHandTwist
LED -> OneHand
FLATSHIELD -> TwoHandFlat
KEYCARD {} -> OneHand
+1 -1
View File
@@ -102,7 +102,7 @@ extraWeaponLinks itm = case itm ^. itType of
extraWeaponLinksBelow :: Item -> [ItemSF]
extraWeaponLinksBelow itm
| TwoHandUnder <- itemBaseStance itm = [UnderBarrelSlotSF]
| TwoHandTwist <- itemBaseStance itm = [UnderBarrelSlotSF]
| otherwise = []
getAmmoLinks :: Item -> [ItemSF]
+3 -6
View File
@@ -51,14 +51,11 @@ handleOrient loc = case loc ^. locDT . dtValue . _1 . itType of
handOrient :: Creature -> AimStance -> Point3Q
handOrient cr = \case
TwoHandUnder ->
TwoHandTwist ->
let (rp,_) = rightHandPQ cr
(lp,_) = leftHandPQ cr
in (rp,Q.qz (argV $ (lp - rp) ^. _xy))
TwoHandOver ->
let (rp,_) = rightHandPQ cr
(lp,_) = leftHandPQ cr
in (rp,Q.qz (argV $ (lp - rp) ^. _xy))
-- in (rp,Q.qz (argV $ (lp - rp) ^. _xy))
in (rp,Q.qNoRoll (lp - rp))
OneHand -> rightHandPQ cr
TwoHandFlat ->
let (rp,_) = rightHandPQ cr
+1 -2
View File
@@ -242,8 +242,7 @@ heldPositionInfo = aimStanceInfo . itemBaseStance
aimStanceInfo :: AimStance -> String
aimStanceInfo as = case as of
TwoHandUnder -> "It is held using two hands, tucked under the shoulder."
TwoHandOver -> "It is held using two hands, resting over the shoulder."
TwoHandTwist -> "It is held using two hands alongside the body."
TwoHandFlat -> "It is held using two hands in front of the body."
OneHand -> "It is held in one hand."