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,
) where
import Data.Foldable
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Geometry.Data
@@ -15,15 +14,14 @@ import Dodge.Item.HeldOffset
import ShapePicture
itemEquipPict :: Creature -> LabelDoubleTree ItemLink ComposedItem -> SPic
itemEquipPict cr itmtree = case itm ^. itUse of
UseHeld{} | itm ^? itLocation . ilIsRoot == Just True
&& itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem
-> overPosSP (heldItemOffset itm cr) (itemTreeSPic itmtree)
ituse -> fold $ do
attachpos <- ituse ^? uequipEffect . eeAttachPos
i <- itm ^? itLocation . ilInvID
epos <- cr ^? crInv . ix i . itLocation . ilEquipSite . _Just
return $ equipPosition epos cr attachpos (itemSPic itm)
itemEquipPict cr itmtree
| Just i <- itm ^? itLocation . ilInvID
, Just esite <- cr ^? crInv . ix i . itLocation . ilEquipSite . _Just
, Just attachpos <- itm ^? itUse . uequipEffect . eeAttachPos
= equipPosition esite cr attachpos (itemSPic itm)
| itm ^? itLocation . ilInvID == cr ^? crManipulation . manObject . imRootSelectedItem
= overPosSP (heldItemOffset itm cr) (itemTreeSPic itmtree)
| otherwise = mempty
where
itm = itmtree ^. ldtValue . _1