6,963
edits
HyperNervie (talk | contribs) (Adjust to Module:Entry/titles changes) |
m (Reverted edits by Tailx (talk) to last revision by HyperNervie) Tag: Rollback |
||
| (7 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
local titles = require("Module:Entry/titles").lookup | local titles = require("Module:Entry/titles").lookup | ||
local entryMT = {} | local entryMT = {} | ||
| Line 9: | Line 8: | ||
end | end | ||
function entryMT. | function entryMT._data(entry) | ||
return titles[entry][ | return titles[entry.console][entry.stage].entries[entry.number] | ||
end | end | ||
function entryMT. | function entryMT.target(entry) | ||
return | return entry._data[1] or "" | ||
end | end | ||
function entryMT.title(entry) | function entryMT.title(entry) | ||
return entry._data[2] or entry.target | |||
end | end | ||
function entryMT.text(entry) | function entryMT.text(entry) | ||
return entry._data[3] or entry.title | |||
end | end | ||
local function | local function _textWithTempoUp(entry, args) | ||
if entry.target == "" then return "" end | |||
local t = entry.text | local t = entry.text | ||
if (entry.console == "GBA" or entry.console == "Arcade") | if (entry.console == "GBA" or entry.console == "Arcade") | ||
and entry.stage == "EX" | and entry.stage == "EX" | ||
then | then | ||
tempoUpSize = tempoUpSize or "72px" | local tempoUpSize = args.tempoUpSize or "72px" | ||
t = mw.ustring.format("%s [[File:TempoUpExtra%s.png|%s|link=]]", | local class = "" | ||
t, entry.number, tempoUpSize) | if args.class then class = "|class=" .. args.class end | ||
t = mw.ustring.format("%s [[File:TempoUpExtra%s.png|%s%s|link=]]", | |||
t, entry.number, tempoUpSize, class) | |||
end | end | ||
return t | return t | ||
| Line 40: | Line 40: | ||
function entryMT.textWithTempoUp() | function entryMT.textWithTempoUp() | ||
return | return _textWithTempoUp | ||
end | |||
function entryMT.selfLink(entry) | |||
return mw.title.getCurrentTitle().prefixedText == entry.target | |||
end | end | ||
local function _link(entry, | local function _link(entry, args) | ||
local | if entry.target == "" then return "" end | ||
t = mw.ustring.format("[[%s|%s]]", entry. | local title = entry.selfLink and entry.target or entry.title | ||
local t = mw.ustring.format("[[%s|%s]]", title, entry.text) | |||
if (entry.console == "GBA" or entry.console == "Arcade") | if (entry.console == "GBA" or entry.console == "Arcade") | ||
and entry.stage == "EX" | and entry.stage == "EX" | ||
then | then | ||
tempoUpSize = tempoUpSize or "72px" | local tempoUpSize = args.tempoUpSize or "72px" | ||
title = entry.selfLink and "" or entry.title | |||
t = mw.ustring.format("%s [[File:TempoUpExtra%s.png|%s|link=%s]]", | t = mw.ustring.format("%s [[File:TempoUpExtra%s.png|%s|link=%s]]", | ||
t, entry.number, tempoUpSize, | t, entry.number, tempoUpSize, title) | ||
end | end | ||
return t | return t | ||
| Line 62: | Line 68: | ||
function entryMT.defaultIconSize(entry) | function entryMT.defaultIconSize(entry) | ||
if entry.console == "GBA" or entry.console == "Arcade" then | if entry.console == "GBA" or entry.console == "Arcade" then | ||
return (entry.stage == "E" or entry.stage == "T") and "40px" or " | return (entry.stage == "E" or entry.stage == "T") and "40px" or "x20px" | ||
elseif entry.console == "DS" then | elseif entry.console == "DS" then | ||
return entry.stage == "B" and "34px" | return (entry.stage == "B" or entry.stage == "C") and "34px" | ||
or (entry.stage == "E" or entry.stage == "T") and "40px" | or (entry.stage == "E" or entry.stage == "T" | ||
or entry.stage == "GB" or entry.stage == "GT") and "40px" | |||
or "32px" | or "32px" | ||
elseif entry.console == "Wii" then | elseif entry.console == "Wii" then | ||
| Line 75: | Line 82: | ||
end | end | ||
function entryMT. | function entryMT.iconVariants(entry) | ||
local variants = {} | |||
for _, v in ipairs(entry._data.variants or {}) do | |||
variants[v] = true | |||
end | |||
return variants | |||
end | |||
local function _iconName(entry, args) | |||
local animateStages = { | local animateStages = { | ||
GBA = {T = true}, | GBA = {T = true}, | ||
| Line 87: | Line 102: | ||
local console = entry.console | local console = entry.console | ||
if console == "Arcade" then console = "GBA" end | if console == "Arcade" then console = "GBA" end | ||
local entryCode = | local entryCode = entry._data.icon or (entry.stage .. "-" .. entry.number) | ||
return mw.ustring.format("Game %s %s.%s", console, entryCode, ext) | local var = args.variant | ||
if entry.iconVariants[var] then var = " " .. var | |||
else var = "" end | |||
return mw.ustring.format("Game %s %s%s.%s", console, entryCode, var, ext) | |||
end | |||
function entryMT.iconName() | |||
return _iconName | |||
end | end | ||
local function _icon(entry, | local function _icon(entry, args) | ||
iconSize = iconSize or entry.defaultIconSize | local iconSize = args.iconSize or entry.defaultIconSize | ||
return mw.ustring.format("[[File:%s|%s|link=%s]]", | local link = entry.selfLink and "" or entry.title | ||
entry | local class = "" | ||
if args.class then class = "|class=" .. args.class end | |||
return mw.ustring.format("[[File:%s|%s%s|link=%s]]", | |||
entry:iconName(args), iconSize, class, link) | |||
end | end | ||
| Line 101: | Line 126: | ||
end | end | ||
local function _iconAndLink(entry, | local function _iconAndLink(entry, args) | ||
local span = mw.html.create("span") | |||
:css("white-space", "nowrap") | :css("white-space", "nowrap") | ||
:wikitext(entry:icon( | :wikitext(entry:icon(args)) | ||
) | if entry.stage ~= "?" then span:wikitext(" ", entry:link(args)) end | ||
return tostring(span) | |||
end | end | ||