Always draw item in hand/equipped

This commit is contained in:
2024-12-21 12:26:39 +00:00
parent 5b6699767a
commit d3a74912d1
+8 -10
View File
@@ -3,7 +3,6 @@ module Dodge.Item.Draw (
itemEquipPict, itemEquipPict,
) where ) where
import Data.Foldable
import Dodge.Data.ComposedItem import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree import Dodge.Data.DoubleTree
import Geometry.Data import Geometry.Data
@@ -15,15 +14,14 @@ import Dodge.Item.HeldOffset
import ShapePicture import ShapePicture
itemEquipPict :: Creature -> LabelDoubleTree ItemLink ComposedItem -> SPic itemEquipPict :: Creature -> LabelDoubleTree ItemLink ComposedItem -> SPic
itemEquipPict cr itmtree = case itm ^. itUse of itemEquipPict cr itmtree
UseHeld{} | itm ^? itLocation . ilIsRoot == Just True | Just i <- itm ^? itLocation . ilInvID
&& itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem , Just esite <- cr ^? crInv . ix i . itLocation . ilEquipSite . _Just
-> overPosSP (heldItemOffset itm cr) (itemTreeSPic itmtree) , Just attachpos <- itm ^? itUse . uequipEffect . eeAttachPos
ituse -> fold $ do = equipPosition esite cr attachpos (itemSPic itm)
attachpos <- ituse ^? uequipEffect . eeAttachPos | itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem
i <- itm ^? itLocation . ilInvID = overPosSP (heldItemOffset itm cr) (itemTreeSPic itmtree)
epos <- cr ^? crInv . ix i . itLocation . ilEquipSite . _Just | otherwise = mempty
return $ equipPosition epos cr attachpos (itemSPic itm)
where where
itm = itmtree ^. ldtValue . _1 itm = itmtree ^. ldtValue . _1