Изменения

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

392 байта убрано, 22:54, 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
if f == mw.getCurrentFrame() then
args = requiref:getParent( 'Модуль:ProcessArgs' ).merge()args
else
f = mw.getCurrentFrame()
end
local getParts = require( 'Модуль:Инвентарный слот' ).getParts
-- Начинать таблицу при необходимости
end
local process = ' [[Обжиг|Процесс]]'
if args["Прогресс"] and args["Модмод"] then process=' Процесс]]'
end
header = table.concat( {
local fuel = args["топливо"] or ''
if fuel == '' then
fuel = 'v:Любое топливо'
end
-- Ячейка с названием
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["Мод"] ) parts.mod = parts.mod or '' if not names[( parts.mod .. or ':' ) .. parts.name] then table.insert( links, prefixedLink( parts.name, local link = '' if parts.mod ) )then names[link = parts.mod .. ':/' .. parts.name] = 1.. '|'
end
if parts.name:find( '^Люб' ) then
table.insert( links, mw.ustring.sub( parts.name, 0, 6 ) .. '[[' .. link .. mw.ustring.sub( parts.name, 6 ) .. ']]' )
else
table.insert( links, '[[' .. link .. parts.name .. ']]' )
end
names[( parts.mod or '' ) .. parts.name] = 1
end
nameCell = table.concat( links, '&nbsp;или<br>' )
end
nameCell = table.concat( links, '&nbsp;или<br>' )
end
end
for item in mw.text.gsplit( v, '%s*;%s*' ) do
local parts = getParts( item, args["Мод"] )
if parts.name ~= '' and not ingredients[parts.name] and ( k == 2 or k == 1 and v ~= fuel ) then
local link = ''
if parts.name:find( '^Люб' ) then
if parts.mod then
link = parts.mod .. '/' .. mw.ustring.gsub( mw.ustring.sub( parts.name, 7 ), "^%l", mw.ustring.upper ) .. '|'
end
table.insert( ingredientsCell, separator .. mw.ustring.sub( parts.name, 0, 6 ) .. '[[' .. link .. mw.ustring.sub( parts.name, 6 ) .. ']]' )
else
-- Остальные аргументы
local newArgs = {} newArgs["Ресурс"] = args[1], newArgs["Выход"] = args[2], newArgs["Топливо"] = fuel, newArgs["РНазв"] = args["рНазв"], newArgs["ВНазв"] = args["вНазв"], newArgs["ТНазв"] = args["тНазв"], newArgs["модМод"] = args["Мод"], newArgs["Прогресс"] = args["Прогресс"], newArgs["Расход"] = args["Расход"] }
-- Ячейка с рецептом