From: PilzAdam Date: Sun, 2 Dec 2012 11:17:05 +0000 (+0100) Subject: Dont sneak while flying X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=9786202b089622dceacb9deb678e6d6938a24719;p=zefram%2Fminetest%2Fminetest_engine.git Dont sneak while flying --- diff --git a/src/localplayer.cpp b/src/localplayer.cpp index 96ddb4bb..8189e46a 100644 --- a/src/localplayer.cpp +++ b/src/localplayer.cpp @@ -159,7 +159,7 @@ void LocalPlayer::move(f32 dtime, Map &map, f32 pos_max_d, If sneaking, keep in range from the last walked node and don't fall off from it */ - if(control.sneak && m_sneak_node_exists) + if(control.sneak && m_sneak_node_exists && !g_settings->getBool("free_move")) { f32 maxd = 0.5*BS + sneak_max; v3f lwn_f = intToFloat(m_sneak_node, BS); @@ -540,7 +540,7 @@ void LocalPlayer::applyControl(float dtime) // The speed of the player (Y is ignored) if(superspeed) speed = speed.normalize() * walkspeed_max * 5.0; - else if(control.sneak) + else if(control.sneak && !free_move) speed = speed.normalize() * walkspeed_max / 3.0; else speed = speed.normalize() * walkspeed_max;