Documentation for this module may be created at Module:Sandbox/doc
local p = {}
local coins_image = require('Module:Coins image')
function p.main(frame)
local rarity,item,qty,qtyraw,item_page,image
local args = frame:getParent().args
rarity = string.lower(args[1] or '')
item = args[2]
qty = args[3] or 'no'
-- item_page= args[4] or item
if qty ~= 'no' then
qty = qty:upper():gsub('[^%dKM]','')
qtyraw = qty:gsub('K','000'):gsub('M','000000')
-- Use raw just in case (e.g. 20K instead of 20000)
qty = qtyraw
-- Look for 6+ digits
if qty:find('%d%d%d%d%d%d') then
-- replace millions first (10m+)
qty = qtyraw:gsub('^(%d%d%d?%d?)%d%d%d%d%d%d$','%1M')
-- replace thousands next (100k to 9999k)
-- this is ignored if millions are replaced
qty = qty:gsub('^(%d%d%d%d?)%d%d%d$','%1K')
end
end
if item:lower() == 'coins' then
image = coins_image(qtyraw)
else
image = item..'.png'
end
local ret = mw.html.create('div')
:addClass('TH_Gem-'..rarity)
:css({ width = '66px',
height = '90px',
position = 'relative' })
-- Item container
:tag('span')
:css({ width = '35px',
height = '35px',
position = 'relative',
top = '28px',
['z-index'] = '2' })
:wikitext(string.format('[[File:%s|35px|link=%s]]',image,item))
:done()
if qty ~= 'no' then
qty = qty:upper():gsub('[^%dKM]','')
-- Look for 6+ digits
if qty:find('%d%d%d%d%d%d') then
-- replace millions first (10m+)
qty = qty:gsub('^(%d%d%d?%d?)%d%d%d%d%d%d$','%1M')
-- replace thousands next (100k to 9999k)
-- this is ignored if millions are replaced
qty = qty:gsub('^(%d%d%d%d?)%d%d%d$','%1K')
end
local font_color
if qty:find('K') then
font_color = '#FFFFFF'
elseif qty:find('M') then
font_color = '#01FF80'
else
font_color = '#FFFF00'
end
ret:tag('span')
:css({ position = 'relative',
bottom = '14px',
right = '7px',
['z-index'] = '3',
['font-family'] = 'runescape-small',
['font-size'] = '20px',
color = font_color,
['text-shadow'] = '1px 1px 0px black' })
:wikitext(qty)
:done()
end
return tostring(ret)
end
return p