Move towards positional item targeting
This commit is contained in:
@@ -3,6 +3,7 @@ module Dodge.Creature.State (
|
||||
doDamage,
|
||||
) where
|
||||
|
||||
import Control.Applicative
|
||||
import Data.Foldable
|
||||
import Data.Maybe
|
||||
import Dodge.Base
|
||||
@@ -15,7 +16,7 @@ import Dodge.Creature.Test
|
||||
import Dodge.Damage
|
||||
import Dodge.Data.World
|
||||
import Dodge.EnergyBall
|
||||
import Dodge.Equipment
|
||||
--import Dodge.Equipment
|
||||
import Dodge.Euse
|
||||
import Dodge.Hammer
|
||||
import Dodge.ItEffect
|
||||
@@ -271,14 +272,20 @@ updateAutoRecharge it = case it ^? itUse . leftConsumption of
|
||||
|
||||
crGetTargeting :: Creature -> Maybe TargetType
|
||||
crGetTargeting cr = do
|
||||
itm <- find hastargeting $ helditem ++ IM.elems (getCrEquipment cr)
|
||||
itm ^? itUse . useTargeting . _Just
|
||||
where
|
||||
hastargeting itm = isJust (itm ^? itUse . useTargeting . _Just)
|
||||
helditem = fromMaybe [] $ do
|
||||
i <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||
itm <- cr ^? crInv . ix i
|
||||
return [itm]
|
||||
i <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||
itm <- cr ^? crInv . ix i
|
||||
itm ^? itType . iyModules . ix ModTarget . imtTargetType
|
||||
<|> cr ^? crInv . ix (i+1) . itUse . equipTargeting . _Just
|
||||
|
||||
|
||||
-- itm <- find hastargeting $ helditem ++ IM.elems (getCrEquipment cr)
|
||||
-- itm ^? itUse . useTargeting . _Just
|
||||
-- where
|
||||
-- hastargeting itm = isJust (itm ^? itUse . useTargeting . _Just)
|
||||
-- helditem = fromMaybe [] $ do
|
||||
-- i <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||
-- itm <- cr ^? crInv . ix i
|
||||
-- return [itm]
|
||||
|
||||
weaponReloadSounds :: Creature -> World -> World
|
||||
weaponReloadSounds cr w = case cr ^? crManipulation . manObject . inInventory . iselAction of
|
||||
|
||||
Reference in New Issue
Block a user