forked from minetest-mods/hbsprint
Compare commits
3 Commits
b3773c0470
...
7b8b37a061
Author | SHA1 | Date | |
---|---|---|---|
7b8b37a061 | |||
1fe580a210 | |||
dc766c1336 |
17
init.lua
17
init.lua
@ -84,25 +84,28 @@ local function drain_stamina(player)
|
|||||||
player:get_meta():set_float("hbsprint:stamina", player_stamina)
|
player:get_meta():set_float("hbsprint:stamina", player_stamina)
|
||||||
end
|
end
|
||||||
if mod_hudbars then
|
if mod_hudbars then
|
||||||
if autohide and player_stamina < 20 then hb.unhide_hudbar(player, "stamina") end
|
if autohide and
|
||||||
|
player_stamina < hb.get_hudtable("stamina").hudstate[player:get_player_name()].max
|
||||||
|
then hb.unhide_hudbar(player, "stamina") end
|
||||||
hb.change_hudbar(player, "stamina", player_stamina)
|
hb.change_hudbar(player, "stamina", player_stamina)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function replenish_stamina(player)
|
local function replenish_stamina(player)
|
||||||
local player_stamina = player:get_meta():get_float("hbsprint:stamina")
|
local player_stamina = player:get_meta():get_float("hbsprint:stamina")
|
||||||
|
local max_stamina = hb.get_hudtable("stamina").hudstate[player:get_player_name()].max
|
||||||
local ctrl = player:get_player_control()
|
local ctrl = player:get_player_control()
|
||||||
if player_stamina < 20 and not ctrl.jump then
|
if player_stamina < max_stamina and not ctrl.jump then
|
||||||
if not ctrl.right and not ctrl.left and not ctrl.down and not ctrl.up and not ctrl.LMB and not ctrl.RMB then
|
if not ctrl.right and not ctrl.left and not ctrl.down and not ctrl.up and not ctrl.LMB and not ctrl.RMB then
|
||||||
player_stamina = math.min(20, player_stamina + standing)
|
player_stamina = math.min(max_stamina, player_stamina + standing)
|
||||||
else
|
else
|
||||||
player_stamina = math.min(20, player_stamina + stamina_heal)
|
player_stamina = math.min(max_stamina, player_stamina + stamina_heal)
|
||||||
end
|
end
|
||||||
player:get_meta():set_float("hbsprint:stamina", player_stamina)
|
player:get_meta():set_float("hbsprint:stamina", player_stamina)
|
||||||
end
|
end
|
||||||
if mod_hudbars then
|
if mod_hudbars then
|
||||||
hb.change_hudbar(player, "stamina", player_stamina)
|
hb.change_hudbar(player, "stamina", player_stamina)
|
||||||
if autohide and player_stamina >= 20 then hb.hide_hudbar(player, "stamina") end
|
if autohide and player_stamina >= max_stamina then hb.hide_hudbar(player, "stamina") end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -237,7 +240,7 @@ local function sprint_step(player, dtime)
|
|||||||
if (player_stamina > 0 and hunger > starve_limit and ground) or fast then
|
if (player_stamina > 0 and hunger > starve_limit and ground) or fast then
|
||||||
start_sprint(player)
|
start_sprint(player)
|
||||||
if stamina and not fast then drain_stamina(player) end
|
if stamina and not fast then drain_stamina(player) end
|
||||||
if starve then drain_hunger(player, name) end
|
if starve and not fast then drain_hunger(player, name) end
|
||||||
if breath and not fast and breath_timer[name] >= 2 then
|
if breath and not fast and breath_timer[name] >= 2 then
|
||||||
drain_breath(player)
|
drain_breath(player)
|
||||||
breath_timer[name] = 0
|
breath_timer[name] = 0
|
||||||
|
Reference in New Issue
Block a user