(item() - добавлен вызов английского названия) |
мНет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 198: | Строка 198: | ||
function Filename.loading(frame) |
function Filename.loading(frame) |
||
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end |
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end |
||
+ | local champion = args['champion'] or args[1] |
||
+ | local parsedName = champion |
||
+ | if(lolChampions[champion].engname or lolChampions[champion].apiname ~= nil) then |
||
+ | parsedName = lolChampions[champion].engname or lolChampions[champion].apiname |
||
+ | end |
||
+ | |||
+ | local skinName = args['skin'] or args[2] or "Original" |
||
+ | if(skinName ~= "Original") then |
||
+ | if(lolSkins[champion]["skins"][skinName] ~= nil) then |
||
+ | if(lolSkins[champion]["skins"][skinName].engname) then |
||
+ | skinName = lolSkins[champion]["skins"][skinName].engname |
||
+ | end |
||
+ | else |
||
+ | skinName = "Original" |
||
+ | end |
||
+ | end |
||
+ | |||
return handleArgs(args, mw.text.trim(encode( |
return handleArgs(args, mw.text.trim(encode( |
||
− | formatnil('%s % |
+ | formatnil('%s %sLoading %s.jpg', parsedName, string.gsub(skinName, ' ', ''), args['variant'] or args[3]) |
or |
or |
||
− | formatnil('%s % |
+ | formatnil('%s %sLoading.jpg', parsedName, string.gsub(skinName, ' ', '')) |
or |
or |
||
'Champion SkinLoading.jpg'))) |
'Champion SkinLoading.jpg'))) |
||
Строка 254: | Строка 271: | ||
function Filename.skin(frame) |
function Filename.skin(frame) |
||
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end |
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end |
||
+ | local champion = args['champion'] or args[1] |
||
+ | local parsedName = champion |
||
+ | if(lolChampions[champion].engname or lolChampions[champion].apiname ~= nil) then |
||
+ | parsedName = lolChampions[champion].engname or lolChampions[champion].apiname |
||
+ | end |
||
+ | |||
+ | local skinName = args['skin'] or args[2] or "Original" |
||
+ | if(skinName ~= "Original") then |
||
+ | if(lolSkins[champion]["skins"][skinName] ~= nil) then |
||
+ | if(lolSkins[champion]["skins"][skinName].engname) then |
||
+ | skinName = lolSkins[champion]["skins"][skinName].engname |
||
+ | end |
||
+ | else |
||
+ | skinName = "Original" |
||
+ | end |
||
+ | end |
||
+ | |||
return handleArgs(args, mw.text.trim(encode( |
return handleArgs(args, mw.text.trim(encode( |
||
− | formatnil('%s % |
+ | formatnil('%s %sSkin %s.jpg', parsedName, string.gsub(skinName, ' ', ''), args['variant'] or args[3]) |
or |
or |
||
− | formatnil('%s % |
+ | formatnil('%s %sSkin.jpg', parsedName, string.gsub(skinName, ' ', '')) |
or |
or |
||
'Champion SkinSkin.jpg'))) |
'Champion SkinSkin.jpg'))) |
Версия от 20:18, 14 января 2021
Этот модуль зависит от:
|
Данный модуль генерирует стандартные имена для иконок и иных изображений различных объектов League of Legends и Teamfight Tactics.
Список функций
- В угловых скобках указывается переменное значение
Название | Стандартное имя | Пример |
---|---|---|
ability | <Название умения>.png <Название умения> <Вариация иконки>.png
|
Fox-Fire.png Fox-Fire old.png |
buff | <Название усиления> buff.png <Название усиления> <Вариация иконки>.png
|
Crest of Insight buff.png Crest of Insight buff old.png |
championcircle | <Имя чемпиона> <Образ чемпиона>Circle.png <Имя чемпиона><Образ чемпиона> Circle <Вариант иконки>.png
|
Lux OriginalCircle.png Lux ElementalistCircle.png Lux OriginalCircle old.png |
chroma | <Имя чемпиона> <Образ чемпиона> (<Название цветовой схемы>).png
|
Ahri Arcana (Ruby).png |
item | <Название предмета> item.png <Название предмета> item <Вариант иконки>.png
|
Rabadon's Deathcap item.png |
itemTFT | <Название предмета> TFT item.png
|
Rabadon's Deathcap TFT item.png |
loading | <Имя чемпиона> <Образ чемпиона>Loading.png <Имя чемпиона><Образ чемпиона> Loading <Вариант иконки>.png
|
Lux OriginalLoading.png Lux ElementalistLoading.png Lux OriginalLoading old.png |
monster | <Имя монстра>Square.png <Имя монстра>Square <Вариант иконки>.png
|
Void HeraldSquare.png |
rune | <Название руны> rune.png <Название руны> rune <Вариант иконки>.png
|
Electrocute rune.png |
skin | <Имя чемпиона> <Образ чемпиона>Skin.jpg <Имя чемпиона><Образ чемпиона> Skin <Вариант иконки>.jpg
|
Lux OriginalSkin.jpg Lux ElementalistSkin.jpg Lux OriginalSkin old.jpg |
centered | <Имя чемпиона> <Образ чемпиона>Centered.jpg <Имя чемпиона><Образ чемпиона> Centered <Вариант иконки>.jpg
|
Lux OriginalCentered.jpg Lux ElementalistCentered.jpg Lux OriginalCentered old.jpg |
spell | <Заклинание призывателя> заклинание.png <Заклинание призывателя> заклинание <Вариант иконки>.png
|
Исцеление заклинание.png |
universe | <Название вселенной>.png
|
Runeterra.png |
- From Модуль:Filename/doc
-- <pre>
local Filename = {}
-- Dependencies
local lib = require('Модуль:Feature')
local rusLib = require('Модуль:RusLocalization')
local lolChampions = require('Модуль:ChampionData/data')
local lolSkins = require("Модуль:SkinData/data")
local lolItems = require("Модуль:ItemData/data")
--[[
{{#invoke: Filename | ability
| ability OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | buff
| buff OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | champion
| champion OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | championcircle
| champion OR 1 =
| skin OR 2 = -- can be empty
| variant OR 3 = -- can be empty
}}
{{#invoke: Filename | chroma
| champion OR 1 =
| skin OR 2 = -- can be empty
| chroma OR 3 =
}}
{{#invoke: Filename | item
| item OR 1 =
| enchantment OR 2 = -- can be empty
| variant OR 3 = -- can be empty
}}
{{#invoke: Filename | loading
| champion OR 1 =
| skin OR 2 =
| variant OR 3 = -- can be empty
}}
{{#invoke: Filename | mastery
| mastery OR 1 =
| season OR 2 =
}}
{{#invoke: Filename | monster
| monster OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | profileicon
| profileicon OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | rune
| rune OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | runeold
| stat OR 1 =
| rune OR 2 =
| tier OR 3 =
}}
{{#invoke: Filename | skin
| champion OR 1 =
| skin OR 2 =
| variant OR 3 = -- can be empty
}}
{{#invoke: Filename | spell
| spell OR 1 =
| variant OR 2 = -- can be empty
}}
{{#invoke: Filename | ward
| ward OR 1 =
}}
]]--
function Filename.ability(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s %s.png', args['ability'] or args[1], args['variant'] or args[2])
or
formatnil('%s.png', args['ability'] or args[1])
or
'Placeholder.svg')))
end
function Filename.buff(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s усиление %s.png', args['buff'] or args[1], args['variant'] or args[2])
or
formatnil('%s усиление.png', args['buff'] or args[1])
or
'Placeholder.svg')))
end
--[[function Filename.champion(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%sSquare %s.png', args['champion'] or args[1], args['variant'] or args[2])
or
formatnil('%sSquare.png', args['champion'] or args[1])
or
'ChampionSquare.png')))
end]]
function Filename.championcircle(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local champion = args['champion'] or args[1]
local parsedName = champion
if(lolChampions[champion].engname or lolChampions[champion].apiname ~= nil) then
parsedName = lolChampions[champion].engname or lolChampions[champion].apiname
end
local skinName = args['skin'] or args[2] or "Original"
if(skinName ~= "Original") then
if(lolSkins[champion]["skins"][skinName] ~= nil) then
if(lolSkins[champion]["skins"][skinName].engname) then
skinName = lolSkins[champion]["skins"][skinName].engname
end
else
skinName = "Original"
end
end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s %sCircle %s.png', parsedName, string.gsub(skinName, ' ', ''), args['variant'] or args[3])
or
formatnil('%s %sCircle.png', parsedName, string.gsub(skinName, ' ', ''))
or
'ChampionSquare.png')))
end
function Filename.championsquare(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local champion = args['champion'] or args[1]
local parsedName = champion
if(lolChampions[champion].engname or lolChampions[champion].apiname ~= nil) then
parsedName = lolChampions[champion].engname or lolChampions[champion].apiname
end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s %sSquare %s.png', parsedName, string.gsub(args['skin'] or args[2] or 'Original', ' ', ''), args['variant'] or args[3])
or
formatnil('%s %sSquare.png', parsedName, string.gsub(args['skin'] or args[2] or 'Original', ' ', ''))
or
'ChampionSquare.png')))
end
function Filename.chroma(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(formatnil('%s %s (%s).png', args['champion'] or args[1], string.gsub(args['skin'] or args[2] or 'Original', ' ', ''), args['chroma'] or args[3]) or 'Placeholder.svg')))
end
function Filename.item(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local itemName = args["item"] or args[1]
local parsedName = itemName
if(lolItems[itemName].engname ~= nil) then
parsedName = lolItems[itemName].engname
end
if (args['enchantment']) then
result = handleArgs(args, mw.text.trim(encode(
formatnil('%s (%s) item %s.png', parsedName, args['enchantment'] or args[2], args['variant'] or args[3])
or
formatnil('%s (%s) item.png', parsedName, args['enchantment'] or args[2])
or
'Placeholder.svg')))
else
result = handleArgs(args, mw.text.trim(encode(
formatnil('%s item %s.png', parsedName, args['variant'] or args[2])
or
formatnil('%s item.png', parsedName)
or
'Placeholder.svg')))
end
return result
end
function Filename.loading(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local champion = args['champion'] or args[1]
local parsedName = champion
if(lolChampions[champion].engname or lolChampions[champion].apiname ~= nil) then
parsedName = lolChampions[champion].engname or lolChampions[champion].apiname
end
local skinName = args['skin'] or args[2] or "Original"
if(skinName ~= "Original") then
if(lolSkins[champion]["skins"][skinName] ~= nil) then
if(lolSkins[champion]["skins"][skinName].engname) then
skinName = lolSkins[champion]["skins"][skinName].engname
end
else
skinName = "Original"
end
end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s %sLoading %s.jpg', parsedName, string.gsub(skinName, ' ', ''), args['variant'] or args[3])
or
formatnil('%s %sLoading.jpg', parsedName, string.gsub(skinName, ' ', ''))
or
'Champion SkinLoading.jpg')))
end
function Filename.mastery(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s талант %d.png', args['mastery'] or args[1], tonumber(args['season'] or args[2]))
or
'Placeholder.svg')))
end
function Filename.monster(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%sSquare %s.png', args['monster'] or args[1], args['variant'] or args[2])
or
formatnil('%sSquare.png', args['monster'] or args[1])
or
'Placeholder.svg')))
end
function Filename.profileicon(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s profileicon %s.png', args['profileicon'] or args[1], args['variant'] or args[2])
or
formatnil('%s profileicon.png', args['profileicon'] or args[1])
or
'Placeholder.svg')))
end
function Filename.rune(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s руна %s.png', args['rune'] or args[1], args['variant'] or args[2])
or
formatnil('%s руна.png', args['rune'] or args[1])
or
'Placeholder.svg')))
end
function Filename.runeold(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s %s %d.png', args['stat'] or args[1], args['rune'] or args[2], tonumber(args['tier'] or args[3]))
or
'Placeholder.svg')))
end
function Filename.skin(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local champion = args['champion'] or args[1]
local parsedName = champion
if(lolChampions[champion].engname or lolChampions[champion].apiname ~= nil) then
parsedName = lolChampions[champion].engname or lolChampions[champion].apiname
end
local skinName = args['skin'] or args[2] or "Original"
if(skinName ~= "Original") then
if(lolSkins[champion]["skins"][skinName] ~= nil) then
if(lolSkins[champion]["skins"][skinName].engname) then
skinName = lolSkins[champion]["skins"][skinName].engname
end
else
skinName = "Original"
end
end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s %sSkin %s.jpg', parsedName, string.gsub(skinName, ' ', ''), args['variant'] or args[3])
or
formatnil('%s %sSkin.jpg', parsedName, string.gsub(skinName, ' ', ''))
or
'Champion SkinSkin.jpg')))
end
function Filename.spell(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(
formatnil('%s заклинание %s.png', args['spell'] or args[1], args['variant'] or args[2])
or
formatnil('%s заклинание.png', args['spell'] or args[1])
or
'Placeholder.svg')))
end
function Filename.ward(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(formatnil('%s тотем.png', args['ward'] or args[1]) or 'Placeholder.svg')))
end
function Filename.faction(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
return handleArgs(args, mw.text.trim(encode(formatnil('%s Герб иконка.png', args['faction'] or args[1]) or 'Placeholder.svg')))
end
function Filename.universe(frame)
local args; if frame.args == nil then args = lib.arguments(frame) else args = lib.arguments(frame.args) end
local skinlines = mw.loadData('Модуль:UniverseData/skinlines')
local universes = mw.loadData('Модуль:UniverseData/au')
local sLine = args['universe'] or args[1]
local icon = 'Universe Default icon.png'
local universeIcons = { -- Содержит исключения из правил поиска иконок
['Горизонт событий'] = "Galaxies 2020 profileicon.png",
['Звездные защитники'] = "Mark of the Star Guardian profileicon.png",
['Хаос и Порядок'] = "Night & Dawn Event profileicon.png"
}
if skinlines[sLine] then
icon = skinlines[sLine].icon or 'Universe Default icon.png'
return handleArgs(args, mw.text.trim(encode(formatnil(icon))))
elseif universes[sLine] then -- Если не линейка образов, но название вселенной
if universeIcons[sLine] then -- Проверка исключения
icon = universeIcons[sLine]
else -- Взять иконку у первой линейки из этой вселенной
icon = skinlines[universes[sLine][1]]['icon'] or 'Universe Default icon.png'
end
return handleArgs(args, mw.text.trim(encode(formatnil(icon))))
end
return handleArgs(args, mw.text.trim(encode(formatnil(icon))))
end
-- Helper functions
function Filename.encode(frame)
return mw.text.trim(encode(frame.args[1]))
end
function encode(text)
if text == nil then return nil end
text = mw.ustring.gsub(text, ':', '-')
text = mw.ustring.gsub(text, '/', '')
return text
end
function handleArgs(args, filename)
local result = filename
if args['prefix'] then filename = args['prefix'] .. filename end
if args['suffix'] then filename = filename .. args['suffix'] end
if args['parse'] then filename = mw.getCurrentFrame():preprocess(filename) end
return result
end
function formatnil(text, ...)
if select("#", ...) == 0 then return text end
for i=1, select("#", ...) do
if select(i, ...) == nil then return nil end
end
return mw.ustring.format(text, ...)
end
function adjustOriginal(champion)
local skinData = mw.loadData("Module:SkinData/data")
local ans = "Классический"
if skinData[champion].skins["Классический"] == nil then
return "Классическая"
end
return ans
end
return Filename
-- </pre>
-- [[Category:Lua]]