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