fixed bug in effects when the variable is nil

This commit is contained in:
Sokomine 2021-07-12 00:24:47 +02:00
parent bbc778f0ef
commit 5cab21449d

View File

@ -454,19 +454,39 @@ yl_speak_up.execute_effect = function(player, n_id, o_id, r)
-- quest_step and maximum are effectively the same
-- TODO: later on, quest steps may be strings
local var_val = yl_speak_up.get_quest_variable_value(pname, r.r_variable)
new_value = math.max(var_val, r.r_var_cmp_value)
if(var_value) then
new_value = math.max(var_val, r.r_var_cmp_value)
else
new_value = r.r_var_cmp_value
end
elseif(r.r_operator and r.r_operator == "maximum") then
local var_val = yl_speak_up.get_quest_variable_value(pname, r.r_variable)
new_value = math.max(var_val, r.r_var_cmp_value)
if(var_value) then
new_value = math.max(var_val, r.r_var_cmp_value)
else
new_value = r.r_var_cmp_value
end
elseif(r.r_operator and r.r_operator == "minimum") then
local var_val = yl_speak_up.get_quest_variable_value(pname, r.r_variable)
new_value = math.min(var_val, r.r_var_cmp_value)
if(var_value) then
new_value = math.min(var_val, r.r_var_cmp_value)
else
new_value = r.r_var_cmp_value
end
elseif(r.r_operator and r.r_operator == "increment") then
local var_val = yl_speak_up.get_quest_variable_value(pname, r.r_variable)
new_value = var_val + r.r_var_cmp_value
if(var_value) then
new_value = var_val + r.r_var_cmp_value
else
new_value = r.r_var_cmp_value
end
elseif(r.r_operator and r.r_operator == "decrement") then
local var_val = yl_speak_up.get_quest_variable_value(pname, r.r_variable)
new_value = var_val - r.r_var_cmp_value
if(var_value) then
new_value = var_val + r.r_var_cmp_value
else
new_value = -1 * r.r_var_cmp_value
end
else
yl_speak_up.debug_msg(player, n_id, o_id, tostring(r.r_id).." "..
"state: Unsupported type: "..tostring(r.r_value)..".")