This commit is contained in:
2025-01-08 14:30:02 +00:00
parent 21b7b863c7
commit a843a1c9c0
+18
View File
@@ -0,0 +1,18 @@
module Dodge.Inventory.Path (getInventoryPath) where
import Dodge.Data.Creature
import qualified Data.IntMap.Strict as IM
import Control.Lens
import Control.Monad
getInventoryPath :: Int -> InventoryPathing -> Int -> Creature -> Maybe Int
getInventoryPath x ip itid cr = case ip of
ABSOLUTE | x `IM.member` (cr ^. crInv) -> Just x
RELCURS -> do
selid <- cr ^? crManipulation . manObject . imSelectedItem
guard $ (x + selid) `IM.member` (cr ^. crInv)
return $ (x + selid)
RELITEM
| (itid + x) `IM.member` (cr ^. crInv) ->
return $ itid + x
_ -> Nothing