Medoke (обсуждение | вклад) мНет описания правки |
Medoke (обсуждение | вклад) мНет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 24: | Строка 24: | ||
function p._main(args) |
function p._main(args) |
||
− | local icon = 'File:Cosmetic icon |
+ | local icon = 'File:Cosmetic icon ' .. args[1] .. '.png' |
local size = args.userparam or args[2] or '100px' |
local size = args.userparam or args[2] or '100px' |
||
local border_color = '#a55858' |
local border_color = '#a55858' |
||
Строка 36: | Строка 36: | ||
if output then |
if output then |
||
− | icon = output.image |
+ | if output.image then icon = output.image end |
− | border_color = color{('cos_' .. output.rarity):lower()} |
+ | if output.rarity then border_color = color{('cos_' .. output.rarity):lower()} end |
− | else |
||
− | -- Try to manually generate the icon by name. |
||
− | local file_name = 'File:Cosmetic icon ' .. args[1] .. '.png' |
||
− | if fileExists(file_name) then |
||
− | icon = file_name |
||
− | end |
||
end |
end |
||
Версия от 11:48, 27 мая 2018
▶️
Planeshift.
Документацию для этого шаблона или модуля можно найти в Template:Cosmetic.
Вы можете быть перенаправлены на другой язык вики, если перевод недоступен.
Зависимости
--------------------------------------------------------------------------------
-- Imports
--------------------------------------------------------------------------------
local cargo = require('Модуль:Cargo')
local color = require('Модуль:Color')._main
local fileExists = require('Модуль:FileExists')
local getArgs = require('Модуль:Arguments').getArgs
--------------------------------------------------------------------------------
-- Template
--------------------------------------------------------------------------------
local p = {}
function p.main(frame)
local args = getArgs(frame, {
wrappers = {
'Шаблон:Cosmetic'
}
})
return p._main(args)
end
function p._main(args)
local icon = 'File:Cosmetic icon ' .. args[1] .. '.png'
local size = args.userparam or args[2] or '100px'
local border_color = '#a55858'
local page = args.link or args[1]
local name = args.text or args[1]
local output = cargo.query('cosmetic_items', 'image, rarity', {
where='_pageName="' .. args[1] .. '"',
groupBy='_pageID'
})[1]
if output then
if output.image then icon = output.image end
if output.rarity then border_color = color{('cos_' .. output.rarity):lower()} end
end
local image = string.format('[[%s|%s|link=%s|%s]]', icon, size, page, name)
local link = string.format('[[%s|%s]]', page, name)
return mw.html.create('div')
:addClass('cosmetic-label')
:css('width', size)
:tag('div')
:css('box-shadow', '0px 0px 2px 4px ' .. border_color)
:wikitext(image)
:done()
:wikitext(link)
end
--------------------------------------------------------------------------------
-- Return
--------------------------------------------------------------------------------
return p