Slow your turn when moving and not aiming
This commit is contained in:
@@ -34,11 +34,14 @@ wasdWithAiming
|
||||
-> Creature
|
||||
wasdWithAiming w speed i cr
|
||||
| isAiming = set crDir mouseDir $ crMvBy (speed *.* mov) cr
|
||||
| isMoving = crMvForward speed $ over crDir (`fromMaybe` dir) cr
|
||||
| isMoving = crMvAbsolute (speed *.* movAbs) $ turnAction cr
|
||||
-- | isMoving = crMvForward speed $ over crDir (`fromMaybe` dir) cr
|
||||
| otherwise = cr
|
||||
where
|
||||
(mov',dir') = wasdComp (view keys w) w
|
||||
dir = fmap (_cameraRot w +) dir'
|
||||
turnAction cr' = maybe cr (\d -> creatureTurnTowardDir d 0.2 cr') dir
|
||||
movAbs = rotateV (_cameraRot w) mov'
|
||||
mov = rotateV (negate $ _crDir cr - _cameraRot w) mov'
|
||||
isAiming = _posture (_crStance cr) == Aiming
|
||||
isMoving = mov' /= (0,0)
|
||||
|
||||
Reference in New Issue
Block a user