ElEditors, Interface administrators, Administrators
70,866
edits
No edit summary |
No edit summary Tag: Reverted |
||
Line 271: | Line 271: | ||
-- Function to apply inheritance for a specific damage type and argument | -- Function to apply inheritance for a specific damage type and argument | ||
local function applyInheritance(mainArgValues, inheritArg, mainArgValue, inheritValue) | local function applyInheritance(mainArgValues, inheritArg, mainArgValue, inheritValue, mainKeyPrefixed, inheritKeyPrefixed) | ||
if mainArgValue == '' then | if mainArgValue == '' then | ||
return inheritValue | return inheritValue | ||
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, damageType, damageTypeIndex, argTable) | ||
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] | ||
if inheritArg and inheritArg[i] and inheritArg[i] ~= '' | if inheritArg and inheritArg[i] and inheritArg[i] ~= '' and ix ~= 1 then | ||
mainArgValues[i] = applyInheritance(mainArgValues, inheritArg, mainArgValue, inheritArg[i]) | mainArgValues[i] = applyInheritance(mainArgValues, inheritArg, mainArgValue, inheritArg[i]) | ||
break | break | ||
Line 316: | Line 315: | ||
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, | applyInheritanceForKey(args, prefix, damageType, damageTypeIndex, argTable) | ||
end | end | ||
end | end |