Module:Card: Difference between revisions

No edit summary
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 28: Line 28:
name = 'quality',
name = 'quality',
alias = 'rarity',
alias = 'rarity',
default = 'Gray',
default = 'Common',
},
},
{
{
Line 86: Line 86:
alias = 'UP',
alias = 'UP',
type = '1',
type = '1',
},
{
name = 'galaxy',
},
},
{
{
Line 102: Line 99:


return p._main(args)
return p._main(args)
end
local function getDataByName(dataType, dataTable, name)
local data = dataTable[name]
if data then
return data
end
local normalizedType = tostring(dataType or ''):lower()
if normalizedType == 'neighbor' or normalizedType == 'neighbors' then
return nil
end
for quality, names in pairs(dataTable) do
if type(names) == 'table' then
for _, itemName in ipairs(names) do
if itemName == name then
return {
quality = quality
}
end
end
end
end
return nil
end
end


Line 113: Line 137:


if lib.isEmpty(requestedType) or dataType == requestedType then
if lib.isEmpty(requestedType) or dataType == requestedType then
local data = dataTable[name]
local data = getDataByName(dataType, dataTable, name)


if data then
if data then
Line 148: Line 172:


if lib.isEmpty(quality) then
if lib.isEmpty(quality) then
quality = 'Gray'
quality = 'Common'
end
end


Line 203: Line 227:
-- Base name for assets.
-- Base name for assets.
-- Removes a trailing disambiguation such as "(Currency)".
-- Removes a trailing disambiguation such as "(Currency)".
out.image_name = out.name:gsub('%s*%([^()]*%)$', '')
out.image_name = out.name--:gsub('%s*%([^()]*%)$', '')


-- Boolean parameters
-- Boolean parameters
Line 241: Line 265:
if not (out.nonDefaults and out.nonDefaults.quality) then
if not (out.nonDefaults and out.nonDefaults.quality) then
out.quality = out.data.quality
out.quality = out.data.quality
end
end
if out.data.galaxy then
out.defaults.galaxy = out.data.galaxy
if not (out.nonDefaults and out.nonDefaults.galaxy) then
out.galaxy = out.data.galaxy
end
end
end
end
Line 401: Line 417:
else
else
imageContainer:wikitext(a.image_wikitext)
imageContainer:wikitext(a.image_wikitext)
end
-- Galaxy icon
if not a.mini and ne(a.galaxy) then
node_card:tag('span')
:addClass('card-icon-galaxy')
:wikitext(
'[[File:' ..
a.galaxy ..
' Icon.png|alt=' ..
a.galaxy ..
'|link=' ..
a.galaxy ..
'|20px]]'
)
end
end