Module:Abilities: Difference between revisions

No edit summary
mNo edit summary
Tag: Undo
 
(4 intermediate revisions by 2 users not shown)
Line 150: Line 150:
if prop and prop ~= "" then
if prop and prop ~= "" then
for segment in string.gmatch(prop, "[^%.]+") do
for segment in string.gmatch(prop, "[^%.]+") do
-- If upgrade is not a table, return value. If it is, check for segments
if type(element) ~= "table" then
if type(element) ~= "table" then
return "" -- Can't traverse further
return element or ""
end
end
element = element[segment]
element = element[segment]
if element == nil then return "" end
if element == nil then return "" end
end
end
end
if element == nil then
return "" -- The property doesn't exist in this specific upgrade, which is a valid case. Return empty.
end
-- If the property is a table (like a Damage object), return its Value field
if type(element) == "table" then
    return element.Value or ""
end
end