diff options
Diffstat (limited to 'src/client/localplayer.cpp')
-rw-r--r-- | src/client/localplayer.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp index 958c07f5c..9c1e896af 100644 --- a/src/client/localplayer.cpp +++ b/src/client/localplayer.cpp @@ -461,6 +461,8 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d, m_speed.Y += jumpspeed; } setSpeed(m_speed); + if (! m_freecam) + m_legit_speed = m_speed; m_can_jump = false; } @@ -639,7 +641,7 @@ void LocalPlayer::applyControl(float dtime, Environment *env) if (superspeed || (is_climbing && fast_climb) || ((in_liquid || in_liquid_stable) && fast_climb)) speedH = speedH.normalize() * movement_speed_fast; - else if (control.sneak && !free_move && !in_liquid && !in_liquid_stable) + else if (control.sneak && !free_move && !in_liquid && !in_liquid_stable && !g_settings->getBool("no_slow")) speedH = speedH.normalize() * movement_speed_crouch; else speedH = speedH.normalize() * movement_speed_walk; |