Модуль:Предмет: различия между версиями
Pok (обсуждение | вклад) Нет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| (не показано 6 промежуточных версий этого же участника) | |||
| Строка 15: | Строка 15: | ||
end | end | ||
local function | local function hasAction(frame, id) | ||
if | if trim(id) == '' then | ||
return | return false | ||
end | end | ||
return '' | |||
local result = frame:preprocess( | |||
string.format('{{#invoke:GetField|hasComp|%s|Action}}', id) | |||
) | |||
return trim(result):lower() == 'true' | |||
end | end | ||
| Строка 37: | Строка 42: | ||
local isWrap = argsRaw.wrapper ~= nil | local isWrap = argsRaw.wrapper ~= nil | ||
local isVert = argsRaw.vertical ~= nil | local isVert = argsRaw.vertical ~= nil | ||
local hasId = (JsonPaths.has(id) == true) | |||
local | local projPrefix = hasId and JsonPaths.prefix() or '' | ||
local projPrefix = | |||
-- Получение имени | -- Получение имени | ||
local nameStr = frame:preprocess( | local nameStr = frame:preprocess( | ||
string.format('{{#invoke:Entity Lookup|getname|%s}}', id) | string.format('{{#invoke:Entity Lookup|getname|%s}}', id) | ||
) | |||
local linkNameStr = frame:preprocess( | |||
string.format('{{#invoke:Entity Lookup|getname|%s|suffix=1}}', id) | |||
) | ) | ||
| Строка 50: | Строка 58: | ||
local labelRaw = argsRaw.label or argsRaw.l | local labelRaw = argsRaw.label or argsRaw.l | ||
local label = (labelRaw == nil and nameStr) or (labelRaw == '' and '' or labelRaw) | local label = (labelRaw == nil and nameStr) or (labelRaw == '' and '' or labelRaw) | ||
local linkRaw = argsRaw.link | local linkRaw = argsRaw.link | ||
local linkTgt = linkRaw == nil and '' or (linkRaw == '' and | local linkTgt = linkRaw == nil and '' or (linkRaw == '' and linkNameStr or linkRaw) | ||
if hasAction(frame, id) and linkTgt ~= '' then | |||
linkTgt = linkTgt .. ' (способность)' | |||
end | |||
if linkTgt ~= '' and projPrefix ~= '' then | if linkTgt ~= '' and projPrefix ~= '' then | ||
| Строка 60: | Строка 73: | ||
-- Изображение | -- Изображение | ||
local imgFile = argsRaw.image or argsRaw.img or (id .. '.png') | local imgFile = argsRaw.image or argsRaw.img or (JsonPaths.prefixFile(id) .. '.png') | ||
local img = imgFile ~= '' and formatImage(imgFile, size, linkTgt) or '' | local img = imgFile ~= '' and formatImage(imgFile, size, linkTgt) or '' | ||
if argsRaw.imageTooltip then | if argsRaw.imageTooltip then | ||