Изменения

Модуль:Обжиг

324 байта убрано, 19:53, 14 августа 2016
Нет описания правки
local p = {}
 
local slot = require( [[Модуль:Инвентарный слот]] )
local getParts = slot.getParts
local prefixes = slot.prefixes
 
-- Сервисная функция
local function prefixedLink( name, mod )
local prefix = ''
for _, thisPrefix in pairs( prefixes ) do
if mw.ustring.find(name, '^' .. thisPrefix .. ' ' ) then
prefix = thisPrefix .. ' '
name = mw.ustring.gsub(name, '^' .. prefix, '' )
break
end
end
local page = ''
if mod and mod ~= '' then
page = mod .. '/'
end
return prefix .. '[[' .. page .. name .. '|' .. name .. ']]'
end
 
function p.table( f )
local args = f
f = mw.getCurrentFrame()
end
local getParts = require( 'Модуль:Инвентарный слот' ).getParts
-- Начинать таблицу при необходимости
local multirow = f:callParserFunction( '#dplvar', 'multirow' )
local process = ' [[Обжиг|Процесс]]'
if args["Прогресс"] and args["Мод"] then
process=' [[' .. args["Мод"] .. '/' .. args["Прогресс"] .. '|Процесс]]'
end
header = table.concat( {
-- Ячейка с названием
local nameCell
if f:callParserFunction( '#dplvar', 'smeltingname' ) == '1' then if args["название"] or '' ~= '' then nameCell = args["название"] elseif multirow or f:callParserFunction( '#dplvar', 'smeltingname' ) == '1' then else local names = {} local links = {} for v in mw.text.gsplit( args["Выход"2] or '', '%s*;%s*' ) do parts = getParts( v, args["Мод"] ) if not names[( parts.mod = or '' ) .. parts.mod or name] then local link = '' if not names[parts.mod then link = parts.mod .. ':/' .. parts.name] .. '|' end if parts.name:find( '^Люб' ) then table.insert( links, prefixedLinkmw.ustring.sub( parts.name, 0, 6 ) .. '[[' .. link .. mw.ustring.sub( parts.mod name, 6 ) .. ']]' ) else namestable.insert( links, '[[parts' .mod .. ':' link .. parts.name.. ']] = 1' )
end
names[( parts.mod or '' ) .. parts.name] = 1
end
nameCell = table.concat( links, '&nbsp;или<br>' )
end
nameCell = table.concat( links, '&nbsp;или<br>' )
end