Make armour slow only on aiming

This commit is contained in:
2021-05-21 14:30:51 +02:00
parent 322894c513
commit 26f0ca4ab5
2 changed files with 7 additions and 5 deletions
+6 -3
View File
@@ -18,7 +18,10 @@ crMvBy
crMvBy p' cr = advanceStepCounter (magV p) $ over crPos (+.+ p) cr
where
p = (*.*) (equipFactor * aimingFactor) $ rotateV (_crDir cr) p'
equipFactor = product $ map equipSpeed $ IM.elems $ _crInv cr
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 ^? itAimingSpeed
| otherwise = 1
@@ -68,6 +71,6 @@ equipSpeed _ = 1
equipAimSpeed :: Item -> Float
equipAimSpeed NoItem = 1
equipAimSpeed it
| _itIdentity it == FrontArmour = 0.75
| _itIdentity it == FlameShield = 0.75
| _itIdentity it == FrontArmour = 0.5
| _itIdentity it == FlameShield = 0.5
| otherwise = 1