Renamed some functions and variables

* changed names referring to player where it does support mobs
* also added an is_player() check in one function
This commit is contained in:
the-real-herowl 2024-01-23 01:18:07 +01:00 committed by the-real-herowl
parent 6368075e78
commit c08750262c
5 changed files with 19 additions and 18 deletions

View File

@ -104,7 +104,7 @@ function mcl_raids.promote_to_raidcaptain(c) -- object
mcl_raids.drop_obanner(pos) mcl_raids.drop_obanner(pos)
if cmi_cause and cmi_cause.type == "punch" and cmi_cause.puncher:is_player() then if cmi_cause and cmi_cause.type == "punch" and cmi_cause.puncher:is_player() then
awards.unlock(cmi_cause.puncher:get_player_name(), "mcl:voluntary_exile") awards.unlock(cmi_cause.puncher:get_player_name(), "mcl:voluntary_exile")
local lv = mcl_potions.player_get_effect(cmi_cause.puncher, "bad_omen") local lv = mcl_potions.get_effect(cmi_cause.puncher, "bad_omen")
if not lv then lv = 0 if not lv then lv = 0
else lv = lv.factor end else lv = lv.factor end
lv = math.max(5,lv + 1) lv = math.max(5,lv + 1)
@ -296,7 +296,7 @@ mcl_events.register_event("raid",{
--minetest.log("Cond start raid") --minetest.log("Cond start raid")
local r = {} local r = {}
for _,p in pairs(minetest.get_connected_players()) do for _,p in pairs(minetest.get_connected_players()) do
if mcl_potions.player_has_effect(p,"bad_omen") then if mcl_potions.has_effect(p,"bad_omen") then
local raid_pos = mcl_raids.find_village(p:get_pos()) local raid_pos = mcl_raids.find_village(p:get_pos())
if raid_pos then if raid_pos then
--minetest.log("We have a raid position. Start raid") --minetest.log("We have a raid position. Start raid")
@ -310,7 +310,7 @@ mcl_events.register_event("raid",{
self.mobs = {} self.mobs = {}
self.health_max = 1 self.health_max = 1
self.health = 0 self.health = 0
local lv = mcl_potions.player_get_effect(minetest.get_player_by_name(self.player), "bad_omen") local lv = mcl_potions.get_effect(minetest.get_player_by_name(self.player), "bad_omen")
if lv and lv.factor and lv.factor > 1 then self.max_stage = 6 end if lv and lv.factor and lv.factor > 1 then self.max_stage = 6 end
end, end,
cond_progress = function(self) cond_progress = function(self)
@ -331,7 +331,7 @@ mcl_events.register_event("raid",{
end, end,
on_complete = function(self) on_complete = function(self)
awards.unlock(self.player,"mcl:hero_of_the_village") awards.unlock(self.player,"mcl:hero_of_the_village")
mcl_potions.player_clear_effect(minetest.get_player_by_name(self.player),"bad_omen") mcl_potions.clear_effect(minetest.get_player_by_name(self.player),"bad_omen")
make_firework(self.pos,os.time()) make_firework(self.pos,os.time())
end, end,
}) })

View File

@ -379,7 +379,7 @@ minetest.register_globalstep(function(dtime)
etime = 0 etime = 0
for _,pl in pairs(minetest.get_connected_players()) do for _,pl in pairs(minetest.get_connected_players()) do
local armor_feet = pl:get_inventory():get_stack("armor", 5) local armor_feet = pl:get_inventory():get_stack("armor", 5)
if pl and pl:get_player_control().sneak or (minetest.global_exists("mcl_enchanting") and mcl_enchanting.has_enchantment(armor_feet, "frost_walker")) or (minetest.global_exists("mcl_potions") and mcl_potions.player_has_effect(pl, "fire_proof")) then if pl and pl:get_player_control().sneak or (minetest.global_exists("mcl_enchanting") and mcl_enchanting.has_enchantment(armor_feet, "frost_walker")) or (minetest.global_exists("mcl_potions") and mcl_potions.has_effect(pl, "fire_proof")) then
return return
end end
burn_in_campfire(pl) burn_in_campfire(pl)

View File

@ -135,7 +135,7 @@ minetest.register_node("mcl_nether:magma", {
-- From walkover mod -- From walkover mod
on_walk_over = function(loc, nodeiamon, player) on_walk_over = function(loc, nodeiamon, player)
local armor_feet = player:get_inventory():get_stack("armor", 5) local armor_feet = player:get_inventory():get_stack("armor", 5)
if player and player:get_player_control().sneak or (minetest.global_exists("mcl_enchanting") and mcl_enchanting.has_enchantment(armor_feet, "frost_walker")) or (minetest.global_exists("mcl_potions") and mcl_potions.player_has_effect(player, "fire_proof")) then if player and player:get_player_control().sneak or (minetest.global_exists("mcl_enchanting") and mcl_enchanting.has_enchantment(armor_feet, "frost_walker")) or (minetest.global_exists("mcl_potions") and mcl_potions.has_effect(player, "fire_proof")) then
return return
end end
-- Hurt players standing on top of this block -- Hurt players standing on top of this block

View File

@ -1145,32 +1145,33 @@ function mcl_potions._load_player_effects(player)
end end
end end
-- Returns true if player has given effect -- Returns true if object has given effect
function mcl_potions.player_has_effect(player, effect_name) function mcl_potions.has_effect(object, effect_name)
if not EF[effect_name] then if not EF[effect_name] then
return false return false
end end
return EF[effect_name][player] ~= nil return EF[effect_name][object] ~= nil
end end
function mcl_potions.player_get_effect(player, effect_name) function mcl_potions.get_effect(object, effect_name)
if not EF[effect_name] or not EF[effect_name][player] then if not EF[effect_name] or not EF[effect_name][object] then
return false return false
end end
return EF[effect_name][player] return EF[effect_name][object]
end end
function mcl_potions.player_get_effect_level(player, effect_name) function mcl_potions.get_effect_level(object, effect_name)
if not EF[effect_name] then return end if not EF[effect_name] then return end
local effect = EF[effect_name][player] local effect = EF[effect_name][object]
if not effect then return 0 end if not effect then return 0 end
if not registered_effects[effect_name].uses_factor then return 1 end if not registered_effects[effect_name].uses_factor then return 1 end
return registered_effects[effect_name].factor_to_level(effect.factor) return registered_effects[effect_name].factor_to_level(effect.factor)
end end
function mcl_potions.player_clear_effect(player,effect) function mcl_potions.clear_effect(object, effect)
EF[effect][player] = nil EF[effect][object] = nil
potions_set_hud(player) if not object:is_player() then return end
potions_set_hud(object)
end end
minetest.register_on_leaveplayer( function(player) minetest.register_on_leaveplayer( function(player)

View File

@ -186,7 +186,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
local level = mcl_potions.player_get_effect_level(user, "food_poisoning") local level = mcl_potions.get_effect_level(user, "food_poisoning")
mcl_potions.give_effect_by_level("food_poisoning", user, level+exhaust, poisontime) mcl_potions.give_effect_by_level("food_poisoning", user, level+exhaust, poisontime)
end end
end end