Difference between revisions of "Module:Tables"

Jump to navigation Jump to search
1,176 bytes added ,  14:46, 21 February 2024
no edit summary
 
(11 intermediate revisions by the same user not shown)
Line 32: Line 32:
:done()
:done()
for k, v in pairs (dataTable) do
for k, v in ipairs(dataTable) do
local titleParts = mw.text.split(v, '%s')
for k2, part in ipairs(titleParts) do
titleParts[k2] = part:upper():sub(1,1) .. part:sub(2)
end
local buildString = '[[%s|%s]]'
local pageTitle = table.concat(titleParts, ' ')
local u = string.upper(string.sub(v,1,1))
local buildingName = buildString:format(pageTitle, u .. string.sub(v, 2))
local c = buildingList[v]
local getPreReq = {}
local getPreReq = {}
table.insert(getPreReq, v.building)
table.insert(getPreReq, c.building)
table.insert(getPreReq, v.population)
table.insert(getPreReq, c.population)
if v.splendor then
if c.splendor then
for k, v in pairs(v.splendor) do
for k, v in pairs(c.splendor) do
table.insert(getPreReq, i.icon(k .. ' splendor', v, nil, nil, 'en'))
table.insert(getPreReq, i.icon(k .. ' splendor', v, nil, nil, 'en'))
end
end
end
end
if v.influence then
if c.influence then
for k, v in pairs(v.influence) do
for k, v in pairs(c.influence) do
table.insert(getPreReq, i.icon(k .. ' influence', v, nil, nil, 'en'))
table.insert(getPreReq, i.icon(k .. ' influence', v, nil, nil, 'en'))
end
end
Line 56: Line 65:
end
end
local production = {}
local production = ''
if v.requirements then  
if c.requirements then  
local reqs = ''
production = '\'\'\'Requires:\'\'\'<br />'
for k, v in pairs(v.requirements) do
for k, v in pairs(c.requirements) do
production = production .. i.icon(v, nil, nil, v, 'en') .. '<br />'
end
end
if c.products then
production = production ..'\'\'\'Produces:\'\'\'<br />'
for k, v in ipairs(c.products) do
production = production .. i.icon(v, nil, nil, v, 'en') .. '<br />'
end
end
end
end
if not production == '' then
local l = string.len(production)
production = string.sub(production, 1, l - 6)
end
local construction = ''
if c.construction then
for k, v in pairs(c.construction) do
construction = construction .. i.icon(k, v, nil, k, 'en') .. '<br />'
end
local l = string.len(construction)
construction = string.sub(construction, 1, l -6)
end
local newRow = mw.html.create('tr')
local newRow = mw.html.create('tr')
newRow:tag('th')
newRow:tag('th')
:wikitext(k)
:wikitext(buildingName)
:done()
:done()
:tag('td')
:tag('td')
:wikitext(preReq)
:wikitext(preReq)
:done()
:done()
:tag('td')
:wikitext(production)
:done()
:tag('td')
:wikitext(construction)
:done()
buildingTable:node(newRow)
buildingTable:node(newRow)
end
end

Navigation menu