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
Advertisement

Lua error in Module:Franchise at line 336: attempt to index local 'options' (a boolean value).


local Franchise = require("Module:Franchise")
local utilsArg = require("Module:UtilsArg")
local utilsMarkup = require("Module:UtilsMarkup")
local utilsTable = require("Module:UtilsTable")

local p = {}

-- Main function called by Template:Exp Game
function p.Main(frame)
	local args, err = utilsArg.parse(frame:getParent().args, p.Templates["Exp Game2"])
	local result = p.printGames(args.games)
	if err then
		result = result .. utilsMarkup.categories(err.categories)
	end
	return result
end

function p.printGames(games)
	games = games or {}
	games = utilsTable.intersection(Franchise.enum(true), games) -- sorts the games, removes duplicates and invalid values
	games = utilsTable.difference(games, {""}) -- removes empty string if present
	if #games == 0 then
		return ""
	end
	games = utilsTable.map(games, p.printGame)
	games = table.concat(games, " | ")
	return "<sup>("..games..")</sup>"
end

function p.printGame(game)
	local result = utilsMarkup.tooltip(game, Franchise.shortName(game), "highlight")
	return utilsMarkup.bold(result)
end

p.Templates = {
	["Exp Game2"] = {
		purpose = "{{Exp Game/Purpose}}",
		format = "inline",
		params = {
			[1] = {
				name = "games",
				placeholder = "game1, game2, ..., gameN",
				type = "string",
				required = true,
				enum = Franchise.enum(true),
				desc = "A comma-separated list of one or more [[Data:Franchise|game codes]].",
				split = true,
			}
		},
		examples = {
			{"OoT"},
			{"Series, OoT, MM"},
			{"MM, OoT, MM, OoT"},
			{},
			{""},
			{"fakeGame"},
			{"OoT, fakeGame, MM"}
		}
	}
}

return p
Advertisement