Module:Sandbox/LVL: Difference between revisionsGive feedback
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 676: | Line 676: | ||
if (scaling_data ~= nil) then | if (scaling_data ~= nil) then | ||
for scaling_val, scaling_type in pairs(scaling_data) do | |||
local scaling_str = p.write_scalar_str(scaling_val, scaling_type) | |||
if (scaling_str ~= "") then scaling_str = " " .. scaling_str end | |||
if (scaling_str ~= nil) then | |||
scaling_strs = scaling_strs .. scaling_str | |||
end | |||
-- Track scaling values for data attributes | |||
if (scaling_type == "Spirit") then | |||
spirit_scale = scaling_val | |||
stat_value = stat_value + (spirit_power * scaling_val) | |||
elseif (scaling_type == "Level") then | |||
level_scale = scaling_val | |||
if is_resist then | |||
-- each PI for resists is multiplicative | |||
stat_value = (stat_value/100 + 1 - (1-scaling_val/100)^power_increases)*100 | |||
else | |||
stat_value = stat_value + (power_increases * scaling_val) | |||
end | |||
end | |||
end | |||
end | |||
-- TechPower gains 1:1 with user-input Spirit Power (only if not already defined) | |||
if attr_key == 'TechPower' and spirit_scale == 0 then | |||
spirit_scale = 1.0 | |||
stat_value = stat_value + (spirit_power * spirit_scale) | |||
end | end | ||