Difference between revisions of "Module:MediumLink"

From Nookipedia, the Animal Crossing wiki
(Undo revision 959461 by PanchamBro (talk) nvm. reinstating)
Tag: Undo
Line 467: Line 467:
 
print = error
 
print = error
 
end
 
end
elseif not isEmpty(short) and mode1 == "short" then
+
elseif mode1 == "short" then
 
if mode2 == "nolink" then
 
if mode2 == "nolink" then
 
if mode3 == "sm" then
 
if mode3 == "sm" then
Line 512: Line 512:
 
elseif mode2 == "sm" then
 
elseif mode2 == "sm" then
 
if mode3 == "nolink" then
 
if mode3 == "nolink" then
print = "<small>''" .. short .. "''</small>"
+
if mode4 == "3ds" then
 +
print = "<small>''Smash 3DS''</small>"
 +
elseif mode4 == "wiiu" then
 +
print = "<small>''Smash Wii U''</small>"
 +
elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
 +
print = "<small>''Smash 3DS / Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''Smash 4''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3ds" then
 +
if mode4 == "nolink" then
 +
print = "<small>''Smash 3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "wiiu" then
 +
if mode4 == "nolink" then
 +
print = "<small>''Smash Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
 +
if mode4 == "nolink" then
 +
print = "<small>''Smash 3DS / Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS / Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 4]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode2 == "3ds" then
 +
if mode3 == "nolink" then
 +
if mode4 == "sm" then
 +
print = "<small>''Smash 3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''Smash 3DS''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''Smash 3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS]]''</small>"
 +
else
 +
print = error
 +
end
 
elseif isEmpty(mode3) then
 
elseif isEmpty(mode3) then
if not isEmpty(link) then
+
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS]]''"
print = "<small>[[" .. link .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
+
else
 +
print = error
 +
end
 +
elseif mode2 == "wiiu" then
 +
if mode3 == "nolink" then
 +
if mode4 == "sm" then
 +
print = "<small>''Smash Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''Smash Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''Smash Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash Wii U]]''</small>"
 
else
 
else
print = "<small>[[" .. medium .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
+
print = error
 
end
 
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash Wii U]]''"
 
else
 
else
 
print = error
 
print = error
 
end
 
end
elseif isEmpty(mode2) then
+
elseif mode2 == "3dswiiu" or mode2 == "wiiu3ds" then
if not isEmpty(link) then
+
if mode3 == "nolink" then
print = "[[" .. link .. "|" .. linkindicator .. "''" .. short .. "'']]"
+
if mode4 == "sm" then
 +
print = "<small>''Smash 3DS / Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''Smash 3DS / Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''Smash 3DS / Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS / Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS / Wii U]]''"
 
else
 
else
print = "[[" .. medium .. "|" .. linkindicator .. "''" .. short .. "'']]"
+
print = error
 
end
 
end
 +
elseif isEmpty(mode2) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 4]]''"
 
else
 
else
 
print = error
 
print = error
 
end
 
end
elseif not isEmpty(shorter) and mode1 == "shorter" then
+
elseif mode1 == "shorter" then
 
if mode2 == "nolink" then
 
if mode2 == "nolink" then
 
if mode3 == "sm" then
 
if mode3 == "sm" then
print = "<small>" .. shorter .. "</small>"
+
if mode4 == "3ds" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif mode4 == "wiiu" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''SSB4''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3ds" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "wiiu" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS/Wii U''"
 +
else
 +
print = error
 +
end
 
elseif isEmpty(mode3) then
 
elseif isEmpty(mode3) then
print = shorter
+
print = "''SSB4''"
 
else
 
else
 
print = error
 
print = error
Line 542: Line 668:
 
elseif mode2 == "sm" then
 
elseif mode2 == "sm" then
 
if mode3 == "nolink" then
 
if mode3 == "nolink" then
print = "<small>" .. shorter .. "</small>"
+
if mode4 == "3ds" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif mode4 == "wiiu" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''SSB4''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3ds" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "wiiu" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode2 == "3ds" then
 +
if mode3 == "nolink" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
 +
else
 +
print = error
 +
end
 
elseif isEmpty(mode3) then
 
