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 -2
View File
@@ -51,8 +51,7 @@ digraph {
,label="HELD {_ibtHeld = FLAMEWALL}"];
63 [shape=box
,label="HELD {_ibtHeld = FLAMETORRENT}"];
65 [shape=box
,label="HELD {_ibtHeld = LASER}"];
65 [shape=box,label=LASER];
69 [shape=box
,label="HELD {_ibtHeld = SPARKGUN}"];
71 [shape=box
+1 -1
View File
File diff suppressed because one or more lines are too long
+22 -23
View File
@@ -15,40 +15,40 @@ import Dodge.Data.TriggerType
itemTriggerType :: LocationDT OItem -> TriggerType
itemTriggerType loc
| isPulseLaser loc = HammerTrigger 9
| isPulseLaser loc = SemiAutoTrigger 9
| otherwise = baseItemTriggerType $ loc ^. locDT . dtValue . _1
baseItemTriggerType :: Item -> TriggerType
baseItemTriggerType itm = case itm ^. itType of
HELD hit -> heldTriggerType hit
ATTACH CAPACITOR -> HammerTrigger 10
ATTACH CAPACITOR -> SemiAutoTrigger 10
_ -> NoTrigger
heldTriggerType :: HeldItemType -> TriggerType
heldTriggerType = \case
BANGSTICK{} -> HammerTrigger 8
REWINDER -> HammerTrigger 20
TIMESTOPPER -> HammerTrigger 20
TIMESCROLLER -> HammerTrigger 20
PISTOL -> HammerTrigger 6
BANGSTICK{} -> SemiAutoTrigger 8
REWINDER -> SemiAutoTrigger 20
TIMESTOPPER -> SemiAutoTrigger 20
TIMESCROLLER -> SemiAutoTrigger 20
PISTOL -> SemiAutoTrigger 6
MACHINEPISTOL -> WarmUpCoolDown 50 100 200
AUTOPISTOL -> AutoTrigger 8
SMG -> AutoTrigger 8
BANGCONE -> HammerTrigger 20
BLUNDERBUSS -> HammerTrigger 20
GRAPECANNON{} -> HammerTrigger 20
BANGCONE -> SemiAutoTrigger 20
BLUNDERBUSS -> SemiAutoTrigger 20
GRAPECANNON{} -> SemiAutoTrigger 20
MINIGUNX{} -> WarmUpNoDelay 100
--VOLLEYGUN i -> BurstTrigger $ fmap (3*) [1 .. i-1]
VOLLEYGUN i -> VolleyGunTrigger i 15
RIFLE -> HammerTrigger 6
ALTERIFLE -> HammerTrigger 6
RIFLE -> SemiAutoTrigger 6
ALTERIFLE -> SemiAutoTrigger 6
AUTORIFLE -> AutoTrigger 6
BURSTRIFLE -> BurstTrigger [3,6] 8 -- time last used gets updated after last burst fire
BANGROD -> HammerTrigger 12
ELEPHANTGUN -> HammerTrigger 12
AMR -> HammerTrigger 12
BANGROD -> SemiAutoTrigger 12
ELEPHANTGUN -> SemiAutoTrigger 12
AMR -> SemiAutoTrigger 12
AUTOAMR -> AutoTrigger 12
SNIPERRIFLE -> HammerTrigger 12
SNIPERRIFLE -> SemiAutoTrigger 12
FLAMESPITTER -> BurstTrigger [1..9] 6
FLAMETHROWER -> NoTrigger
FLAMETORRENT -> NoTrigger
@@ -56,15 +56,14 @@ heldTriggerType = \case
BLOWTORCH -> NoTrigger
SPARKGUN -> NoTrigger
TESLAGUN -> NoTrigger
LASER -> NoTrigger
TRACTORGUN -> NoTrigger
RLAUNCHER -> HammerTrigger 20
RLAUNCHERX{} -> HammerTrigger 20
GLAUNCHER -> HammerTrigger 20
RLAUNCHER -> SemiAutoTrigger 20
RLAUNCHERX{} -> SemiAutoTrigger 20
GLAUNCHER -> SemiAutoTrigger 20
POISONSPRAYER -> NoTrigger
SHATTERGUN -> HammerTrigger 20
SHATTERGUN -> SemiAutoTrigger 20
TORCH -> NoTrigger
FLATSHIELD -> NoTrigger
KEYCARD{} -> NoTrigger
BLINKER -> HammerTrigger 20
BLINKERUNSAFE -> HammerTrigger 20
BLINKER -> SemiAutoTrigger 20
BLINKERUNSAFE -> SemiAutoTrigger 20
+1 -1
View File
@@ -159,7 +159,7 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
HELD FLATSHIELD -> rootNotrootEff createShieldWall removeShieldWall itm cr w
HELD MINIGUNX{} -> coolMinigun itm w
HELD MACHINEPISTOL{} -> coolMachinePistol cr itm w
HELD LASER | loc ^. locDT . dtValue . _2 == WeaponTargetingSF
LASER | loc ^. locDT . dtValue . _2 == WeaponTargetingSF
, itm ^? itLocation . ilIsAttached == Just True -> shineTargetLaser cr loc w
HELD TORCH
| itm ^? itLocation . ilIsAttached == Just True -> shineTorch cr loc w
+1 -1
View File
@@ -66,6 +66,7 @@ strFromHeldItem cr = fromMaybe 0 $ do
itemWeight :: Item -> Int
itemWeight it = case it ^. itType of
HELD hit -> heldItemWeight hit
LASER -> 15
_ -> 1
heldItemWeight :: HeldItemType -> Int
@@ -99,7 +100,6 @@ heldItemWeight = \case
BLOWTORCH -> 10
SPARKGUN -> 15
TESLAGUN -> 15
LASER -> 15
TRACTORGUN -> 10
RLAUNCHER -> 20
RLAUNCHERX{} -> 20
+1 -1
View File
@@ -172,6 +172,7 @@ aimTurn a cr = creatureTurnTowardDir a (x * 0.2) cr
itemBulkiness :: ItemType -> Float
itemBulkiness = \case
HELD hit -> heldItemBulkiness hit
LASER -> 1
_ -> 1
heldItemBulkiness :: HeldItemType -> Float
@@ -205,7 +206,6 @@ heldItemBulkiness = \case
BLOWTORCH -> 1
SPARKGUN -> 1
TESLAGUN -> 1
LASER -> 1
TRACTORGUN -> 1
RLAUNCHER -> 0.9
RLAUNCHERX{} -> 0.9
+1 -1
View File
@@ -33,6 +33,7 @@ data ItemType
| INTROSCAN {_ibtIntroScanType :: IntroScanType}
| DETECTOR {_ibtDetector :: Detector}
| ARHUD
| LASER
deriving (Eq, Ord, Show, Read)
data InventoryPathing
@@ -166,7 +167,6 @@ data HeldItemType
| BLOWTORCH
| SPARKGUN
| TESLAGUN
| LASER
| TRACTORGUN
| RLAUNCHER
| RLAUNCHERX {_xNum :: Int}
+1
View File
@@ -6,6 +6,7 @@ import Control.Lens
data TriggerType
= AutoTrigger Int
| SemiAutoTrigger Int
| HammerTrigger Int
| NoTrigger
| BurstTrigger {_burstFrames :: [Int], _burstRate :: Int}
+12 -15
View File
@@ -106,6 +106,11 @@ hammerCheck f pt loc cr w = case itemTriggerType loc of
& cWorld . lWorld . delayedEvents .++~ map g is
& randGen .~ gen
HammerTrigger t
| w ^. cWorld . lWorld . lClock - t > timelastused
, isNothing $ find ((== MakeAutoSF) . (^. dtValue . _2)) (loc ^. locDT . dtRight)
, pt == 0 ->
f loc cr w
SemiAutoTrigger t
| w ^. cWorld . lWorld . lClock - t > timelastused
, isNothing $ find ((== MakeAutoSF) . (^. dtValue . _2)) (loc ^. locDT . dtRight)
, pt < w ^. cWorld . lWorld . lClock - timelastused ->
@@ -175,7 +180,12 @@ itemMuzzles itm = case itm ^. itType of
DETECTOR{} ->
dbwMuzzles & ix 0 . mzEffect .~ MuzzleDetector
& ix 0 . mzAmmoPerShot .~ UseExactly 100
LASER ->
dbwMuzzles
& ix 0 . mzPos .~ V2 6 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ LasGunFlare
& ix 0 . mzEffect .~ MuzzleLaser
_ -> []
heldItemMuzzles :: HeldItemType -> [Muzzle]
@@ -257,12 +267,6 @@ heldItemMuzzles = \case
<*> pure (UseExactly 1)
<*> pure 0
)
LASER ->
dbwMuzzles
& ix 0 . mzPos .~ V2 6 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ LasGunFlare
& ix 0 . mzEffect .~ MuzzleLaser
TESLAGUN ->
dbwMuzzles
& ix 0 . mzPos .~ V2 10 0
@@ -425,7 +429,6 @@ itemSidePush = \case
BLOWTORCH -> 0
SPARKGUN -> 0
TESLAGUN -> 0
LASER -> 0
TRACTORGUN -> 0
RLAUNCHER -> 0
RLAUNCHERX{} -> 0
@@ -509,7 +512,6 @@ recoilAmount itm
BLOWTORCH -> 0
SPARKGUN -> 0
TESLAGUN -> 0
LASER -> 0
TRACTORGUN -> 0
RLAUNCHER -> 0
RLAUNCHERX _ -> 0
@@ -557,7 +559,6 @@ bgunSound itm
BLOWTORCH -> Nothing
SPARKGUN -> Nothing
TESLAGUN -> Nothing
LASER -> Nothing
TRACTORGUN -> Nothing
RLAUNCHER -> Just (tap4S, 0)
RLAUNCHERX _ -> Just (tap4S, 0)
@@ -629,7 +630,6 @@ heldTorqueAmount = \case
BLOWTORCH -> 0
SPARKGUN -> 0
TESLAGUN -> 0.01
LASER -> 0
TRACTORGUN -> 0
RLAUNCHER -> 0
RLAUNCHERX{} -> 0
@@ -1082,7 +1082,6 @@ heldItemMuzVel = \case
BLOWTORCH -> ConstFloat 0.8
SPARKGUN -> ConstFloat 0.8
TESLAGUN -> ConstFloat 0.8
LASER -> ConstFloat 0.8
TRACTORGUN -> ConstFloat 0.8
RLAUNCHER -> ConstFloat 0
RLAUNCHERX{} -> ConstFloat 0
@@ -1126,7 +1125,6 @@ heldItemRifling = \case
BLOWTORCH -> ConstFloat 0.8
SPARKGUN -> ConstFloat 0.8
TESLAGUN -> ConstFloat 0.8
LASER -> ConstFloat 0.8
TRACTORGUN -> ConstFloat 0.8
RLAUNCHER -> ConstFloat 0
RLAUNCHERX{} -> ConstFloat 0
@@ -1139,7 +1137,7 @@ heldItemRifling = \case
BLINKER -> ConstFloat 0.8
BLINKERUNSAFE -> ConstFloat 0.8
mcUseHeld :: HeldItemType -> Item -> Machine -> World -> World
mcUseHeld :: ItemType -> Item -> Machine -> World -> World
mcUseHeld hit = case hit of
LASER -> mcShootLaser
_ -> mcShootAuto
@@ -1199,7 +1197,6 @@ gasType hit _ = case hit of
BLOWTORCH -> Nothing
SPARKGUN -> Nothing
TESLAGUN -> Nothing
LASER -> Nothing
TRACTORGUN -> Nothing
RLAUNCHER -> Nothing
RLAUNCHERX{} -> Nothing
+1 -1
View File
@@ -9,5 +9,5 @@ import Dodge.Data.Item
isPulseLaser :: LocationDT OItem -> Bool
isPulseLaser loc =
loc ^. locDT . dtValue . _1 . itType == HELD LASER
loc ^. locDT . dtValue . _1 . itType == LASER
&& (loc ^? locDT . dtLeft . ix 0 . dtValue . _1 . itType == Just (ATTACH CAPACITOR))
+1
View File
@@ -37,6 +37,7 @@ itemFromBase = \case
NULGATE -> nulgate
UNIGATE -> unigate
BINGATE -> bingate
LASER -> laser
itemFromAmmoMag :: AmmoMagType -> Item
itemFromAmmoMag at = case at of
+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
+4 -4
View File
@@ -24,11 +24,11 @@ lockRoomMultiItems =
lockRoomKeyItems :: RandomGen g => [(Int -> State g (MetaTree Room String), State g ItemType)]
lockRoomKeyItems =
[ (lasCenSensEdge, takeOne [HELD RLAUNCHER, HELD LASER, HELD SPARKGUN, HELD FLATSHIELD])
, (sensorRoomRunPast LaserSensor, return $ HELD LASER)
[ (lasCenSensEdge, takeOne [HELD RLAUNCHER, LASER, HELD SPARKGUN, HELD FLATSHIELD])
, (sensorRoomRunPast LaserSensor, return LASER)
, (const slowDoorRoomRunPast, return $ HELD (MINIGUNX 3))
, (const longRoomRunPast, takeOne [HELD SNIPERRIFLE, HELD FLATSHIELD])
, (const glassLessonRunPast, takeOne [HELD LASER])
, (const glassLessonRunPast, takeOne [LASER])
, (const $ lasTunnelRunPast 400, takeOne [HELD FLATSHIELD])
, (keyCardRoomRunPast 0, return (HELD $ KEYCARD 0))
]
@@ -55,7 +55,7 @@ itemRooms =
]
)
,
( HELD LASER
( LASER
, join $
takeOne
[ rc $ map makeTypeCraft [PRISM, TRANSFORMER, PIPE]
+1 -1
View File
@@ -86,7 +86,7 @@ mcUseItem :: Machine -> World -> World
mcUseItem mc = fromMaybe id $ do
tu <- mc ^? mcType . _McTurret
let it = tu ^. tuWeapon
hit <- it ^? itType . ibtHeld
hit <- it ^? itType
guard (_tuFireTime tu > 0)
return $ mcUseHeld hit it mc
+1 -1
View File
@@ -135,6 +135,7 @@ moveZoomCamera cfig theinput cr w campos =
getAimZoom :: Item -> Float
getAimZoom itm = case itm ^. itType of
HELD hit -> heldAimZoom hit
LASER -> 1.5
_ -> 1
heldAimZoom :: HeldItemType -> Float
@@ -168,7 +169,6 @@ heldAimZoom = \case
BLOWTORCH -> 1
SPARKGUN -> 1
TESLAGUN -> 1.5
LASER -> 1.5
TRACTORGUN -> 1.5
RLAUNCHER -> 1.5
RLAUNCHERX{} -> 1.5