Module:Damage: Difference between revisions

no edit summary
m (Ritsu moved page Module:Test to Module:Damage Test without leaving a redirect)
No edit summary
Line 45: Line 45:
end
end


-- Function wrapper for vardefine notation in MW.
-- Function wrapper for vardefine syntax in MW.
function var(name, dmg)
function var(name, dmg)
     return '{{#vardefine:{{formatnum:'..name..'|'..round(dmg)..'}}%}}'
     return '{{#vardefine:{{formatnum:'..name..'|'..round(dmg)..'}}%}}'
Line 113: Line 113:
             end
             end
         end
         end
        table.insert(vars, var(fval, fvals[fval]))
     end
     end


Line 148: Line 147:
                     local dmg_name = k..'_'..kt
                     local dmg_name = k..'_'..kt
                     local dmg_formula = v * vt
                     local dmg_formula = v * vt
                    table.insert(vars, var(dmg_name, dmg_formula))
                     tvals[dmg_name] = dmg_formula
                     tvals[dmg_name] = dmg_formula
                 end
                 end
Line 155: Line 153:
     end
     end


     -- Define passives.
     -- Define passives and fill the respective tables.
     local passive2 = 0
     local passive2 = 0
     if inArgs('passive2') then
     if inArgs('passive2') then
Line 200: Line 198:
     end
     end


    -- Merge all tables into one.
     tableMerge(fvals, tvals)
     tableMerge(fvals, tvals)
     tableMerge(fvals, pvals1)
     tableMerge(fvals, pvals1)
Line 205: Line 204:
     tableMerge(fvals, pvals12)
     tableMerge(fvals, pvals12)


    -- Get the actual variables with MW syntax.
    for k,v in spairs(fvals) do
        table.insert(vars, var(k, v))
    end
    -- Dump all values.
     local ret = {}
     local ret = {}
     for k,v in spairs(fvals) do
     for k,v in spairs(vars) do
         table.insert(ret, k..': '..v)
         table.insert(ret, v)
     end
     end