elseif isEmpty(mode3) then
if not isEmpty(link) then
+
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''"
print = "<small>[[" .. link .. "|" .. linkindicator .. shorter .. "]]</small>"
+
else
 +
print = error
 +
end
 +
elseif mode2 == "wiiu" then
 +
if mode3 == "nolink" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
 
else
 
else
print = "<small>[[" .. medium .. "|" .. linkindicator .. shorter .. "]]</small>"
+
print = error
 
end
 
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''"
 
else
 
else
 
print = error
 
print = error
 
end
 
end
elseif isEmpty(mode2) then
+
elseif mode2 == "3dswiiu" or mode2 == "wiiu3ds" then
if not isEmpty(link) then
+
if mode3 == "nolink" then
print = "[[" .. link .. "|" .. linkindicator .. shorter .. "]]"
+
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS/Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''"
 
else
 
else
print = "[[" .. medium .. "|" .. linkindicator .. shorter .. "]]"
+
print = error
 
end
 
end
 +
elseif isEmpty(mode2) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''"
 
else
 
else
 
print = error
 
print = error
 
end
 
end
elseif not isEmpty(shortest) and mode1 == "shortest" then
+
elseif mode1 == "shortest" then
 
if mode2 == "nolink" then
 
if mode2 == "nolink" then
 
if mode3 == "sm" then
 
if mode3 == "sm" then
print = "<small>" .. shortest .. "</small>"
+
if mode4 == "3ds" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif mode4 == "wiiu" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''SSB4''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3ds" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "wiiu" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS/Wii U''"
 +
else
 +
print = error
 +
end
 
elseif isEmpty(mode3) then
 
elseif isEmpty(mode3) then
print = shortest
+
print = "''SSB4''"
 
else
 
else
 
print = error
 
print = error
Line 572: Line 824:
 
elseif mode2 == "sm" then
 
elseif mode2 == "sm" then
 
if mode3 == "nolink" then
 
if mode3 == "nolink" then
print = "<small>" .. shortest .. "</small>"
+
if mode4 == "3ds" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif mode4 == "wiiu" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''SSB4''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3ds" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "wiiu" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 
elseif isEmpty(mode3) then
 
elseif isEmpty(mode3) then
if not isEmpty(link) then
+
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''</small>"
print = "<small>[[" .. link .. "|" .. linkindicator .. shortest .. "]]</small>"
+
else
 +
print = error
 +
end
 +
elseif mode2 == "3ds" then
 +
if mode3 == "nolink" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS''"
 
else
 
else
print = "<small>[[" .. medium .. "|" .. linkindicator .. shortest .. "]]</small>"
+
print = error
 
end
 
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''"
 
else
 
else
 
print = error
 
print = error
 
end
 
end
elseif isEmpty(mode2) then
+
elseif mode2 == "wiiu" then
if not isEmpty(link) then
+
if mode3 == "nolink" then
print = "[[" .. link .. "|" .. linkindicator .. shortest .. "]]"
+
if mode4 == "sm" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''"
 +
else
 +
print = error
 +
end
 +
elseif mode2 == "3dswiiu" or mode2 == "wiiu3ds" then
 +
if mode3 == "nolink" then
 +
if mode4 == "sm" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "''SSB:3DS/Wii U''"
 +
else
 +
print = error
 +
end
 +
elseif mode3 == "sm" then
 +
if mode4 == "nolink" then
 +
print = "<small>''SSB:3DS/Wii U''</small>"
 +
elseif isEmpty(mode4) then
 +
print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
 +
else
 +
print = error
 +
end
 +
elseif isEmpty(mode3) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''"
 
else
 
else
print = "[[" .. medium .. "|" .. linkindicator .. shortest .. "]]"
+
print = error
 
end
 
end
 +
elseif isEmpty(mode2) then
 +
print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''"
 
else
 
else
 
print = error
 
print = error
Line 593: Line 937:
 
elseif mode1 == "sm" then
 
elseif mode1 == "sm" then
 
if mode2 == "nolink" then
 
if mode2 == "nolink" then
if not isEmpty(short) and mode3 == "short" then
+
if mode3 == "short" then
 
