From 6aa07a0258d8c67b5047ee697430f7ca160602b2 Mon Sep 17 00:00:00 2001 From: the-real-herowl Date: Sat, 20 Jan 2024 00:01:06 +0100 Subject: [PATCH] Fixed graphical features of some effects * loading fixed (by adding on_load) * absorption bar never reaching end fixed --- mods/ITEMS/mcl_potions/functions.lua | 30 +++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/mods/ITEMS/mcl_potions/functions.lua b/mods/ITEMS/mcl_potions/functions.lua index 802fdac6e..a1a193fda 100644 --- a/mods/ITEMS/mcl_potions/functions.lua +++ b/mods/ITEMS/mcl_potions/functions.lua @@ -437,9 +437,12 @@ mcl_potions.register_effect({ return (not object:is_player()) end, on_start = function(object, factor) - hb.change_hudbar(object, "absorption", factor, math.floor(factor/20+1)*20) + hb.change_hudbar(object, "absorption", factor, (math.floor(factor/20-0.05)+1)*20) EF.absorption[object].absorb = factor end, + on_load = function(object, factor) + minetest.after(0, function() hb.change_hudbar(object, "absorption", nil, (math.floor(factor/20-0.05)+1)*20) end) + end, on_step = function(dtime, object, factor, duration) hb.change_hudbar(object, "absorption", EF.absorption[object].absorb) end, @@ -551,6 +554,15 @@ mcl_potions.register_effect({ z_index = -400 }) end, + on_load = function(object, factor) + EF.frost[object].vignette = object:hud_add({ + hud_elem_type = "image", + position = {x = 0.5, y = 0.5}, + scale = {x = -101, y = -101}, + text = "mcl_potions_frost_hud.png", + z_index = -400 + }) + end, on_hit_timer = function(object, factor, duration) if object:is_player() or object:get_luaentity() then mcl_util.deal_damage(object, 1, {type = "magic"}) @@ -593,6 +605,16 @@ mcl_potions.register_effect({ }) mcl_fovapi.apply_modifier(object, "mcl_potions:blindness") end, + on_load = function(object, factor) + EF.blindness[object].vignette = object:hud_add({ + hud_elem_type = "image", + position = {x = 0.5, y = 0.5}, + scale = {x = -101, y = -101}, + text = "mcl_potions_blindness_hud.png", + z_index = -401 + }) + mcl_fovapi.apply_modifier(object, "mcl_potions:blindness") + end, on_end = function(object) mcl_fovapi.remove_modifier(object, "mcl_potions:blindness") if not EF.blindness[object] then return end @@ -622,6 +644,12 @@ mcl_potions.register_effect({ hb.change_hudbar(object, "exhaustion", nil, nil, nil, nil, "mcl_hunger_bar_foodpoison.png") end end, + on_load = function(object, factor) -- TODO refactor and add hunger bar modifier API + hb.change_hudbar(object, "hunger", nil, nil, "mcl_hunger_icon_foodpoison.png", nil, "mcl_hunger_bar_foodpoison.png") + if mcl_hunger.debug then + hb.change_hudbar(object, "exhaustion", nil, nil, nil, nil, "mcl_hunger_bar_foodpoison.png") + end + end, on_step = function(dtime, object, factor, duration) mcl_hunger.exhaust(object:get_player_name(), dtime*factor) end,