Editing Module:AbilitiesGive feedback
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 126: | Line 126: | ||
if not ability then | if not ability then | ||
return "Ability Not Found" | return "Ability Not Found" | ||
end | |||
-- Handle nested properties via dot notation (e.g., "MaxRage.Scale.Value") | |||
local element = ability | |||
if prop and prop ~= "" then | |||
for segment in string.gmatch(prop, "[^%.]+") do | |||
if type(element) ~= "table" then | |||
return "" -- Can't traverse further | |||
end | |||
element = element[segment] | |||
if element == nil then return "" end | |||
end | |||
end | end | ||
| Line 148: | Line 160: | ||
-- Get the desired property from the specific upgrade | -- Get the desired property from the specific upgrade | ||
local element = upgrade[prop] | local element = upgrade[prop] | ||
if | 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 | ||