ElEditors, Interface administrators, Administrators
70,980
edits
No edit summary Tag: Manual revert |
No edit summary |
||
Line 281: | Line 281: | ||
-- Function to apply inheritance for a specific argument key | -- Function to apply inheritance for a specific argument key | ||
local function applyInheritanceForKey(args, prefix | local function applyInheritanceForKey(args, prefix, argTable, damageTypeIndex, damageType) | ||
local mainKey = argTable[1] .. damageType | |||
local mainKeyPrefixed = prefix .. mainKey | local mainKeyPrefixed = prefix .. mainKey | ||
local mainArgValues = args[mainKeyPrefixed] | local mainArgValues = args[mainKeyPrefixed] | ||
Line 293: | Line 294: | ||
for ix, inheritKey in ipairs(argTable) do | for ix, inheritKey in ipairs(argTable) do | ||
local inheritArg = args[prefix .. inheritKey] or args[inheritKey] | local inheritArg = args[prefix .. inheritKey .. damageType] or args[inheritKey .. damageType] and args[prefix .. inheritKey] or args[inheritKey] | ||
if inheritArg and inheritArg[i] and inheritArg[i] ~= '' and | if inheritArg and inheritArg[i] and inheritArg[i] ~= '' and tonumber(inheritArg[i]) and | ||
(damageTypeIndex == 1 and ix ~= 1 or damageTypeIndex ~= 1) | (damageTypeIndex == 1 and ix ~= 1 or damageTypeIndex ~= 1) | ||
then | then | ||
Line 316: | Line 317: | ||
if argTableKey ~= 'provided' and isTableNotEmpty(argTable) then | if argTableKey ~= 'provided' and isTableNotEmpty(argTable) then | ||
for damageTypeIndex, damageType in ipairs({ '', '_min', '_max' }) do | for damageTypeIndex, damageType in ipairs({ '', '_min', '_max' }) do | ||
applyInheritanceForKey(args, prefix, argTable | applyInheritanceForKey(args, prefix, argTable, damageTypeIndex, damageType) | ||
end | end | ||
end | end |