diff --git a/mods/PLAYER/mcl_sprint/init.lua b/mods/PLAYER/mcl_sprint/init.lua index 2ef5be68..0cc2ff89 100644 --- a/mods/PLAYER/mcl_sprint/init.lua +++ b/mods/PLAYER/mcl_sprint/init.lua @@ -45,15 +45,19 @@ local function setSprinting(playerName, sprinting) --Sets the state of a player local player = minetest.get_player_by_name(playerName) if players[playerName] then players[playerName].sprinting = sprinting + local fov_old = players[playerName].fov + local fov_new if sprinting == true then - players[playerName].fov = math.min(players[playerName].fov + 0.05, 1.2) - player:set_fov(players[playerName].fov, true, 0.15) + fov_new = math.min(players[playerName].fov + 0.05, 1.2) playerphysics.add_physics_factor(player, "speed", "mcl_sprint:sprint", mcl_sprint.SPEED) elseif sprinting == false then - players[playerName].fov = math.max(players[playerName].fov - 0.05, 1.0) - player:set_fov(players[playerName].fov, true, 0.15) + fov_new = math.max(players[playerName].fov - 0.05, 1.0) playerphysics.remove_physics_factor(player, "speed", "mcl_sprint:sprint") end + if fov_new ~= fov_old then + players[playerName].fov = fov_new + player:set_fov(fov_new, true, 0.15) + end return true end return false