Module:Pieces of Heart

From Zelda Wiki, the Zelda encyclopedia
Jump to navigation Jump to search

Documentation for this module may be created at Module:Pieces of Heart/Documentation

local p = {}

local DataTable = require("Module:Data Table")
local Franchise = require("Module:Franchise")
local Term = require("Module:Term")
local utilsArg = require("Module:UtilsArg")
local utilsTable = require("Module:UtilsTable")

function p.Main(frame)
	local args = utilsArg.parse(frame:getParent().args, p.Templates["Pieces of Heart"])
	local rows = DataTable.parseRows(args.cells or {})

	local dataTable = DataTable.printTable(rows, {
		game = args.game,
		columns = {"Piece of Heart [Image:Piece of Heart:x120px]", "No.", "Location [Description]"},
		optionalColumns = {2},
	})
	return dataTable
end

p.Templates = {
	["Pieces of Heart"] = {
		params = {
			game = {
				required = true,
				desc = "A [[Data:Franchise|game code]].",
				type = "string",
				enum = Franchise.enum(),
			},
			["..."] = {
				name = "cells",
				type = "content",
				trim = true,
			},
		},
		tableParams = {
			{
				name = "piece of heart",
				desc = "An image of the Piece of Heart.",
				tags = {"Image"},
			},
			{
				name = "coordinates",
				desc = "The Piece of Heart's number (as assigned by a guide or other official source).",
				optional = true,
			},
			{
				name = "location",
				desc = "Notes on how to locate or obtain the Piece of Heart in the area.",
				tags = {"Description"},
			},
		},
	},
}

return p