Zelda Wiki

Want to contribute to this wiki?
Sign up for an account, and get started!

Come join the Zelda Wiki community Discord server!

READ MORE

Zelda Wiki
No edit summary
mNo edit summary
Line 3: Line 3:
 
local utilsTable = require("Module:UtilsTable")
 
local utilsTable = require("Module:UtilsTable")
   
local commonFields = {"id", "code", "shortName", "link", "display", "firstRelease", "canonicity", "type"}
+
local commonFields = {"canonOrder", "code", "shortName", "link", "display", "firstRelease", "canonicity", "type"}
 
local gameFields = utilsTable.concat(commonFields, {"graphics", "family", "remakeOf", "supersededBy"})
 
local gameFields = utilsTable.concat(commonFields, {"graphics", "family", "remakeOf", "supersededBy"})
 
local comicFields = utilsTable.concat(commonFields, {"phraseLink", "authors", "basedOn"})
 
local comicFields = utilsTable.concat(commonFields, {"phraseLink", "authors", "basedOn"})
Line 15: Line 15:
   
 
for _, game in ipairs(games) do
 
for _, game in ipairs(games) do
codes[tonumber(game.id)] = game.code
+
codes[tonumber(game.canonOrder)] = game.code
 
titlesByCode[game.code] = game
 
titlesByCode[game.code] = game
 
if utilsString.notEmpty(game.remakeOf) then
 
if utilsString.notEmpty(game.remakeOf) then
Line 23: Line 23:
 
for _, comic in ipairs(comics) do
 
for _, comic in ipairs(comics) do
 
if utilsString.notEmpty(comic.code) then -- workaround for Cargo bug inserting duplicate rows (but without code)
 
if utilsString.notEmpty(comic.code) then -- workaround for Cargo bug inserting duplicate rows (but without code)
codes[tonumber(comic.id)] = comic.code
+
codes[tonumber(comic.canonOrder)] = comic.code
 
titlesByCode[comic.code] = comic
 
titlesByCode[comic.code] = comic
 
end
 
end

Revision as of 14:38, 19 May 2020

Lua error: Error: Table Games2 not found..


local utilsCargo = require("Module:UtilsCargo")
local utilsString = require("Module:UtilsString")
local utilsTable = require("Module:UtilsTable")

local commonFields = {"canonOrder", "code", "shortName", "link", "display", "firstRelease", "canonicity", "type"}
local gameFields = utilsTable.concat(commonFields, {"graphics", "family", "remakeOf", "supersededBy"})
local comicFields = utilsTable.concat(commonFields, {"phraseLink", "authors", "basedOn"})

local games = utilsCargo.query("Games2", table.concat(gameFields, ","))
local comics = utilsCargo.query("Comics", table.concat(comicFields, ","))

local codes = {}
local titlesByCode = {}
local remakes = {}

for _, game in ipairs(games) do
	codes[tonumber(game.canonOrder)] = game.code
	titlesByCode[game.code] = game
	if utilsString.notEmpty(game.remakeOf) then
		remakes[game.remakeOf] = utilsTable.concat(remakes[game.remakeOf], game.code)
	end
end
for _, comic in ipairs(comics) do
	if utilsString.notEmpty(comic.code) then -- workaround for Cargo bug inserting duplicate rows (but without code) 
		codes[tonumber(comic.canonOrder)] = comic.code
		titlesByCode[comic.code] = comic
	end
end
codes.reference = "[[Data:Franchise]]"

return {
	enum = codes,
	titlesByCode = titlesByCode,
	remakes = remakes,
}