Allow fast drop and pickup, fix right button options bug

This commit is contained in:
2023-01-13 16:32:42 +00:00
parent 5f871264d4
commit 6f1162f7b9
4 changed files with 24 additions and 20 deletions
+12 -9
View File
@@ -185,22 +185,25 @@ updateCloseObjects w =
updateRBList :: World -> World
updateRBList w
| w ^? rbOptions . opCurInvPos == Just curinvid =
| w ^? rbOptions . opItemID == mcurrentitemid =
w & setEquipAllocation & setEquipActivation
| otherwise = case cr ^? crInv . ix curinvid . itUse . equipEffect . eeSite of
Just esite ->
| otherwise = fromMaybe (w & rbOptions .~ NoRightButtonOptions) $ do
esite <- cr ^? crInv . ix curinvid . itUse . equipEffect . eeSite
itid <- mcurrentitemid
return $
w
& rbOptions
.~ EquipOptions
(equipSiteToPositions esite)
(chooseEquipmentPosition cr (equipSiteToPositions esite))
curinvid
DoNotMoveEquipment
NoChangeActivateEquipment
{ _opEquip = (equipSiteToPositions esite)
, _opSel = (chooseEquipmentPosition cr (equipSiteToPositions esite))
, _opItemID = itid
, _opAllocateEquipment = DoNotMoveEquipment
, _opActivateEquipment = NoChangeActivateEquipment
}
& setEquipAllocation
& setEquipActivation
Nothing -> w & rbOptions .~ NoRightButtonOptions
where
mcurrentitemid = cr ^? crInv . ix curinvid . itID
curinvid = crSel cr
cr = you w