print = "<small>''" .. short .. "''</small>"
 
print = "<small>''" .. short .. "''</small>"
elseif not isEmpty(shorter) and mode3 == "shorter" then
+
elseif mode3 == "shorter" then
 
print = "<small>" .. shorter .. "</small>"
 
print = "<small>" .. shorter .. "</small>"
elseif not isEmpty(shortest) and mode3 == "shortest" then
+
elseif mode3 == "shortest" then
 
print = "<small>" .. shortest .. "</small>"
 
print = "<small>" .. shortest .. "</small>"
 
elseif isEmpty(mode3) then
 
elseif isEmpty(mode3) then

Revision as of 17:38, November 7, 2022

Module documentation (view)


Usage

This module is used to display the link of a medium in the Animal Crossing series in various different ways. These are then transcluded through link templates, where the editor can switch how they display the link under different conditions.

While it can be used inside other Lua modules if require("Module:MediumLink") is added, it is recommended to use through standard templates as is. Note that {{SSB4}} uses the Module:SSB4Link instead of this module.

Creating a new medium link

{{#invoke:MediumLink|main|medium=<medium>|link=<link (OPTIONAL)>|short=<short>|shorter=<shorter (OPTIONAL)>|shortest=<shortest (OPTIONAL)>|<mode1>|<mode2>|<mode3>}}
outputMediumLink(medium, link, short, shorter, shortest, mode1, mode2, mode3)

When creating a new medium link to be used on pages, the following syntax is provided.

  • medium is the name of the medium (e.g. Animal Crossing: New Horizons)
  • link is used to provide the direct link to the medium.
  • short is the name of the medium under a shorthand name (e.g. New Horizons)
  • shorter is the name of the medium under a long acronym name (e.g. ACNH)
  • shortest is the name of the medium under a short acronym name (e.g. NH)
  • mode1, mode2, and mode3 should be reversed for the editors to decide what conditions to use to display the link.

If Gekijōban Doubutsu no Mori is declared as the medium, then linkindicator is automatically declared with "🎬 " and appended to the medium name if nolink is not declared.

Note that while shorter and shortest are optional, if they are not declared and the editor tries to declare shorter or shortest, an error will pop up, describing that they are either using invalid parameters or that the parameters needed to generate the link is empty. See Category:Pages with incorrect usage of link template for a list of pages with this error.

Example

{{#invoke:MediumLink|main|medium=Animal Crossing: New Horizons|short=New Horizons|shorter=ACNH|shortest=NH|{{{1|}}}|{{{2|}}}|{{{3|}}}}}
outputMediumLink("Animal Crossing: New Horizons", , "New Horizons", "ACNH", "NH", mode1, mode2, mode3)

"Animal Crossing: New Horizons" is the medium, with "New Horizons" as short, "ACNH" as shorter and "NH" as shortest. Since link is not declared, the default link is "Animal Crossing: New Horizons".

When mode1 is "nolink" and mode2 is "short", the output is: New Horizons

When mode1 is "sm" and mode2 is "shortest", the output is: NH

This page is fully-protected to prevent editing by non-administrator users

local p = {}

local function getArgs(frame)
    local args = {}
    for key, value in pairs(frame:getParent().args) do
        args[key] = value
    end
    for key, value in pairs(frame.args) do
        args[key] = value
    end
    return args
end

function p.main(frame)
    local args        = getArgs(frame)
    local medium      = args.medium or ''
    local link        = args.link or ''
    local short       = args.short or ''
    local shorter     = args.shorter or ''
    local shortest    = args.shortest or ''
    local mode1       = args[1] or args.mode1 or ''
    local mode2       = args[2] or args.mode2 or ''
    local mode3       = args[3] or args.mode3 or ''
    local mode4       = args[4] or args.mode4 or ''
    if medium == "Super Smash Bros. 4" then
    	return p.outputSSB4Link(mode1, mode2, mode3, mode4)
    else
    	return p.outputMediumLink(medium, link, short, shorter, shortest, mode1, mode2, mode3)
    end
end

function p.outputMediumLink(medium, link, short, shorter, shortest, mode1, mode2, mode3)
	local function isEmpty(s)
		return s == nil or s == ''
	end
	local print = ''
	local linkindicator = ''
	if medium == "Gekijōban Doubutsu no Mori" then
		linkindicator = "🎬 "
	end
	local error = '\'\'\'<span class="error" dir="ltr" lang="en">Invalid parameters detected! Did you entered the wrong parameters or are the parameters needed to generate this link empty?</span>\'\'\'[[Category:Pages with incorrect usage of link template]]'
	if not isEmpty(mode1) then
		if mode1 == "nolink" then
			if not isEmpty(short) and mode2 == "short" then
				if mode3 == "sm" then
					print = "<small>''" .. short .. "''</small>"
				elseif isEmpty(mode3) then
					print = "''" .. short .. "''"
				else
					print = error
				end
			elseif not isEmpty(shorter) and mode2 == "shorter" then
				if mode3 == "sm" then
					print = "<small>" .. shorter .. "</small>"
				elseif isEmpty(mode3) then
					print = shorter
				else
					print = error
				end
			elseif not isEmpty(shortest) and mode2 == "shortest" then
				if mode3 == "sm" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					print = shortest
				else
					print = error
				end
			elseif mode2 == "sm" then
				if not isEmpty(short) and mode3 == "short" then
					print = "<small>''" .. short .. "''</small>"
				elseif not isEmpty(shorter) and mode3 == "shorter" then
					print = "<small>" .. shorter .. "</small>"
				elseif not isEmpty(shortest) and mode3 == "shortest" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					print = "<small>''" .. medium .. "''</small>"
				else
					print = error
				end
			elseif isEmpty(mode2) then
				print = "''" .. medium .. "''"
			else
				print = error
			end
		elseif not isEmpty(short) and mode1 == "short" then
			if mode2 == "nolink" then
				if mode3 == "sm" then
					print = "<small>''" .. short .. "''</small>"
				elseif isEmpty(mode3) then
					print = "''" .. short .. "''"
				else
					print = error
				end
			elseif mode2 == "sm" then
				if mode3 == "nolink" then
					print = "<small>''" .. short .. "''</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
					end
				else
					print = error
				end
			elseif isEmpty(mode2) then
				if not isEmpty(link) then
					print = "[[" .. link .. "|" .. linkindicator .. "''" .. short .. "'']]"
				else
					print = "[[" .. medium .. "|" .. linkindicator .. "''" .. short .. "'']]"
				end
			else
				print = error
			end
		elseif not isEmpty(shorter) and mode1 == "shorter" then
			if mode2 == "nolink" then
				if mode3 == "sm" then
					print = "<small>" .. shorter .. "</small>"
				elseif isEmpty(mode3) then
					print = shorter
				else
					print = error
				end
			elseif mode2 == "sm" then
				if mode3 == "nolink" then
					print = "<small>" .. shorter .. "</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. shorter .. "]]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. shorter .. "]]</small>"
					end
				else
					print = error
				end
			elseif isEmpty(mode2) then
				if not isEmpty(link) then
					print = "[[" .. link .. "|" .. linkindicator .. shorter .. "]]"
				else
					print = "[[" .. medium .. "|" .. linkindicator .. shorter .. "]]"
				end
			else
				print = error
			end
		elseif not isEmpty(shortest) and mode1 == "shortest" then
			if mode2 == "nolink" then
				if mode3 == "sm" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					print = shortest
				else
					print = error
				end
			elseif mode2 == "sm" then
				if mode3 == "nolink" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. shortest .. "]]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. shortest .. "]]</small>"
					end
				else
					print = error
				end
			elseif isEmpty(mode2) then
				if not isEmpty(link) then
					print = "[[" .. link .. "|" .. linkindicator .. shortest .. "]]"
				else
					print = "[[" .. medium .. "|" .. linkindicator .. shortest .. "]]"
				end
			else
				print = error
			end
		elseif mode1 == "sm" then
			if mode2 == "nolink" then
				if not isEmpty(short) and mode3 == "short" then
					print = "<small>''" .. short .. "''</small>"
				elseif not isEmpty(shorter) and mode3 == "shorter" then
					print = "<small>" .. shorter .. "</small>"
				elseif not isEmpty(shortest) and mode3 == "shortest" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					print = "<small>''" .. medium .. "''</small>"
				else
					print = error
				end
			elseif not isEmpty(short) and mode2 == "short" then
				if mode3 == "nolink" then
					print = "<small>''" .. short .. "''</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
					end
				else
					print = error
				end
			elseif not isEmpty(shorter) and mode2 == "shorter" then
				if mode3 == "nolink" then
					print = "<small>" .. shorter .. "</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. shorter .. "]]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. shorter .. "]]</small>"
					end
				else
					print = error
				end
			elseif not isEmpty(shortest) and mode2 == "shortest" then
				if mode3 == "nolink" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. shortest .. "]]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. shortest .. "]]</small>"
					end
				else
					print = error
				end
			elseif isEmpty(mode2) then
				if not isEmpty(link) then
					print = "<small>[[" .. link .. "|" .. linkindicator .. "''" .. medium .. "'']]</small>"
				elseif not isEmpty(linkindicator) then
					print = "<small>[[" .. medium .. "|" .. linkindicator .. "''" .. medium .. "'']]</small>"
				else
					print = "<small>''[[" .. medium .. "]]''</small>"
				end
			else
				print = error
			end
		else
			print = error
		end
	elseif isEmpty(mode1) then
		if not isEmpty(link) then
			print = "[[" .. link .. "|"  .. linkindicator .. "''" .. medium .. "'']]"
		elseif not isEmpty(linkindicator) then
			print = "[[" .. medium .. "|" .. linkindicator .. "''" .. medium .. "'']]"
		else
			print = "''[[" .. medium .. "]]''"
		end
	else
		print = error
	end
	return print
