Compare commits

..

No commits in common. "master" and "nalc-1.2.0" have entirely different histories.

3 changed files with 23 additions and 55 deletions

View File

@ -1,11 +0,0 @@
on: [push, pull_request]
name: build
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: lint
uses: Roang-zero1/factorio-mod-luacheck@master
with:
luacheckrc_url: ""

View File

@ -1,19 +0,0 @@
allow_defined_top = true
unused_args = false
max_line_length = false
read_globals = {
string = {fields = {"split", "trim"}},
table = {fields = {"copy", "getn"}},
"player_monoids",
"playerphysics",
"hb",
"vector",
"hunger_ng",
}
globals = {
"minetest",
"hbhunger"
}

View File

@ -84,28 +84,25 @@ local function drain_stamina(player)
player:get_meta():set_float("hbsprint:stamina", player_stamina)
end
if mod_hudbars then
if autohide and
player_stamina < hb.get_hudtable("stamina").hudstate[player:get_player_name()].max
then hb.unhide_hudbar(player, "stamina") end
if autohide and player_stamina < 20 then hb.unhide_hudbar(player, "stamina") end
hb.change_hudbar(player, "stamina", player_stamina)
end
end
local function replenish_stamina(player)
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()
if player_stamina < max_stamina and not ctrl.jump then
if player_stamina < 20 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
player_stamina = math.min(max_stamina, player_stamina + standing)
player_stamina = math.min(20, player_stamina + standing)
else
player_stamina = math.min(max_stamina, player_stamina + stamina_heal)
player_stamina = math.min(20, player_stamina + stamina_heal)
end
player:get_meta():set_float("hbsprint:stamina", player_stamina)
end
if mod_hudbars then
hb.change_hudbar(player, "stamina", player_stamina)
if autohide and player_stamina >= max_stamina then hb.hide_hudbar(player, "stamina") end
if autohide and player_stamina >= 20 then hb.hide_hudbar(player, "stamina") end
end
end
@ -133,8 +130,8 @@ local function is_walkable(ground)
end
local function create_particles(player, name, ground)
local def = minetest.registered_nodes[ground.name] or {}
local tile = def.tiles and def.tiles[1] or def.inventory_image
local def = minetest.registered_nodes[ground.name]
local tile = def.tiles[1] or def.inventory_image
if type(tile) == "table" then
tile = tile.name
end
@ -185,16 +182,17 @@ end)
local function sprint_step(player, dtime)
local name = player:get_player_name()
local fast = minetest.get_player_privs(name).fast
if not fast then
if minetest.get_player_privs(name).fast then
return
end
if stamina then
stamina_timer[name] = (stamina_timer[name] or 0) + dtime
end
if breath then
breath_timer[name] = (breath_timer[name] or 0) + dtime
end
end
local ctrl = player:get_player_control()
local key_press
@ -206,7 +204,7 @@ local function sprint_step(player, dtime)
if not key_press then
stop_sprint(player)
if stamina and not fast and stamina_timer[name] >= replenish then
if stamina and stamina_timer[name] >= replenish then
replenish_stamina(player)
stamina_timer[name] = 0
end
@ -237,15 +235,15 @@ local function sprint_step(player, dtime)
hunger = hunger_ng.get_hunger_information(name).hunger.exact
end
if (player_stamina > 0 and hunger > starve_limit and ground) or fast then
if player_stamina > 0 and hunger > starve_limit and ground then
start_sprint(player)
if stamina and not fast then drain_stamina(player) end
if starve and not fast then drain_hunger(player, name) end
if breath and not fast and breath_timer[name] >= 2 then
if stamina then drain_stamina(player) end
if starve then drain_hunger(player, name) end
if breath and breath_timer[name] >= 2 then
drain_breath(player)
breath_timer[name] = 0
end
if particles and ground then
if particles then
create_particles(player, name, ground)
end
else