63 lines
3.1 KiB
Lua
63 lines
3.1 KiB
Lua
|
----------------------------------------------------------------------------------------------------
|
||
|
--------------------------------------------------------------------------------------------- API --
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
minetest_wadsprint.api = { events = EventEmitter:new() }
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
------------------------------------------------------------------------------------- api.stats() --
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
-- Returns player stats.
|
||
|
--
|
||
|
-- minetest_wadsprint.api.stats(player_name) -- Get player stats.
|
||
|
--
|
||
|
function minetest_wadsprint.api.stats(player_name)
|
||
|
local player = minetest_wadsprint.stats[player_name]
|
||
|
if player ~= nil then
|
||
|
return -- Return copy of values to be sure that they won't be changed by accident.
|
||
|
{
|
||
|
name = player_name,
|
||
|
stamina = player.stamina,
|
||
|
is_walking = player.is_walking,
|
||
|
is_sprinting = player.is_sprinting,
|
||
|
is_ready_to_sprint = player.is_ready_to_sprint,
|
||
|
is_sprinting_physics_on = player.is_sprinting_physics_on,
|
||
|
}
|
||
|
end
|
||
|
end
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
----------------------------------------------------------------------------------- api.stamina() --
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
-- Gets/sets player stamina.
|
||
|
--
|
||
|
-- minetest_wadsprint.api.stamina(player_name) -- Get player stamina percentage (1 is 100%).
|
||
|
-- minetest_wadsprint.api.stamina(player_name, 0.1) -- SET stamina to 10% of STAMINA_MAX_VALUE.
|
||
|
--
|
||
|
function minetest_wadsprint.api.stamina(player_name, stamina_percentage)
|
||
|
local player = minetest_wadsprint.stats[player_name]
|
||
|
if player ~= nil then
|
||
|
if stamina_value ~= nil then
|
||
|
minetest_wadsprint.set_stamina(
|
||
|
player,
|
||
|
minetest_wadsprint.STAMINA_MAX_VALUE * stamina_percentage
|
||
|
)
|
||
|
else
|
||
|
return player.stamina / minetest_wadsprint.STAMINA_MAX_VALUE
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
-------------------------------------------------------------------------------- api.addstamina() --
|
||
|
----------------------------------------------------------------------------------------------------
|
||
|
-- Adds/subtracts stamina to player.
|
||
|
--
|
||
|
-- minetest_wadsprint.api.addstamina(player_name, 0.1) -- Add 10% of STAMINA_MAX_VALUE.
|
||
|
-- minetest_wadsprint.api.addstamina(player_name, -0.1) -- Subtract 10% of STAMINA_MAX_VALUE.
|
||
|
--
|
||
|
function minetest_wadsprint.api.addstamina(player_name, stamina_percentage)
|
||
|
local player = minetest_wadsprint.stats[player_name]
|
||
|
if player ~= nil then
|
||
|
minetest_wadsprint.set_stamina(
|
||
|
player,
|
||
|
player.stamina + minetest_wadsprint.STAMINA_MAX_VALUE * stamina_percentage
|
||
|
)
|
||
|
end
|
||
|
end
|