end

function p.outputSSB4Link(mode1, mode2, mode3, mode4)
	local function isEmpty(s)
		return s == nil or s == ''
	end
	local print = ''
	local error = '\'\'\'<span class="error" dir="ltr" lang="en">Invalid parameters detected! Did you entered the wrong parameters?</span>\'\'\'[[Category:Pages with incorrect usage of link template]]'
	if not isEmpty(mode1) then
		if mode1 == "nolink" then
			if not mode2 == "short" then
				if mode3 == "sm" then
					if mode4 == "3ds" then
						print = "<small>''Smash 3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''Smash Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Smash 4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "sm" then
						print = "<small>''Smash 3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash 3DS''"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "sm" then
						print = "<small>''Smash Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash Wii U''"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode4 == "wiiu3ds" then
					if mode4 == "sm" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash 3DS / Wii U''"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''Smash 4''"
				else
					print = error
				end
			elseif mode2 == "shorter" then
				if mode3 == "sm" then
					if mode4 == "3ds" then
						print = "<small>SSB:3DS</small>"
					elseif mode4 == "wiiu" then
						print = "<small>SSB:Wii U</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "<small>SSB4</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "sm" then
						print = "<small>SSB:3DS</small>"
					elseif isEmpty(mode4) then
						print = "SSB:3DS"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "sm" then
						print = "<small>SSB:Wii U</small>"
					elseif isEmpty(mode4) then
						print = "SSB:Wii U"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode4 == "wiiu3ds" then
					if mode4 == "sm" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "SSB:3DS/Wii U"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "SSB4"
				else
					print = error
				end
			elseif mode2 == "shortest" then
				if mode3 == "sm" then
					if mode4 == "3ds" then
						print = "<small>SSB:3DS</small>"
					elseif mode4 == "wiiu" then
						print = "<small>SSB:Wii U</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "<small>SSB4</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "sm" then
						print = "<small>SSB:3DS</small>"
					elseif isEmpty(mode4) then
						print = "SSB:3DS"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "sm" then
						print = "<small>SSB:Wii U</small>"
					elseif isEmpty(mode4) then
						print = "SSB:Wii U"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode4 == "wiiu3ds" then
					if mode4 == "sm" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "SSB:3DS/Wii U"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "SSB4"
				else
					print = error
				end
			elseif mode2 == "sm" then
				if not mode3 == "short" then
					if mode4 == "3ds" then
						print = "<small>''Smash 3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''Smash Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''Smash 3DS / Wii U'</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Smash 4''</small>"
					else
						print = error
					end
				elseif mode3 == "shorter" then
					if mode4 == "3ds" then
						print = "<small>SSB:3DS</small>"
					elseif mode4 == "wiiu" then
						print = "<small>SSB:Wii U</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "<small>SSB4</small>"
					else
						print = error
					end
				elseif mode3 == "shortest" then
					if mode4 == "3ds" then
						print = "<small>SSB:3DS</small>"
					elseif mode4 == "wiiu" then
						print = "<small>SSB:Wii U</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "<small>SSB4</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "short" then
						print = "<small>''Smash 3DS''</small>"
					elseif mode4 == "shorter" then
						print = "<small>SSB:3DS</small>"
					elseif mode4 == "shortest" then
						print = "<small>SSB:3DS</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Super Smash Bros. for Nintendo 3DS''</small>"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "short" then
						print = "<small>''Smash Wii U''</small>"
					elseif mode4 == "shorter" then
						print = "<small>SSB:Wii U</small>"
					elseif mode4 == "shortest" then
						print = "<small>SSB:Wii U</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Super Smash Bros. for Wii U''</small>"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "short" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif mode4 == "shorter" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif mode4 == "shortest" then
						print = "<small>SSB:3DS/Wii U</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Super Smash Bros. for Nintendo 3DS / Wii U''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "<small>''Super Smash Bros. 4''</small>"
				else
					print = error
				end
			elseif isEmpty(mode2) then
				print = "''Super Smash Bros. 4''"
			else
				print = error
			end
		elseif mode1 == "short" then
			if mode2 == "nolink" then
				if mode3 == "sm" then
					if mode4 == "3ds" then
						print = "<small>''Smash 3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''Smash Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Smash 4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "sm" then
						print = "<small>''Smash 3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash 3DS''"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "sm" then
						print = "<small>''Smash Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash Wii U''"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "sm" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash 3DS / Wii U''"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''Smash 4''"
				else
					print = error
				end
			elseif mode2 == "sm" then
				if mode3 == "nolink" then
					if mode4 == "3ds" then
						print = "<small>''Smash 3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''Smash Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''Smash 4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "nolink" then
						print = "<small>''Smash 3DS''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS]]''</small>"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "nolink" then
						print = "<small>''Smash Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash Wii U]]''</small>"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "nolink" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS / Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 4]]''</small>"
				else
					print = error
				end
			elseif mode2 == "3ds" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''Smash 3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash 3DS''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''Smash 3DS''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS]]''"
				else
					print = error
				end
			elseif mode2 == "wiiu" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''Smash Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash Wii U''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''Smash Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash Wii U]]''"
				else
					print = error
				end
			elseif mode2 == "3dswiiu" or mode2 == "wiiu3ds" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''Smash 3DS / Wii U''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''Smash 3DS / Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS / Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 3DS / Wii U]]''"
				else
					print = error
				end
			elseif isEmpty(mode2) then
				print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|Smash 4]]''"
			else
				print = error
			end
		elseif mode1 == "shorter" then
			if mode2 == "nolink" then
				if mode3 == "sm" then
					if mode4 == "3ds" then
						print = "<small>''SSB:3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''SSB:Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''SSB4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS''"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "sm" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:Wii U''"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS/Wii U''"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''SSB4''"
				else
					print = error
				end
			elseif mode2 == "sm" then
				if mode3 == "nolink" then
					if mode4 == "3ds" then
						print = "<small>''SSB:3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''SSB:Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''SSB4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "nolink" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''</small>"
				else
					print = error
				end
			elseif mode2 == "3ds" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''"
				else
					print = error
				end
			elseif mode2 == "wiiu" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:Wii U''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''"
				else
					print = error
				end
			elseif mode2 == "3dswiiu" or mode2 == "wiiu3ds" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS/Wii U''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''"
				else
					print = error
				end
			elseif isEmpty(mode2) then
				print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''"
			else
				print = error
			end
		elseif mode1 == "shortest" then
			if mode2 == "nolink" then
				if mode3 == "sm" then
					if mode4 == "3ds" then
						print = "<small>''SSB:3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''SSB:Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''SSB4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS''"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "sm" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:Wii U''"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS/Wii U''"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''SSB4''"
				else
					print = error
				end
			elseif mode2 == "sm" then
				if mode3 == "nolink" then
					if mode4 == "3ds" then
						print = "<small>''SSB:3DS''</small>"
					elseif mode4 == "wiiu" then
						print = "<small>''SSB:Wii U''</small>"
					elseif mode4 == "3dswiiu" or mode4 == "wiiu3ds" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''SSB4''</small>"
					else
						print = error
					end
				elseif mode3 == "3ds" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
					else
						print = error
					end
				elseif mode3 == "wiiu" then
					if mode4 == "nolink" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
					else
						print = error
					end
				elseif mode3 == "3dswiiu" or mode3 == "wiiu3ds" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''</small>"
				else
					print = error
				end
			elseif mode2 == "3ds" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS]]''"
				else
					print = error
				end
			elseif mode2 == "wiiu" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:Wii U''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''SSB:Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:Wii U]]''"
				else
					print = error
				end
			elseif mode2 == "3dswiiu" or mode2 == "wiiu3ds" then
				if mode3 == "nolink" then
					if mode4 == "sm" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "''SSB:3DS/Wii U''"
					else
						print = error
					end
				elseif mode3 == "sm" then
					if mode4 == "nolink" then
						print = "<small>''SSB:3DS/Wii U''</small>"
					elseif isEmpty(mode4) then
						print = "<small>''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''</small>"
					else
						print = error
					end
				elseif isEmpty(mode3) then
					print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB:3DS/Wii U]]''"
				else
					print = error
				end
			elseif isEmpty(mode2) then
				print = "''[[Super Smash Bros. for Nintendo 3DS and Wii U|SSB4]]''"
			else
				print = error
			end
		elseif mode1 == "sm" then
			if mode2 == "nolink" then
				if mode3 == "short" then
					print = "<small>''" .. short .. "''</small>"
				elseif mode3 == "shorter" then
					print = "<small>" .. shorter .. "</small>"
				elseif mode3 == "shortest" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					print = "<small>''" .. medium .. "''</small>"
				else
					print = error
				end
			elseif not isEmpty(short) and mode2 == "short" then
				if mode3 == "nolink" then
					print = "<small>''" .. short .. "''</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. "''" .. short .. "'']]</small>"
					end
				else
					print = error
				end
			elseif not isEmpty(shorter) and mode2 == "shorter" then
				if mode3 == "nolink" then
					print = "<small>" .. shorter .. "</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. shorter .. "]]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. shorter .. "]]</small>"
					end
				else
					print = error
				end
			elseif not isEmpty(shortest) and mode2 == "shortest" then
				if mode3 == "nolink" then
					print = "<small>" .. shortest .. "</small>"
				elseif isEmpty(mode3) then
					if not isEmpty(link) then
						print = "<small>[[" .. link .. "|" .. linkindicator .. shortest .. "]]</small>"
					else
						print = "<small>[[" .. medium .. "|" .. linkindicator .. shortest .. "]]</small>"
					end
				else
					print = error
				end
			elseif isEmpty(mode2) then
				if not isEmpty(link) then
					print = "<small>[[" .. link .. "|" .. linkindicator .. "''" .. medium .. "'']]</small>"
				elseif not isEmpty(linkindicator) then
					print = "<small>[[" .. medium .. "|" .. linkindicator .. "''" .. medium .. "'']]</small>"
				else
					print = "<small>''[[" .. medium .. "]]''</small>"
				end
			else
				print = error
			end
		else
			print = error
		end
	elseif isEmpty(mode1) then
		if not isEmpty(link) then
			print = "[[" .. link .. "|"  .. linkindicator .. "''" .. medium .. "'']]"
		elseif not isEmpty(linkindicator) then
			print = "[[" .. medium .. "|" .. linkindicator .. "''" .. medium .. "'']]"
		else
			print = "''[[" .. medium .. "]]''"
		end
	else
		print = error
	end
	return print
end

return p