forked from mtcontrib/minetest_playereffects
Add effect failure
The apply function of effects can return false, in that case, the effect is not applied
This commit is contained in:
12
init.lua
12
init.lua
@ -69,7 +69,17 @@ end
|
||||
|
||||
function playereffects.apply_effect_type(effect_type_id, duration, player)
|
||||
local start_time = os.time()
|
||||
local status = playereffects.effect_types[effect_type_id].apply(player)
|
||||
local playername = player:get_player_name()
|
||||
local metadata
|
||||
|
||||
if(status == false) then
|
||||
minetest.log("action", "[playereffects] Attempt to apply effect type "..effect_type_id.." to player "..playername.." failed!")
|
||||
return
|
||||
else
|
||||
metadata = status
|
||||
end
|
||||
|
||||
local groups = playereffects.effect_types[effect_type_id].groups
|
||||
for k,v in pairs(groups) do
|
||||
playereffects.cancel_effect_group(v, playername)
|
||||
@ -105,8 +115,6 @@ function playereffects.apply_effect_type(effect_type_id, duration, player)
|
||||
hudids = {text_id=nil, icon_id=nil}
|
||||
end
|
||||
|
||||
local metadata = playereffects.effect_types[effect_type_id].apply(player)
|
||||
|
||||
local effect = {
|
||||
playername = playername,
|
||||
effect_id = effect_id,
|
||||
|
Reference in New Issue
Block a user