Always draw item in hand/equipped
This commit is contained in:
+8
-10
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user