3,124
edits
(Add fortification stat to "_getBuildingBenefitText") |
(Fixed level/abyssal level stuff; Added Fortification requirements) |
||
Line 163: | Line 163: | ||
storage = 'Storage', | storage = 'Storage', | ||
worship = 'Worship', | worship = 'Worship', | ||
fortification = 'Fortification' | |||
} | } | ||
local resourceText = function(resName, resType, quantity) | local resourceText = function(resName, resType, quantity) | ||
Line 258: | Line 258: | ||
end | end | ||
-- Gets the Township level and | -- Gets the Township level or abyssalLevel, population and fortification requirements for a tier | ||
-- Returns {population=X, level=X} | -- Returns {population=X, level=X} for non-abyssal tiers | ||
function p._getTierRequirements(tier) | -- Returns {population=X, abyssalLevel=X, fortification=X} for abyssal tiers | ||
function p._getTierRequirements(tier, abyssalTier) | |||
local tierData = Township.populationForTier[tier] | |||
if abyssalTier ~= nil then | |||
local abyssalTierData = Shared.clone(Township.abyssalTierRequirements[abyssalTier + 1]) | |||
abyssalTierData.population = tierData.population | |||
return abyssalTierData | |||
else | |||
return tierData | |||
end | |||
end | end | ||
-- Returns a string containing the Township level and population requirements for a tier | -- Returns a string containing the Township level and population requirements for a tier | ||
function p._getTierText(tier) | function p._getTierText(tier, abyssalTier) | ||
local tierData = p._getTierRequirements(tier) | local realmID = (abyssalTier ~= nil and 'melvorItA:Abyssal' or 'melvorD:Melvor') | ||
local tierData = p._getTierRequirements(tier, abyssalTier) | |||
if tierData ~= nil then | if tierData ~= nil then | ||
local tierText = Icons._SkillReq('Township', tierData.level, false) | local tierText = Icons._SkillReq('Township', tierData.abyssalLevel or tierData.level, false, realmID) | ||
if tierData.population > 0 then | if tierData.population ~= nil and tierData.population > 0 then | ||
tierText = tierText .. '<br/>' .. Icons.Icon({'Population', type='township', notext=true}) .. ' ' .. Shared.formatnum(tierData.population) | tierText = tierText .. '<br/>' .. Icons.Icon({'Population', type='township', notext=true}) .. ' ' .. Shared.formatnum(tierData.population) | ||
end | |||
if tierData.fortification ~= nil and tierData.fortification > 0 then | |||
tierText = tierText .. '<br/>' .. Icons.Icon({'Fortification', type='township', notext=true}) .. ' ' .. Shared.formatnum(tierData.fortification) .. '%' | |||
end | end | ||
return tierText | return tierText | ||
Line 316: | Line 328: | ||
table.insert(resultPart, '{| class="wikitable sortable stickyHeader"') | table.insert(resultPart, '{| class="wikitable sortable stickyHeader"') | ||
table.insert(resultPart, '\n|- class="headerRow-0"') | table.insert(resultPart, '\n|- class="headerRow-0"') | ||
table.insert(resultPart, '\n!rowspan="2" colspan="2"| Biome\n!colspan=" | table.insert(resultPart, '\n!rowspan="2" colspan="2"| Biome\n!colspan="3"| Requirements') | ||
table.insert(resultPart, '\n|- class="headerRow-1"') | table.insert(resultPart, '\n|- class="headerRow-1"') | ||
table.insert(resultPart, '\n! ' .. Icons.Icon({'Township', 'Level', type='skill', nolink=true})) | table.insert(resultPart, '\n! ' .. Icons.Icon({'Township', 'Level', type='skill', nolink=true})) | ||
table.insert(resultPart, '\n! ' .. Icons.Icon({'Township', 'Population', img='Population', type='township', section='Population' })) | table.insert(resultPart, '\n! ' .. Icons.Icon({'Township', 'Population', img='Population', type='township', section='Population' })) | ||
table.insert(resultPart, '\n! ' .. Icons.Icon({'Township', 'Forification', img='Fortification', type='township', section='Fortification' })) | |||
for i, biome in ipairs(Township.biomes) do | for i, biome in ipairs(Township.biomes) do | ||
local reqs = p._getTierRequirements(biome.tier) | local reqs = p._getTierRequirements(biome.tier, biome.abyssalTier) | ||
local fortification = reqs.fortification or 0 | |||
table.insert(resultPart, '\n|-\n|class="table-img"| ' .. Icons.Icon({biome.name, type='biome', size=50, nolink=true, notext=true})) | table.insert(resultPart, '\n|-\n|class="table-img"| ' .. Icons.Icon({biome.name, type='biome', size=50, nolink=true, notext=true})) | ||
table.insert(resultPart, '\n| ' .. biome.name) | table.insert(resultPart, '\n| ' .. biome.name) | ||
table.insert(resultPart, '\n|style="text-align:right"| ' .. reqs.level) | table.insert(resultPart, '\n|style="text-align:right"| ' .. (reqs.abyssalLevel or reqs.level)) | ||
table.insert(resultPart, '\n|style="text-align:right" data-sort-value="' .. reqs.population .. '"| ' .. Shared.formatnum(reqs.population)) | table.insert(resultPart, '\n|style="text-align:right" data-sort-value="' .. reqs.population .. '"| ' .. Shared.formatnum(reqs.population)) | ||
table.insert(resultPart, '\n|style="text-align:right" data-sort-value="' .. fortification .. '"| ' .. Shared.formatnum(fortification)) | |||
end | end | ||
table.insert(resultPart, '\n|}') | table.insert(resultPart, '\n|}') | ||
Line 343: | Line 358: | ||
local level = mw.html.create('tr'):addClass('sorttop') | local level = mw.html.create('tr'):addClass('sorttop') | ||
local pop = mw.html.create('tr'):addClass('sorttop') | local pop = mw.html.create('tr'):addClass('sorttop') | ||
local fort = mw.html.create('tr'):addClass('sorttop') | |||
header:tag('th') | header:tag('th') | ||
Line 351: | Line 367: | ||
pop:tag('th') | pop:tag('th') | ||
:wikitext(Icons.Icon({'Township', 'Population', img='Population', type='township', section='Population' })) | :wikitext(Icons.Icon({'Township', 'Population', img='Population', type='township', section='Population' })) | ||
fort:tag('th') | |||
:wikitext(Icons.Icon({'Township', 'Fortification', img='Fortification', type='township', section='Fortification' })) | |||
for _, biome in ipairs(Township.biomes) do | for _, biome in ipairs(Township.biomes) do | ||
local reqs = p._getTierRequirements(biome.tier) | local reqs = p._getTierRequirements(biome.tier, biome.abyssalTier) | ||
header:tag('th') | header:tag('th') | ||
:wikitext(Icons.Icon({biome.name, type='biome', notext=true, nolink=true}).. '<br/>' .. biome.name) | :wikitext(Icons.Icon({biome.name, type='biome', notext=true, nolink=true}).. '<br/>' .. biome.name) | ||
level:tag('td') | level:tag('td') | ||
:wikitext(Num.formatnum(reqs.level)) | :wikitext(Num.formatnum((reqs.abyssalLevel or reqs.level))) | ||
pop:tag('td') | pop:tag('td') | ||
:wikitext(Num.formatnum(reqs.population)) | :wikitext(Num.formatnum(reqs.population)) | ||
fort:tag('td') | |||
:wikitext(Num.formatnum((reqs.fortification or 0))) | |||
end | end | ||
Line 365: | Line 385: | ||
tbl:node(level) | tbl:node(level) | ||
tbl:node(pop) | tbl:node(pop) | ||
tbl:node(fort) | |||
for _, _building in ipairs(p._sortedBuildings(false)) do | for _, _building in ipairs(p._sortedBuildings(false)) do | ||
Line 430: | Line 451: | ||
table.insert(resultPart, '\n|class="table-img"' .. rowSpan .. '| ' .. Icons.Icon({buildingName, type='building', notext=true, size=50})) | table.insert(resultPart, '\n|class="table-img"' .. rowSpan .. '| ' .. Icons.Icon({buildingName, type='building', notext=true, size=50})) | ||
table.insert(resultPart, '\n' .. rowSpanOnly .. '| ' .. Icons.getExpansionIcon(building.id) .. Icons.Icon({buildingName, type='building', noicon=true})) | table.insert(resultPart, '\n' .. rowSpanOnly .. '| ' .. Icons.getExpansionIcon(building.id) .. Icons.Icon({buildingName, type='building', noicon=true})) | ||
table.insert(resultPart, '\n|' .. 'data-sort-value="' .. building.tier .. '"' .. rowSpan .. '| ' .. (p._getTierText(building.tier) or '')) | table.insert(resultPart, '\n|' .. 'data-sort-value="' .. building.tier .. '"' .. rowSpan .. '| ' .. (p._getTierText(building.tier, building.abyssalTier) or '')) | ||
table.insert(resultPart, '\n|style="text-align:right"' .. rowSpan .. '| ' .. building.maxUpgrades) | table.insert(resultPart, '\n|style="text-align:right"' .. rowSpan .. '| ' .. building.maxUpgrades) | ||
firstRow = false | firstRow = false | ||
Line 593: | Line 614: | ||
table.insert(ret, '\n|-\n| <b>Building ID:</b> ' .. building.id) | table.insert(ret, '\n|-\n| <b>Building ID:</b> ' .. building.id) | ||
-- Tier | -- Tier | ||
local tier = p._getTierText(building.tier) | local tier = p._getTierText(building.tier, building.abyssalTier) | ||
table.insert(ret, '\n|-\n| <b>Requirements:</b><br/>' .. tier) | table.insert(ret, '\n|-\n| <b>Requirements:</b><br/>' .. tier) | ||
Line 710: | Line 731: | ||
table.insert(ret, '\n|-\n!colspan="2"| Requirements') | table.insert(ret, '\n|-\n!colspan="2"| Requirements') | ||
for _, building in ipairs(buildingList) do | for _, building in ipairs(buildingList) do | ||
table.insert(ret, '\n|' .. p._getTierText(building.tier)) | table.insert(ret, '\n|' .. p._getTierText(building.tier, building.abyssalTier)) | ||
end | end | ||