Module:PM item

local GAME_ALIASES = { PMTTYD = "TTYD", PMSS = "SS", PMCS = "CS", PMTOK = "TOK", ["1"] = "PM", ["2"] = "TTYD", ["3"] = "SPM", ["4"] = "SS", ["5"] = "CS", ["6"] = "TOK", }

local DEFAULT_IMAGE_SIZES = { PM = nil, TTYD = "25x25px", SPM = nil, SS = "50x50px", CS = "50x50px", TOK = "50x50px", }

local IMAGE_PREFIXES = { PM = "PaperMario Items ", TTYD = nil, SPM = nil, SS = nil, CS = "PMCS Item ", TOK = nil, }

local IMAGE_SUFFIXES = { PM = nil, TTYD = " TTYD", SPM = " SPM", SS = " Sticker PMSS", CS = nil, TOK = " PMTOK icon", }

local p = {}

function p.link(frame) local args = frame.args local game = args.game or "PM" game = GAME_ALIASES[game] or game local item = args[2] or args[1] local link = args.link or args[1] local text = args.text or item

local imageSize = args.size or DEFAULT_IMAGE_SIZES[game] local imagePrefix = IMAGE_PREFIXES[game] or "" local imageSuffix = IMAGE_SUFFIXES[game] or "" local imageBase = args.item or item imageBase = string.gsub(imageBase, "é", "e") imageBase = string.gsub(imageBase, "×", "x") imageBase = string.gsub(imageBase, " [-] ", " ") imageBase = string.gsub(imageBase, "[.,'?!]", "") imageBase = string.gsub(imageBase, '"', "")	if game == "PM" then		imageBase = string.gsub(imageBase, " ", "")	end	local image = "[[File:" .. imagePrefix .. imageBase .. imageSuffix .. ".png"	if imageSize ~= nil then		image = image .. "|" .. imageSize	end	image = image .. "|link=" .. link .. "]]"	local wikitext = args.wikitext	if wikitext == nil and text ~= "" then		local color = args.color		if link ~= "" then			if color ~= nil and color ~= "" then				wikitext = frame:expandTemplate {					title = "color-link-piped",					args = { link, color, text }				}			else				wikitext = "" .. text .. ""			end		else			if color ~= nil and color ~= "" then				wikitext = ' ' .. text .. ' '			else				wikitext = text			end		end	end	if wikitext ~= nil then		local sep = args.sep or " "		local right = args.right		if right ~= nil and right ~= "" then			wikitext = wikitext .. sep .. image		else wikitext = image .. sep .. wikitext end else wikitext = image end return frame:expandTemplate { title = 'nowrap', args = { wikitext } } end

return p