From 1cda39d5bb1da90116ec9fb3da913634312b62fa Mon Sep 17 00:00:00 2001
From: ShadowNinja <noreply@gmail.com>
Date: Sun, 3 Feb 2013 22:22:42 -0500
Subject: [PATCH] Don't fall off nodes if sneaking with free_move on but
 without fly privileges

---
 src/localplayer.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index b6dd0f42e..2d0d77140 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 && !g_settings->getBool("free_move"))
+	if(control.sneak && m_sneak_node_exists && !(fly_allowed && g_settings->getBool("free_move")))
 	{
 		f32 maxd = 0.5*BS + sneak_max;
 		v3f lwn_f = intToFloat(m_sneak_node, BS);
-- 
GitLab