No edit summary |
No edit summary |
||
| Line 48: | Line 48: | ||
"\n|-\n" .. | "\n|-\n" .. | ||
"| ".. i.. | "| ".. i.. | ||
" || " .. | " || " .. splitArray[i][5] .. --TODO: Maths this instead of pulling raw | ||
" || " .. | " || " .. splitArray[i][10 + i] --Effect0 is element 7, plus whatever element level we're looking at | ||
tableContents = tableContents .. row | tableContents = tableContents .. row | ||
Revision as of 06:55, 5 June 2024
Documentation for this module may be created at Module:ModuleUniqueStatTable/doc
-- IMPORTANT! This assumes data is structured EXACTLY in this order!
-- 1 Useless page identifier
-- 2 |?Module:Name
-- 3 |?Module:Class
-- 4 |?Module:MaxEnhancementLevel
-- 5 |?Module:CapacityCost0
-- 6 |?Module:ExclusiveCategory
-- 7 |?Module:Effect0
-- 8 |?Module:Effect1
-- 9 |?Module:Effect2
-- 10 |?Module:Effect3
-- 11 |?Module:Effect4
-- 12 |?Module:Effect5
-- 13 |?Module:Effect6
-- 14 |?Module:Effect7
-- 15 |?Module:Effect8
-- 16 |?Module:Effect9
-- 17 |?Module:Effect10
local p = {}
local splitArray = {}
local function split(str)
splitArray = {}
for match in (str.."@"):gmatch("(.-)".."@") do
table.insert(splitArray, match)
end
end
local function generateTable()
local tableHeader = [[
{| class="wikitable" style="width:100%;"
|-
! Level !! Cost !! Effect
]]
local tableContents = ""
local maxLevel = splitArray[4]
for i = 0,maxLevel do
local row =
"\n|-\n" ..
"| ".. i..
" || " .. splitArray[i][5] .. --TODO: Maths this instead of pulling raw
" || " .. splitArray[i][10 + i] --Effect0 is element 7, plus whatever element level we're looking at
tableContents = tableContents .. row
end
local tableFooter = "\n|}"
local tabContent = tableHeader .. tableContents .. tableFooter
return tabTitle .. tabContent
end
function p.processData(frame)
if frame.args.csv == nil then
return "ERROR: Module:ModuleUniqueStatTable got no csv string! Please tell us on Discord!"
end
split(frame.args.csv)
local completedTable = generateTable()
return frame:preprocess(completedTable)
end
return p