From 41785a725267d7196bf8b91af1c38789f1f3d6a3 Mon Sep 17 00:00:00 2001 From: Simon Brodtmann Date: Sat, 11 Oct 2025 00:56:45 +0200 Subject: [PATCH] 2.0.0 --- .editorconfig | 3 + .gitignore | 2 + IntermediatesForYou2/LICENSE.md | 20 + IntermediatesForYou2/README.md | 16 + IntermediatesForYou2/changelog.txt | 66 ++ IntermediatesForYou2/data-final-fixes.lua | 1 + IntermediatesForYou2/data-updates.lua | 1 + IntermediatesForYou2/data-util.lua | 930 ++++++++++++++++++ IntermediatesForYou2/data.lua | 3 + .../icons/advanced-electronic-components.png | Bin 0 -> 2510 bytes .../graphics/icons/elementite-dust.png | Bin 0 -> 19677 bytes .../graphics/icons/elementite.png | Bin 0 -> 25366 bytes .../graphics/icons/elementium-plate.png | Bin 0 -> 4995 bytes .../graphics/icons/satellite-body.png | Bin 0 -> 9733 bytes .../graphics/icons/shock-absorber.png | Bin 0 -> 5684 bytes IntermediatesForYou2/graphics/icons/slag.png | Bin 0 -> 24326 bytes .../graphics/icons/spring.png | Bin 0 -> 6766 bytes .../icons/trace-rare-ore-extraction.png | Bin 0 -> 21549 bytes .../graphics/icons/turret-base.png | Bin 0 -> 3552 bytes .../graphics/icons/turret-large-base.png | Bin 0 -> 10441 bytes IntermediatesForYou2/info.json | 39 + .../locale/en/IntermediatesForYou.cfg | 66 ++ IntermediatesForYou2/prototypes/recipes.lua | 399 ++++++++ .../prototypes/se-recycling.lua | 47 + .../prototypes/technology.lua | 85 ++ IntermediatesForYou2/recipe-final-fix.lua | 44 + IntermediatesForYou2/recipe-modify.lua | 240 +++++ IntermediatesForYou2/thumbnail.png | Bin 0 -> 3516 bytes README.md | 5 +- 29 files changed, 1966 insertions(+), 1 deletion(-) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 IntermediatesForYou2/LICENSE.md create mode 100644 IntermediatesForYou2/README.md create mode 100644 IntermediatesForYou2/changelog.txt create mode 100644 IntermediatesForYou2/data-final-fixes.lua create mode 100644 IntermediatesForYou2/data-updates.lua create mode 100644 IntermediatesForYou2/data-util.lua create mode 100644 IntermediatesForYou2/data.lua create mode 100644 IntermediatesForYou2/graphics/icons/advanced-electronic-components.png create mode 100644 IntermediatesForYou2/graphics/icons/elementite-dust.png create mode 100644 IntermediatesForYou2/graphics/icons/elementite.png create mode 100644 IntermediatesForYou2/graphics/icons/elementium-plate.png create mode 100644 IntermediatesForYou2/graphics/icons/satellite-body.png create mode 100644 IntermediatesForYou2/graphics/icons/shock-absorber.png create mode 100644 IntermediatesForYou2/graphics/icons/slag.png create mode 100644 IntermediatesForYou2/graphics/icons/spring.png create mode 100644 IntermediatesForYou2/graphics/icons/trace-rare-ore-extraction.png create mode 100644 IntermediatesForYou2/graphics/icons/turret-base.png create mode 100644 IntermediatesForYou2/graphics/icons/turret-large-base.png create mode 100644 IntermediatesForYou2/info.json create mode 100644 IntermediatesForYou2/locale/en/IntermediatesForYou.cfg create mode 100644 IntermediatesForYou2/prototypes/recipes.lua create mode 100644 IntermediatesForYou2/prototypes/se-recycling.lua create mode 100644 IntermediatesForYou2/prototypes/technology.lua create mode 100644 IntermediatesForYou2/recipe-final-fix.lua create mode 100644 IntermediatesForYou2/recipe-modify.lua create mode 100644 IntermediatesForYou2/thumbnail.png diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..bbf3e21 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,3 @@ +[*] +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..85e49ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea +*.zip \ No newline at end of file diff --git a/IntermediatesForYou2/LICENSE.md b/IntermediatesForYou2/LICENSE.md new file mode 100644 index 0000000..ee22ee9 --- /dev/null +++ b/IntermediatesForYou2/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2023 Timeken + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/IntermediatesForYou2/README.md b/IntermediatesForYou2/README.md new file mode 100644 index 0000000..7db4260 --- /dev/null +++ b/IntermediatesForYou2/README.md @@ -0,0 +1,16 @@ +# MetalsForYou + +## Version History +See changelog.txt + +## Created by + + +## Thanks to + +### Compatibility + + +### Localization + + diff --git a/IntermediatesForYou2/changelog.txt b/IntermediatesForYou2/changelog.txt new file mode 100644 index 0000000..6c51ca7 --- /dev/null +++ b/IntermediatesForYou2/changelog.txt @@ -0,0 +1,66 @@ +--------------------------------------------------------------------------------------------------- +Version: 0.6.1 +Date: 2024-07-30 + Features: + - Increased elementite smelting from 2 -> 4 +--------------------------------------------------------------------------------------------------- +Version: 0.6.0 +Date: 2024-07-16 + Features: + - Added K2 imersite powder recipe if 248k is installed. + - Updated elementite production chain. + - Updated compatibility with Tantalite. + - Fixed missing locale for elementite processing. +--------------------------------------------------------------------------------------------------- +Version: 0.5.0 +Date: 2024-06-29 + Features: + - Added slag from sand if K2 or AAI is installed. + - Added elementite if SE is installed. +--------------------------------------------------------------------------------------------------- +Version: 0.4.2 +Date: 2024-01-21 + Features: + - Removed old unused files. +--------------------------------------------------------------------------------------------------- +Version: 0.4.1 +Date: 2024-01-06 + Features: + - Moved silver pyrometallurgi to ChemistryForYou2 mod. +--------------------------------------------------------------------------------------------------- +Version: 0.4.0 +Date: 2023-12-28 + Features: + - Added SE recycling recipe for long handed inserter. + - Added inserter parts to stack filter inserter. + - Added silver as a byproduct to zinc. (I need more silver) + - Added silver pyrometallurgi recipe to convert zinc and lead ore to silver. (I need even more silver!) + - Added low quality advanced circuit recipe if ThemTharHills is installed. (ThemTharHills needs too much gold when you have many mods and SE) + - Changed stack filter inserter to use filter inserter instead of stack inserter. +--------------------------------------------------------------------------------------------------- +Version: 0.3.1 +Date: 2023-12-24 + Features: + - Changed modules 2 and 3 recipes to be more balanced if SE is installed. +--------------------------------------------------------------------------------------------------- +Version: 0.3.0 +Date: 2023-12-19 + Features: + - Added springs. + - Added shock absorber. +--------------------------------------------------------------------------------------------------- +Version: 0.2.0 +Date: 2023-12-04 + Features: + - Added large turret base. + - Added large turret base to some rampant arsenal and K2 turrets. +--------------------------------------------------------------------------------------------------- +Version: 0.1.1 +Date: 2023-12-04 + Features: + - Fixed startup error when not playing If I Had a Nickel hardmode. +--------------------------------------------------------------------------------------------------- +Version: 0.1.0 +Date: 2023-12-03 + Features: + - Alpha release. \ No newline at end of file diff --git a/IntermediatesForYou2/data-final-fixes.lua b/IntermediatesForYou2/data-final-fixes.lua new file mode 100644 index 0000000..b95c07f --- /dev/null +++ b/IntermediatesForYou2/data-final-fixes.lua @@ -0,0 +1 @@ +local util = require("recipe-final-fix") \ No newline at end of file diff --git a/IntermediatesForYou2/data-updates.lua b/IntermediatesForYou2/data-updates.lua new file mode 100644 index 0000000..09f8c28 --- /dev/null +++ b/IntermediatesForYou2/data-updates.lua @@ -0,0 +1 @@ +require("recipe-modify") \ No newline at end of file diff --git a/IntermediatesForYou2/data-util.lua b/IntermediatesForYou2/data-util.lua new file mode 100644 index 0000000..4b2d096 --- /dev/null +++ b/IntermediatesForYou2/data-util.lua @@ -0,0 +1,930 @@ +local util = {} + +-- se landfill +-- params: ore, icon_size +function util.se_landfill(params) + if mods["space-exploration"] then + if not params.icon_size then params.icon_size = 64 end + local lname="landfill-"..params.ore + data:extend({ + { + type = "recipe", + icons = { + { icon = "__base__/graphics/icons/landfill.png", icon_size = 64, icon_mipmaps = 3 }, + { icon = "__Chromium2__/graphics/icons/"..params.ore..".png", icon_size = params.icon_size, scale = 0.33*64/params.icon_size}, + }, + energy_required = 1, + enabled=false, + name = lname, + category = "hard-recycling", + order = "z-b-"..params.ore, + subgroup = "terrain", + results = {{type="item", name="landfill", amount=1}}, + ingredients = {{type="item", name=params.ore, amount=50}}, + } + }) + util.add_unlock("se-recycling-facility", lname) + end +end + +-- se matter +-- params: ore, energy_required, quant_out, quant_in, icon_size, stream_out +function util.se_matter(params) + if not params.quant_in then params.quant_in = params.quant_out end + if not params.icon_size then params.icon_size = 64 end + local fname = "matter-fusion-"..params.ore + local sedata = mods["Krastorio2"] and "se-kr-matter-synthesis-data" or "se-fusion-test-data" + local sejunk = mods["Krastorio2"] and "se-broken-data" or "se-junk-data" + data:extend({ + { + type = "recipe", + name = fname, + localised_name = {"recipe-name.se-matter-fusion-to", {"item-name."..params.ore}}, + category = "space-materialisation", + subgroup = "materialisation", + order = "a-b-z", + icons = { + {icon = "__space-exploration-graphics__/graphics/blank.png", + icon_size = 64, scale = 0.5}, + {icon = "__space-exploration-graphics__/graphics/icons/fluid/particle-stream.png", + icon_size = 64, scale = 0.33, shift = {8,-8}}, + {icon = "__Chromium2__/graphics/icons/"..params.ore..".png", + icon_size = params.icon_size, scale = 0.33 * 64/params.icon_size, shift={-8, 8}}, + {icon = "__space-exploration-graphics__/graphics/icons/transition-arrow.png", + icon_size = 64, scale = 0.5}, + }, + energy_required = params.energy_required, + enabled = false, + ingredients = { + {type = "item", name = sedata, amount=1}, + {type="fluid", name="se-particle-stream", amount=50}, + {type="fluid", name="se-space-coolant-supercooled", amount=25}, + }, + results = { + {type = "item", name = params.ore, amount = params.quant_out}, + {type="item", name="se-contaminated-scrap", amount=1}, + {type="item", name=sedata, amount=1, probability=.99}, + {type="item", name=sejunk, amount=1, probability=.01}, + {type="fluid", name="se-space-coolant-hot", amount=25, ignored_by_productivity = 25, ignored_by_stats = 25}, + } + } + }) + util.add_unlock("se-space-matter-fusion", fname) + + if mods["Krastorio2"] then + local lname = params.ore.."-to-particle-stream" + data:extend({ + enabled = false, + { + type = "recipe", + name = lname, + localised_name = {"recipe-name.se-kr-matter-liberation", {"item-name."..params.ore}}, + category = "space-materialisation", + subgroup = "advanced-particle-stream", + order = "a-b-z", + icons = { + {icon = "__space-exploration-graphics__/graphics/blank.png", + icon_size = 64, scale = 0.5}, + {icon = "__space-exploration-graphics__/graphics/icons/fluid/particle-stream.png", + icon_size = 64, scale = 0.33, shift = {-8,8}}, + {icon = "__Chromium2__/graphics/icons/"..params.ore..".png", + icon_size = params.icon_size, scale = 0.33 * 64/params.icon_size, shift={8, -8}}, + {icon = "__space-exploration-graphics__/graphics/icons/transition-arrow.png", + icon_size = 64, scale = 0.5}, + }, + energy_required = 30, + enabled = false, + ingredients = { + {type="item", name="se-kr-matter-liberation-data", amount=1}, + {type="item", name=params.ore, amount=params.quant_in}, + {type="fluid", name="se-particle-stream", amount=50}, + }, + results = { + {type="item", name="se-kr-matter-liberation-data", amount=1, probability=.99}, + {type="item", name=sejunk, amount=1, probability=.01}, + {type="fluid", name="se-particle-stream", amount=params.stream_out, ignored_by_productivity = 50, ignored_by_stats = 50}, + } + } + }) + if not data.raw.technology["bz-advanced-stream-production"] then + data:extend({ + { + type = "technology", + name ="bz-advanced-stream-production", + localised_name = {"", {"technology-name.se-kr-advanced-stream-production"}, " 2"}, + icon = "__space-exploration-graphics__/graphics/technology/material-fabricator.png", + icon_size = 128, + effects = {}, + unit = { + count = 100, + time = 15, + ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, + {"matter-tech-card", 1}, + {"se-deep-space-science-pack-1", 1}, + } + }, + prerequisites = {"se-kr-advanced-stream-production"}, + }, + }) + end + util.add_unlock("bz-advanced-stream-production", lname) + end +end + +-- Get the normal prototype for a recipe -- either .normal or the recipe itself +function util.get_normal(recipe_name) + if data.raw.recipe[recipe_name] then + recipe = data.raw.recipe[recipe_name] + if recipe.ingredients then + return recipe + end + end +end + +-- Set/override a technology's prerequisites +function util.set_prerequisite(technology_name, prerequisites) + local technology = data.raw.technology[technology_name] + if technology then + technology.prerequisites = {} + for i, prerequisite in pairs(prerequisites) do + if data.raw.technology[prerequisite] then + table.insert(technology.prerequisites, prerequisite) + end + end + end +end + +-- Add a prerequisite to a given technology +function util.add_prerequisite(technology_name, prerequisite) + local technology = data.raw.technology[technology_name] + if technology and data.raw.technology[prerequisite] then + if technology.prerequisites then + for i, pre in pairs(technology.prerequisites) do + if pre == prerequisite then return end + end + table.insert(technology.prerequisites, prerequisite) + else + technology.prerequisites = {prerequisite} + end + end +end + +-- Remove a prerequisite from a given technology +function util.remove_prerequisite(technology_name, prerequisite) + local technology = data.raw.technology[technology_name] + local index = -1 + if technology then + for i, prereq in pairs(technology.prerequisites) do + if prereq == prerequisite then + index = i + break + end + end + if index > -1 then + table.remove(technology.prerequisites, index) + end + end +end + + +-- Add an effect to a given technology +function util.add_effect(technology_name, effect) + local technology = data.raw.technology[technology_name] + if technology then + if not technology.effects then technology.effects = {} end + if effect and effect.type == "unlock-recipe" then + if not data.raw.recipe[effect.recipe] then + return + end + table.insert(technology.effects, effect) + end + end +end + +-- Add an effect to a given technology to unlock recipe +function util.add_unlock(technology_name, recipe) + util.add_effect(technology_name, {type="unlock-recipe", recipe=recipe}) +end + +-- remove recipe unlock effect from a given technology, multiple times if necessary +function util.remove_recipe_effect(technology_name, recipe_name) + local technology = data.raw.technology[technology_name] + local index = -1 + local cnt = 0 + if technology and technology.effects then + for i, effect in pairs(technology.effects) do + if effect.type == "unlock-recipe" and effect.recipe == recipe_name then + index = i + cnt = cnt + 1 + end + end + if index > -1 then + table.remove(technology.effects, index) + if cnt > 1 then -- not over yet, do it again + util.remove_recipe_effect(technology_name, recipe_name) + end + end + end +end + +-- Set technology ingredients +function util.set_tech_recipe(technology_name, ingredients) + local technology = data.raw.technology[technology_name] + if technology then + technology.unit.ingredients = ingredients + end +end + +function util.set_enabled(recipe_name, enabled) + if data.raw.recipe[recipe_name] then + data.raw.recipe[recipe_name].enabled = enabled + end +end + +function util.set_hidden(recipe_name) + if data.raw.recipe[recipe_name] then + data.raw.recipe[recipe_name].hidden = true + end +end + +-- Add a given quantity of ingredient to a given recipe +function util.add_or_add_to_ingredient(recipe_name, ingredient, quantity) + if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then + add_or_add_to_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) + end +end + +function add_or_add_to_ingredient(recipe, ingredient, quantity) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == ingredient or existing.name == ingredient then + add_to_ingredient(recipe, ingredient, quantity) + return + end + end + table.insert(recipe.ingredients, {ingredient, quantity}) + end +end + +-- Add a given quantity of ingredient to a given recipe +function util.add_ingredient(recipe_name, ingredient, quantity) + local is_fluid = not not data.raw.fluid[ingredient] + if data.raw.recipe[recipe_name] and (data.raw.item[ingredient] or is_fluid) then + add_ingredient(data.raw.recipe[recipe_name], ingredient, quantity, is_fluid) + end +end + +function add_ingredient(recipe, ingredient, quantity, is_fluid) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing.name == ingredient then + return + end + end + if is_fluid then + table.insert(recipe.ingredients, {type="fluid", name=ingredient, amount=quantity}) + else + table.insert(recipe.ingredients, {type = "item", name = ingredient, amount = quantity}) + end + end +end + +-- Add a given ingredient prototype to a given recipe +function util.add_ingredient_raw(recipe_name, ingredient) + if data.raw.recipe[recipe_name] and (data.raw.item[ingredient.name] or data.raw.item[ingredient[1]]) then + add_ingredient_raw(data.raw.recipe[recipe_name], ingredient) + end +end + +function add_ingredient_raw(recipe, ingredient) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if (existing.name and existing.name == ingredient.name) then + return + end + end + table.insert(recipe.ingredients, ingredient) + end +end + +-- Set an ingredient to a given quantity +function util.set_ingredient(recipe_name, ingredient, quantity) + if data.raw.recipe[recipe_name] and data.raw.item[ingredient] then + set_ingredient(data.raw.recipe[recipe_name], ingredient, quantity) + end +end + +function set_ingredient(recipe, ingredient, quantity) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing.name == ingredient then + existing.amount = quantity + existing.amount_min = nil + existing.amount_max = nil + return + end + end + table.insert(recipe.ingredients, {ingredient, quantity}) + end +end +-- Add a given quantity of product to a given recipe. +-- Only works for recipes with multiple products +function util.add_product(recipe_name, product) + if data.raw.recipe[recipe_name] and + (data.raw.item[product.name] or data.raw.fluid[product.name]) then + add_product(data.raw.recipe[recipe_name], product) + end +end + +function add_product(recipe, product) + if recipe ~= nil then + if recipe.results == nil then + recipe.results = {} + end + table.insert(recipe.results, product) + end +end + +-- Get the amount of the ingredient, will check base/normal not expensive +function util.get_ingredient_amount(recipe_name, ingredient_name) + local recipe = data.raw.recipe[recipe_name] + if recipe then + if recipe.ingredients then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == ingredient_name then return ingredient.amount end + end + end + return 1 + end + return 0 +end + +-- Get the amount of the result, will check base/normal not expensive +function util.get_amount(recipe_name, product) + if not product then product = recipe_name end + local recipe = data.raw.recipe[recipe_name] + if recipe then + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name == product then return result.amount end + end + end + return 1 + end + return 0 +end + +-- Replace one ingredient with another in a recipe +-- Use amount to set an amount. If that amount is a multiplier instead of an exact amount, set multiply true. +function util.replace_ingredient(recipe_name, old, new, amount, multiply) + if data.raw.recipe[recipe_name] and (data.raw.item[new] or data.raw.fluid[new]) then + replace_ingredient(data.raw.recipe[recipe_name], old, new, amount or 1, multiply) + end +end + +function replace_ingredient(recipe, old, new, amount, multiply) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing.name == new then + return + end + end + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == old then + ingredient.name = new + if multiply then + ingredient.amount = amount * ingredient.amount + else + ingredient.amount = amount + end + end + end + end +end + +-- Remove an ingredient from a recipe +function util.remove_ingredient(recipe_name, old) + if data.raw.recipe[recipe_name] then + remove_ingredient(data.raw.recipe[recipe_name], old) + end +end + +function remove_ingredient(recipe, old) + index = -1 + if recipe ~= nil and recipe.ingredients ~= nil then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == old then + index = i + break + end + end + if index > -1 then + table.remove(recipe.ingredients, index) + end + end +end + +-- Replace an amount of an ingredient in a recipe. Keep at least 1 of old. +function util.replace_some_ingredient(recipe_name, old, old_amount, new, new_amount) + local is_fluid = not not data.raw.fluid[new] + if data.raw.recipe[recipe_name] and (data.raw.item[new] or is_fluid) then + replace_some_ingredient(data.raw.recipe[recipe_name], old, old_amount, new, new_amount, is_fluid) + end +end + +function replace_some_ingredient(recipe, old, old_amount, new, new_amount, is_fluid) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing.name == new then + return + end + end + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == old then + ingredient.amount = math.max(1, ingredient.amount - old_amount) + end + end + add_ingredient(recipe, new, new_amount, is_fluid) + end +end + +-- set the amount of a product. +function util.set_product_amount(recipe_name, product, amount) + if data.raw.recipe[recipe_name] then + set_product_amount(data.raw.recipe[recipe_name], product, amount) + end +end + +function set_product_amount(recipe, product, amount) + if recipe then + if recipe.result_count then + recipe.result_count = amount + end + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name == product then + if result.amount then + result.amount = amount + end + if result.amount_min ~= nil then + result.amount_min = nil + result.amount_max = nil + result.amount = amount + end + end + if result[1] == product then + result[2] = amount + end + end + end + if not recipe.results and not recipe.result_count then + -- implicit one item result + recipe.result_count = amount + end + end +end + +-- multiply the cost, energy, and results of a recipe by a multiple +function util.multiply_recipe(recipe_name, multiple) + if data.raw.recipe[recipe_name] then + multiply_recipe(data.raw.recipe[recipe_name], multiple) + end +end + +function multiply_recipe(recipe, multiple) + if recipe then + if recipe.energy_required then + recipe.energy_required = recipe.energy_required * multiple + end + if recipe.result_count then + recipe.result_count = recipe.result_count * multiple + end + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name then + if result.amount then + result.amount = result.amount * multiple + end + if result.amount_min ~= nil then + result.amount_min = result.amount_min * multiple + result.amount_max = result.amount_max * multiple + end + if result.catalyst_amount then + result.catalyst_amount = result.catalyst_amount * multiple + end + end + if result[1] then + result[2] = result[2] * multiple + end + end + end + if not recipe.results and not recipe.result_count then + -- implicit one item result + recipe.result_count = multiple + end + if recipe.ingredients then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name then + ingredient.amount = ingredient.amount * multiple + end + if ingredient[1] then + ingredient[2] = ingredient[2] * multiple + end + end + end + end +end + +-- Returns true if a recipe has an ingredient +function util.has_ingredient(recipe_name, ingredient) + return data.raw.recipe[recipe_name] and + has_ingredient(data.raw.recipe[recipe_name], ingredient) +end + +function has_ingredient(recipe, ingredient) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, existing in pairs(recipe.ingredients) do + if existing[1] == ingredient or existing.name == ingredient then + return true + end + end + end + return false +end + +-- Remove a product from a recipe, WILL NOT remove the only product +function util.remove_product(recipe_name, old) + if data.raw.recipe[recipe_name] then + remove_product(data.raw.recipe[recipe_name], old) + end +end + +function remove_product(recipe, old) + index = -1 + if recipe ~= nil and recipe.results ~= nil then + for i, result in pairs(recipe.results) do + if result.name == old or result[1] == old then + index = i + break + end + end + if index > -1 then + table.remove(recipe.results, index) + end + end +end + +function util.set_main_product(recipe_name, product) + if data.raw.recipe[recipe_name] then + set_main_product(data.raw.recipe[recipe_name], product) + end +end + +function set_main_product(recipe, product) + if recipe then + recipe.main_product = product + end +end + +-- Replace one product with another in a recipe +function util.replace_product(recipe_name, old, new) + if data.raw.recipe[recipe_name] then + replace_product(data.raw.recipe[recipe_name], old, new) + end +end + +function replace_product(recipe, old, new) + if recipe then + if recipe.main_product == old then + recipe.main_product = new + end + if recipe.result == old then + recipe.result = new + return + end + if recipe.results then + for i, result in pairs(recipe.results) do + if result.name == old then result.name = new end + if result[1] == old then result[1] = new end + end + end + end +end + +-- Remove an element of type t and name from data.raw +function util.remove_raw(t, name) + if not data.raw[t] then + log(t.." not found in data.raw") + return + end + if data.raw[t][name] then + for i, elem in pairs(data.raw[t]) do + if elem.name == name then + data.raw[t][i] = nil + break + end + end + end +end + +-- Set energy required +function util.set_recipe_time(recipe_name, time) + if data.raw.recipe[recipe_name] then + set_recipe_time(data.raw.recipe[recipe_name], time) + end +end + +function set_recipe_time(recipe, time) + if recipe then + if recipe.energy_required then + recipe.energy_required = time + end + end +end + +-- Multiply energy required +function util.multiply_time(recipe_name, factor) + if data.raw.recipe[recipe_name] then + multiply_time(data.raw.recipe[recipe_name], factor) + end +end + +function multiply_time(recipe, factor) + if recipe then + if recipe.energy_required then + recipe.energy_required = recipe.energy_required * factor + end + end +end + +-- Add to energy required +function util.add_time(recipe_name, amount) + if data.raw.recipe[recipe_name] then + add_time(data.raw.recipe[recipe_name], amount) + end +end + +function add_time(recipe, amount) + if recipe then + if recipe.energy_required then + recipe.energy_required = recipe.energy_required + amount + end + end +end + +-- Set recipe category +function util.set_category(recipe_name, category) + if data.raw.recipe[recipe_name] and data.raw["recipe-category"][category] then + data.raw.recipe[recipe_name].category = category + end +end + +-- Set recipe subgroup +function util.set_subgroup(recipe_name, subgroup) + if data.raw.recipe[recipe_name] then + data.raw.recipe[recipe_name].subgroup = subgroup + end +end + +-- Set item subgroup +function util.set_item_subgroup(item, subgroup) + if data.raw.item[item] and data.raw["item-subgroup"][subgroup] then + data.raw.item[item].subgroup = subgroup + end +end + +function util.add_icon(recipe_name, icon) + if data.raw.recipe[recipe_name] then + if not (data.raw.recipe[recipe_name].icons and #(data.raw.recipe[recipe_name].icons) > 0) then + data.raw.recipe[recipe_name].icons = {{ + icon=data.raw.recipe[recipe_name].icon, + icon_size=data.raw.recipe[recipe_name].icon_size, + icon_mipmaps=data.raw.recipe[recipe_name].icon_mipmaps, + }} + data.raw.recipe[recipe_name].icon = nil + data.raw.recipe[recipe_name].icon_size = nil + end + table.insert(data.raw.recipe[recipe_name].icons, icon) + end +end + +-- Set recipe icons +function util.set_icons(recipe_name, icons) + if data.raw.recipe[recipe_name] then + data.raw.recipe[recipe_name].icons = icons + data.raw.recipe[recipe_name].icon = nil + data.raw.recipe[recipe_name].icon_size = nil + end +end + +-- Set recipe icons +function util.set_item_icons(item_name, icons) + if data.raw.item[item_name] then + data.raw.item[item_name].icons = icons + data.raw.item[item_name].icon = nil + data.raw.item[item_name].icon_size = nil + end +end + +-- Gets an item or fluid icon +function util.get_item_or_fluid_icon(name) + icon = "" + if data.raw.item[name] then + icon = data.raw.item[name].icon + if not icon then icon = data.raw.item[name].icons[1].icon end + elseif data.raw.fluid[name] then + icon = data.raw.fluid[name].icon + if not icon then icon = data.raw.fluid[name].icons[1].icon end + end + return icon +end + +function util.set_to_founding(recipe) + util.set_category(recipe, "founding") + util.set_subgroup(recipe, "foundry-intermediate") +end + +-- Add crafting category to an entity +function util.add_crafting_category(entity_type, entity, category) + if data.raw[entity_type][entity] and data.raw["recipe-category"][category] then + for i, existing in pairs(data.raw[entity_type][entity].crafting_categories) do + if existing == category then + return + end + end + table.insert(data.raw[entity_type][entity].crafting_categories, category) + end +end + +function util.add_to_ingredient(recipe, ingredient, amount) + if data.raw.recipe[recipe] then + add_to_ingredient(data.raw.recipe[recipe], ingredient, amount) + end +end + +function add_to_ingredient(recipe, it, amount) + if recipe ~= nil and recipe.ingredients ~= nil then + for i, ingredient in pairs(recipe.ingredients) do + if ingredient.name == it then + ingredient.amount = ingredient.amount + amount + return + end + if ingredient[1] == it then + ingredient[2] = ingredient[2] + amount + return + end + end + end +end + +function util.add_to_product(recipe_name, product, amount) + if data.raw.recipe[recipe_name] then + add_to_product(data.raw.recipe[recipe_name], product, amount) + end +end + +function add_to_product(recipe, product, amount) + if recipe ~= nil and recipe.results ~= nil then + if recipe.result == product then + recipe.result_count = recipe.result_count + amount + return + end + for i, result in pairs(recipe.results) do + if result.name == product then + result.amount = result.amount + amount + return + end + if result[1] == product then + result[2] = result[2] + amount + return + end + end + end +end + +-- Adds a result to a mineable type +function util.add_minable_result(t, name, result) + if data.raw[t] and data.raw[t][name] and data.raw[t][name].minable then + if data.raw[t][name].minable.result and not data.raw[t][name].minable.results then + data.raw[t][name].minable.results = { + {data.raw[t][name].minable.result ,data.raw[t][name].minable.count}} + data.raw[t][name].minable.result = nil + data.raw[t][name].minable.result_count = nil + end + if data.raw[t][name].minable.results then + table.insert(data.raw[t][name].minable.results, result) + end + end +end + +function util.remove_prior_unlocks(tech, recipe) + if data.raw.technology[tech].prerequisites then + for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do + remove_prior_unlocks(prerequisite, recipe) + end + end +end + +function remove_prior_unlocks(tech, recipe) + local technology = data.raw.technology[tech] + if technology then + util.remove_recipe_effect(tech, recipe) + if technology.prerequisites then + for i, prerequisite in pairs(technology.prerequisites) do + -- log("BZZZ removing prior unlocks for " .. tech ..", checking " .. prerequisite) -- Handy Debug :| + remove_prior_unlocks(prerequisite, recipe) + end + end + end +end + +function util.replace_ingredients_prior_to(tech, old, new, multiplier) + if not data.raw.technology[tech] then + log("Not replacing ingredient "..old.." with "..new.." because tech "..tech.." was not found") + return + end + util.remove_prior_unlocks(tech, old) + for i, recipe in pairs(data.raw.recipe) do + if (recipe.enabled and recipe.enabled ~= 'false') + and (not recipe.hidden or recipe.hidden == 'true') -- probably don't want to change hidden recipes + and string.sub(recipe.name, 1, 3) ~= 'se-' -- have to exlude SE in general :( + then + -- log("BZZZ due to 'enabled' replacing " .. old .. " with " .. new .." in " .. recipe.name) -- Handy Debug :| + util.replace_ingredient(recipe.name, old, new, multiplier, true) + end + end + if data.raw.technology[tech].prerequisites then + for i, prerequisite in pairs(data.raw.technology[tech].prerequisites) do + replace_ingredients_prior_to(prerequisite, old, new, multiplier) + end + end +end + +function replace_ingredients_prior_to(tech, old, new, multiplier) + local technology = data.raw.technology[tech] + if technology then + if technology.effects then + for i, effect in pairs(technology.effects) do + if effect.type == "unlock-recipe" then + -- log("BZZZ replacing " .. old .. " with " .. new .." in " .. effect.recipe) -- Handy Debug :| + util.replace_ingredient(effect.recipe, old, new, multiplier, true) + end + end + end + if technology.prerequisites then + for i, prerequisite in pairs(technology.prerequisites) do + -- log("BZZZ checking " .. prerequisite) -- Handy Debug :| + replace_ingredients_prior_to(prerequisite, old, new, multiplier) + end + end + end +end + +function util.remove_all_recipe_effects(recipe_name) + for name, _ in pairs(data.raw.technology) do + util.remove_recipe_effect(name, recipe_name) + end +end + +function util.add_unlock_force(technology_name, recipe) + util.set_enabled(recipe, false) + util.remove_all_recipe_effects(recipe) + util.add_unlock(technology_name, recipe) +end + +-- sum the products of a recipe +function util.sum_products(recipe_name) + -- this is going to end up approximate in some cases, integer division is probs fine + if data.raw.recipe[recipe_name] then + local recipe = data.raw.recipe[recipe_name] + if not recipe.results then return recipe.result_count end + local sum = 0 + for i, result in pairs(recipe.results) do + local amt = 0 + if result[2] then amt = result[2] + elseif result.amount then amt = result.amount + elseif result.amount_min then amt = (result.amount_min + result.amount_max)/2 + end + if result.probability then amt = amt * result.probability end + sum = sum + amt + end + return sum + end + return 0 +end + +function util.add_productivity(recipe) + data.raw.recipe[recipe].allow_productivity = true +end + +return util \ No newline at end of file diff --git a/IntermediatesForYou2/data.lua b/IntermediatesForYou2/data.lua new file mode 100644 index 0000000..973e444 --- /dev/null +++ b/IntermediatesForYou2/data.lua @@ -0,0 +1,3 @@ +require("prototypes.recipes") +require("prototypes.technology") +require("prototypes.se-recycling") \ No newline at end of file diff --git a/IntermediatesForYou2/graphics/icons/advanced-electronic-components.png b/IntermediatesForYou2/graphics/icons/advanced-electronic-components.png new file mode 100644 index 0000000000000000000000000000000000000000..dc7822d3fe08f98aa51f1bd60edacfcca5b84135 GIT binary patch literal 2510 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 literal 0 HcmV?d00001 diff --git a/IntermediatesForYou2/graphics/icons/elementite.png b/IntermediatesForYou2/graphics/icons/elementite.png new file mode 100644 index 0000000000000000000000000000000000000000..078517fc2ee630f27ce13358ba307fffde77f1fc GIT binary patch literal 25366 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 literal 0 HcmV?d00001 diff --git a/IntermediatesForYou2/graphics/icons/elementium-plate.png b/IntermediatesForYou2/graphics/icons/elementium-plate.png new file mode 100644 index 0000000000000000000000000000000000000000..e98014d9f66c69b763cf3ac366119469642e5665 GIT binary patch literal 4995 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 N002ovPDHLkV1h2dy<`9Y literal 0 HcmV?d00001 diff --git a/IntermediatesForYou2/graphics/icons/satellite-body.png b/IntermediatesForYou2/graphics/icons/satellite-body.png new file mode 100644 index 0000000000000000000000000000000000000000..e679c4f144e13dac0c4f70bc745885ace5ba9b0e GIT binary patch literal 9733 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 a0sIXqPnj4K!l%{%0000F&H@1i0Ffvf#Zbo^iN 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˦H-Z<=0E zD5V4J_Tz^t6ihikWcrtm*4dB!*pL0#kNwz>{n(HF*pL0#kNwz>{n(HF*pL0#kNwz> m{n(HF*pL0#kN*t=`2PTSkG?Z?#w73n0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T^%dDfGD_7+_QC6soK46$L;iX-`?(JTWd>Od#zeq3$;~hUAUEs z$Q0QlYzSe65R&|!H{$32x&IE-y3XhG?MXxOe&6@J=RD7I-hAb(cBWg_o_*$iI)36L zE#LGp9eL?B8vopr%qz9p!MS#Jwm~*FHgZ0nui^3d^41tMcgk2mV2+sT1k=@spI05bq5CmPjOCB9+?nO(qld_xIC9KR`Sl zmuziqJ9R^YpZNOty-8&1ZfR|XBiiuMmXT3^Z@g&hkyp2v`S1+n>FGfS4j!VI=qNY% zJw}6Z%FvLG+t=5p67U5%Mx*Ih{qXSd_V(6u)zwwp3l}OBs>Y@Xjg1X+t!*sNAvpEw z?rsVX_ow3Gijk53*KWxGJn_Wc6ngJEI*_@UZu|HH4*Zt>zW!uqXJ=DPObl6ASlA5e zbfJ2^ew<7ui?TyKczgStmpMpJbau2`t5nTFcyF<-tt4M85?6(Ugwft#b4N!1U%Mqs z;LePNB(ar{s!>I5?rt;Sf3~%?qu$Yip~_U@(NlkBe`qtgM)XAxpPz-F zSt5}*H8wU97S-kN@Be*tbj-H#=jG?; z^QIRT$wOS2ctF(jK{=VK`p?+xC zT|casf&$6XQcNx`@}E!!_e@St*KPjn^SuH70Z|BC*5{dqc^uADV2iksJN>WS5&^jH z-esg5GnV%J^fOJLnJ$9=+Q!;up{hy6(w?lXtSL4&E@jv-eCY6zT&4>+#skM3a&r%k zZEkM92iFu&Pfr2rzpbsU^>%M>Mf0IUhfe_`Z0x1>({YQOUAz9c1a1io$jd7ty{?C{ ze>}+i>qzrEt81!BE|-(5t1G~bPeP&49U4IC<>leteYUXIeqOrDJ0Yq3oyT7IX2tS_ zM;aSdV=OH#6~V#53u|j@v+-IBu#E5SR`(C|_y6?b;XRc7{-%*T{y)3v8F1T@86=b0 zBM4_GE>5Y0KPnIiL~d?w95QoDds6Rq!=u9T#NtDHgdGEcMMFWF+ zDz9|<=HrjI1qX+uxVgDjl$V#k*4f$lIhV^lm6d%Ue&lw)vzr=#<;!N#f4A(S+iy#! zt=oQP{tLXl3Or9Lm5SB9(b~%9sKGcKgmiX7Fgm)rx;pTFAWDP7RG^oaXRd#M{{tMN zqNJo`*Bv`{97N^>==DQqTU*;A$Bv0F3A}rCG{!Y#`2HRTZW;?Psmm76GJq`}{y9k7 zRW&s=R9RVh#>&d74W+;h4hecFI5_ZOh6UJt3uMXDD^@NYhlTGzMi_Lup$V2^s{@|H6>v( z{3g&Am(_htO!Q&Yya%+s4b+^klasvBXf%5M_S~6$E&KU zCP<}HS5V|^jYe~P^VdKA8X6if2a?%E;pIiXetvHVMdJK*(-x218NolfnUnq559Zf5 zr398C^(Vc!p0?fdfLZFoAL{DtN_K((^6>CrfM-^H?d|Pm3S|F}-8Uf!9B2SScA!u2 zEOvBs_{70c)|<0u@9RpX(pe(0DXFTe{t&&wzeFODJR~IaWZ3=dm=YZLqx5HX!vpZp zgR9WpogjaIKZ2eokx;k*wY@_sb>IN8&5OoDi_zv*LfXax$lOu?CIrHOo#z{k26I5L z>tt_l&w??8@-RaDhH78;${}Zwd$uAdRMn z#A5L@_%CsB3JcGv5r{4jIq~_tSJ21KOG%k{FWY&%&xwwX-WnUH`~VB?0lkqzp&;}C zEJHK^Mk5*}JsTU}C6QP}Kz|Zi2rF>?>EfB)Pz-qS#YadivZR87bEy9aC-|M9I63

