Module:ConduitTable
Jump to navigation
Jump to search
Documentation for this module may be created at Module:ConduitTable/doc
local getArgs = require('Module:Arguments').getArgs
local p = {}
local data = mw.loadData('Module:ConduitTable/data')
function p.GenerateTable(frame)
local args = getArgs(frame, {wrappers = 'Template:ConduitTable'})
if data[args.conduit] ~= nil then
local tableData = {}
--Add row header
if data[args.conduit]["bonus"][1] > 0 then
table.insert(tableData, frame:expandTemplate{ title = 'i-note', args = {data.lastUpdate}} .. "\n{| class='darktable sortable zebra plainlinks' align=center\n! Item Level !! Bonus\n")
else
table.insert(tableData, frame:expandTemplate{ title = 'i-note', args = {data.lastUpdate}} .. "\n{| class='darktable sortable zebra plainlinks' align=center\n! Item Level !! Duration\n")
end
--Conduit variables
local numrows = 11
local startIlvl = 145
if args.start ~= nil then
startIlvl = tonumber(args.start)
end
for i=1, numrows do
if tonumber(data[args.conduit]["ilvls"][i]) >= startIlvl then
if data[args.conduit]["bonus"][i] > 0 then
--% value
table.insert(tableData, "|-\n| " .. data[args.conduit]["ilvls"][i] .. " || " .. data[args.conduit]["bonus"][i] .. "%\n")
else
--Proc time
local procTime = math.abs(data[args.conduit]["bonus"][i]/ 1000)
table.insert(tableData, "|-\n| " .. data[args.conduit]["ilvls"][i] .. " || " .. procTime .. " sec\n")
end
end
end
--Close table
table.insert(tableData, "\n|-\n|}")
return table.concat(tableData)
else
return args.conduit .. " does not exist in [[Module:ConduitTable/data]]"
end
end
return p