From ee31fcbdd9f623671127df8247c25c6026cd8dc2 Mon Sep 17 00:00:00 2001 From: justin Date: Sat, 21 May 2022 22:53:25 +0100 Subject: [PATCH] Cleanup movement --- src/Dodge/Creature/Impulse/Movement.hs | 34 ++++++++++++++++---------- src/Dodge/Item/Draw.hs | 7 +----- 2 files changed, 22 insertions(+), 19 deletions(-) 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