diff --git a/src/Dodge/Creature/State.hs b/src/Dodge/Creature/State.hs index 89ad370ae..c344737f5 100644 --- a/src/Dodge/Creature/State.hs +++ b/src/Dodge/Creature/State.hs @@ -289,14 +289,8 @@ crSetTargeting cr = fromMaybe cr $ do crDoTargeting :: Creature -> World -> World crDoTargeting cr = fromMaybe id $ do - itm <- find hastargeting $ helditem ++ IM.elems (getCrEquipment cr) - invid <- itm ^? itLocation . ipInvID - return $ doItemTargeting invid cr - where - helditem = maybeToList $ cr ^? crInv . ix (crSel cr) - hastargeting itm = case itm ^? itUse . useTargeting of - Just _ -> True - _ -> False + tt <- cr ^? crTargeting . ctType . _Just + return $ updateTargeting tt cr doItemTargeting :: Int -> Creature -> World -> World doItemTargeting invid cr w = case cr ^? crInv . ix invid . itUse . useTargeting . _Just of