17,101
edits
(getFoodNavbox: Exclude perfect variant of Lemon cake) |
(getPetNavbox: Migrate from Module:Pets) |
||
Line 10: | Line 10: | ||
local Magic = require('Module:Magic') | local Magic = require('Module:Magic') | ||
local Shop = require('Module:Shop') | local Shop = require('Module:Shop') | ||
local Pets = require('Module:Pets') | |||
function p.getFarmingNavbox(frame) | function p.getFarmingNavbox(frame) | ||
Line 495: | Line 496: | ||
end | end | ||
table.insert(resultPart, '\r\n|-\r\n! ' .. cat .. '\r\n|style="text-align:center;"| ' .. table.concat(listPart, ' • ')) | table.insert(resultPart, '\r\n|-\r\n! ' .. cat .. '\r\n|style="text-align:center;"| ' .. table.concat(listPart, ' • ')) | ||
end | |||
table.insert(resultPart, '\r\n|}') | |||
return table.concat(resultPart) | |||
end | |||
function p.getPetNavbox(frame) | |||
local resultPart = {} | |||
table.insert(resultPart, '{| class="wikitable" style="margin:auto; text-align:center; clear:both; width: 100%"') | |||
table.insert(resultPart, '\r\n|-\r\n!colspan="2"|[[Pets]]') | |||
local petListOrder = { 'skill', 'boss', 'other' } | |||
local petList = { | |||
["skill"] = {}, | |||
["boss"] = {}, | |||
["other"] = {} | |||
} | |||
for i, petData in ipairs(GameData.rawData.pets) do | |||
local source = Pets._getPetSource(petData) | |||
local listCat = 'other' | |||
if type(source) == 'table' and source.type ~= nil then | |||
if source.type == 'skill' then | |||
listCat = 'skill' | |||
elseif source.type == 'dungeon' then | |||
listCat = 'boss' | |||
else | |||
listCat = 'other' | |||
end | |||
end | |||
table.insert(petList[listCat], petData.name) | |||
end | |||
local getIconList = | |||
function(pets) | |||
local result = {} | |||
for i, pet in ipairs(pets) do | |||
table.insert(result, Icons.Icon({pet, type='pet'})) | |||
end | |||
return table.concat(result, ' • ') | |||
end | |||
for i, catName in ipairs(petListOrder) do | |||
local catData = petList[catName] | |||
table.sort(catData, function(a, b) return a < b end) | |||
table.insert(resultPart, '\r\n|-\r\n!' .. Shared.titleCase(catName) .. ' Pets\r\n|' .. getIconList(catData)) | |||
end | end | ||
table.insert(resultPart, '\r\n|}') | table.insert(resultPart, '\r\n|}') |