diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index 8da8d4bf7..8beb246f6 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -3,28 +3,36 @@ import Dodge.Data import Geometry import Data.Maybe -import qualified Data.IntMap.Strict as IM +--import qualified Data.IntMap.Strict as IM import Control.Lens {- | Creature attempts to moves under its own steam. The idea is that this may or may not work, depending on the status of the creature. For now, though, this cannot fail. -} +--crMvBy +-- :: Point2 -- ^ Movement translation vector, will be made relative to creature direction +-- -> Creature +-- -> Creature +--crMvBy p' cr = advanceStepCounter (magV p) cr +-- & crPos %~ (+.+ p) +-- & crMvDir .~ argV p +-- where +-- p = (*.*) (equipFactor * aimingFactor) $ rotateV (_crDir cr) p' +-- equipFactor +-- | _posture (_crStance cr) == Aiming +-- = product $ map equipAimSpeed $ IM.elems $ _crInv cr +-- | otherwise = product $ map equipSpeed $ IM.elems $ _crInv cr +-- aimingFactor +-- | _posture (_crStance cr) == Aiming = fromMaybe 1 $ it ^? itUse . useAim . aimSpeed +-- | otherwise = 1 +-- it = _crInv cr IM.! _crInvSel cr + crMvBy :: Point2 -- ^ Movement translation vector, will be made relative to creature direction -> Creature -> Creature -crMvBy p' cr = advanceStepCounter (magV p) cr - & crPos %~ (+.+ p) - & crMvDir .~ argV p +crMvBy p' cr = crMvAbsolute p cr where - p = (*.*) (equipFactor * aimingFactor) $ rotateV (_crDir cr) p' - equipFactor - | _posture (_crStance cr) == Aiming - = product $ map equipAimSpeed $ IM.elems $ _crInv cr - | otherwise = product $ map equipSpeed $ IM.elems $ _crInv cr - aimingFactor - | _posture (_crStance cr) == Aiming = fromMaybe 1 $ it ^? itUse . useAim . aimSpeed - | otherwise = 1 - it = _crInv cr IM.! _crInvSel cr + p = rotateV (_crDir cr) p' crMvAbsolute :: Point2 -- ^ Movement translation vector diff --git a/src/Dodge/Item/Draw.hs b/src/Dodge/Item/Draw.hs index 93e8cea9e..5a1060a9d 100644 --- a/src/Dodge/Item/Draw.hs +++ b/src/Dodge/Item/Draw.hs @@ -20,9 +20,6 @@ pictureWeaponOnAim -> Item -> SPic pictureWeaponOnAim = pictureWeaponAim itSPic ---pictureWeaponOnAim cr itm = case _itInvPos itm of --- Just i -> pictureWeaponOnAimItem (itSPic itm) cr i --- Nothing -> mempty itSPic :: Item -> SPic itSPic it = _dimSPic (_itDimension it) it @@ -33,10 +30,8 @@ pictureWeaponAim -> Item -> SPic pictureWeaponAim f cr itm = case _itInvPos itm of - Just i -> pictureWeaponOnAimItem pic cr i + Just i -> pictureWeaponOnAimItem (f itm) cr i Nothing -> mempty - where - pic = f itm {- | Places an item picture onto a creature when the item is selected. -} pictureWeaponOnAimItem