From: SmallJoker Date: Thu, 8 Nov 2018 21:12:39 +0000 (+0100) Subject: New sneak: Smoothen the climb up event (#7727) X-Git-Tag: 5.0.0~202 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=c4f1a709b1cd6d92df676817fc8cd13790ba4754;p=oweals%2Fminetest.git New sneak: Smoothen the climb up event (#7727) --- diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 53d926882..4bf689428 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -376,11 +376,14 @@ void LocalPlayer::move(f32 dtime, Environment *env, f32 pos_max_d, m_speed.Z = 0; } - if (y_diff > 0 && m_speed.Y < 0 && + if (y_diff > 0 && m_speed.Y <= 0 && (physics_override_sneak_glitch || y_diff < BS * 0.6f)) { // Move player to the maximal height when falling or when // the ledge is climbed on the next step. - position.Y = bmax.Y; + + // Smoothen the movement (based on 'position.Y = bmax.Y') + position.Y += y_diff * dtime * 22.0f + BS * 0.01f; + position.Y = std::min(position.Y, bmax.Y); m_speed.Y = 0; }