Изменения

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

455 байтов добавлено, 22:51, 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 = frequire( 'Модуль:getParentProcessArgs' ).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["мод"] = parts["мод"] or '' if not names[( parts["мод"] or .. ':' ) .. parts.name] then local link = '' if table.insert( links, prefixedLink( parts.name, parts["мод"] then) ) link = names[parts["мод"] .. '/:' .. 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["мод"] 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["мод"] then
link = parts["мод"] .. '/' .. 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 = {
["Ресурс"] = args[1],
["Выход"] = args[2],
["Прогресс"] = args["Прогресс"],
["Расход"] = args["Расход"]
}  
-- Ячейка с рецептом