forked from minetest-mods/technic
Fix discharge of flashlight and sonic screwdriver
These two tools wouldn't discharge all the way to zero through use, unlike most chargeable items. Incidentally remove a duplicate of the check_for_flashlight() function.
This commit is contained in:
parent
db79675570
commit
5c59d97070
@ -40,7 +40,7 @@ local function check_for_flashlight(player)
|
||||
if not meta or not meta.charge then
|
||||
return false
|
||||
end
|
||||
if meta.charge - 2 > 0 then
|
||||
if meta.charge >= 2 then
|
||||
meta.charge = meta.charge - 2;
|
||||
technic.set_RE_wear(hotbar[i], meta.charge, flashlight_max_charge)
|
||||
hotbar[i]:set_metadata(minetest.serialize(meta))
|
||||
@ -72,31 +72,6 @@ minetest.register_on_leaveplayer(function(player)
|
||||
player_positions[player_name] = nil
|
||||
end)
|
||||
|
||||
|
||||
local function check_for_flashlight(player)
|
||||
if player == nil then
|
||||
return false
|
||||
end
|
||||
local inv = player:get_inventory()
|
||||
local hotbar = inv:get_list("main")
|
||||
for i = 1, 8 do
|
||||
if hotbar[i]:get_name() == "technic:flashlight" then
|
||||
local meta = minetest.deserialize(hotbar[i]:get_metadata())
|
||||
if not meta or not meta.charge then
|
||||
return false
|
||||
end
|
||||
if meta.charge - 2 > 0 then
|
||||
meta.charge = meta.charge - 2;
|
||||
technic.set_RE_wear(hotbar[i], meta.charge, flashlight_max_charge)
|
||||
hotbar[i]:set_metadata(minetest.serialize(meta))
|
||||
inv:set_stack("main", i, hotbar[i])
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
minetest.register_globalstep(function(dtime)
|
||||
for i, player in pairs(minetest.get_connected_players()) do
|
||||
local player_name = player:get_player_name()
|
||||
|
@ -30,7 +30,7 @@ minetest.register_tool("technic:sonic_screwdriver", {
|
||||
if not meta1 or not meta1.charge then
|
||||
return
|
||||
end
|
||||
if meta1.charge - 100 > 0 then
|
||||
if meta1.charge >= 100 then
|
||||
minetest.sound_play("technic_sonic_screwdriver",
|
||||
{pos = pos, gain = 0.3, max_hear_distance = 10})
|
||||
local p = node.param2
|
||||
|
Loading…
Reference in New Issue
Block a user