1
0
Fork 0

mcl_hunger: Remove non-food poison mechanic

It was moved to mcl_potions, so it's OK
objects
Wuzzy 2020-08-13 18:44:33 +02:00
parent cef20edd53
commit 152d69f91f
4 changed files with 5 additions and 22 deletions

View File

@ -41,7 +41,7 @@ Sets the hunger level of `player` (ObjectRef) to `hunger` immediately.
Increase exhaustion of player by `exhaust`. Increase exhaustion of player by `exhaust`.
### `mcl_hunger.stop_poison(player)` ### `mcl_hunger.stop_poison(player)`
Immediately stops all poisonings for player. Immediately stops food poisoning for player.
### More functions ... ### More functions ...
There are more functions (of less importance) available, see `api.lua`. There are more functions (of less importance) available, see `api.lua`.

View File

@ -113,9 +113,7 @@ if mcl_hunger.active then
if not mcl_hunger.active then if not mcl_hunger.active then
return return
end end
mcl_hunger.poison_damage[player:get_player_name()] = 0
mcl_hunger.poison_hunger[player:get_player_name()] = 0 mcl_hunger.poison_hunger[player:get_player_name()] = 0
mcl_hunger.reset_bars_poison_damage(player)
mcl_hunger.reset_bars_poison_hunger(player) mcl_hunger.reset_bars_poison_hunger(player)
end end

View File

@ -67,10 +67,7 @@ function mcl_hunger.eat(hp_change, replace_with_item, itemstack, user, pointed_t
return func(itemstack, user, pointed_thing) return func(itemstack, user, pointed_thing)
end end
-- Reset HUD bars after poisoning -- Reset HUD bars after food poisoning
function mcl_hunger.reset_bars_poison_damage(player)
hb.change_hudbar(player, "health", nil, nil, "hudbars_icon_health.png", nil, "hudbars_bar_health.png")
end
function mcl_hunger.reset_bars_poison_hunger(player) function mcl_hunger.reset_bars_poison_hunger(player)
hb.change_hudbar(player, "hunger", nil, nil, "hbhunger_icon.png", nil, "hbhunger_bar.png") hb.change_hudbar(player, "hunger", nil, nil, "hbhunger_icon.png", nil, "hbhunger_bar.png")
@ -90,23 +87,17 @@ local function poisonp(tick, time, time_left, damage, exhaustion, name)
return return
end end
local name = player:get_player_name() local name = player:get_player_name()
-- Abort if poisonings have been stopped -- Abort if food poisonings have been stopped
if mcl_hunger.poison_damage[name] == 0 and mcl_hunger.poison_hunger[name] == 0 then if mcl_hunger.poison_hunger[name] == 0 then
return return
end end
time_left = time_left + tick time_left = time_left + tick
if time_left < time then if time_left < time then
minetest.after(tick, poisonp, tick, time, time_left, damage, exhaustion, name) minetest.after(tick, poisonp, tick, time, time_left, damage, exhaustion, name)
else else
-- if damage > 0 then
-- mcl_hunger.poison_damage[name] = mcl_hunger.poison_damage[name] - 1
-- end
if exhaustion > 0 then if exhaustion > 0 then
mcl_hunger.poison_hunger [name] = mcl_hunger.poison_hunger[name] - 1 mcl_hunger.poison_hunger [name] = mcl_hunger.poison_hunger[name] - 1
end end
-- if mcl_hunger.poison_damage[name] <= 0 then
-- mcl_hunger.reset_bars_poison_damage(player)
-- end
if mcl_hunger.poison_hunger[name] <= 0 then if mcl_hunger.poison_hunger[name] <= 0 then
mcl_hunger.reset_bars_poison_hunger(player) mcl_hunger.reset_bars_poison_hunger(player)
end end
@ -224,11 +215,7 @@ function mcl_hunger.item_eat(hunger_change, replace_with_item, poisontime, poiso
do_poison = true do_poison = true
end end
if do_poison then if do_poison then
-- Set poison bars -- Set food poison bars
-- if poison and poison > 0 then
-- hb.change_hudbar(user, "health", nil, nil, "hbhunger_icon_health_poison.png", nil, "hbhunger_bar_health_poison.png")
-- mcl_hunger.poison_damage[name] = mcl_hunger.poison_damage[name] + 1
-- end
if exhaust and exhaust > 0 then if exhaust and exhaust > 0 then
hb.change_hudbar(user, "hunger", nil, nil, "mcl_hunger_icon_foodpoison.png", nil, "mcl_hunger_bar_foodpoison.png") hb.change_hudbar(user, "hunger", nil, nil, "mcl_hunger_icon_foodpoison.png", nil, "mcl_hunger_bar_foodpoison.png")
if mcl_hunger.debug then if mcl_hunger.debug then

View File

@ -63,7 +63,6 @@ end
]] ]]
-- Count number of poisonings a player has at once -- Count number of poisonings a player has at once
mcl_hunger.poison_damage = {} -- damaging poison
mcl_hunger.poison_hunger = {} -- food poisoning, increasing hunger mcl_hunger.poison_hunger = {} -- food poisoning, increasing hunger
-- HUD item ids -- HUD item ids
@ -100,7 +99,6 @@ minetest.register_on_joinplayer(function(player)
local name = player:get_player_name() local name = player:get_player_name()
mcl_hunger.init_player(player) mcl_hunger.init_player(player)
init_hud(player) init_hud(player)
mcl_hunger.poison_damage[name] = 0
mcl_hunger.poison_hunger[name] = 0 mcl_hunger.poison_hunger[name] = 0
mcl_hunger.last_eat[name] = -1 mcl_hunger.last_eat[name] = -1
end) end)