This commit is contained in:
2025-07-12 22:03:21 +01:00
parent a054d433b3
commit 6df7f657bc
2 changed files with 25 additions and 32 deletions
+3 -5
View File
@@ -45,9 +45,7 @@ import Sound.Data
gadgetEffect :: PressType -> LocationDT OItem -> Creature -> World -> World
gadgetEffect pt loc
| UseHeld{} <- loc ^. locDT . dtValue . _1 . itUse =
heldEffect
pt
loc
heldEffect pt loc
| DROPPER x <- loc ^. locDT . dtValue . _1 . itType
, Just i <- loc ^? locDT . dtValue . _1 . itUse . uInt
, pt == InitialPress =
@@ -98,8 +96,8 @@ hammerCheck f pt loc cr w = case itemTriggerType loc of
& randGen .~ gen
HammerTrigger t
| w ^. cWorld . lWorld . lClock - t > timelastused
-- , isNothing $ lookup MakeAutoLink (tree ^. ldtRight)
, pt == InitialPress ->
, -- , isNothing $ lookup MakeAutoLink (tree ^. ldtRight)
pt == InitialPress ->
f loc cr w
AutoTrigger t
| w ^. cWorld . lWorld . lClock - t > timelastused ->
+3 -8
View File
@@ -118,8 +118,7 @@ itemToFunction itm = case itm ^. itType of
HELD{} -> case itUseCondition itm of
UseableWhenAimed -> HeldPlatformSF
_ -> GadgetPlatformSF
_
| Just amtype <- magAmmoType itm-- ^? itConsumables . magType
_ | Just amtype <- magAmmoType itm-- ^? itConsumables . magType
, Just _ <- itm ^? itLocation . ilEquipSite . _Just ->
AmmoMagSF 0 amtype
AMMOMAG{} -> maybe NoSF (AmmoMagSF 0) $ magAmmoType itm -- ^? itConsumables . magType
@@ -161,16 +160,12 @@ type DTComb a = DTree a -> DTree a -> Maybe (DTree a)
leftIsParentCombine :: DTComb CItem
leftIsParentCombine ltree rtree = do
let l = rightChildList ltree
xs = dropWhile (\s -> not $ S.member s (treeToPotentialFunction rtree)) l
sf <- safeHead xs
sf <- find (`S.member` treeToPotentialFunction rtree) (rightChildList ltree)
return $ ltree & dtRight .:~ ( rtree & dtValue . _2 .~ sf)
rightIsParentCombine :: DTComb CItem
rightIsParentCombine ltree rtree = do
let l = leftChildList rtree
xs = dropWhile (\s -> not $ S.member s (treeToPotentialFunction ltree)) l
sf <- safeHead xs
sf <- find (`S.member` treeToPotentialFunction ltree) (leftChildList rtree)
return $ rtree & dtLeft .:~ ( ltree & dtValue . _2 .~ sf)
leftChildList :: DTree CItem -> [ItemSF]