1
0
mirror of https://repo.or.cz/minetest_playereffects.git synced 2025-07-01 07:40:40 +02:00

Add effect failure

The apply function of effects can return false, in that case, the effect
is not applied
This commit is contained in:
Wuzzy
2014-07-14 17:55:48 +02:00
parent 21f053270f
commit 15daa210c4
2 changed files with 35 additions and 3 deletions

View File

@ -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,