Module:DropsLineRoatz2: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 99: | Line 99: | ||
:wikitext(quantity) | :wikitext(quantity) | ||
:done() | :done() | ||
-- rarity | |||
local rarity_cell = ret:tag('td') | |||
local rarity_span = rarity_cell:tag('span') | |||
rarity_span:wikitext(rollstext .. tilde .. rarity) | |||
rarity_cell:attr('data-sort-value',rare_sort) | |||
:addClass(rare_class) | |||
if type(rarity_value) == 'number' then | |||
rarity_cell:attr('title', rollstext .. tilde .. string.format('%.3g%%', 100 * rarity_value)) | |||
rarity_span:attr({ | |||
['data-drop-fraction'] = rollstext .. tilde .. rarity, | |||
['data-drop-oneover'] = rollstext .. tilde .. '1/' .. commas(sigfig(1/rarity_value, 4)), | |||
['data-drop-percent'] = rollstext .. tilde .. sigfig(100 * rarity_value, 3), | |||
['data-drop-permil'] = rollstext .. tilde .. sigfig(1000 * rarity_value, 3), | |||
['data-drop-permyriad'] = rollstext .. tilde .. sigfig(10000 * rarity_value, 3), | |||
}) | |||
end | |||
-- rarity | |||
local rarity1_cell = ret:tag('td') | |||
local rarity1_span = rarity1_cell:tag('span') | |||
rarity_span:wikitext(rollstext .. tilde .. rarity) | |||
rarity_cell:attr('data-sort-value',rare_sort) | |||
:addClass(rare_class) | |||
if type(rarity_value) == 'number' then | |||
rarity_cell:attr('title', rollstext .. tilde .. string.format('%.3g%%', 100 * rarity_value)) | |||
rarity_span:attr({ | |||
['data-drop-fraction'] = rollstext .. tilde .. rarity, | |||
['data-drop-oneover'] = rollstext .. tilde .. '1/' .. commas(sigfig(1/rarity_value, 4)), | |||
['data-drop-percent'] = rollstext .. tilde .. sigfig(100 * rarity_value, 3), | |||
['data-drop-permil'] = rollstext .. tilde .. sigfig(1000 * rarity_value, 3), | |||
['data-drop-permyriad'] = rollstext .. tilde .. sigfig(10000 * rarity_value, 3), | |||
}) | |||
end | |||
end | end | ||
return p | return p |
Revision as of 16:49, 3 April 2024
Documentation for this module may be created at Module:DropsLineRoatz2/doc
local p = {}
local params = require('Module:Paramtest')
local lang = mw.language.getContentLanguage()
local coins_image = require('Module:Coins image')
local curr_image = require('Module:Currency Image')
local yesno = require('Module:Yesno')
local geprices_data = mw.loadJsonData('Module:GEPrices/data.json')
local ptitle = mw.title.getCurrentTitle()
local ns = ptitle.nsText
local title = ptitle.fullText
local pgTitle = ptitle.text
local coins_priceString = "%s Pkp"
local other_priceString = "%s Pkp"
--bg, txt, sort; acceptable non-quantity rarity names
local rarities = {
always = { 'table-bg-blue', 1 },
common = { 'table-bg-green', 16 },
uncommon = { 'table-bg-yellow', 64 },
rare = { 'table-bg-orange', 128 },
['very rare'] = { 'table-bg-red', 1024 },
random = { 'table-bg-pink', 4096 },
varies = { 'table-bg-pink', 4096 },
once = { 'table-bg-pink', 65536 },
conditional = { 'table-bg-pink', 65536 },
_default = { 'table-bg-grey', 65536 }
}
-- colour-code
local rarities_class = {
{ 1, 'table-bg-blue' },
{ 1/25, 'table-bg-green' },
{ 1/99.99, 'table-bg-yellow' },
{ 1/999.99, 'table-bg-orange' },
{ 1/9999999, 'table-bg-red' }
}
function p.main(frame)
local args = frame:getParent().args
local frameArgs = frame.args
-- Params and defaults
local name,namenotes,
quantity,quantitynotes,
rarity,rarity1,alt_rarity,alt_rarity_endash,
raritynotes,citation,monVers = params.defaults{
{args.name or args.Name,'Item'},
{args.namenotes or args.Namenotes,''},
{args.quantity or args.Quantity,'Unknown'},
{args.quantitynotes or args.Quantitynotes,''},
{args.rarity or args.Rarity,'Unknown'},
{args.rarity1 or args.Rarity1,'Unknown'},
{args.altrarity or args.AltRarity,''},
{args.altraritydash or args.AltRarityDash,''},
{args.raritynotes or args.Raritynotes,''},
{args.citation,''},
{args.version or args.Version,''},
}
raritynotes = raritynotes .. citation
local rolls = tonumber(args.rolls or args.Rolls) or false
local rollstext = ''
if rolls then
rollstext = rolls .. ' × '
end
local approx = yesno(args.approx or args.Approx or 'no', false)
local isCoins = name:lower() == 'coins'
local isNothing = name:lower() == 'nothing'
local altname = params.default_to(args.alt or args.Alt,name)
local gemwname = params.default_to(args.gemwname,name)
local _smwname = params.default_to(args.smwname,gemwname)
-- Table row creation
local ret = mw.html.create('tr')
-- row-wide things
:css('text-align','center')
-- inventory image
:tag('td')
:addClass('inventory-image')
:wikitext(image)
:done()
-- item name
:tag('td')
:css('text-align','left')
:addClass('item-col')
:wikitext(string.format('%s',name,altname,#namenotes > 3 and namenotes or ''))
:done()
-- quantity
:tag('td')
:addClass(quantityClassOverride)
:attr('data-sort-value',_h)
:wikitext(quantity)
:done()
-- rarity
local rarity_cell = ret:tag('td')
local rarity_span = rarity_cell:tag('span')
rarity_span:wikitext(rollstext .. tilde .. rarity)
rarity_cell:attr('data-sort-value',rare_sort)
:addClass(rare_class)
if type(rarity_value) == 'number' then
rarity_cell:attr('title', rollstext .. tilde .. string.format('%.3g%%', 100 * rarity_value))
rarity_span:attr({
['data-drop-fraction'] = rollstext .. tilde .. rarity,
['data-drop-oneover'] = rollstext .. tilde .. '1/' .. commas(sigfig(1/rarity_value, 4)),
['data-drop-percent'] = rollstext .. tilde .. sigfig(100 * rarity_value, 3),
['data-drop-permil'] = rollstext .. tilde .. sigfig(1000 * rarity_value, 3),
['data-drop-permyriad'] = rollstext .. tilde .. sigfig(10000 * rarity_value, 3),
})
end
-- rarity
local rarity1_cell = ret:tag('td')
local rarity1_span = rarity1_cell:tag('span')
rarity_span:wikitext(rollstext .. tilde .. rarity)
rarity_cell:attr('data-sort-value',rare_sort)
:addClass(rare_class)
if type(rarity_value) == 'number' then
rarity_cell:attr('title', rollstext .. tilde .. string.format('%.3g%%', 100 * rarity_value))
rarity_span:attr({
['data-drop-fraction'] = rollstext .. tilde .. rarity,
['data-drop-oneover'] = rollstext .. tilde .. '1/' .. commas(sigfig(1/rarity_value, 4)),
['data-drop-percent'] = rollstext .. tilde .. sigfig(100 * rarity_value, 3),
['data-drop-permil'] = rollstext .. tilde .. sigfig(1000 * rarity_value, 3),
['data-drop-permyriad'] = rollstext .. tilde .. sigfig(10000 * rarity_value, 3),
})
end
end
return p