Module:Cards: Difference between revisions

Jump to navigation Jump to search
No edit summary
m (Undo revision 2785 by Lvlen-125 (talk))
Tag: Undo
Line 46: Line 46:


function p.Table(frame)
function p.Table(frame)
local arr = {{}, {}}
local headers = {}
local i = 1
local i = 2
while frame.args[i] ~= nil do
while frame.args[i] ~= nil and i < 10 do
  table.insert(arr[1], frame.args[i] or "")
  table.insert(headers, string.lower(frame.args[i] or ""))
  i = i + 1
  i = i + 1
end
end
i = i + 1
local type = frame.args[1]
while frame.args[i] ~= nil do
return frame:preprocess(_table(type, headers))
  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(entries, headers)
function _table(type, 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 87: Line 75:
   end
   end
    
    
  local entryList = {}
   for i, card in ipairs(sortedCards()) do
   for i, entry in ipairs(entries) do
    if card.Types and card.Types[type] then
  if all_cards[entry] then
out = out.."|-\n"
  all_cards[entry].UniqueName = entry
for i, header in ipairs(headers) do
  table.insert(entryList, all_cards[entry])
out = out.."|"
  else
if header == "image" then
  for i, card in ipairs(sortedCards()) do
out = out.."{{CardArt|".. card.UniqueName.."}}"
  if card.Types and card.Types[entry] then
elseif header == "name" then
    table.insert(entryList, card)
local link = card.Link or card.UniqueName
    end
out = out.."style=\"text-align:center;\"|[[".. link .. "|" .. card.Name .."]]"
  end
elseif header == "description" or header == "desc" or header == "summoncon" then
end
out = out.."style=\"text-align:center;\"|".. (_getStat(card, header) or "")
  end
elseif header == "health" and card.Health == nil and card.Scrap then
 
out = out.. card.Scrap .." {{Stat|Scrap}}"
  for i, card in ipairs(entryList) do
else
out = out.."|-\n"
out = out .. _getStat(card, header)  
for i, header in ipairs(headers) do
end
out = out.."|"
out = out.."\n"
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