Module:Traits: Difference between revisions

no edit summary
No edit summary
Tag: Manual revert
No edit summary
Line 165: Line 165:
             for k, v in ipairs(desc[i]) do
             for k, v in ipairs(desc[i]) do
                 for k2, v2 in pairs(desc[i][k]) do
                 for k2, v2 in pairs(desc[i][k]) do
                    -- Decide the order of headers when added automatically
                     local expr_header_table = {
                     local expr_header_table = {
                         [1] = 'Cooldown',
                         [1] = 'Cooldown',
Line 173: Line 174:
                     if (table.containsValue(expr_header_table, k2)) then
                     if (table.containsValue(expr_header_table, k2)) then
                         if not string.find(v2, "%*") then
                         if not string.find(v2, "%*") then
                             local first_cond_tbl = {'Light', 'Critical', 'Haste', 'Ruthless', 'Powerful'}
                             -- Solve formulas automatically
                            if (table.containsValue(first_cond_tbl, traits[i]) or (traits[i] == 'Reversed' and k2 == expr_header_table[2])) then
                            if (table.containsValue({'Light', 'Critical', 'Haste', 'Ruthless', 'Powerful'}, traits[i]) or (traits[i] == 'Reversed' and k2 == expr_header_table[2])) then
 
                                -- Default multipliers from SkillText
                                if (effects[i][1] == nil) then
                                    if (table.containsValue({'Light', 'Haste'}, traits[i])) then
                                        effects[i][1] = 80
                                    elseif (table.containsValue({'Critical', 'Heavy'}, traits[i])) then
                                        effects[i][1] = 120
                                    elseif (traits[i] == 'Ruthless') then
                                        effects[i][1] = 200
                                    end
                                end
 
                                 v2 = effects[i][1] * (v2 / 100)
                                 v2 = effects[i][1] * (v2 / 100)
                             elseif (string.find(traits[i], 'Regenerating') or (traits[i] == 'Reversed' and k2 == expr_header_table[1])) then
                             elseif (string.find(traits[i], 'Regenerating') or (traits[i] == 'Reversed' and k2 == expr_header_table[1])) then
Line 185: Line 198:
                         end
                         end
                          
                          
                        -- Automatic prefixes
                         if (k2 == expr_header_table[2] or k2 == expr_header_table[3]) then
                         if (k2 == expr_header_table[2] or k2 == expr_header_table[3]) then
                             v2 = v2 .. ' MP'
                             v2 = v2 .. ' MP'