diff --git a/mods/ENVIRONMENT/mcl_raids/init.lua b/mods/ENVIRONMENT/mcl_raids/init.lua index e77c0717f..ec6527b49 100644 --- a/mods/ENVIRONMENT/mcl_raids/init.lua +++ b/mods/ENVIRONMENT/mcl_raids/init.lua @@ -106,8 +106,9 @@ function mcl_raids.promote_to_raidcaptain(c) -- object l._banner = nil mcl_raids.drop_obanner(pos) if cmi_cause.type == "punch" and cmi_cause.puncher:is_player() then - local lv = mcl_potions.player_get_effect(cmi_cause.puncher, "bad_omen").factor - if not lv then lv = 0 end + local lv = mcl_potions.player_get_effect(cmi_cause.puncher, "bad_omen") + if not lv then lv = 0 + else lv = lv.factor end lv = math.max(5,lv + 1) mcl_potions.bad_omen_func(cmi_cause.puncher,lv,6000) end @@ -281,6 +282,7 @@ mcl_events.register_event("raid",{ on_complete = function(self) --minetest.log("RAID complete") awards.unlock(self.player,"mcl:hero_of_the_village") + mcl_potions.player_clear_effect(minetest.get_player_by_name(self.player),"bad_omen") end, }) diff --git a/mods/ITEMS/mcl_potions/functions.lua b/mods/ITEMS/mcl_potions/functions.lua index 7213ddc4b..de3f6df10 100644 --- a/mods/ITEMS/mcl_potions/functions.lua +++ b/mods/ITEMS/mcl_potions/functions.lua @@ -524,6 +524,11 @@ function mcl_potions.player_get_effect(player, effect_name) return EF[effect_name][player] end +function mcl_potions.player_clear_effect(player,effect) + EF[effect][player] = nil + potions_set_icons(player) +end + minetest.register_on_leaveplayer( function(player) mcl_potions._save_player_effects(player) mcl_potions._clear_cached_player_data(player) -- clearout the buffer to prevent looking for a player not there