918
edits
(Icon: Expand support for 'section links' to include POIs; remove duplicate extension overrides) |
No edit summary |
||
(18 intermediate revisions by 4 users not shown) | |||
Line 45: | Line 45: | ||
["Hardcore Adventure Speedrun"] = "svg", | ["Hardcore Adventure Speedrun"] = "svg", | ||
["Mastery Tokens"] = "gif", | ["Mastery Tokens"] = "gif", | ||
["Lesser Relics"] = "gif", | |||
["Prat, the Serpent of Fire"] = "svg", | ["Prat, the Serpent of Fire"] = "svg", | ||
["Unholy Prayers"] = "svg", | ["Unholy Prayers"] = "svg", | ||
Line 185: | Line 186: | ||
["Aranite Sieve"] = "png", | ["Aranite Sieve"] = "png", | ||
["Aranite Trowel"] = "png", | ["Aranite Trowel"] = "png", | ||
["Travel Token"] = "png", | |||
["Dig Site Token"] = "png", | |||
["Summoner's Pack I"] = "png", | |||
["Summoners' Pack II"] = "png", | |||
["Summoners' Pack III"] = "png", | |||
-- Marks (Summoning), included to override the type level override above | -- Marks (Summoning), included to override the type level override above | ||
["Eagle"] = "png", | ["Eagle"] = "png", | ||
Line 198: | Line 204: | ||
["Cult Grounds"] = "png", | ["Cult Grounds"] = "png", | ||
["Trickery Temple"] = "png", | ["Trickery Temple"] = "png", | ||
["Underwater City"] = "png" | ["Underwater City"] = "png", | ||
["Underwater Ruins"] = "png", | |||
["Eye-conic Cave"] = "png", | |||
["Mucky Cave"] = "png", | |||
["Lost Temple"] = "png", | |||
["Ritual Site"] = "png", | |||
["Shipwreck Cove"] = "png", | |||
} | } | ||
} | } | ||
Line 273: | Line 285: | ||
["Winter"] = "png", | ["Winter"] = "png", | ||
["Nightfall"] = "png", | ["Nightfall"] = "png", | ||
["Solar Eclipse | ["Solar Eclipse"] = "png" | ||
} | } | ||
} | } | ||
Line 323: | Line 334: | ||
["Cartographer's Enhancement"] = {'Cartography', 'skill'}, | ["Cartographer's Enhancement"] = {'Cartography', 'skill'}, | ||
["Cartographer's Knowledge"] = {'Cartography', 'skill'}, | ["Cartographer's Knowledge"] = {'Cartography', 'skill'}, | ||
["Combat Supply I"] = {'Adamant Javelin', 'item'}, | |||
["Combat Supply II"] = {'Rune Javelin', 'item'}, | |||
["Combat Supply III"] = {'Dragon Javelin', 'item'}, | |||
-- Golbin Raid shop items | -- Golbin Raid shop items | ||
["Reduce Wave Skip Cost"] = {'Melvor Logo', ''}, | ["Reduce Wave Skip Cost"] = {'Melvor Logo', ''}, | ||
Line 411: | Line 425: | ||
-- Township generic statue building | -- Township generic statue building | ||
['Statue of Worship'] = 'Statue of Nothing', | ['Statue of Worship'] = 'Statue of Nothing', | ||
-- Township seasons | |||
["Lemon Season"] = 'Spring', | |||
-- Easter egg stuff | -- Easter egg stuff | ||
["Lemonade (Empty)"] = "Lemonade", | ["Lemonade (Empty)"] = "Lemonade", | ||
Line 445: | Line 461: | ||
["Birthday Present (Utility)"] = "Christmas Present (Blue)", | ["Birthday Present (Utility)"] = "Christmas Present (Blue)", | ||
["Birthday Present (Gathering)"] = "Christmas Present (Green)", | ["Birthday Present (Gathering)"] = "Christmas Present (Green)", | ||
["Birthday Present (Combat)"] = "Christmas Present (White)" | ["Birthday Present (Combat)"] = "Christmas Present (White)", | ||
["Clue Scroll 1"] = "Event Clue 1", | |||
["Clue Scroll 2"] = "Event Clue 1", | |||
["Clue Scroll 3"] = "Event Clue 1", | |||
["Clue Scroll 4"] = "Event Clue 1", | |||
["Clue Scroll 5"] = "Event Clue 1", | |||
["Clue Scroll 6"] = "Event Clue 1" | |||
} | } | ||
--When calling for an icon for Key + Type, replace with image Value, and optionally override type also | --When calling for an icon for Key + Type, replace with image Value, and optionally override type also | ||
Line 767: | Line 789: | ||
if menu then | if menu then | ||
return '{| class="articletable" style=" | return '{| class="articletable img-text" style="vertical-align:middle;"\r\n|-\r\n|' .. expIcon .. resultText .. '\r\n|}' | ||
elseif not noicon and not nospan then | elseif not noicon and not nospan then | ||
return '<span | return '<span class="img-text">' .. expIcon .. resultText .. '</span>' | ||
else | else | ||
return resultText | return resultText | ||
Line 788: | Line 810: | ||
result = result.." Level "..level | result = result.." Level "..level | ||
result = '<span | result = '<span class="img-text">'..result..'</span>' | ||
return result | return result | ||
end | end | ||
Line 815: | Line 837: | ||
result = result..p.Icon({linkname, img=iconname, type='item', notext=true, nospan=true, alt=altTextItem})..p.Icon({'Mastery', notext=true, nospan=true, alt=altTextMastery}) | 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 | result = '<span class="img-text">'..result..'</span>' | ||
return result | return result | ||
end | end | ||
Line 827: | Line 849: | ||
end | end | ||
function p._Currency(fileName, link, altText, | function p._Currency(fileName, link, altText, amount, maxAmount) | ||
local | local function numColour(amount) | ||
if tonumber(amount) < 0 then | |||
return mw.html.create('span') | |||
:css('color', 'red') | |||
:wikitext(formatnum(amount)) | |||
:done() | |||
else | |||
return formatnum(amount) | |||
end | end | ||
end | end | ||
local html = mw.html.create('span') | |||
:addClass('img-text') | |||
local | -- Currency amounts | ||
if tonumber(amount) ~= nil then | |||
local text = mw.html.create('span') | |||
:css('margin-right', '0.2em') | |||
:node(numColour(amount)) | |||
if (tonumber(maxAmount) ~= nil and maxAmount > amount) then | |||
text:wikitext(' - ' .. numColour(maxAmount)) | |||
end | |||
html:node(text:done()) | |||
end | |||
-- Currency icon | |||
if fileName ~= nil then | if fileName ~= nil then | ||
html:wikitext('[[File:'):wikitext(fileName):wikitext('|25px') | |||
if link ~= nil then | if link ~= nil then | ||
html:wikitext('|link='):wikitext(link) | |||
end | end | ||
html:wikitext('|alt=') | |||
:wikitext(((altText == nil and '') or altText)) | |||
:wikitext(']]') | |||
end | end | ||
html:done() | |||
if ((amount ~= nil and tonumber(amount) == nil) | |||
or (maxAmount ~= nil and tonumber(maxAmount) == nil)) then | |||
html:wikitext('[[Category:Pages with non-numeric currency arguments]]') | |||
end | |||
return tostring(html) | |||
end | end | ||
Line 858: | Line 905: | ||
function p.RC(amt, maxamt) | function p.RC(amt, maxamt) | ||
return p._Currency('Raid_Coins.svg', 'Currency#Raid Coins', 'RC', amt, maxamt) | return p._Currency('Raid_Coins.svg', 'Currency#Raid Coins', 'RC', amt, maxamt) | ||
end | |||
-- p.Currency() is called by various currency templates: | |||
-- [[Template:GP]], [[Template:SC]], [[Template:RC]] | |||
function p.Currency(frame) | |||
local args = frame.args ~= nil and frame.args or frame | |||
local currID, minVal, maxVal, _ | |||
currID = args[1] | |||
if args[2] ~= nil and args[2] ~= '' then | |||
minVal, _ = string.gsub(args[2], ',', '') | |||
end | |||
if args[3] ~= nil and args[3] ~= '' then | |||
maxVal, _ = string.gsub(args[3], ',', '') | |||
end | |||
if currID == 'GP' then | |||
return p.GP(minVal, maxVal) | |||
elseif currID == 'SC' then | |||
return p.SC(minVal, maxVal) | |||
elseif currID == 'RC' then | |||
return p.RC(minVal, maxVal) | |||
else | |||
return Shared.printError('Invalid currency: ' .. (currID == nil and 'nil' or currID)) | |||
end | |||
end | end | ||
Line 867: | Line 938: | ||
function p.AoD() | function p.AoD() | ||
return p.Icon({'Atlas of Discovery Expansion', notext=true, img='AoD', alt=''}) | return p.Icon({'Atlas of Discovery Expansion', notext=true, img='AoD', alt=''}) | ||
end | |||
-- Prework to have function call available for when DLC releases. | |||
-- Remove comments and uncomment line below when the image is available. | |||
function p.ItA() | |||
--return p.Icon({'Into the Abyss Expansion', notext=true, img='ItA', alt=''}) | |||
return nil | |||
end | end | ||
edits