Модуль:Песочница/Pok: различия между версиями

мНет описания правки
мНет описания правки
Строка 80: Строка 80:
     end
     end


    -- Вспомогательная функция для обработки одного рецепта
-- Вспомогательная функция для обработки одного рецепта
    local function processRecipe(recipeId, defaultDiscipline, isEmag)
local function processRecipe(recipeId, defaultDiscipline, isEmag)
        local recipe = getRecipeDetails(recipeId)
    local recipe = getRecipeDetails(recipeId)
        if recipe then
    if recipe then
            if recipe.result then
        if recipe.result then
                local info = {
            local info = {
                    result = recipe.result,
                id = recipe.id,
                    completetime = recipe.completetime,
                result = recipe.result,
                    materials = recipe.materials,
                completetime = recipe.completetime,
                    discipline = defaultDiscipline,
                materials = recipe.materials,
                    tier = 0,
                discipline = defaultDiscipline,
                    isEmag = isEmag or false
                tier = 0,
                }
                isEmag = isEmag or false
                if defaultDiscipline ~= "Static" then
            }
                    local researchInfo = findInResearch(recipeId)
            if defaultDiscipline ~= "Static" then
                    if researchInfo then
                local researchInfo = findInResearch(recipeId)
                        info.discipline = researchInfo.discipline
                if researchInfo then
                        info.tier = researchInfo.tier
                    info.discipline = researchInfo.discipline
                        info.researchName = researchInfo.name
                    info.tier = researchInfo.tier
                    end
                    info.researchName = researchInfo.name
                end
                end
                table.insert(recipes, info)
            end
            elseif recipe.resultReagents then
            table.insert(recipes, info)
                for reagent, amount in pairs(recipe.resultReagents) do
        elseif recipe.resultReagents then
                    local reagentName = chemMapping[reagent] or reagent
            for reagent, amount in pairs(recipe.resultReagents) do
                    table.insert(recipes, {
                local reagentName = chemMapping[reagent] or reagent
                        result = reagentName .. "|amount=" .. amount .. "ед.|mode-chem=1",
                table.insert(recipes, {
                        completetime = recipe.completetime,
                    id = recipe.id,
                        materials = recipe.materials,
                    result = reagentName .. "|amount=" .. amount .. "ед.|mode-chem=1",
                        discipline = defaultDiscipline,
                    completetime = recipe.completetime,
                        tier = 0,
                    materials = recipe.materials,
                        isEmag = isEmag or false
                    discipline = defaultDiscipline,
                    })
                    tier = 0,
                    break
                    isEmag = isEmag or false
                end
                })
            end
                break
        end
            end
    end
        end
    end
end


     -- Обработка рецептов для lathe.Lathe (старый и новый формат)
     -- Обработка рецептов для lathe.Lathe (старый и новый формат)
Строка 308: Строка 310:


         for _, recipe in ipairs(recipes) do
         for _, recipe in ipairs(recipes) do
             if recipe.result == itemId then
             if recipe.id == itemId or recipe.result == itemId then
                 foundAny = true
                 foundAny = true
                 out = out .. '|-' .. "\n"
                 out = out .. '|-' .. "\n"