Fix aiming with no weapon crash
This commit is contained in:
@@ -34,18 +34,15 @@ crMvAbsolute p' cr = advanceStepCounter (magV p) cr
|
||||
& crPos %~ (+.+ p)
|
||||
& crMvDir .~ argV p
|
||||
where
|
||||
p = (*.*) (equipFactor * aimingFactor) p'
|
||||
equipFactor
|
||||
| _posture (_crStance cr) == Aiming
|
||||
= product $ map equipAimSpeed $ IM.elems $ _crInv cr
|
||||
| _posture (_crStance cr) == Reloading
|
||||
= product $ map equipAimSpeed $ IM.elems $ _crInv cr
|
||||
| otherwise = product $ map equipSpeed $ IM.elems $ _crInv cr
|
||||
p = (equipFactor * aimingFactor) *.* p'
|
||||
isAiming = _posture (_crStance cr) == Aiming || _posture (_crStance cr) == Reloading
|
||||
invItSpeed
|
||||
| isAiming = equipAimSpeed
|
||||
| otherwise = equipSpeed
|
||||
equipFactor = product $ invItSpeed <$> _crInv cr
|
||||
aimingFactor
|
||||
| _posture (_crStance cr) == Aiming || _posture (_crStance cr) == Reloading
|
||||
= fromMaybe 1 $ it ^? itUse . useAim . aimSpeed
|
||||
| isAiming = fromMaybe 1 $ cr ^? crInv . ix (_crInvSel cr) . itUse . useAim . aimSpeed
|
||||
| otherwise = 1
|
||||
it = _crInv cr IM.! _crInvSel cr
|
||||
|
||||
crMvForward
|
||||
:: Float -- ^ Speed
|
||||
|
||||
@@ -11,10 +11,10 @@ import Control.Lens
|
||||
import Data.Maybe
|
||||
|
||||
useItem :: Int -> World -> World
|
||||
useItem cid w = itemEffect cr it w
|
||||
useItem cid w = tryUseItem cr w -- itemEffect cr it w
|
||||
where
|
||||
cr = _creatures w IM.! cid
|
||||
it = _crInv cr IM.! _crInvSel cr
|
||||
--it = _crInv cr IM.! _crInvSel cr
|
||||
|
||||
tryUseItem :: Creature -> World -> World
|
||||
tryUseItem cr' w = fromMaybe w $ do
|
||||
|
||||
Reference in New Issue
Block a user