diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index 5fa3c0020..012935b43 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -49,11 +49,11 @@ toggleEquipmentAt invid cr = cr & crInvEquipped . at invid %~ f useLeftItem :: Int -> World -> World useLeftItem cid w | _crInvLock cr = w - | isJust (citem ^? itUse . cUse) = useItem cr w + | itConsumable = useItem cr w | otherwise = fromMaybe w $ do invid <- _crLeftInvSel cr f <- cr ^? crInv . ix invid . itUse . lUse return $ f cr invid w where cr = _creatures w IM.! cid - citem = _crInv cr IM.! _crInvSel cr + itConsumable = isJust $ cr ^? crInv . ix (_crInvSel cr) . itUse . cUse diff --git a/src/Dodge/Event.hs b/src/Dodge/Event.hs index 874b407b8..84a25e0f4 100644 --- a/src/Dodge/Event.hs +++ b/src/Dodge/Event.hs @@ -92,7 +92,7 @@ handlePressedMouseButton but w | but == ButtonMiddle || _carteDisplay (_uvWorld w) = Just $ w & uvWorld . clickMousePos .~ _mousePos (_uvWorld w) | but == ButtonLeft = case _inventoryMode (_uvWorld w) of - CombineInventory mi -> Just $ fromMaybe w $ do -- ugly + CombineInventory mi -> Just $ fromMaybe (w & uvWorld . inventoryMode .~ TopInventory) $ do -- ugly i <- mi return $ over uvWorld (doCombine i) w _ -> Just w