Модуль:Предмет: различия между версиями

Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 13: Строка 13:
local function wrapLink(text, target)
local function wrapLink(text, target)
return (text ~= '' and target and string.format('[[%s|%s]]', target, text) or text)
return (text ~= '' and target and string.format('[[%s|%s]]', target, text) or text)
end
local function hasAction(frame, id)
if trim(id) == '' then
return false
end
local result = frame:preprocess(
string.format('{{#invoke:GetField|hasComp|%s|Action}}', id)
)
return trim(result):lower() == 'true'
end
end


Строка 37: Строка 49:
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)
)
)


Строка 42: Строка 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 nameStr or linkRaw)
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