401
edits
No edit summary |
No edit summary |
||
Line 46: | Line 46: | ||
function p.Table(frame) | function p.Table(frame) | ||
local | local arr = {{}, {}} | ||
local i = | local i = 1 | ||
while frame.args[i] ~= nil | while frame.args[i] ~= nil do | ||
table.insert( | table.insert(arr[1], frame.args[i] or "") | ||
i = i + 1 | i = i + 1 | ||
end | end | ||
i = i + 1 | |||
return frame:preprocess(_table( | while frame.args[i] ~= nil do | ||
table.insert(arr[2], string.lower(frame.args[i] or "")) | |||
i = i + 1 | |||
end | |||
if #arr[2] == 0 then | |||
arr[2] = arr[1] | |||
local head = table.remove(arr[2], 1) | |||
arr[1] = {head} | |||
end | |||
return frame:preprocess(_table(arr[1], arr[2])) | |||
--- mw.logObject(arr[1]) | |||
--- mw.logObject(arr[2]) | |||
--- return _table(arr[1], arr[2]) | |||
end | end | ||
function _table( | function _table(entries, headers) | ||
local out = '{| class="wikitable sortable" style="text-align:center;"\n' | local out = '{| class="wikitable sortable" style="text-align:center;"\n' | ||
for i, header in ipairs(headers) do | for i, header in ipairs(headers) do | ||
Line 75: | Line 87: | ||
end | end | ||
for i, card in ipairs(sortedCards()) do | local entryList = {} | ||
for i, entry in ipairs(entries) do | |||
if all_cards[entry] then | |||
all_cards[entry].UniqueName = entry | |||
table.insert(entryList, all_cards[entry]) | |||
else | |||
for i, card in ipairs(sortedCards()) do | |||
if card.Types and card.Types[entry] then | |||
table.insert(entryList, card) | |||
end | |||
end | |||
end | |||
end | |||
for i, card in ipairs(entryList) do | |||
out = out.."|-\n" | |||
for i, header in ipairs(headers) do | |||
out = out.."|" | |||
if header == "image" then | |||
out = out.."{{CardArt|".. card.UniqueName.."}}" | |||
elseif header == "name" then | |||
local link = card.Link or card.UniqueName | |||
out = out.."style=\"text-align:center;\"|[[".. link .. "|" .. card.Name .."]]" | |||
elseif header == "description" or header == "desc" or header == "summoncon" then | |||
out = out.."style=\"text-align:center;\"|".. (_getStat(card, header) or "") | |||
elseif header == "health" and card.Health == nil and card.Scrap then | |||
out = out.. card.Scrap .." {{Stat|Scrap}}" | |||
else | |||
out = out .. _getStat(card, header) | |||
end | end | ||
out = out.."\n" | |||
end | end | ||
end | end |
edits