Reinstate HammerTrigger (no weapons use it currently)

This commit is contained in:
2025-07-29 10:47:09 +01:00
parent 3ced7e4034
commit fa377171a4
25 changed files with 68 additions and 70 deletions
+1 -1
View File
@@ -18,6 +18,7 @@ aimStance dt
itemBaseStance :: Item -> AimStance
itemBaseStance itm = case itm ^. itType of
HELD hit -> heldAimStance hit
LASER -> TwoHandFlat
_ -> OneHand
heldAimStance :: HeldItemType -> AimStance
@@ -51,7 +52,6 @@ heldAimStance = \case
BLOWTORCH -> TwoHandUnder
SPARKGUN -> TwoHandFlat
TESLAGUN -> TwoHandFlat
LASER -> TwoHandFlat
TRACTORGUN -> TwoHandUnder
RLAUNCHER -> TwoHandOver
RLAUNCHERX{} -> TwoHandOver
+1 -1
View File
@@ -13,6 +13,7 @@ itemAmmoSlots :: Item -> IM.IntMap AmmoType
itemAmmoSlots itm = case itm ^. itType of
HELD hit -> heldItemAmmoSlots hit
DETECTOR _ -> singleAmmo ElectricalAmmo
LASER -> singleAmmo ElectricalAmmo
_ -> mempty
heldItemAmmoSlots :: HeldItemType -> IM.IntMap AmmoType
@@ -42,7 +43,6 @@ heldItemAmmoSlots = \case
FLAMESPITTER -> singleAmmo GasAmmo
FLAMEWALL -> singleAmmo GasAmmo
BLOWTORCH -> singleAmmo GasAmmo
LASER -> singleAmmo ElectricalAmmo
TESLAGUN -> singleAmmo ElectricalAmmo
SPARKGUN -> singleAmmo ElectricalAmmo
TRACTORGUN -> singleAmmo ElectricalAmmo
+1
View File
@@ -81,6 +81,7 @@ itemBaseName = \case
BINGATE -> "BINGATE"
UNIGATE -> "UNIGATE"
NULGATE -> "NULGATE"
LASER -> "LASER"
showInventoryPathing :: InventoryPathing -> String
showInventoryPathing = \case
+1 -1
View File
@@ -51,6 +51,7 @@ itemSPic it = case it ^. itType of
BINGATE -> defSPic
UNIGATE -> defSPic
NULGATE -> defSPic
LASER -> lasGunPic it
craftItemSPic :: CraftType -> Shape
craftItemSPic = \case
@@ -273,7 +274,6 @@ heldItemSPic ht it = case ht of
BLOWTORCH -> flamerPic it
SPARKGUN -> teslaGunPic
TESLAGUN -> teslaGunPic
LASER -> lasGunPic it
TRACTORGUN -> tractorGunPic it
RLAUNCHER -> rlauncherPic it
RLAUNCHERX _ -> rlauncherPic it
+9 -9
View File
@@ -41,16 +41,16 @@ itemAboveAttachables (itm,sf) = case (itm ^. itType, sf) of
<> extraWeaponLinks itm
(DETECTOR {}, _) -> [ARHUDSF,TriggerSF,MapperSF]
--(CRAFT TRANSFORMER, _) -> [LaserWeaponSF]
(HELD LASER, _) -> [TransformerSF]
(LASER, _) -> [TransformerSF]
(MAPPER, _) -> [ARHUDSF]
(_, GadgetPlatformSF) -> [TriggerSF, WeaponTargetingSF, WeaponScopeSF]
_ -> []
itemBelowAttachables :: CItem -> [ItemSF]
itemBelowAttachables (itm,sf) = case (itm ^. itType, sf) of
(HELD LASER, WeaponTargetingSF) -> getAmmoLinks itm
(HELD LASER, LaserWeaponSF) -> [PulseBallSF] <> getAmmoLinks itm
(HELD LASER, PulseBallSF) -> [PulseBallSF]
(LASER, WeaponTargetingSF) -> getAmmoLinks itm
(LASER, LaserWeaponSF) -> [PulseBallSF] <> getAmmoLinks itm
(LASER, PulseBallSF) -> [PulseBallSF]
--(HELD LASER, _) -> [PulseBallSF]
(HELD TORCH, _) -> getAmmoLinks itm
(ATTACH CAPACITOR, _) -> [AmmoMagSF 0 ElectricalAmmo]
@@ -83,7 +83,7 @@ itemBelowAttachables (itm,sf) = case (itm ^. itType, sf) of
getAutoSpringLinks :: Item -> [ItemSF]
getAutoSpringLinks itm = case baseItemTriggerType itm of
HammerTrigger _ -> [MakeAutoSF]
SemiAutoTrigger _ -> [MakeAutoSF]
_ -> []
extraWeaponLinks :: Item -> [ItemSF]
@@ -109,7 +109,7 @@ itemToFunction itm = case itm ^. itType of
MAPPER -> MapperSF
ITEMSCAN -> ToggleSF
INTROSCAN {} -> IntroScanSF
HELD LASER -> WeaponTargetingSF
LASER -> WeaponTargetingSF
HELD TORCH -> TorchSF
HELD{} -> case itUseCondition itm of
UseableWhenAimed -> HeldPlatformSF
@@ -146,7 +146,7 @@ treeToPotentialFunction ldt = case ldt ^. dtValue . _1 . itType of
ATTACH GYROSCOPE -> S.singleton ProjectileStabiliserSF
HELD GLAUNCHER -> S.singleton UnderBarrelPlatformSF
HELD BURSTRIFLE -> S.singleton UnderBarrelPlatformSF
HELD LASER | sf == WeaponTargetingSF -> S.fromList [WeaponTargetingSF,LaserWeaponSF]
LASER | sf == WeaponTargetingSF -> S.fromList [WeaponTargetingSF,LaserWeaponSF]
-- following limits items to ten ammo slots
_ | AmmoMagSF _ x <- ldt ^. dtValue . _2 -> S.fromList [AmmoMagSF i x | i <- [0..9]]
ATTACH CAPACITOR -> S.fromList [CapacitorSF,PulseBallSF]
@@ -167,7 +167,7 @@ leftIsParentCombine ltree rtree = do
& dtValue %~ f
updateLeftParentSF :: ItemType -> ItemSF -> ItemSF -> ItemSF
updateLeftParentSF (HELD LASER) WeaponTargetingSF TransformerSF = LaserWeaponSF
updateLeftParentSF LASER WeaponTargetingSF TransformerSF = LaserWeaponSF
updateLeftParentSF _ psf _ = psf
rightIsParentCombine :: DTComb CItem
@@ -178,7 +178,7 @@ rightIsParentCombine ltree rtree = do
& dtValue %~ f
updateRightParentSF :: ItemType -> ItemSF -> ItemSF -> ItemSF
updateRightParentSF (HELD LASER) LaserWeaponSF CapacitorSF = PulseLaserSF
updateRightParentSF LASER LaserWeaponSF CapacitorSF = PulseLaserSF
updateRightParentSF _ psf _ = psf
leftChildList :: DTree CItem -> [ItemSF]
-1
View File
@@ -60,7 +60,6 @@ itemFromHeldType ht = case ht of
BLOWTORCH -> blowTorch
SPARKGUN -> sparkGun
TESLAGUN -> teslaGun
LASER -> laser
-- LASCIRCLE -> lasCircle
-- DUALBEAM -> dualBeam
-- LASWIDE i -> lasWide i
+1 -1
View File
@@ -47,7 +47,7 @@ laser =
, _itTgID = Nothing
, _itTgActive = False
}
& itType .~ HELD LASER
& itType .~ LASER
-- previous attractionPower values: 1, -1, -10, 0
tractorGun :: Item
+1 -1
View File
@@ -83,6 +83,7 @@ twoFlatHRot = (2 *) . strideRot
handlePos :: Item -> Point2
handlePos itm = case itm ^. itType of
HELD hit -> heldHandlePos hit
LASER -> V2 3 0
_ -> 0
heldHandlePos :: HeldItemType -> Point2
@@ -116,7 +117,6 @@ heldHandlePos = \case
BLOWTORCH -> V2 3 0
SPARKGUN -> V2 3 0
TESLAGUN -> V2 3 0
LASER -> V2 3 0
TRACTORGUN -> V2 3 0
RLAUNCHER -> V2 3 0
RLAUNCHERX{} -> V2 3 0
+2 -1
View File
@@ -43,6 +43,7 @@ itmBaseInfo itm = case itm ^. itType of
-- INTROSCAN {_ibtIntroScanType :: IntroScanType}
-- DETECTOR {_ibtDetector :: Detector}
-- ARHUD
LASER -> "A device that, when electrically powered, continuously emits photons in a narrow beam. It can be modified with a transformer to emit a damaging beam, and further with a capacitor to emit pulses of energy."
_ -> "THIS SHOULD NOT BE DISPLAYED"
ammoMagInfo :: AmmoMagType -> String
@@ -68,6 +69,7 @@ attachInfo = \case
-- HOMINGMODULE
-- AUGMENTEDHUD
-- SHELLPAYLOAD {}
CAPACITOR -> "A device that stores electrical energy."
_ -> "INCOMPLETE, TODO FINISH"
showInt :: Int -> String
@@ -121,7 +123,6 @@ heldInfo hit = case hit of
BLOWTORCH -> "A weapon that produces a concentrated flame."
SPARKGUN -> "A weapon that produces an arc of electricity. The arc will attempt to discharge at a nearby object."
TESLAGUN -> "A weapon that discharges a sustained arc of electricity. The arc will attempt to discharge at a nearby object."
LASER -> "A device that, when electrically powered, continuously emits photons in a narrow beam."
TRACTORGUN -> "An item that produces a beam of gravitons."
GLAUNCHER -> "A large tube that can launch projectiles."
RLAUNCHER -> "A large tube that can launch self propelled projectiles. Moving the tube after launch will cause the projectile to spin."
+1 -1
View File
@@ -21,7 +21,7 @@ itInvHeight x = case x ^. itType of
itDim :: Item -> ItemDimension
itDim x = case x ^. itType of
HELD TESLAGUN -> ItemDimension 9 (V3 4 0 0) (V3 10 (-5) 3)
HELD LASER -> did & dimRad .~ 10
LASER -> did & dimRad .~ 10
& dimCenter .~ V3 15 0 0
HELD TRACTORGUN -> did & dimRad .~ 10
& dimCenter .~ V3 15 0 0
+1 -1
View File
@@ -14,7 +14,7 @@ orientChild :: Item -> Point3Q
orientChild itm = case _itType itm of
HELD TORCH -> (V3 0 5 0, Q.qID)
--HELD LASER -> (V3 15 (-5) 0, Q.qID)
HELD LASER -> (V3 15 (-5) 0, Q.qID)
LASER -> (V3 15 (-5) 0, Q.qID)
ATTACH UNDERBARRELSLOT -> (V3 10 (-8) 0, r)
_ -> (0, Q.qID)
where