Module:Ability/new/2: Difference between revisions
From Inkipedia, the Splatoon wiki
m (removed args field if called from another module via Require:Module) |
(moved default size (24) to frame objects (requireFromModule and invokeFromTemplate) and removed full name check (must be passed as abbreviation)) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
function p.requireFromModule(frame) | function p.requireFromModule(frame) | ||
return p. | return p.getAbilityIcon( | ||
frame.game, | string.upper(frame.game), | ||
frame.name, | frame.name, | ||
frame.size, | frame.size or 24, | ||
frame.icononly | frame.icononly | ||
) | ) | ||
Line 16: | Line 16: | ||
function p.invokeFromTemplate(frame) | function p.invokeFromTemplate(frame) | ||
return p.getAbilityIcon( | |||
string.upper(frame:getParent().args.game), | |||
frame:getParent().args.name, | |||
frame:getParent().args.size or 24, | |||
frame:getParent().args.icononly | |||
) | |||
end | end | ||
Line 30: | Line 30: | ||
local displayText = name | local displayText = name | ||
local abilityFileName = name | local abilityFileName = name | ||
if name == "?" then | if name == "?" then |
Latest revision as of 13:04, 15 March 2024
Documentation for this module may be created at Module:Ability/new/2/doc
local p = {} local gameShortened = require("Module:GameShortened") local disambigName = { ["Recon"] = true, } function p.requireFromModule(frame) return p.getAbilityIcon( string.upper(frame.game), frame.name, frame.size or 24, frame.icononly ) end function p.invokeFromTemplate(frame) return p.getAbilityIcon( string.upper(frame:getParent().args.game), frame:getParent().args.name, frame:getParent().args.size or 24, frame:getParent().args.icononly ) end function p.getAbilityIcon(game, name, size, icononly) local result local abilityIcon local linkText = name local displayText = name local abilityFileName = name if name == "?" then linkText = "Gear ability" displayText = "None" --Exaskliri wants to display link text by default, even for "?" abilityFileName = "Locked" end if disambigName[name] then linkText = linkText .. " (ability)" end abilityIcon = string.format("[[File:%s_Ability_%s.png|%dpx|link=%s]]", game, abilityFileName, size, linkText) local iconSpan = mw.html.create("span") local padSize = size * 0.05 iconSpan :css("display", "inline-block") :css("vertical-align", "middle") :css("width", size.."px") :css("height", size.."px") :css("background", "black") :css("border-radius", "50%") :css("padding", padSize.."px") :wikitext(abilityIcon) abilityIcon = tostring(iconSpan) result = abilityIcon if not icononly then result = abilityIcon .. " [[" ..linkText.. "|" ..displayText.. "]]" end return result end return p