From 9921ba24ccf52011bf4328e159e652ae341ba3c2 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Fri, 20 Feb 2015 15:19:57 +0100 Subject: [PATCH] Round input values --- init.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/init.lua b/init.lua index 111ef88..fa69f6b 100644 --- a/init.lua +++ b/init.lua @@ -44,6 +44,7 @@ function mana.set(playername, value) minetest.log("info", "[mana] Warning: mana.set was called with negative value!") value = 0 end + value = mana.round(value) if value > mana.playerlist[playername].maxmana then value = mana.playerlist[playername].maxmana end @@ -58,6 +59,7 @@ function mana.setmax(playername, value) value = 0 minetest.log("info", "[mana] Warning: mana.setmax was called with negative value!") end + value = mana.round(value) if mana.playerlist[playername].maxmana ~= value then mana.playerlist[playername].maxmana = value if(mana.playerlist[playername].mana > value) then @@ -72,6 +74,7 @@ function mana.setregen(playername, value) value = 0 minetest.log("info", "[mana] Warning: mana.setregen was called with negative value!") end + value = mana.round(value) mana.playerlist[playername].regen = value end @@ -89,6 +92,7 @@ end function mana.add_up_to(playername, value) local t = mana.playerlist[playername] + value = mana.round(value) if(t ~= nil and value >= 0) then local excess if((t.mana + value) > t.maxmana) then @@ -107,6 +111,7 @@ end function mana.add(playername, value) local t = mana.playerlist[playername] + value = mana.round(value) if(t ~= nil and ((t.mana + value) <= t.maxmana) and value >= 0) then t.mana = t.mana + value mana.hud_update(playername) @@ -118,6 +123,7 @@ end function mana.subtract(playername, value) local t = mana.playerlist[playername] + value = mana.round(value) if(t ~= nil and t.mana >= value and value >= 0) then t.mana = t.mana -value mana.hud_update(playername) @@ -129,6 +135,7 @@ end function mana.subtract_up_to(playername, value) local t = mana.playerlist[playername] + value = mana.round(value) if(t ~= nil and value >= 0) then local missing if((t.mana - value) < 0) then @@ -291,3 +298,10 @@ else player:hud_remove(mana.playerlist[playername].hudid) end end + +--[===[ + Helper functions +]===] +mana.round = function(x) + return math.ceil(math.floor(x+0.5)) +end