CPx=ZbsmNp$4 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

Q46acqJUx!HNJTq3yfTFFIX+iCH|cAWbOYS4 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 literal 0 HcmV?d00001 diff --git a/IntermediatesForYou2/graphics/icons/turret-base.png b/IntermediatesForYou2/graphics/icons/turret-base.png new file mode 100644 index 0000000000000000000000000000000000000000..8abf650ceee5afe287af3a51c2e2f6080829ef0d GIT binary patch literal 3552 zcmd^>`8U*$+s5B^k$tI#L=4&2u?}I3ZLDK3vc%ZNmSrs2vXh~qWUND$G${KzcCwZ& zsgQ__6rqo-rKj)T@!aRU?(1ClkM}v(Iaj)sg%KMIhy?%uHWOn51b&$Ffp)RV7$o6%E`*a z#m>gd#SY?Ol*MzT0fkBeO{9+VX=xdw7waiR)?BL2M6IG<4CJF&{FoQZH94v2n6Tqn#WbJxFbrvPuqr~vyA4^)`1EzZv=I>_1C$E7CsuA7Ve%A7n&3snshG)ACE0a!{($1W+q2wCWa*^#1=e=AZ6fk9z>U9M^t8b zHsxR`q_A#s%wUDjWL4NmScf(TSBjfLB$+H8IK;MJS1f1 zKh8)^&MC?#=H%oQ71fhco|KZR%kUkw$xT(MeGP z_N4g9vx*lLPb+Jm*EZKyb+wXP8f$wxUvxCLH#ax8b#!!fcTd(OO?76>waec)17v$~FcwN`!^35kn~w^+o!cQy+! zx0c4W{5{~9ZeO{F+tuETnASM@s0@30Zgg^!{@|CF(0N77Uiy3-)4^eH>tPJ_geSyp z{&Uv(!^j_b-)T1GdL!gvIF-arvgxeKaHF7+jW4fwsxZ-u+8unjN%ZZzNH6%8eAGZ< z9Jv2X@}+w+C%+h+2yY1Ewf!;(`n!7V_HwSGuoBP^_kDP%L6U2aHdyeA0+e5Y|E_@i z=5oAx6MEwzNLgIio~EmdW8)!jZzMsj2)|JNH_wGo9_j4R_Krd@6bLG zg5?1WMDCD<_v2~d&E&3juwW*-ihniYndR_i)~EPGKCzs zj?@|WAHTitpj30i%FeD61We1Ld++YJueh|=zcMWr9%FwdwP(yL!oUe(70S)kS{6mH zq;`0kg_4c2ANI;>60PX~mxXiP26EJ=q3;6Ypvi&rY&DvF!6FS)ynX1|jL1oNyHr&z zOnxk4NdrIX2L%1#*zs+P*87!5dIuVQ^??x>i-(904k}WX)c`dcL<~Vje+0a91t?Z` zRlj5@D|vMWcPGMz%vv9pgLgbwgVs0$W~N|t;RTYy{e9BjC%ZY* zjI?^kx45&j89GHoUe~mVqnw#vw3^Mu+vdJL>6K=52uZAPHE}aZs15K*Vk&2YHq<3R zyh2F>cI?XWw+NIs5ev<;>dZsJf0p(l}AyjW?>X((){ z%AtbES|nLQ1AXY<%YvpN<&IJ~dLE?6za>at-zEBYu{Cni?)NX|=ZqgT$fo3{DGfg= zJ2P?^&1SqYGK*~*mJXikpiY4qgvV8>zU(Fv?L#tgXUjD#>`0}--oH!~V8k%xfNE4|+yariKkp3>-rEq3Y>gcD#>(G3U6C#md(@u`F<6|k9!u2n`^2U?|%!q99WOQ&rZb?*%>i^>KP*L$dPn z&nf**)jiAf{LHaZX_QduM<;oPbFbL!llF8DcvS@mu}oPChsIeSvjov zDfr?2!ZO#5DFsQCjIXC>v-f1_CTBJ^w^QaG7@%f(|B>MS){$3IimV!twhGz$gjumC zbW?LOHI>)?iw;{}QOsErv)*UaX7HLU-q>JakK!Xx=>YP?vw5_!)6tu^N)pp}^qVTn zA_cd_UQs!VLy*hQIcTkSP*P8Vl}TqAzNChs8B%0`A20;KN$6;+&Mn9PeqSG5%TC<+ zRA8z7Yi2Oe^?fphLaAq@OEtRYj8&r@(4Wpm7EB8vb%M*;sx9zsDZq?fn0pDG96~t3WYl~`Lnw>Ip@4)BF z5%TpDuR42x-jC%qzQ+}n_CM}8YRA6eRt~YZ9(pu#_I=G#VrfaWz0Ua-Pp2n-Yi-`N zZ|F9tGynhq literal 0 HcmV?d00001 diff --git a/IntermediatesForYou2/graphics/icons/turret-large-base.png b/IntermediatesForYou2/graphics/icons/turret-large-base.png new file mode 100644 index 0000000000000000000000000000000000000000..b33978d82db9b566472f734b66fc03a80983ec29 GIT binary patch literal 10441 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 literal 0 HcmV?d00001 diff --git a/IntermediatesForYou2/info.json b/IntermediatesForYou2/info.json new file mode 100644 index 0000000..a25235c --- /dev/null +++ b/IntermediatesForYou2/info.json @@ -0,0 +1,39 @@ +{ + "name": "IntermediatesForYou2", + "version": "2.0.0", + "factorio_version": "2.0", + "title": "IntermediatesForYou", + "author": "Timeken, cackling fiend", + "homepage": "https://discord.gg/ufvFUJtVwk", + "dependencies": [ + "base >= 2.0.0", + "? 248k-Redux", + "? aai-industry", + "? bismuth", + "? Bio_Industries_2", + "? BrassTacks-Updated", + "? bobassembly", + "? BrimStuff-Updated", + "? bzaluminum", + "? bzcarbon", + "? bzchlorine", + "? bzfoundry", + "? bzgas", + "? bzgold", + "? bzlead", + "? bzsilicon", + "? bztin", + "? EndgameCombat", + "? IfNickel-Updated", + "? Nylon2", + "? Krastorio2", + "? Krastorio2Assets", + "? MDbobelectronics2", + "? RampantArsenal", + "? Repair_Turret", + "? space-exploration", + "? ShockTurret", + "? ThemTharHills-Updated" + ], + "description": "This mod adds some intermediates and is intented to be played with my other mods.\n\nThis mod is inspired by Brevven's BZ mods." +} \ No newline at end of file diff --git a/IntermediatesForYou2/locale/en/IntermediatesForYou.cfg b/IntermediatesForYou2/locale/en/IntermediatesForYou.cfg new file mode 100644 index 0000000..b7241ef --- /dev/null +++ b/IntermediatesForYou2/locale/en/IntermediatesForYou.cfg @@ -0,0 +1,66 @@ +[technology-name] +slag-processing=Slag processing +elementite-processing=Elementite processing + +[technology-description] +elementite-processing=Elementium is a heat and cold resistant alloy forged from ice and fire capable of withstanding extreme temperatures. + +[autoplace-control-names] + +[tool-name] + +[item-name] +turret-base=Turret base +turret-large-base=Large turret base + +advanced-electronic-components=Advanced electronic components + +satellite-body=Satellite body + +spring=Spring +shock-absorber=Shock absorber + +aluminium-hydroxide=Aluminium hydroxide +sodium-hydroxide=Sodium hydroxide +sodium-aluminate=Sodium aluminate + +slag=Slag +elementite=Elementite +elementite-dust=Elementite dust +elementium-plate=Elementium plate + +[fluid-name] +hydrogen-peroxide=Hydrogen peroxide +nitrous-oxide=Nitrous oxide + +[entity-name] + +[mod-setting-name] + +[mod-setting-description] + +[recipe-name] +se-recycle-long-handed-inserter=Long handed inserter recycling +low-quality-advanced-circuit=Low quality advanced circuit +rich-water-filtration=Rich water filtration +nuclear-waste-extraction=Nuclear waste extraction +hydrogen-peroxide=Hydrogen peroxide +hydrogen-peroxide-disproportionation=Hydrogen peroxide disproportionation +hydrogen-peroxide-rocket-fuel=Hydrogen peroxide rocket fuel +productivity-science-pack=Productivity science pack +nitrous-oxide-rocket-fuel=Nitrous oxide rocket fuel +saltpeter-sulfuric-acid=Saltpeter sulfuric acid +aluminium-hydroxide-smelting=Aluminium hydroxide smelting +sodium-hydroxide-reaction=Sodium hydroxide reaction +silica-extraction=Silica extraction +sodium-aluminate=Sodium aluminate + +slag=slag +iron-extraction=Iron extraction +trace-rare-ore-extraction=Trace rare ore extraction +elementite=Elementite +elementite-dust=Elementite dust +elementium-plate=Elementium plate + +[recipe-description] +low-quality-advanced-circuit=When resources are scarce you use what you got. \ No newline at end of file diff --git a/IntermediatesForYou2/prototypes/recipes.lua b/IntermediatesForYou2/prototypes/recipes.lua new file mode 100644 index 0000000..a1d27bd --- /dev/null +++ b/IntermediatesForYou2/prototypes/recipes.lua @@ -0,0 +1,399 @@ +local util = require("data-util") + +local turret_base_ingredients = {{type="item", name="iron-plate", amount=10}, {type="item", name="iron-gear-wheel", amount=10}} +if mods["Krastorio2"] and mods["aai-industry"] then + turret_base_ingredients = {{type="item", name="kr-iron-beam", amount=5}, {type="item", name="motor", amount=5}, {type="item", name="iron-gear-wheel", amount=4}} +end + +if mods["Krastorio2"] then + local electronic_ingredients = {{type="item", name="kr-electronic-components", amount=3}} + if mods["bzgold"] then + electronic_ingredients = {{type="item", name="kr-electronic-components", amount=1}, (mods["ThemTharHills-Updated"] and {type="item", name="integrated-circuit", amount=5}) or (mods["MDbobelectronics2"] and {type="item", name="intergrated-electronics", amount=2}), {type="item", name="cpu", amount=1}} + elseif mods["MDbobelectronics2"] then + electronic_ingredients = {{type="item", name="kr-electronic-components", amount=1}, {type="item", name="intergrated-electronics", amount=2}, {type="item", name="processing-electronics", amount=1}} + end +data:extend({ + { + type = "item", + name = "advanced-electronic-components", + icon = "__IntermediatesForYou2__/graphics/icons/advanced-electronic-components.png", + icon_size = 64, + group = "kr-electronic-components", + subgroup = "intermediate-product", + order = "e03", + stack_size = 100, + }, + { + type = "recipe", + name = "advanced-electronic-components", + category = "crafting", + order = "e03", + enabled = false, + energy_required = 4, + ingredients = electronic_ingredients, + results = {{type="item", name="advanced-electronic-components", amount=2}}, + } +}) +if mods["248k-Redux"] then + data:extend({ + { + type = "recipe", + name = "charged-crystal-imersite-powder", + icons = + { + { icon = "__Krastorio2Assets__/icons/items-with-variations/imersite-powder/imersite-powder.png", icon_size = 64}, + { icon = "__248k-Redux__/ressources/fusion/fu_materials/fu_materials_energy_crystal_charged.png", icon_size = 64, scale=0.3, shift= {-8, -8}}, + }, + category = "crushing", + order = "a-a-a-1", + enabled = false, + energy_required = 4, + ingredients = {{type="item", name="fu_materials_energy_charged_crystal", amount=1}}, + results = {{type="item", name="imersite-powder", amount=2}}, + } + }) + util.add_unlock("kr-imersium-processing", "charged-crystal-imersite-powder") +end + +util.add_unlock("processing-unit", "advanced-electronic-components") +end + +local turret_large_base_ingredients = {(data.raw.item["tantalum-titanium-beam"] and {type="item", name="tantalum-titanium-beam", amount=60}) or {type="item", name="steel-plate", amount=60}, {type="item", name="concrete", amount=60}} +if data.raw.item["lead-plate"] then + table.insert(turret_large_base_ingredients, {type="item", name="lead-plate", amount=20}) +end + +local satellite_body_ingredients = {{type="item", name="low-density-structure", amount=50}} +if mods["bismuth"] then + table.insert(satellite_body_ingredients, {type="item", name="bismuth-glass", amount=100}) +end +if mods["bzcarbon"] then + table.insert(satellite_body_ingredients, {type="item", name="graphene", amount=100}) +end +if data.raw.item["gimbaled-thruster"] then + table.insert(satellite_body_ingredients, {type="item", name="gimbaled-thruster", amount=10}) +end +if mods["248k-Redux"] then + table.insert(satellite_body_ingredients, {type="item", name="fu_materials_KFK", amount=10}) +end + +local shock_absorber_ingredients = {{type="item", name="spring", amount=1}, {type="item", name="iron-stick", amount=1}} +if data.raw.item["rubber"] then + table.insert(shock_absorber_ingredients, {type="item", name="rubber", amount=1}) +end + +data:extend({ + { + type = "item", + name = "turret-base", + icon = "__IntermediatesForYou2__/graphics/icons/turret-base.png", + icon_size = 64, + group = "intermediate-product", + subgroup = "intermediate-product", + order = "t", + stack_size = 100, + }, + { + type = "item", + name = "turret-large-base", + icon = "__IntermediatesForYou2__/graphics/icons/turret-large-base.png", + icon_size = 64, + group = "intermediate-product", + subgroup = "intermediate-product", + order = "t", + stack_size = 50, + }, + { + type = "item", + name = "spring", + icon = "__IntermediatesForYou2__/graphics/icons/spring.png", + icon_size = 64, + group = "intermediate-product", + subgroup = "intermediate-product", + order = "a[spring]", + stack_size = 100, + }, + { + type = "item", + name = "satellite-body", + icon = "__IntermediatesForYou2__/graphics/icons/satellite-body.png", + icon_size = 64, + group = "intermediate-product", + subgroup = "intermediate-product", + order = "s", + stack_size = 100, + }, + { + type = "item", + name = "shock-absorber", + icon = "__IntermediatesForYou2__/graphics/icons/shock-absorber.png", + icon_size = 64, + group = "intermediate-product", + subgroup = "intermediate-product", + order = "s", + stack_size = 100, + }, + { + type = "recipe", + name = "turret-base", + category = "crafting", + order = "t", + enabled = false, + energy_required = 8, + ingredients = turret_base_ingredients, + results = {{type="item", name="turret-base", amount=1}}, + }, + { + type = "recipe", + name = "spring", + category = "crafting", + order = "s1[spring]", + enabled = false, + energy_required = 2, + ingredients = {{type="item", name="copper-plate", amount=1}}, + results = {{type="item", name="spring", amount=1}}, + }, + { + type = "recipe", + name = "turret-large-base", + category = "crafting", + order = "t", + enabled = false, + energy_required = 16, + ingredients = turret_large_base_ingredients, + results = {{type="item", name="turret-large-base", amount=1}}, + }, + { + type = "recipe", + name = "satellite-body", + category = "crafting", + order = "s", + enabled = false, + energy_required = 20, + ingredients = satellite_body_ingredients, + results = {{type="item", name="satellite-body", amount=1}}, + }, + { + type = "recipe", + name = "shock-absorber", + category = "crafting", + order = "s", + enabled = false, + energy_required = 4, + ingredients = shock_absorber_ingredients, + results = {{type="item", name="shock-absorber", amount=1}}, + } +}) +util.add_unlock("gun-turret", "turret-base") +util.add_unlock("artillery", "turret-large-base") +util.add_unlock("logistics", "spring") +util.add_unlock("rocket-silo","satellite-body") +util.add_unlock("fast-inserter", "shock-absorber") + +if mods["bzfoundry"] and data.raw.item["bronze-plate"] then +data:extend({ + { + type = "recipe", + name = "bronze-spring", + category = "crafting", + order = "s2[spring]", + enabled = false, + energy_required = 2, + ingredients = {{type="item", name="bronze-plate", amount=1}}, + results = {{type="item", name="spring", amount=2}}, + } +}) + util.add_unlock("foundry", "bronze-spring") +end + +if mods["ThemTharHills-Updated"] then +local low_quality_advanced_circuit_ingredients = {{type="item", name="copper-cable", amount=3}, {type="item", name="electronic-circuit", amount=3}} +if data.raw.item["solder"] then + table.insert(low_quality_advanced_circuit_ingredients, {type="item", name="solder", amount=4}) +end +if data.raw.item["kr-electronic-components"] then + table.insert(low_quality_advanced_circuit_ingredients, {type="item", name="kr-electronic-components", amount=2}) +end +if data.raw.item["circuit-board"] then + table.insert(low_quality_advanced_circuit_ingredients, {type="item", name="circuit-board", amount=1}) +end +local low_quality_advanced_circuit_results = {{name="advanced-circuit", amount=1, probability=0.75}} +if mods["space-exploration"] then + table.insert(low_quality_advanced_circuit_results, {name="se-scrap", amount=1, probability=0.25}) +end + +data:extend({ + { + type = "recipe", + name = "low-quality-advanced-circuit", + category = "crafting", + icons = (mods["Krastorio2"] and + { + { icon = "__base__/graphics/icons/advanced-circuit.png", icon_size = 64}, + { icon = "__base__/graphics/icons/copper-cable.png", icon_size = 64, scale=0.25, shift= {-8, -8}}, + } or { + { icon = "__base__/graphics/icons/advanced-circuit.png", icon_size = 64}, + } + ), + main_product = "advanced-circuit", + order = "f", + enabled = false, + energy_required = 6, + ingredients = low_quality_advanced_circuit_ingredients, + results = low_quality_advanced_circuit_results, + } +}) +util.add_unlock("advanced-circuit", "low-quality-advanced-circuit") +end + +if mods["aai-industry"] or mods["Krastorio2"] then + data:extend({ + { + type = "item", + name = "slag", + icon = "__IntermediatesForYou2__/graphics/icons/slag.png", + icon_size = 128, + group = "resources", + subgroup = "raw-material", + order = "a[slag]", + stack_size = 100, + }, + { + type = "recipe", + name = "slag", + category = "smelting", + order = "s[slag]", + enabled = false, + energy_required = 2, + ingredients = {{type="item", name=mods["Krastorio2"] and "kr-sand" or "sand", amount=10}}, + results = {{type="item", name="slag", amount=1}}, + }, + { + type = "recipe", + name = "iron-extraction", + icons = + { + { icon = "__base__/graphics/icons/iron-ore.png", icon_size = 64}, + { icon = "__IntermediatesForYou2__/graphics/icons/slag.png", icon_size = 128, scale=0.125, shift= {-8, -8}}, + }, + category = "smelting", + order = "s[slag]", + enabled = false, + energy_required = 2, + ingredients = {{type="item", name="slag", amount=5}}, + results = {{type="item", name="iron-ore", amount=1}}, + } + }) +end + +if mods["space-exploration"] then + local trace_rare_ore_extraction_ingredients = {{type="item", name="elementite-dust", amount=5}} + if data.raw.item["cobalt-electromagnet"] then + table.insert(trace_rare_ore_extraction_ingredients, {type="item", name="cobalt-electromagnet", amount=1}) + end + local trace_rare_ore_extraction_results = {{type="item", name="sand", amount=1}, {type="item", name="se-iridium-powder", amount=1, probability=0.1}, {type="item", name="se-holmium-powder", amount=1, probability=0.1}, {type="item", name="se-beryllium-powder", amount=1, probability=0.1}} + if data.raw.item["cobalt-electromagnet"] then + table.insert(trace_rare_ore_extraction_results, {type="item", name="cobalt-electromagnet", amount=1, probability=0.95}) + end + local elementium_heat_shielding_ingredients = {{type="item", name="elementium-plate", amount=1}, {type="item", name="sulfur", amount=1}} + if data.raw.item["cuw"] then + table.insert(elementium_heat_shielding_ingredients, {type="item", name="cuw", amount=1}) + end + if data.raw.item["zirconia"] then + table.insert(elementium_heat_shielding_ingredients, {type="item", name="zirconia", amount=1}) + end + if data.raw.item["niobium-plate"] then + table.insert(elementium_heat_shielding_ingredients, {type="item", name="niobium-plate", amount=1}) + end + data:extend({ + { + type = "item", + name = "elementite", + icon = "__IntermediatesForYou2__/graphics/icons/elementite.png", + icon_size = 128, + group = "resources", + subgroup = "raw-material", + order = "e[elementite]", + stack_size = 50, + }, + { + type = "item", + name = "elementite-dust", + icon = "__IntermediatesForYou2__/graphics/icons/elementite-dust.png", + icon_size = 128, + group = "resources", + subgroup = "raw-material", + order = "e[elementite]", + stack_size = 200, + }, + { + type = "item", + name = "elementium-plate", + icon = "__IntermediatesForYou2__/graphics/icons/elementium-plate.png", + icon_size = 64, + group = "resources", + subgroup = "raw-material", + order = "e[elementite]", + stack_size = 100, + }, + { + type = "recipe", + name = "elementite", + category = "space-thermodynamics", + order = "e[elementite]", + enabled = false, + energy_required = 20, + ingredients = {{type="item", name="se-cryonite-rod", amount=5}, {type="item", name="se-vulcanite-block", amount=5}}, + results = {{type="item", name="elementite", amount=4}}, + }, + { + type = "recipe", + name = "elementium-plate", + category = "space-thermodynamics", + order = "e[elementite]", + enabled = false, + energy_required = 20, + ingredients = {{type="item", name="elementite", amount=5}}, + results = {{type="item", name="elementium-plate", amount=1}}, + }, + { + type = "recipe", + name = "elementite-dust", + category = "pulverising", + order = "e[elementite]", + enabled = false, + energy_required = 2, + ingredients = {{type="item", name="elementite", amount=5}}, + results = {{type="item", name="elementite-dust", amount=5}}, + }, + { + type = "recipe", + name = "trace-rare-ore-extraction", + icon = "__IntermediatesForYou2__/graphics/icons/trace-rare-ore-extraction.png", + icon_size = 128, + category = "space-radiation", + order = "e[elementite]", + group = "resources", + subgroup = "raw-material", + enabled = false, + energy_required = 20, + ingredients = trace_rare_ore_extraction_ingredients, + results = trace_rare_ore_extraction_results, + }, + { + type = "recipe", + name = "elementium-heat-shielding", + icons = + { + { icon = "__space-exploration-graphics__/graphics/icons/heat-shielding.png", icon_size = 64}, + { icon = "__IntermediatesForYou2__/graphics/icons/elementium-plate.png", icon_size = 64, scale=0.3, shift= {-8, -8}}, + }, + category = "crafting", + order = "f", + enabled = false, + energy_required = 10, + ingredients = elementium_heat_shielding_ingredients, + results = {{type="item", name="se-heat-shielding", amount=1}}, + } + }) +end \ No newline at end of file diff --git a/IntermediatesForYou2/prototypes/se-recycling.lua b/IntermediatesForYou2/prototypes/se-recycling.lua new file mode 100644 index 0000000..346168e --- /dev/null +++ b/IntermediatesForYou2/prototypes/se-recycling.lua @@ -0,0 +1,47 @@ +local util = require("data-util") +if mods["space-exploration"] then +local se_recycle_long_handed_inserter_results = {{type="item", name="iron-stick", amount=1}, {type="item", name="inserter", amount=1, probability=0.75}} +if data.raw.item["solder"] then + table.insert(se_recycle_long_handed_inserter_results, {type="item", name="solder", amount=1}) +end +if data.raw.item["articulated-mechanism"] then + table.insert(se_recycle_long_handed_inserter_results, {type="item", name="articulated-mechanism", amount=1}) +end +data:extend({ + { + type = "recipe", + name = "se-recycle-long-handed-inserter", + icons = { + { + icon = "__space-exploration-graphics__/graphics/blank.png", + icon_size = 64 + }, + { + icon = "__base__/graphics/icons/inserter.png", + icon_size = 64, + scale = 0.33, + shift = {-8, 8} + }, + { + icon = "__base__/graphics/icons/long-handed-inserter.png", + icon_size = 64, + scale = 0.33, + shift = {8, -8} + }, + { + icon = "__space-exploration-graphics__/graphics/icons/transition-arrow.png", + icon_size = 64 + } + }, + category = "hard-recycling", + subgroup = "recycling", + main_product = "", + order = "l", + enabled = false, + energy_required = 3, + ingredients = {{type="item", name="long-handed-inserter", amount=1}}, + results = se_recycle_long_handed_inserter_results, + } +}) +util.add_unlock("se-recycling-facility", "se-recycle-long-handed-inserter") +end \ No newline at end of file diff --git a/IntermediatesForYou2/prototypes/technology.lua b/IntermediatesForYou2/prototypes/technology.lua new file mode 100644 index 0000000..c1f756b --- /dev/null +++ b/IntermediatesForYou2/prototypes/technology.lua @@ -0,0 +1,85 @@ +local util = require("data-util") + +if mods["aai-industry"] or mods["Krastorio2"] then + data:extend( + { + { + type = "technology", + name = "slag-processing", + icon = "__IntermediatesForYou2__/graphics/icons/slag.png", + icon_size = 128, + prerequisites = {"advanced-material-processing-2"}, + effects = { + { + type = "unlock-recipe", + recipe = "slag", + }, + { + type = "unlock-recipe", + recipe = "iron-extraction", + } + }, + unit = + { + count = 100, + ingredients = + { + { "automation-science-pack", 1 }, + { "logistic-science-pack", 1 }, + { "chemical-science-pack", 1 } + }, + time = 30 + } + } + }) +end + +if mods["space-exploration"] then + data:extend( + { + { + type = "technology", + name = "elementite-processing", + icon = "__IntermediatesForYou2__/graphics/icons/elementite.png", + icon_size = 128, + prerequisites = {"production-science-pack"}, {"se-space-radiation-laboratory"}, + effects = { + { + type = "unlock-recipe", + recipe = "elementite", + }, + { + type = "unlock-recipe", + recipe = "trace-rare-ore-extraction", + }, + { + type = "unlock-recipe", + recipe = "elementite-dust", + }, + { + type = "unlock-recipe", + recipe = "elementium-plate", + }, + { + type = "unlock-recipe", + recipe = "elementium-heat-shielding", + } + }, + unit = + { + count = 300, + ingredients = + { + { "automation-science-pack", 1 }, + { "logistic-science-pack", 1 }, + { "chemical-science-pack", 1 }, + { "se-rocket-science-pack", 1 }, + { "space-science-pack", 1 }, + { "production-science-pack", 1 }, + { "utility-science-pack", 1 } + }, + time = 30 + } + } + }) +end \ No newline at end of file diff --git a/IntermediatesForYou2/recipe-final-fix.lua b/IntermediatesForYou2/recipe-final-fix.lua new file mode 100644 index 0000000..5e9d76b --- /dev/null +++ b/IntermediatesForYou2/recipe-final-fix.lua @@ -0,0 +1,44 @@ +local util = require("data-util") + +if mods["MDbobelectronics2"] then + util.remove_ingredient("advanced-processing-unit", "processing-electronics") +end + +if (mods["Krastorio2"] and mods["bzgas"]) or false then + if mods["bzgold"] then + util.remove_ingredient("chemical-plant", "silver-plate") + end + if mods["bzaluminum"] then + util.remove_ingredient("kr-filtration-plant", "aluminum-plate") + end + if mods["bztin"] then + util.remove_ingredient("kr-filtration-plant", "solder") + end + util.remove_ingredient("kr-filtration-plant", "pipe") + util.add_ingredient("kr-filtration-plant", "basic-chemical-plant", 1) +end + +if mods["space-exploration"] then + util.add_ingredient("se-delivery-cannon-chest", "shock-absorber", 10) + + util.remove_ingredient("speed-module-2", "electronic-circuit") + util.remove_ingredient("speed-module-2", "electric-motor") + + util.remove_ingredient("speed-module-3", "integrated-circuit") + + util.remove_ingredient("productivity-module-3", "integrated-circuit") + + util.remove_ingredient("effectivity-module-3", "integrated-circuit") + + util.remove_ingredient("productivity-module-2", "electronic-circuit") + + util.remove_ingredient("effectivity-module-2", "electronic-circuit") + if mods["BrassTacks-Updated"] then + util.add_product("se-core-fragment-omni",{ type = "item", name = "zinc-ore", amount = 8 }) + end + + if mods["248k-Redux"] then + util.replace_ingredient("se-canister", "plastic-bar", "fi_materials_GFK", 5) + util.remove_ingredient("se-canister", "glass") + end +end \ No newline at end of file diff --git a/IntermediatesForYou2/recipe-modify.lua b/IntermediatesForYou2/recipe-modify.lua new file mode 100644 index 0000000..a7fa38a --- /dev/null +++ b/IntermediatesForYou2/recipe-modify.lua @@ -0,0 +1,240 @@ +local util = require("data-util") + +-- Main vanilla changes +util.add_ingredient("flamethrower-turret", "turret-base", 1) + +util.add_ingredient("gun-turret", "turret-base", 1) + +util.remove_ingredient("flamethrower-turret", "iron-gear-wheel") + +util.remove_ingredient("satellite", "low-density-structure") +util.add_ingredient("satellite", "satellite-body", 1) + +util.remove_ingredient("artillery-turret", "steel-plate") +util.remove_ingredient("artillery-turret", "concrete") +util.add_ingredient("artillery-turret", "turret-large-base", 1) + +util.add_ingredient("inserter", "spring", 2) +util.remove_ingredient("inserter", "iron-stick") + +util.add_ingredient("fast-inserter", "shock-absorber", 1) +util.add_ingredient("car", "shock-absorber", 4) +util.add_ingredient("artillery-turret", "shock-absorber", 10) + +util.add_ingredient("stack-filter-inserter", "filter-inserter", 1) +util.remove_ingredient("stack-filter-inserter", "stack-inserter") + +-- Mod changes +if mods["bztin"] then + util.remove_ingredient("fast-inserter", "bronze-plate") + util.remove_ingredient("filter-inserter", "bronze-plate") + if data.raw.item["motorized-articulator"] then + util.remove_ingredient("motorized-articulator", "bronze-plate") + util.add_ingredient("motorized-articulator", "spring", 2) + end +end + +if mods["bismuth"] then + util.remove_ingredient("satellite", "bismuth-glass") +end + +if mods["bzcarbon"] then + util.remove_ingredient("satellite", "graphene") +end + +--Turrets +if mods["Krastorio2"] and mods["aai-industry"] then + util.remove_ingredient("gun-turret", "kr-iron-beam") + util.remove_ingredient("gun-turret", "motor") + util.remove_ingredient("gun-turret", "iron-gear-wheel") +else + util.remove_ingredient("gun-turret", "iron-gear-wheel") +end + +if mods["bzlead"] then + util.remove_ingredient("flamethrower-turret", "lead-plate") + + util.remove_ingredient("pipe-to-ground", "lead-plate") + util.remove_ingredient("pipe-to-ground", "tin-plate") + util.add_ingredient("pipe-to-ground", "solder", 1) + + util.remove_ingredient("artillery-turret", "lead-plate") +end + +if mods["Repair_Turret"] then + util.remove_ingredient("repair-turret", "iron-gear-wheel") + util.add_ingredient("repair-turret", "turret-base", 1) +end + +if mods["RampantArsenal"] then + util.remove_ingredient("ridle-item-rampant-arsenal", "iron-plate") + util.add_ingredient("ridle-item-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("shotgun-item-rampant-arsenal", "iron-gear-wheel") + util.add_ingredient("shotgun-item-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("cannon-item-rampant-arsenal", "iron-gear-wheel") + util.add_ingredient("cannon-item-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("rocket-item-rampant-arsenal", "iron-gear-wheel") + util.add_ingredient("rocket-item-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("rapid-rocket-item-rampant-arsenal", "steel-plate") + util.add_ingredient("rapid-rocket-item-rampant-arsenal", "rocket-item-rampant-arsenal", 1) + + util.remove_ingredient("lightning-item-rampant-arsenal", "iron-gear-wheel") + util.add_ingredient("lightning-item-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("acid-cannon-rampant-arsenal", "iron-gear-wheel") + util.add_ingredient("acid-cannon-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("capsule-item-rampant-arsenal", "steel-plate") + util.add_ingredient("capsule-item-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("lite-artillery-turret-rampant-arsenal", "iron-gear-wheel") + util.add_ingredient("lite-artillery-turret-rampant-arsenal", "turret-base", 1) + + util.remove_ingredient("rapid-cannon-item-rampant-arsenal", "steel-plate") + util.remove_ingredient("rapid-cannon-item-rampant-arsenal", "concrete") + util.add_ingredient("rapid-cannon-item-rampant-arsenal", "turret-large-base", 1) + + util.remove_ingredient("advanced-laser-item-rampant-arsenal", "steel-plate") + util.add_ingredient("advanced-laser-item-rampant-arsenal", "turret-large-base", 1) + + util.remove_ingredient("suppression-cannon-item-rampant-arsenal", "steel-plate") + util.remove_ingredient("suppression-cannon-item-rampant-arsenal", "concrete") + util.add_ingredient("suppression-cannon-item-rampant-arsenal", "turret-large-base", 1) + if mods["bzlead"] then + util.remove_ingredient("rapid-cannon-item-rampant-arsenal", "lead-plate") + util.remove_ingredient("suppression-cannon-item-rampant-arsenal", "lead-plate") + end +end + +if mods["EndgameCombat"] then + util.remove_ingredient("acid-turret", "iron-gear-wheel") + util.add_ingredient("acid-turret", "turret-base", 1) + + util.remove_ingredient("sticky-turret", "iron-gear-wheel") + util.add_ingredient("sticky-turret", "turret-base", 1) +end + +--chemical plant +if mods["bzgas"] then + util.remove_ingredient("chemical-plant", "stone-brick") + util.remove_ingredient("chemical-plant", "pipe") + util.add_ingredient("chemical-plant", "basic-chemical-plant", 1) + + if (mods["bzlead"] and mods["bztin"]) or false then + util.remove_ingredient("basic-chemical-plant", "tin-plate") + util.remove_ingredient("basic-chemical-plant", "lead-plate") + util.add_ingredient("basic-chemical-plant", "solder", 8) + end +end + +if mods["bobassembly"] then + --chemical plant 2 + util.remove_ingredient("chemical-plant-2", "solder") + util.remove_ingredient("chemical-plant-2", "pipe") + --oil refinery 2 + util.replace_ingredient("oil-refinery-2", "stone-brick", "concrete") + util.remove_ingredient("oil-refinery-2", "pipe") + --should be done by BrimStuff-Updated but I will just do it here ¯\_(ツ)_/¯ + if mods["BrimStuff-Updated"] then + util.add_crafting_category("assembling-machine", "chemical-plant-2", "basic-chemistry") + util.add_crafting_category("assembling-machine", "chemical-plant-3", "basic-chemistry") + util.add_crafting_category("assembling-machine", "chemical-plant-4", "basic-chemistry") + end +end + +--electronics +if (mods["MDbobelectronics2"] and mods["Krastorio2"]) or false then + util.replace_ingredient("kr-electronic-components", "plastic-bar", "basic-electronic-components") + util.replace_ingredient("kr-electronic-components", "glass", "BOBMD-electronic-components") + util.remove_ingredient("kr-electronic-components", "silicon-wafer") + + util.remove_ingredient("processing-unit", "cpu") + util.remove_ingredient("processing-unit", "BOBMD-electronic-components") + util.remove_ingredient("processing-unit", "intergrated-electronics") + util.replace_ingredient("processing-unit", "basic-electronic-components", "advanced-electronic-components") + + util.remove_ingredient("advanced-circuit", "basic-electronic-components") + util.remove_ingredient("advanced-circuit", "BOBMD-electronic-components") + + util.replace_ingredient("advanced-processing-unit", "basic-electronic-components", "kr-electronic-components") + util.add_ingredient("advanced-processing-unit", "advanced-electronic-components", 3) + util.remove_ingredient("advanced-processing-unit", "BOBMD-electronic-components") + util.remove_ingredient("advanced-processing-unit", "intergrated-electronics") + + if mods["space-exploration"] then + util.remove_ingredient("se-space-assembling-machine", "advanced-circuit") + end +end + +if mods["Krastorio2"] then + util.add_ingredient("stack-filter-inserter", "inserter-parts", 4) + + if mods["ThemTharHills-Updated"] then + util.remove_ingredient("processing-unit", "integrated-circuit") + util.remove_ingredient("processing-unit", "cpu") + util.remove_ingredient("mainboard", "integrated-circuit") + if not mods["MDbobelectronics2"] then + util.add_ingredient("processing-unit", "advanced-electronic-components", 2) + end + end + --make the greenhouse upgradeable to bio lab + util.remove_ingredient("kr-bio-lab", "glass") + util.remove_ingredient("kr-bio-lab", "kr-iron-beam") + util.add_ingredient("kr-bio-lab", "kr-greenhouse", 1) + + util.remove_ingredient("kr-steel-pipe-to-ground", "lead-plate") + util.remove_ingredient("kr-steel-pipe-to-ground", "tin-plate") + util.add_ingredient("kr-steel-pipe-to-ground", "solder", 1) + --turret + util.add_ingredient("kr-laser-artillery-turret", "turret-large-base", 1) + util.add_ingredient("kr-rocket-turret", "turret-large-base", 1) + util.add_ingredient("kr-railgun-turret", "turret-large-base", 1) + util.remove_ingredient("kr-railgun-turret", "steel-beam") + if mods["bzlead"] then + util.remove_ingredient("kr-laser-artillery-turret", "lead-plate") + util.remove_ingredient("kr-rocket-turret", "lead-plate") + util.remove_ingredient("kr-railgun-turret", "lead-plate") + end +end + +if mods["space-exploration"] then + util.add_ingredient("se-delivery-cannon-chest", "shock-absorber", 10) + + util.add_ingredient("speed-module-2", "electric-engine-unit", 10) + + util.remove_ingredient("speed-module-3", "mlcc") + util.remove_ingredient("speed-module-3", "cooling-fan") + + util.remove_ingredient("productivity-module-3", "mlcc") + util.remove_ingredient("productivity-module-3", "cooling-fan") + + util.remove_ingredient("effectivity-module-3", "mlcc") + util.remove_ingredient("effectivity-module-3", "cooling-fan") + + util.set_ingredient("speed-module-4", "se-iridium-plate", 90) + util.add_ingredient("speed-module-4", "elementium-plate", 30) + + if mods["bztin"] then + util.remove_ingredient("se-space-biochemical-laboratory", "solder") + end + + if mods["Nylon2"] then + util.add_ingredient("productivity-module-2", "nylon-machine-parts", 10) + end + + if mods["248k-Redux"] then + util.replace_ingredient("se-canister", "plastic-bar", "fi_materials_GFK", 5) + util.remove_ingredient("se-canister", "glass") + + util.add_ingredient("effectivity-module-2", "el_lithium_battery", 10) + end +end + +if mods["BrassTacks-Updated"] then + util.set_main_product("zinc-plate", "zinc-plate") + util.add_product("zinc-plate", {name="silver-ore", amount=1, probability=0.06}) +end \ No newline at end of file diff --git a/IntermediatesForYou2/thumbnail.png b/IntermediatesForYou2/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..396a4b680a3920bb3b1b7a219c3bce5bef95ae4c GIT binary patch literal 3516 zcmV;t4MXyYP)Px#1ZP1_K>z@;j|==^1poj808mU+MFIf=000020s;gA0|NyG1qB5M1qKEN1_%NJ z2nGiZ1qKHQ2MGrV2MY@c2?+`c3Jwbm4h{|t4Gk0r2^RB1{@1Pa7po8YEB~B~lzFR2?T*9w}TPD?lnQ(H$>T}W0>QBXi%Ur|v}Qc_Y=R8v(|Ra;zJU0z*aOIc%0 zU1d*RUSMBmQDAFRV`)-iZB=G(R%dZoYIIv|L117*V`D{TW=LymOK)#WaBxj>a#DJF zRDFG8WMgDzWM^q;X=`bHVRV0EcW`oXa&>cfdU=CpdVyqkglBt&Xnc%qgO6{8jc$aK zbBUC5ij{PWmv)Vqc8;2OkDhyzo_v&`eU+nsm{x#*TZe~Tii%;7kY|{fX`7pBo}O)? zp>e0DbgQd&uC8>fta`PzeY(1UgMosCf`^KTh>D4djf;zpjE#?tj*yR$l#-K{l$M#7 zo1UDdftsg+oUDeRuZW|uil(!Sr?-!*wvMT}k*&Ist-X`5zm>AVm$by0x67Wr&Y{51 zqQTOn#Dc)Ugu}yz#>R)p$cf9#ipFJ^F z?xOGSr}y`&{QRx||3O2Ki~s-t32;bRa{vG?A^-p`A_1!6-I4$R3PnjoK~#8N?VAgb z97P$&yE~W|6FqVYDUUlvLsUc~qCzBcQK%q_F;Oe=fyU?gfLNlS0f}B9L5Os|M~aV zJ+pgt#&#LqC}^l0tgRGhm!LeJdV&_tPjRLcd+`Z+`#Xpa%4ra)paEGs!mt#3@d zE~Lg9?$W>nHj*vKBo5gLtZTZ|YlH}zM!6GDqQoA__4Q;6il@xjmk;ep=`*BWBSa8o z%y4BYW#)2yJz0XFCUNL(LocQD=~Ax|An0UEEAEU+4|RW#G^is>5CDRp9#|}bCP=+T zfS_Sa4YZp?B`paeA&Eop7C}bpH9{Qf?;jW#=&!tm3QSuLQ40{XAD2kIMo0`HYv%Xy z%(ddsi|GP!2(Eq?J7kIrI%V!8Rs#dKD+qX}Oj%JuYY%m3xM|rTnX;o|L5oljb|v*1 zA%X@e_p}A{d}}v`kVQlLaz^SkLIh2syE+t?J#%4D?})4D2J=p{N}2 zeL9n1hor-z*peJ_r3uP&XuPMaEQd-HRN5+Y(qU1`a>#VuDl5&QZVT$}bEw;5D0j+s z#Zb2i>bhrH?oLggY-Q98tdS0jvhzLd(V?tQ5<+<~)NMf>6hk2nJ!$u$(%y%=(jUobKAl}0}HYPCD$i=sZk}y#>n7rzr&A+}>Als|Gsx+5P|=+q!MhS2&QajH0hn1~G2(R%w@_ zlTZ6Z5IJP+#^?^tOr}olS<)^=$g|8j88riKm5n*XnaiRLlsP&&8WZyZX_ulbhqO-} ziJ-IDk@eB(xajQa=zK2tmo%)$*tIgU2aKUY4na_#PUE}v(Na8jiJ-fsVLjH#z&`j= zI>1l!|2XkF1cLr~ClN&-!*g>?EC@=Pz!p%8)nF&45Hz&+#Kn+9qj9Bb{}D>0!#Yq9 z^tMe-fkXB{K5^^re2rfa)zj!>B&U$6=91}9nqSdA=@aB^EgKNz+7<-&;u-{9{yLPy z_p3W31N#VcNZ*HOF1JPNK1%!$UXS+25osqIV1=ilBevCqxG1${i9WMt_li?p>`d5Lp){Yva(;u#&}xvWlXHS zLmJjomP6W3J&%V?o@M{weF%2yb(D5gkoG>bihO~I;b)n>EBZJlyi+5cj3I5xF2_NQ zU48dFnyJZAbPT5UOR*r$A!lS@AM`AfQ8Um4ZN+;T8 z?zSkp4D(b%p0%~gz#$jnkoMXBb_#12F!kq9aL>yyZ|xFJ#yf_9b)bOESjunEzdQ`` zQ_j7DebZvd1UM8FL%wf6e!5}ZS>ONJ*z@eREB+40dk8K`WAlPK(4i8)r*2KG^Gm9pp{M*llsjeP9z#3j zPCc&s(35tRb(=%ux>Esyh0k%MHWOQU?WVBix9fi#32v_^?Ikf$F2`l^DtEI>f zPJWX^gEaGJRI4}RyxV=M)n3Z`mm55r?3&iBj)Dcj$WT3gjGzskKK)u@BWD z5%k6C7C6>9l(QUlhrUUD+3Raxqb_!<)qZ!v37=cGY}v#Az0f@_jmFSpi2LXhhi1kO z+3MQCseMO&PntEN2lc0^53{58YwW_W^0-SsSaTb0q(Dj4v|u0S4z7E z^ksh_USll^!Y=H+u^@CTP!NubhJ3z$m0^J}>2K07jUGdFg0KtohgcBOf*_=q1R0nz zaVX{zX_!WjAru7Hq99UqT`UMY)MLmi$lgp>u|t^q^Fk_idKBp~bRb;`g1$}Hnyc#^ zYB7eaSxz^V#87|rQl7YrrC}PMAYunDH@tdN?HW=@=ng5XjK?**QIa?`yLu^}JL_@C zA43KNJ@F{;*rPRah%_DXnHFORs!$m(`+7mTL!KC-u|ZHm977Mvd5TPj0L(NxWLkGf z6SPcD)6hWDVL}{30N!4*%5oga*@qHHkb%8h18WqA00|@bX_zvoXl<2ICp&7JK1S&?iXnJ(e1k5v*Tz$JzcfgL12ugMOM=XI=?FiK zG30efjUj&f0EaFlW%l>6pogSE8X8DCOrZB6w;8X(P8wneUb9+>p*LYSD2O*km?_zZ z)J2xDQ@a}vf};p3;Lx$$2|YR>YaSqnpy=PyAPrSXhY5r9Td&Qdd|_}5=|TNFK%?UNW6W_Nhzq<98LvZYSWx1Sed`RYF!l%1Fpchzyt>kL@CLiRh(qu?gj1HR zG6srnl7?w?hid=9xst1Ua5v0!2%GBr5D2QyppKF$n>K|i>_TbRfWFFrO|Rzb+y%55 zwzbOO8W6;P{GF__6@Pg>o}VPm8p-%}?2p%Oy687IJRxWQBjlt3bsx&$Pv5!tM#(ne zb*L3ohuXvwL#+W0mG!qQ;q&1-rrj~kiS^IyZ)+GX~YwIEa0000