17,101
edits
(Amend nolink handling) |
(Icon: Implement alt, noSpan parameters; _SkillReq, _MasteryReq: Use alt parameter & avoid duplicate span tags in result; _Currency: Use alt parameter) |
||
Line 1: | Line 1: | ||
local Shared = require("Module:Shared") | local Shared = require("Module:Shared") | ||
local GameData = require("Module:GameData") | local GameData = require("Module:GameData") | ||
Line 377: | Line 374: | ||
local img = args.img ~= nil and args.img ~= '' and args.img or link | local img = args.img ~= nil and args.img ~= '' and args.img or link | ||
local class = args.class ~= nil and args.class ~= '' and args.class or '' | local class = args.class ~= nil and args.class ~= '' and args.class or '' | ||
local altText = args.alt ~= nil and args.alt or (notext and (text or link)) or '' | |||
local nospan = args.nospan ~= nil and args.nospan | |||
link = fixPagename(link) | link = fixPagename(link) | ||
Line 462: | Line 461: | ||
-- Include a link unless no link -and- no text was requested | -- Include a link unless no link -and- no text was requested | ||
local txtLink = '|link=' .. (nolink and '' or link) | local txtLink = '|link=' .. (nolink and '' or link) | ||
resultText = '[[File:' .. txtImg .. '|' .. txtSize .. 'x' .. txtSize .. 'px' .. txtLink .. ']]' | resultText = '[[File:' .. txtImg .. '|' .. txtSize .. 'x' .. txtSize .. 'px|alt=' .. altText .. txtLink .. ']]' | ||
if class ~= nil and class ~= '' then | if class ~= nil and class ~= '' then | ||
resultText = '<span class="'..class..'">'..resultText..'</span>' | resultText = '<span class="'..class..'">'..resultText..'</span>' | ||
Line 484: | Line 483: | ||
if menu then | if menu then | ||
return '{| class="articletable" style="display:inline-block;vertical-align:middle;"\r\n|-\r\n|' .. resultText .. '\r\n|}' | return '{| class="articletable" style="display:inline-block;vertical-align:middle;"\r\n|-\r\n|' .. resultText .. '\r\n|}' | ||
elseif not noicon then | elseif not noicon and not nospan then | ||
return '<span style="display:inline-block">' .. resultText .. '</span>' | return '<span style="display:inline-block">' .. resultText .. '</span>' | ||
else | else | ||
Line 499: | Line 498: | ||
function p._SkillReq(skill, level, showText) | function p._SkillReq(skill, level, showText) | ||
local result = p.Icon({skill, type='skill', notext='true | local altText = (showText and '') or skill | ||
local result = p.Icon({skill, type='skill', notext=(showText and '' or true), nospan=true, alt=altText}) | |||
if level == nil then level = 'Unknown [[Category:Pages with script errors]]' end | if level == nil then level = 'Unknown [[Category:Pages with script errors]]' end | ||
result = result.." Level "..level | result = result.." Level "..level | ||
Line 527: | Line 524: | ||
iconname = linkname..' I' | iconname = linkname..' I' | ||
end | end | ||
local altTextItem = (showText and '') or linkname | |||
local altTextMastery = (showText and '') or ' Mastery' | |||
local result = 'Level '..level..' ' | local result = 'Level '..level..' ' | ||
result = result..p.Icon({linkname, img=iconname, type='item', notext = true})..p.Icon({'Mastery', notext=true}) | result = result..p.Icon({linkname, img=iconname, type='item', notext=true, nospan=true, alt=altTextItem})..p.Icon({'Mastery', notext=true, nospan=true, alt=altTextMastery}) | ||
if showText then result = result..'[['..linkname..']] [[Mastery]]' end | if showText then result = result..'[['..linkname..']] [[Mastery]]' end | ||
result = '<span style="display:inline-block">'..result..'</span>' | result = '<span style="display:inline-block">'..result..'</span>' | ||
Line 543: | Line 542: | ||
end | end | ||
function p._Currency(fileName, link, amt, maxAmt) | function p._Currency(fileName, link, altText, amt, maxAmt) | ||
local amtText = formatnum(amt) | local amtText = formatnum(amt) | ||
if maxAmt ~= nil and maxAmt >= amt then | if maxAmt ~= nil and maxAmt >= amt then | ||
Line 555: | Line 554: | ||
fileText = fileText .. '|link=' .. link | fileText = fileText .. '|link=' .. link | ||
end | end | ||
fileText = fileText .. ']] ' | fileText = fileText .. '|alt=' .. ((altText == nil and '') or altText) .. ']] ' | ||
end | end | ||
Line 562: | Line 561: | ||
function p.GP(amt, maxamt) | function p.GP(amt, maxamt) | ||
return p._Currency('Coins.svg', 'Coins', amt, maxamt) | return p._Currency('Coins.svg', 'Coins', 'GP', amt, maxamt) | ||
end | end | ||
function p.SC(amt, maxamt) | function p.SC(amt, maxamt) | ||
return p._Currency('Slayer Coins.svg', 'Currency#Slayer Coins', amt, maxamt) | return p._Currency('Slayer Coins.svg', 'Currency#Slayer Coins', 'SC', amt, maxamt) | ||
end | end | ||
function p.RC(amt, maxamt) | function p.RC(amt, maxamt) | ||
return p._Currency('Raid_Coins.svg', 'Currency#Raid Coins', amt, maxamt) | return p._Currency('Raid_Coins.svg', 'Currency#Raid Coins', 'RC', amt, maxamt) | ||
end | end | ||