From 1d4f38ec5b1dd5e1f085173b2fdf63354fac8d37 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Fri, 1 Sep 2023 18:22:55 -0700 Subject: [PATCH] Space Exploration integration (#136) * Update data-updates.lua for SE integration * Update data-final-fixes.lua for SE integration * Add file for SE integration * Update info.json for SE integration * Update data-updates.lua for SE integration * Add file for SE integration * Add file for SE integration * Update data-updates.lua for SE integration * Update bobmining.cfg for SE integration * Add file for SE integration * Update info.json for SE integration * Update info.json for SE integration * Update data-updates.lua for SE integration * Add file for SE integration * Update pipes.lua with iridium pipe for SE integration * Update boblogistics.cfg for SE integration * Add file for SE integration * Update info.json for SE integration * Update data-updates.lua for SE integration * Add file for SE integration * Update bobequipment.cfg for SE integration * Update equipment.lua for SE integration * Update equipment.lua for SE integration * Update equipment.lua for SE integration * Update equipment.lua for SE integration * Add file for SE integration * Update info.json for SE integration * Fixing indentation * Removing references to steam assembling machines Steam assembling machines are now disabled when AAI is enabled * Fixing indentation * Fixing indentation * Fixing indentation * Updating changelogs --------- Co-authored-by: KiwiHawk <59639+KiwiHawk@users.noreply.github.com> --- bobassembly/changelog.txt | 1 + bobassembly/data-final-fixes.lua | 15 + bobassembly/data-updates.lua | 3 + bobassembly/prototypes/se-updates.lua | 907 ++++++++++++ bobclasses/changelog.txt | 1 + bobclasses/data-final-fixes.lua | 83 ++ bobclasses/data-updates.lua | 4 + bobclasses/info.json | 3 +- bobclasses/prototypes/se-updates.lua | 192 +++ bobequipment/changelog.txt | 1 + bobequipment/data-final-fixes.lua | 110 ++ bobequipment/data-updates.lua | 4 + bobequipment/info.json | 3 +- bobequipment/locale/en/bobequipment.cfg | 2 + .../prototypes/equipment/equipment.lua | 228 +-- bobequipment/prototypes/item/equipment.lua | 110 +- bobequipment/prototypes/recipe/equipment.lua | 106 +- bobequipment/prototypes/se-updates.lua | 773 ++++++++++ .../prototypes/technology/equipment.lua | 244 ++-- boblogistics/changelog.txt | 1 + boblogistics/data-final-fixes.lua | 64 + boblogistics/data-updates.lua | 4 + boblogistics/info.json | 1 + boblogistics/locale/en/boblogistics.cfg | 8 + boblogistics/prototypes/entity/pipes.lua | 152 ++ boblogistics/prototypes/se-updates.lua | 1298 +++++++++++++++++ bobmining/changelog.txt | 1 + bobmining/data-updates.lua | 4 + bobmining/locale/en/bobmining.cfg | 5 + bobmining/prototypes/se-updates.lua | 320 ++++ 30 files changed, 4310 insertions(+), 338 deletions(-) create mode 100644 bobassembly/prototypes/se-updates.lua create mode 100644 bobclasses/data-final-fixes.lua create mode 100644 bobclasses/prototypes/se-updates.lua create mode 100644 bobequipment/data-final-fixes.lua create mode 100644 bobequipment/prototypes/se-updates.lua create mode 100644 boblogistics/data-final-fixes.lua create mode 100644 boblogistics/prototypes/se-updates.lua create mode 100644 bobmining/prototypes/se-updates.lua diff --git a/bobassembly/changelog.txt b/bobassembly/changelog.txt index b48aad7a..d03fc598 100644 --- a/bobassembly/changelog.txt +++ b/bobassembly/changelog.txt @@ -2,6 +2,7 @@ Version: 1.2.0 Date: ??? Changes: + - Added support for Space Exploration mod #88 - Hid setting "Burner and steam assembling machines" when AAI Industry mod is enabled #133 --------------------------------------------------------------------------------------------------- Version: 1.1.6 diff --git a/bobassembly/data-final-fixes.lua b/bobassembly/data-final-fixes.lua index 6262f1b4..4273e7b0 100644 --- a/bobassembly/data-final-fixes.lua +++ b/bobassembly/data-final-fixes.lua @@ -9,3 +9,18 @@ bobmods.lib.machine.copy_categories_from("furnace", "electric-furnace", "electri bobmods.lib.machine.copy_categories_from("furnace", "electric-furnace", "electric-furnace-3") bobmods.lib.machine.copy_categories_from("furnace", "electric-furnace", "multi-purpose-furnace-1") bobmods.lib.machine.copy_categories_from("furnace", "electric-furnace", "multi-purpose-furnace-2") + +if mods["space-exploration"] then + bobmods.lib.tech.remove_science_pack("electronics-machine-3", "se-material-science-pack-4") + bobmods.lib.tech.remove_science_pack("chemical-plant-3", "se-material-science-pack-1") + bobmods.lib.tech.remove_science_pack("chemical-plant-4", "se-material-science-pack-4") + if data.raw.item["chemical-plant-4"] then + data.raw.item["chemical-plant"].subgroup = "bob-chemical-machine" + end + if data.raw.item["oil-refinery-4"] then + data.raw.item["oil-refinery"].subgroup = "bob-chemical-machine" + data.raw.item["oil-refinery-2"].subgroup = "bob-chemical-machine" + data.raw.item["oil-refinery-3"].subgroup = "bob-chemical-machine" + data.raw.item["oil-refinery-4"].subgroup = "bob-chemical-machine" + end +end diff --git a/bobassembly/data-updates.lua b/bobassembly/data-updates.lua index 0ed59e0f..c8b2bf43 100644 --- a/bobassembly/data-updates.lua +++ b/bobassembly/data-updates.lua @@ -8,6 +8,9 @@ require("prototypes.chemical-mixing-furnace-updates") require("prototypes.distillery-updates") require("prototypes.fluid-furnace-updates") require("prototypes.centrifuge-updates") +if mods["space-exploration"] then + require("prototypes.se-updates") +end data.raw.fluid["crude-oil"].fuel_value = "1.9MJ" data.raw.fluid["crude-oil"].emissions_multiplier = 10 diff --git a/bobassembly/prototypes/se-updates.lua b/bobassembly/prototypes/se-updates.lua new file mode 100644 index 00000000..e65c590c --- /dev/null +++ b/bobassembly/prototypes/se-updates.lua @@ -0,0 +1,907 @@ +--Assembling machines +if data.raw.item["assembling-machine-6"] then + + data.raw.recipe["assembling-machine-4"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "advanced-circuit", amount = 8}, + {type = "item", name = "se-iridium-plate", amount = 6}, + {type = "item", name = "se-heavy-girder", amount = 4}, + {type = "item", name = "inserter", amount = 2}, + {type = "item", name = "assembling-machine-3", amount = 1}, + }, + result = "assembling-machine-4", + } + data.raw.recipe["assembling-machine-4"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 8}, + {type = "item", name = "advanced-circuit", amount = 16}, + {type = "item", name = "se-iridium-plate", amount = 12}, + {type = "item", name = "se-heavy-girder", amount = 8}, + {type = "item", name = "inserter", amount = 2}, + {type = "item", name = "assembling-machine-3", amount = 1}, + }, + result = "assembling-machine-4", + } + + data.raw.recipe["assembling-machine-5"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "processing-unit", amount = 3}, + {type = "item", name = "refined-concrete", amount = 8}, + {type = "item", name = "se-heavy-bearing", amount = 4}, + {type = "item", name = "fast-inserter", amount = 2}, + {type = "item", name = "assembling-machine-4", amount = 1}, + }, + result = "assembling-machine-5", + } + data.raw.recipe["assembling-machine-5"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 8}, + {type = "item", name = "processing-unit", amount = 6}, + {type = "item", name = "refined-concrete", amount = 16}, + {type = "item", name = "se-heavy-bearing", amount = 8}, + {type = "item", name = "fast-inserter", amount = 2}, + {type = "item", name = "assembling-machine-4", amount = 1}, + }, + result = "assembling-machine-5", + } + + data.raw.recipe["assembling-machine-6"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "se-heavy-assembly", amount = 4}, + {type = "item", name = "se-quantum-processor", amount = 1}, + {type = "item", name = "se-nanomaterial", amount = 2}, + {type = "fluid", name = "lubricant", amount = 8}, + {type = "item", name = "stack-inserter", amount = 1}, + {type = "item", name = "assembling-machine-5", amount = 1}, + }, + result = "assembling-machine-6", + } + data.raw.recipe["assembling-machine-6"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "se-heavy-assembly", amount = 8}, + {type = "item", name = "se-quantum-processor", amount = 2}, + {type = "item", name = "se-nanomaterial", amount = 4}, + {type = "fluid", name = "lubricant", amount = 16}, + {type = "item", name = "stack-inserter", amount = 1}, + {type = "item", name = "assembling-machine-5", amount = 1}, + }, + result = "assembling-machine-6", + } + data.raw.recipe["assembling-machine-6"].category = "crafting-with-fluid" + + data.raw.item["assembling-machine-4"].subgroup = "assembling" + data.raw.item["assembling-machine-5"].subgroup = "assembling" + data.raw.item["assembling-machine-6"].subgroup = "assembling" + + data.raw.technology["automation-4"].prerequisites = { + "automation-3", + "se-heavy-girder", + } + data.raw.technology["automation-4"].unit.count = 150 + data.raw.technology["automation-4"].unit.ingredients = { + {"automation-science-pack", 2}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"se-material-science-pack-1", 1} + } + + data.raw.technology["automation-5"].prerequisites = { + "automation-4", + "se-heavy-bearing", + "fast-inserter" + } + data.raw.technology["automation-5"].unit.count = 240 + data.raw.technology["automation-5"].unit.ingredients = { + {"automation-science-pack", 2}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"se-material-science-pack-2", 1} + } + if data.raw.technology["express-inserters"] then + bobmods.lib.tech.replace_prerequisite("automation-5", "fast-inserter", "express-inserters") + bobmods.lib.tech.replace_prerequisite("se-space-manufactory", "fast-inserter", "express-inserters") + end + + data.raw.technology["automation-6"].prerequisites = { + "automation-5", + "se-nanomaterial", + "se-heavy-assembly", + "stack-inserter" + } + data.raw.technology["automation-6"].unit.count = 500 + data.raw.technology["automation-6"].unit.ingredients = { + {"automation-science-pack", 2}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"se-material-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + } + if data.raw.technology["stack-inserter-2"] then + bobmods.lib.tech.replace_prerequisite("automation-6", "stack-inserter", "stack-inserter-2") + end + +end + +--Electronics assembling machines +if data.raw.item["electronics-machine-1"] then + + data.raw.recipe["electronics-machine-1"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "electric-motor", amount = 2}, + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-plate", amount = 5}, + }, + result = "electronics-machine-1", + } + data.raw.recipe["electronics-machine-1"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "electric-motor", amount = 4}, + {type = "item", name = "electronic-circuit", amount = 10}, + {type = "item", name = "iron-plate", amount = 10}, + }, + result = "electronics-machine-1", + } + + data.raw.recipe["electronics-machine-2"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 3}, + {type = "item", name = "processing-unit", amount = 8}, + {type = "item", name = "steel-plate", amount = 5}, + {type = "item", name = "electronics-machine-1", amount = 1}, + }, + result = "electronics-machine-2", + } + data.raw.recipe["electronics-machine-2"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 6}, + {type = "item", name = "processing-unit", amount = 16}, + {type = "item", name = "steel-plate", amount = 10}, + {type = "item", name = "electronics-machine-1", amount = 1}, + }, + result = "electronics-machine-2", + } + + data.raw.recipe["electronics-machine-3"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 5}, + {type = "item", name = "se-quantum-processor", amount = 1}, + {type = "item", name = "se-self-sealing-gel", amount = 4}, + {type = "item", name = "se-heavy-girder", amount = 3}, + {type = "item", name = "fast-inserter", amount = 1}, + {type = "item", name = "electronics-machine-2", amount = 1}, + }, + result = "electronics-machine-3", + } + data.raw.recipe["electronics-machine-3"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 10}, + {type = "item", name = "se-quantum-processor", amount = 2}, + {type = "item", name = "se-self-sealing-gel", amount = 8}, + {type = "item", name = "se-heavy-girder", amount = 6}, + {type = "item", name = "fast-inserter", amount = 1}, + {type = "item", name = "electronics-machine-2", amount = 1}, + }, + result = "electronics-machine-3", + } + + data.raw["assembling-machine"]["electronics-machine-1"].crafting_categories = {"electronics", "electronics-machine", "electronics-with-fluid", "crafting-or-electromagnetics"} + data.raw["assembling-machine"]["electronics-machine-2"].crafting_categories = {"electronics", "electronics-machine", "electronics-with-fluid", "crafting-or-electromagnetics"} + data.raw["assembling-machine"]["electronics-machine-3"].crafting_categories = {"electronics", "electronics-machine", "electronics-with-fluid", "crafting-or-electromagnetics"} + data.raw.recipe["se-processing-unit-holmium"].category = "electronics-with-fluid" + + data.raw["assembling-machine"]["electronics-machine-1"].fluid_boxes = { + { + base_area = 10, + base_level = -1, + pipe_connections = { + { + position = { + 0.5, + -1.5 + }, + type = "input" + } + }, + pipe_covers = { + east = { + layers = { + { + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-east.png", + height = 64, + hr_version = { + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-east.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + }, + { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-east-shadow.png", + height = 64, + hr_version = { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-east-shadow.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + } + } + }, + north = { + layers = { + { + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-north.png", + height = 64, + hr_version = { + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-north.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + }, + { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-north-shadow.png", + height = 64, + hr_version = { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-north-shadow.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + } + } + }, + south = { + layers = { + { + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-south.png", + height = 64, + hr_version = { + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-south.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + }, + { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-south-shadow.png", + height = 64, + hr_version = { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-south-shadow.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + } + } + }, + west = { + layers = { + { + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-west.png", + height = 64, + hr_version = { + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-west.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + }, + { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/pipe-cover-west-shadow.png", + height = 64, + hr_version = { + draw_as_shadow = true, + filename = "__base__/graphics/entity/pipe-covers/hr-pipe-cover-west-shadow.png", + height = 128, + priority = "extra-high", + scale = 0.5, + width = 128 + }, + priority = "extra-high", + width = 64 + } + } + } + }, + pipe_picture = { + east = { + filename = "__base__/graphics/entity/assembling-machine-3/assembling-machine-3-pipe-E.png", + height = 38, + hr_version = { + filename = "__base__/graphics/entity/assembling-machine-3/hr-assembling-machine-3-pipe-E.png", + height = 76, + priority = "extra-high", + scale = 0.5, + shift = { + -0.765625, + 0.03125 + }, + width = 42 + }, + priority = "extra-high", + shift = { + -0.78125, + 0.03125 + }, + width = 20 + }, + north = { + filename = "__base__/graphics/entity/assembling-machine-3/assembling-machine-3-pipe-N.png", + height = 18, + hr_version = { + filename = "__base__/graphics/entity/assembling-machine-3/hr-assembling-machine-3-pipe-N.png", + height = 38, + priority = "extra-high", + scale = 0.5, + shift = { + 0.0703125, + 0.421875 + }, + width = 71 + }, + priority = "extra-high", + shift = { + 0.078125, + 0.4375 + }, + width = 35 + }, + south = { + filename = "__base__/graphics/entity/assembling-machine-3/assembling-machine-3-pipe-S.png", + height = 31, + hr_version = { + filename = "__base__/graphics/entity/assembling-machine-3/hr-assembling-machine-3-pipe-S.png", + height = 61, + priority = "extra-high", + scale = 0.5, + shift = { + 0, + -0.9765625 + }, + width = 88 + }, + priority = "extra-high", + shift = { + 0, + -0.984375 + }, + width = 44 + }, + west = { + filename = "__base__/graphics/entity/assembling-machine-3/assembling-machine-3-pipe-W.png", + height = 37, + hr_version = { + filename = "__base__/graphics/entity/assembling-machine-3/hr-assembling-machine-3-pipe-W.png", + height = 73, + priority = "extra-high", + scale = 0.5, + shift = { + 0.8046875, + 0.0390625 + }, + width = 39 + }, + priority = "extra-high", + shift = { + 0.796875, + 0.046875 + }, + width = 19 + } + }, + production_type = "input" + }, + off_when_no_fluid_recipe = true + } + + bobmods.lib.tech.replace_prerequisite("electronics-machine-1", "automation", "electronics") + data.raw.technology["electronics-machine-2"].prerequisites = { + "electronics-machine-1", + "production-science-pack" + } + data.raw.technology["electronics-machine-2"].unit.count = 100 + data.raw.technology["electronics-machine-2"].unit.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} + } + data.raw.technology["electronics-machine-3"].prerequisites = { + "electronics-machine-2", + "se-heavy-girder", + "se-quantum-processor", + "se-self-sealing-gel" + } + data.raw.technology["electronics-machine-3"].unit.count = 500 + data.raw.technology["electronics-machine-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-energy-science-pack-3", 1}, + {"se-biological-science-pack-4", 1}, + {"se-material-science-pack-1", 1} + } + + data.raw["assembling-machine"]["electronics-machine-1"].module_specification.module_slots = 3 + +end + +--Chemical plants +if data.raw.item["chemical-plant-4"] then + + data.raw.recipe["chemical-plant-2"].ingredients = { + {type = "item", name = "advanced-circuit", amount = 5}, + {type = "item", name = "se-heat-shielding", amount = 6}, + {type = "fluid", name = "se-pyroflux", amount = 8}, + {type = "item", name = "steel-plate", amount = 5}, + {type = "item", name = "chemical-plant", amount = 1}, + } + data.raw.recipe["chemical-plant-2"].category = "crafting-with-fluid" + + data.raw.recipe["chemical-plant-3"].ingredients = { + {type = "item", name = "processing-unit", amount = 10}, + {type = "item", name = "se-bioscrubber", amount = 4}, + {type = "item", name = "se-iridium-plate", amount = 5}, + {type = "item", name = "chemical-plant-2", amount = 1}, + } + + if bobmods.logistics then + bobmods.lib.recipe.replace_ingredient("chemical-plant-2", "steel-plate", "steel-pipe") + bobmods.lib.recipe.replace_ingredient("chemical-plant-3", "se-iridium-plate", "iridium-pipe") + end + + data.raw.recipe["chemical-plant-4"].ingredients = { + {type = "item", name = "se-quantum-processor", amount = 1}, + {type = "item", name = "se-lattice-pressure-vessel", amount = 1}, + {type = "item", name = "se-self-sealing-gel", amount = 6}, + {type = "item", name = "chemical-plant-3", amount = 1}, + } + + data.raw.technology["chemical-plant-2"].prerequisites = { + "se-processing-vulcanite" + } + data.raw.technology["chemical-plant-2"].unit.count = 100 + data.raw.technology["chemical-plant-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1} + } + + data.raw.technology["chemical-plant-3"].prerequisites = { + "chemical-plant-2", + "se-bioscrubber" + } + data.raw.technology["chemical-plant-3"].unit.count = 200 + data.raw.technology["chemical-plant-3"].unit.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}, + {"se-biological-science-pack-1", 1} + } + + data.raw.technology["chemical-plant-4"].prerequisites = { + "chemical-plant-3", + "se-quantum-processor", + "se-lattice-pressure-vessel" + } + data.raw.technology["chemical-plant-4"].unit.count = 500 + data.raw.technology["chemical-plant-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-energy-science-pack-3", 1}, + {"se-biological-science-pack-4", 1} + } + + if data.raw.item["bob-pump-4"] then + bobmods.lib.recipe.add_ingredient("chemical-plant", {type = "item", name = "pump", amount = 2}) + bobmods.lib.recipe.add_ingredient("chemical-plant-2", {type = "item", name = "bob-pump-2", amount = 2}) + bobmods.lib.recipe.add_ingredient("chemical-plant-3", {type = "item", name = "bob-pump-3", amount = 2}) + bobmods.lib.recipe.add_ingredient("chemical-plant-4", {type = "item", name = "bob-pump-4", amount = 2}) + bobmods.lib.tech.add_prerequisite("chemical-plant-2", "bob-fluid-handling-2") + bobmods.lib.tech.add_prerequisite("chemical-plant-3", "bob-fluid-handling-3") + bobmods.lib.tech.add_prerequisite("chemical-plant-4", "bob-fluid-handling-4") + end + + data.raw.item["chemical-plant"].order = "e[chemical-plant-1]" + +end + +--Centrifuges +if data.raw.item["centrifuge-3"] then + + bobmods.lib.recipe.replace_ingredient("centrifuge", "processing-unit", "advanced-circuit") + + data.raw.recipe["centrifuge-2"].ingredients = { + {type = "item", name = "se-iridium-plate", amount = 50}, + {type = "item", name = "se-heavy-bearing", amount = 20}, + {type = "item", name = "se-holmium-solenoid", amount = 20}, + {type = "item", name = "processing-unit", amount = 20}, + {type = "item", name = "centrifuge", amount = 1}, + } + + data.raw.recipe["centrifuge-3"].ingredients = { + {type = "item", name = "se-nanomaterial", amount = 20}, + {type = "item", name = "se-superconductive-cable", amount = 20}, + {type = "item", name = "se-quantum-processor", amount = 5}, + {type = "item", name = "centrifuge-2", amount = 1}, + } + + bobmods.lib.tech.replace_prerequisite("se-centrifuge", "advanced-electronics-2", "se-rocket-science-pack") + + data.raw.technology["centrifuge-2"].prerequisites = { + "se-centrifuge", + "se-heavy-bearing", + "se-holmium-solenoid" + } + data.raw.technology["centrifuge-2"].unit.count = 800 + data.raw.technology["centrifuge-2"].unit.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}, + {"se-energy-science-pack-2", 1}, + {"se-material-science-pack-2", 1} + } + + data.raw.technology["centrifuge-3"].prerequisites = { + "centrifuge-2", + "se-nanomaterial", + "se-superconductive-cable", + "se-quantum-processor", + } + data.raw.technology["centrifuge-3"].unit.count = 2000 + data.raw.technology["centrifuge-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1} + } + + data.raw.technology["centrifuge-2"].icon = "__space-exploration-graphics__/graphics/technology/centrifuge.png" + data.raw.technology["centrifuge-2"].icon_size = 256 + data.raw.technology["centrifuge-3"].icon = "__space-exploration-graphics__/graphics/technology/centrifuge.png" + data.raw.technology["centrifuge-3"].icon_size = 256 + + data.raw.item["centrifuge-2"].icon = "__space-exploration-graphics__/graphics/icons/centrifuge.png" + data.raw.item["centrifuge-3"].icon = "__space-exploration-graphics__/graphics/icons/centrifuge.png" + data.raw.item["centrifuge-2"].subgroup = "radiation" + data.raw.item["centrifuge-3"].subgroup = "radiation" + data.raw.item["centrifuge-2"].order = "g[centrifuge-2]" + data.raw.item["centrifuge-3"].order = "g[centrifuge-3]" + +end + +--Oil refineries +if data.raw.item["oil-refinery-4"] then + + data.raw.recipe["oil-refinery"].normal = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-motor", amount = 15}, + {type = "item", name = "electronic-circuit", amount = 10}, + {type = "item", name = "pipe", amount = 15}, + {type = "item", name = "stone-brick", amount = 15}, + {type = "item", name = "glass", amount = 15}, + {type = "item", name = "steel-plate", amount = 15}, + }, + result = "oil-refinery", + } + data.raw.recipe["oil-refinery"].expensive = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-motor", amount = 20}, + {type = "item", name = "electronic-circuit", amount = 15}, + {type = "item", name = "pipe", amount = 20}, + {type = "item", name = "stone-brick", amount = 20}, + {type = "item", name = "glass", amount = 20}, + {type = "item", name = "steel-plate", amount = 20}, + }, + result = "oil-refinery", + } + + data.raw.recipe["oil-refinery-2"].normal = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 10}, + {type = "item", name = "advanced-circuit", amount = 10}, + {type = "item", name = "steel-plate", amount = 15}, + {type = "item", name = "se-heat-shielding", amount = 10}, + {type = "item", name = "concrete", amount = 20}, + {type = "item", name = "oil-refinery", amount = 1}, + }, + result = "oil-refinery-2", + } + data.raw.recipe["oil-refinery-2"].expensive = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 15}, + {type = "item", name = "advanced-circuit", amount = 15}, + {type = "item", name = "steel-plate", amount = 20}, + {type = "item", name = "se-heat-shielding", amount = 15}, + {type = "item", name = "concrete", amount = 30}, + {type = "item", name = "oil-refinery", amount = 1}, + }, + result = "oil-refinery-2", + } + + data.raw.recipe["oil-refinery-3"].normal = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 10}, + {type = "item", name = "processing-unit", amount = 8}, + {type = "item", name = "se-heavy-girder", amount = 10}, + {type = "item", name = "se-iridium-plate", amount = 15}, + {type = "item", name = "oil-refinery-2", amount = 1}, + }, + result = "oil-refinery-3", + } + data.raw.recipe["oil-refinery-3"].expensive = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 15}, + {type = "item", name = "processing-unit", amount = 12}, + {type = "item", name = "se-heavy-girder", amount = 15}, + {type = "item", name = "se-iridium-plate", amount = 20}, + {type = "item", name = "oil-refinery-2", amount = 1}, + }, + result = "oil-refinery-3", + } + + if bobmods.logistics then + bobmods.lib.recipe.replace_ingredient("oil-refinery-2", "steel-plate", "steel-pipe") + bobmods.lib.recipe.replace_ingredient("oil-refinery-3", "se-iridium-plate", "iridium-pipe") + end + + + data.raw.recipe["oil-refinery-4"].normal = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 10}, + {type = "item", name = "se-quantum-processor", amount = 2}, + {type = "item", name = "se-lattice-pressure-vessel", amount = 3}, + {type = "item", name = "se-heavy-composite", amount = 5}, + {type = "item", name = "oil-refinery-3", amount = 1}, + }, + result = "oil-refinery-4", + } + data.raw.recipe["oil-refinery-4"].expensive = { + enabled = false, + energy_required = 8, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 15}, + {type = "item", name = "se-quantum-processor", amount = 3}, + {type = "item", name = "se-lattice-pressure-vessel", amount = 5}, + {type = "item", name = "se-heavy-composite", amount = 8}, + {type = "item", name = "oil-refinery-3", amount = 1}, + }, + result = "oil-refinery-4", + } + + data.raw.technology["oil-processing-2"].prerequisites = { + "se-rocket-science-pack", + } + data.raw.technology["oil-processing-2"].unit.count = 100 + data.raw.technology["oil-processing-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + } + + data.raw.technology["oil-processing-3"].prerequisites = { + "oil-processing-2", + "se-heavy-girder" + } + data.raw.technology["oil-processing-3"].unit.count = 200 + data.raw.technology["oil-processing-3"].unit.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}, + {"se-material-science-pack-1", 1} + } + + data.raw.technology["oil-processing-4"].prerequisites = { + "oil-processing-3", + "se-lattice-pressure-vessel", + "se-quantum-processor" + } + data.raw.technology["oil-processing-4"].unit.count = 375 + data.raw.technology["oil-processing-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-3", 1} + } + + if data.raw.item["bob-pump-4"] then + bobmods.lib.recipe.add_ingredient("oil-refinery", {type = "item", name = "pump", amount = 4}) + bobmods.lib.recipe.add_ingredient("oil-refinery-2", {type = "item", name = "bob-pump-2", amount = 4}) + bobmods.lib.recipe.add_ingredient("oil-refinery-3", {type = "item", name = "bob-pump-3", amount = 4}) + bobmods.lib.recipe.add_ingredient("oil-refinery-4", {type = "item", name = "bob-pump-4", amount = 4}) + bobmods.lib.tech.add_prerequisite("oil-processing-2", "bob-fluid-handling-2") + bobmods.lib.tech.add_prerequisite("oil-processing-3", "bob-fluid-handling-3") + bobmods.lib.tech.add_prerequisite("oil-processing-4", "bob-fluid-handling-4") + end + + data.raw.item["oil-refinery"].order = "z-g[oil-refinery-1]" + data.raw.item["oil-refinery-2"].order = "z-g[oil-refinery-2]" + data.raw.item["oil-refinery-3"].order = "z-g[oil-refinery-3]" + data.raw.item["oil-refinery-4"].order = "z-g[oil-refinery-4]" + +end + +--Electric furnaces +if data.raw.item["electric-furnace-3"] then + + data.raw.recipe["electric-furnace-2"].normal = { + enabled = false, + energy_required = 5, + ingredients = { + {type = "item", name = "processing-unit", amount = 5}, + {type = "item", name = "se-iridium-plate", amount = 10}, + {type = "item", name = "se-heavy-girder", amount = 5}, + {type = "item", name = "electric-furnace", amount = 1}, + }, + result = "electric-furnace-2", + } + data.raw.recipe["electric-furnace-2"].expensive = { + enabled = false, + energy_required = 5, + ingredients = { + {type = "item", name = "processing-unit", amount = 10}, + {type = "item", name = "se-iridium-plate", amount = 20}, + {type = "item", name = "se-heavy-girder", amount = 10}, + {type = "item", name = "electric-furnace", amount = 1}, + }, + result = "electric-furnace-2", + } + + data.raw.recipe["electric-furnace-3"].normal = { + enabled = false, + energy_required = 5, + ingredients = { + {type = "item", name = "processing-unit", amount = 10}, + {type = "item", name = "se-heavy-composite", amount = 10}, + {type = "item", name = "se-hot-thermodynamics-data", amount = 1}, + {type = "item", name = "se-experimental-alloys-data", amount = 1}, + {type = "item", name = "electric-furnace-2", amount = 1}, + }, + result = "electric-furnace-3", + } + data.raw.recipe["electric-furnace-3"].expensive = { + enabled = false, + energy_required = 5, + ingredients = { + {type = "item", name = "processing-unit", amount = 20}, + {type = "item", name = "se-heavy-composite", amount = 20}, + {type = "item", name = "se-hot-thermodynamics-data", amount = 1}, + {type = "item", name = "se-experimental-alloys-data", amount = 1}, + {type = "item", name = "electric-furnace-2", amount = 1}, + }, + result = "electric-furnace-3", + } + + data.raw.furnace["electric-furnace-2"].energy_usage = "225kW" + + data.raw.technology["advanced-material-processing-3"].prerequisites = { + "advanced-material-processing-2", + "se-heavy-girder", + } + data.raw.technology["advanced-material-processing-3"].unit.count = 200 + data.raw.technology["advanced-material-processing-3"].unit.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}, + {"se-material-science-pack-1", 1} + } + + data.raw.technology["advanced-material-processing-4"].prerequisites = { + "advanced-material-processing-3", + "se-material-science-pack-4", + } + data.raw.technology["advanced-material-processing-4"].unit.count = 500 + data.raw.technology["advanced-material-processing-4"].unit.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}, + {"se-material-science-pack-4", 1} + } + +end diff --git a/bobclasses/changelog.txt b/bobclasses/changelog.txt index 00db969d..b3913cb7 100644 --- a/bobclasses/changelog.txt +++ b/bobclasses/changelog.txt @@ -2,6 +2,7 @@ Version: 1.2.0 Date: ??? Changes: + - Added support for Space Exploration mod #88 - Added missing prerequisites #120 Bugfixes: - Fixed error when changing character icon #135 diff --git a/bobclasses/data-final-fixes.lua b/bobclasses/data-final-fixes.lua new file mode 100644 index 00000000..7130dfb6 --- /dev/null +++ b/bobclasses/data-final-fixes.lua @@ -0,0 +1,83 @@ +if mods["space-exploration"] then + if data.raw.item["titanium-chest"] then + bobmods.lib.recipe.replace_ingredient("player-frame-2", "steel-chest", "titanium-chest") + end + data.raw.technology["bodies-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-2", 1} + } + data.raw.technology["builder-body-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-2", 1} + } + data.raw.technology["engineer-body"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-2", 1} + } + data.raw.technology["fighter-body-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-2", 1} + } + data.raw.technology["miner-body-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-2", 1} + } + data.raw.technology["prospector-body"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-2", 1} + } +end \ No newline at end of file diff --git a/bobclasses/data-updates.lua b/bobclasses/data-updates.lua index 0e91e456..f572280a 100644 --- a/bobclasses/data-updates.lua +++ b/bobclasses/data-updates.lua @@ -22,3 +22,7 @@ if data.raw["item-group"]["bob-intermediate-products"] then end require("prototypes.recipe-updates") + +if mods["space-exploration"] then + require("prototypes.se-updates") +end diff --git a/bobclasses/info.json b/bobclasses/info.json index cf650ab7..dc06e639 100644 --- a/bobclasses/info.json +++ b/bobclasses/info.json @@ -9,7 +9,8 @@ "dependencies": [ "base >= 1.1.0", "boblibrary >= 1.1.6", - "? bobplates >= 1.2.0" + "? bobplates >= 1.2.0", + "(?) space-exploration >= 0.6.0" ], "description": "Requires Bob's functions library mod.\n\nCurrently, this adds 3 new classes to the game. These have various bonuses and disadvantages added, including a change in starting and respawn equipment.\n\nFighter: 125% health + healing rate, 75% inventory (-20 slots), 83% reach, 133% run speed.\nMiner: 80% health + healing rate, 83% reach and 130% mining reach, 80% run speed, +mining speed, Can hand smelt.\nBuilder: 80% health and healing rate, 133% inventory space (+26 slots), 133% reach, 80% run speed, 200% build speed.\n\nThis mod also adds the Avatar switcher GUI and when you get far enough into the game, you can build new bodies.\nThe avatar switcher GUI will list all bodies you've build. You can switch to one by clicking on the class picture button. When you press a button, that body is removed from the list, and your previous body added to the end.\nWhen dying, if you own multiple bodies, instead of respawning you will automatically switch to the first body in the list." } diff --git a/bobclasses/prototypes/se-updates.lua b/bobclasses/prototypes/se-updates.lua new file mode 100644 index 00000000..bf0315e3 --- /dev/null +++ b/bobclasses/prototypes/se-updates.lua @@ -0,0 +1,192 @@ +--Body parts +bobmods.lib.recipe.replace_ingredient("player-boots-2", "steel-plate", "se-beryllium-plate") +bobmods.lib.recipe.replace_ingredient("player-head-2", "steel-plate", "se-beryllium-plate") + +data.raw.recipe["player-brain"].ingredients = { + {type = "item", name = "processing-unit", amount = 5}, + {type = "fluid", name = "se-neural-gel-2", amount = 200}, + {type = "item", name = "steel-plate", amount = 5} +} +data.raw.recipe["player-brain"].category = "crafting-with-fluid" + +data.raw.recipe["player-brain-2"].ingredients = { + {type = "item", name = "se-quantum-processor", amount = 3}, + {type = "fluid", name = "se-neural-gel-2", amount = 200}, + {type = "item", name = "se-iridium-plate", amount = 5} +} +data.raw.recipe["player-brain-2"].category = "crafting-with-fluid" + +data.raw.recipe["player-gloves-2"].ingredients = { + {type = "item", name = "se-beryllium-plate", amount = 5}, + {type = "item", name = "se-heavy-bearing", amount = 3} +} + +data.raw.recipe["player-power-core"].ingredients = { + {type = "item", name = "low-density-structure", amount = 4}, + {type = "item", name = "se-cryonite-rod", amount = 2}, + {type = "item", name = "se-vulcanite-block", amount = 2}, + {type = "item", name = "se-vitalic-epoxy", amount = 4}, + {type = "fluid", name = "se-space-coolant-hot", amount = 40}, +} +data.raw.recipe["player-power-core"].category = "crafting-with-fluid" + +bobmods.lib.recipe.replace_ingredient("player-frame", "advanced-circuit", "processing-unit") +bobmods.lib.recipe.add_ingredient("player-frame", {type = "item", name = "copper-cable", amount = 30}) + +data.raw.recipe["player-frame-2"].ingredients = { + {type = "item", name = "electric-engine-unit", amount = 12}, + {type = "item", name = "se-quantum-processor", amount = 3}, + {type = "item", name = "se-holmium-cable", amount = 30}, + {type = "item", name = "player-boots-2", amount = 1}, + {type = "item", name = "player-gloves-2", amount = 1}, + {type = "item", name = "player-head-2", amount = 1}, + {type = "item", name = "player-power-core", amount = 1}, + {type = "item", name = "steel-chest", amount = 1}, + {type = "item", name = "se-aeroframe-pole", amount = 10}, +} + +data.raw.technology.bodies.prerequisites = { + "se-vitalic-epoxy", +} +data.raw.technology.bodies.unit.count = 1000 +data.raw.technology.bodies.unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-3", 1} +} + +data.raw.technology["bodies-2"].prerequisites = { + "bodies", + "se-quantum-processor", + "se-heavy-bearing", + "se-aeroframe-pole" +} +data.raw.technology["bodies-2"].unit.count = 1500 + + +--Characters +if data.raw.item["assembling-machine-4"] then + bobmods.lib.recipe.replace_ingredient("bob-character-balanced-2", "assembling-machine-2", "assembling-machine-4") +end + +data.raw.recipe["bob-character-builder-2"].ingredients = { + {type = "item", name = "player-frame-2", amount = 1}, + {type = "item", name = "se-space-manufactory", amount = 1}, +} + +bobmods.lib.recipe.replace_ingredient("bob-character-engineer", "electric-furnace", "industrial-furnace") + +data.raw.recipe["bob-character-fighter-2"].ingredients = { + {type = "item", name = "player-frame-2", amount = 1}, + {type = "item", name = "assembling-machine-3", amount = 1}, + {type = "item", name = "se-medpack-2", amount = 1}, + {type = "item", name = "exoskeleton-equipment", amount = 1}, +} + +data.raw.recipe["bob-character-miner-2"].ingredients = { + {type = "item", name = "player-frame-2", amount = 1}, + {type = "item", name = "assembling-machine-3", amount = 1}, + {type = "item", name = "se-space-thermodynamics-laboratory", amount = 1}, +} + +data.raw.recipe["bob-character-prospector"].ingredients = { + {type = "item", name = "player-frame-2", amount = 1}, + {type = "item", name = "assembling-machine-3", amount = 1}, + {type = "item", name = "industrial-furnace", amount = 1}, + {type = "item", name = "exoskeleton-equipment", amount = 1}, +} +if data.raw.item["exoskeleton-equipment-2"] then + bobmods.lib.recipe.replace_ingredient("bob-character-fighter-2", "exoskeleton-equipment", "exoskeleton-equipment-2") + bobmods.lib.recipe.replace_ingredient("bob-character-prospector", "exoskeleton-equipment", "exoskeleton-equipment-2") +end + +data.raw.technology["builder-body"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-3", 1} +} +data.raw.technology["miner-body"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-3", 1} +} +data.raw.technology["fighter-body"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-3", 1} +} + +if data.raw.item["assembling-machine-4"] then + bobmods.lib.tech.add_prerequisite("bodies-2", "automation-4") +end + +data.raw.technology["builder-body-2"].prerequisites = { + "builder-body", + "bodies-2", +} + +data.raw.technology["fighter-body-2"].prerequisites = { + "fighter-body", + "bodies-2", + "se-medpack-2" +} + +data.raw.technology["miner-body-2"].prerequisites = { + "miner-body", + "bodies-2", +} + +if data.raw.item["exoskeleton-equipment-2"] then + bobmods.lib.tech.add_prerequisite("prospector-body", "exoskeleton-equipment-2") + bobmods.lib.tech.add_prerequisite("fighter-body-2", "exoskeleton-equipment-2") +end + +table.insert(data.raw.character["bob-character-balanced-2"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-builder"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-builder-2"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-engineer"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-fighter"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-fighter-2"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-miner"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-miner-2"]["crafting_categories"], "hand-hard-recycling") +table.insert(data.raw.character["bob-character-prospector"]["crafting_categories"], "hand-hard-recycling") + +data.raw.character["bob-character-balanced-2"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-builder"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-builder-2"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-engineer"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-fighter"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-fighter-2"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-miner"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-miner-2"].collision_box = {{-0.15, -0.15},{0.15,0.15}} +data.raw.character["bob-character-prospector"].collision_box = {{-0.15, -0.15},{0.15,0.15}} + +data.raw.character["bob-character-balanced-2"].healing_per_tick = 0.01 +data.raw.character["bob-character-builder"].healing_per_tick = 0.0005 +data.raw.character["bob-character-builder-2"].healing_per_tick = 0.001 +data.raw.character["bob-character-engineer"].healing_per_tick = 0.001 +data.raw.character["bob-character-fighter"].healing_per_tick = 0.01 +data.raw.character["bob-character-fighter-2"].healing_per_tick = 0.02 +data.raw.character["bob-character-miner"].healing_per_tick = 0.0005 +data.raw.character["bob-character-miner-2"].healing_per_tick = 0.001 +data.raw.character["bob-character-prospector"].healing_per_tick = 0.01 \ No newline at end of file diff --git a/bobequipment/changelog.txt b/bobequipment/changelog.txt index 37f7ff97..b7f65cfd 100644 --- a/bobequipment/changelog.txt +++ b/bobequipment/changelog.txt @@ -2,6 +2,7 @@ Version: 1.2.0 Date: ??? Changes: + - Added support for Space Exploration mod #88 - Added missing prerequisites #120 Bugfixes: - Fixed Portable fusion reactor and Personal laser defence science packs #124 diff --git a/bobequipment/data-final-fixes.lua b/bobequipment/data-final-fixes.lua new file mode 100644 index 00000000..dd7c6666 --- /dev/null +++ b/bobequipment/data-final-fixes.lua @@ -0,0 +1,110 @@ +if mods["space-exploration"] then + data.raw.technology["solar-panel-equipment-3"].prerequisites = { + "solar-panel-equipment-2", + "se-holmium-cable" + } + data.raw.technology["solar-panel-equipment-3"].unit.count = 180 + data.raw.technology["solar-panel-equipment-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-energy-science-pack-1", 1}, + } + bobmods.lib.tech.remove_science_pack("fusion-reactor-equipment-se-2", "production-science-pack") + bobmods.lib.tech.remove_science_pack("fusion-reactor-equipment-se-2", "se-material-science-pack-4") + data.raw.technology["fusion-reactor-equipment-se-2"].unit.count = 500 + + data.raw.technology["battery-mk2-equipment"].prerequisites = { + "battery-equipment", + "se-rocket-science-pack" + } + data.raw.technology["battery-mk2-equipment"].unit.count = 75 + data.raw.technology["battery-mk2-equipment"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1} + } + + data.raw.technology["bob-battery-equipment-3"].prerequisites = { + "battery-mk2-equipment", + "se-processing-cryonite", + "se-processing-vulcanite" + } + data.raw.technology["bob-battery-equipment-3"].unit.count = 100 + data.raw.technology["bob-battery-equipment-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1} + } + + data.raw.technology["bob-battery-equipment-4"].prerequisites = { + "bob-battery-equipment-3", + "se-holmium-cable", + } + data.raw.technology["bob-battery-equipment-4"].unit.count = 125 + data.raw.technology["bob-battery-equipment-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-energy-science-pack-1", 1} + } + + data.raw.technology["bob-battery-equipment-5"].prerequisites = { + "bob-battery-equipment-4", + "se-astronomic-science-pack-1", + "se-material-science-pack-1", + "se-vitalic-acid" + } + data.raw.technology["bob-battery-equipment-5"].unit.count = 150 + data.raw.technology["bob-battery-equipment-5"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-biological-science-pack-1", 1}, + {"se-energy-science-pack-1", 1}, + {"se-material-science-pack-1", 1} + } + + data.raw.technology["bob-battery-equipment-6"].prerequisites = { + "bob-battery-equipment-5", + "se-naquium-cube" + } + data.raw.technology["bob-battery-equipment-6"].unit.count = 80 + data.raw.technology["bob-battery-equipment-6"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, + {"se-deep-space-science-pack-1", 1} + } + + bobmods.lib.tech.remove_science_pack("personal-roboport-mk2-equipment", "se-material-science-pack-1") + bobmods.lib.tech.remove_science_pack("personal-roboport-mk3-equipment", "se-material-science-pack-2") + bobmods.lib.tech.remove_science_pack("personal-roboport-modular-equipment-2", "se-material-science-pack-1") + bobmods.lib.tech.remove_science_pack("personal-roboport-modular-equipment-3", "se-material-science-pack-2") + +end \ No newline at end of file diff --git a/bobequipment/data-updates.lua b/bobequipment/data-updates.lua index c5da0583..5a61e4ed 100644 --- a/bobequipment/data-updates.lua +++ b/bobequipment/data-updates.lua @@ -1,2 +1,6 @@ require("prototypes.recipe.updates") require("prototypes.technology.technology-updates") + +if mods["space-exploration"] then + require("prototypes.se-updates") +end diff --git a/bobequipment/info.json b/bobequipment/info.json index 22468f94..cb333b3b 100644 --- a/bobequipment/info.json +++ b/bobequipment/info.json @@ -8,7 +8,8 @@ "homepage": "https://forums.factorio.com/viewforum.php?f=51", "dependencies": [ "base >= 1.1.0", - "boblibrary >= 1.1.6" + "boblibrary >= 1.1.6", + "(?) space-exploration >= 0.6.0" ], "description": "Requires Bob's functions library mod.\n\nExpands the range of equipment available in base mod for the modular armor.\n\nAlthough it can function as a stand alone mod, it is intended to be used with the full Bob's Mods set." } diff --git a/bobequipment/locale/en/bobequipment.cfg b/bobequipment/locale/en/bobequipment.cfg index a2eaf6b4..8bcdb311 100644 --- a/bobequipment/locale/en/bobequipment.cfg +++ b/bobequipment/locale/en/bobequipment.cfg @@ -91,6 +91,8 @@ personal-roboport-modular-equipment=Personal roboport modules personal-roboport-mk3-equipment=Personal roboport MK3 personal-roboport-mk4-equipment=Personal roboport MK4 +fusion-reactor-equipment-se=Portable fusion reactor + [mod-setting-name] diff --git a/bobequipment/prototypes/equipment/equipment.lua b/bobequipment/prototypes/equipment/equipment.lua index ca676368..d736b5fd 100644 --- a/bobequipment/prototypes/equipment/equipment.lua +++ b/bobequipment/prototypes/equipment/equipment.lua @@ -77,128 +77,132 @@ data:extend({ }, }) --- energy_per_shield MK1 is 20J per shield unit, MK2 is 30J. --- max_shield_value MK1 is 50, MK2 is 150 --- buffer_capacity MK1 is "120J", MK2 is 180J --- input_flow_limit MK1 is "240W", MK2 is 360W +if not mods["space-exploration"] then -data.raw["energy-shield-equipment"]["energy-shield-equipment"].max_shield_value = 75 -data.raw["energy-shield-equipment"]["energy-shield-equipment"].sprite = { - filename = "__bobequipment__/graphics/equipment/energy-shield-mk1-equipment.png", - width = 64, - height = 64, - priority = "medium", -} + -- energy_per_shield MK1 is 20J per shield unit, MK2 is 30J. + -- max_shield_value MK1 is 50, MK2 is 150 + -- buffer_capacity MK1 is "120J", MK2 is 180J + -- input_flow_limit MK1 is "240W", MK2 is 360W -data.raw["energy-shield-equipment"]["energy-shield-mk2-equipment"].energy_per_shield = "20kJ" -data.raw["energy-shield-equipment"]["energy-shield-mk2-equipment"].sprite = { - filename = "__bobequipment__/graphics/equipment/energy-shield-mk2-equipment.png", - width = 64, - height = 64, - priority = "medium", -} + data.raw["energy-shield-equipment"]["energy-shield-equipment"].max_shield_value = 75 + data.raw["energy-shield-equipment"]["energy-shield-equipment"].sprite = { + filename = "__bobequipment__/graphics/equipment/energy-shield-mk1-equipment.png", + width = 64, + height = 64, + priority = "medium", + } -data:extend({ - { - type = "energy-shield-equipment", - name = "energy-shield-mk3-equipment", - max_shield_value = 300, - energy_per_shield = "20kJ", - energy_source = { - type = "electric", - buffer_capacity = "240kJ", - input_flow_limit = "480kW", - usage_priority = "primary-input", - }, - shape = { - width = 2, - height = 2, - type = "full", - }, - sprite = { - filename = "__bobequipment__/graphics/equipment/energy-shield-mk3-equipment.png", - width = 64, - height = 64, - priority = "medium", - }, - categories = { "armor" }, - }, + data.raw["energy-shield-equipment"]["energy-shield-mk2-equipment"].energy_per_shield = "20kJ" + data.raw["energy-shield-equipment"]["energy-shield-mk2-equipment"].sprite = { + filename = "__bobequipment__/graphics/equipment/energy-shield-mk2-equipment.png", + width = 64, + height = 64, + priority = "medium", + } - { - type = "energy-shield-equipment", - name = "energy-shield-mk4-equipment", - max_shield_value = 600, - energy_per_shield = "20kJ", - energy_source = { - type = "electric", - buffer_capacity = "300kJ", - input_flow_limit = "600kW", - usage_priority = "primary-input", - }, - shape = { - width = 2, - height = 2, - type = "full", - }, - sprite = { - filename = "__bobequipment__/graphics/equipment/energy-shield-mk4-equipment.png", - width = 64, - height = 64, - priority = "medium", + data:extend({ + { + type = "energy-shield-equipment", + name = "energy-shield-mk3-equipment", + max_shield_value = 300, + energy_per_shield = "20kJ", + energy_source = { + type = "electric", + buffer_capacity = "240kJ", + input_flow_limit = "480kW", + usage_priority = "primary-input", + }, + shape = { + width = 2, + height = 2, + type = "full", + }, + sprite = { + filename = "__bobequipment__/graphics/equipment/energy-shield-mk3-equipment.png", + width = 64, + height = 64, + priority = "medium", + }, + categories = { "armor" }, }, - categories = { "armor" }, - }, - { - type = "energy-shield-equipment", - name = "energy-shield-mk5-equipment", - max_shield_value = 1200, - energy_per_shield = "20kJ", - energy_source = { - type = "electric", - buffer_capacity = "360kJ", - input_flow_limit = "720kW", - usage_priority = "primary-input", - }, - shape = { - width = 2, - height = 2, - type = "full", - }, - sprite = { - filename = "__bobequipment__/graphics/equipment/energy-shield-mk5-equipment.png", - width = 64, - height = 64, - priority = "medium", + { + type = "energy-shield-equipment", + name = "energy-shield-mk4-equipment", + max_shield_value = 600, + energy_per_shield = "20kJ", + energy_source = { + type = "electric", + buffer_capacity = "300kJ", + input_flow_limit = "600kW", + usage_priority = "primary-input", + }, + shape = { + width = 2, + height = 2, + type = "full", + }, + sprite = { + filename = "__bobequipment__/graphics/equipment/energy-shield-mk4-equipment.png", + width = 64, + height = 64, + priority = "medium", + }, + categories = { "armor" }, }, - categories = { "armor" }, - }, - { - type = "energy-shield-equipment", - name = "energy-shield-mk6-equipment", - max_shield_value = 2400, - energy_per_shield = "20kJ", - energy_source = { - type = "electric", - buffer_capacity = "420kJ", - input_flow_limit = "840kW", - usage_priority = "primary-input", - }, - shape = { - width = 2, - height = 2, - type = "full", + { + type = "energy-shield-equipment", + name = "energy-shield-mk5-equipment", + max_shield_value = 1200, + energy_per_shield = "20kJ", + energy_source = { + type = "electric", + buffer_capacity = "360kJ", + input_flow_limit = "720kW", + usage_priority = "primary-input", + }, + shape = { + width = 2, + height = 2, + type = "full", + }, + sprite = { + filename = "__bobequipment__/graphics/equipment/energy-shield-mk5-equipment.png", + width = 64, + height = 64, + priority = "medium", + }, + categories = { "armor" }, }, - sprite = { - filename = "__bobequipment__/graphics/equipment/energy-shield-mk6-equipment.png", - width = 64, - height = 64, - priority = "medium", + + { + type = "energy-shield-equipment", + name = "energy-shield-mk6-equipment", + max_shield_value = 2400, + energy_per_shield = "20kJ", + energy_source = { + type = "electric", + buffer_capacity = "420kJ", + input_flow_limit = "840kW", + usage_priority = "primary-input", + }, + shape = { + width = 2, + height = 2, + type = "full", + }, + sprite = { + filename = "__bobequipment__/graphics/equipment/energy-shield-mk6-equipment.png", + width = 64, + height = 64, + priority = "medium", + }, + categories = { "armor" }, }, - categories = { "armor" }, - }, -}) + }) + +end data.raw["battery-equipment"]["battery-equipment"].sprite.filename = "__bobequipment__/graphics/equipment/battery-equipment.png" diff --git a/bobequipment/prototypes/item/equipment.lua b/bobequipment/prototypes/item/equipment.lua index cb6aae73..60ab79c5 100644 --- a/bobequipment/prototypes/item/equipment.lua +++ b/bobequipment/prototypes/item/equipment.lua @@ -4,60 +4,64 @@ data.raw.item["solar-panel-equipment"].order = "a[energy-source]-a[solar-panel-1 data.raw.item["personal-laser-defense-equipment"].order = "d[active-defense]-a[personal-laser-defense-equipment-1]" data.raw.item["exoskeleton-equipment"].order = "e[exoskeleton]-a[exoskeleton-equipment-1]" -data.raw.item["energy-shield-equipment"].icon = "__bobequipment__/graphics/equipment/energy-shield-mk1-equipment.png" -data.raw.item["energy-shield-equipment"].icon_size = 64 -data.raw.item["energy-shield-equipment"].icon_mipmaps = nil -data.raw.item["energy-shield-mk2-equipment"].icon = - "__bobequipment__/graphics/equipment/energy-shield-mk2-equipment.png" -data.raw.item["energy-shield-mk2-equipment"].icon_size = 64 -data.raw.item["energy-shield-mk2-equipment"].icon_mipmaps = nil +if not mods["space-exploration"] then -data:extend({ - { - type = "item", - name = "energy-shield-mk3-equipment", - icon = "__bobequipment__/graphics/equipment/energy-shield-mk3-equipment.png", - icon_size = 64, - placed_as_equipment_result = "energy-shield-mk3-equipment", - subgroup = "military-equipment", - order = "b[shield]-c[energy-shield-equipment-mk3]", - stack_size = 50, - default_request_amount = 10, - }, - { - type = "item", - name = "energy-shield-mk4-equipment", - icon = "__bobequipment__/graphics/equipment/energy-shield-mk4-equipment.png", - icon_size = 64, - placed_as_equipment_result = "energy-shield-mk4-equipment", - subgroup = "military-equipment", - order = "b[shield]-d[energy-shield-equipment-mk4]", - stack_size = 50, - default_request_amount = 10, - }, - { - type = "item", - name = "energy-shield-mk5-equipment", - icon = "__bobequipment__/graphics/equipment/energy-shield-mk5-equipment.png", - icon_size = 64, - placed_as_equipment_result = "energy-shield-mk5-equipment", - subgroup = "military-equipment", - order = "b[shield]-e[energy-shield-equipment-mk5]", - stack_size = 50, - default_request_amount = 10, - }, - { - type = "item", - name = "energy-shield-mk6-equipment", - icon = "__bobequipment__/graphics/equipment/energy-shield-mk6-equipment.png", - icon_size = 64, - placed_as_equipment_result = "energy-shield-mk6-equipment", - subgroup = "military-equipment", - order = "b[shield]-f[energy-shield-equipment-mk6]", - stack_size = 50, - default_request_amount = 10, - }, -}) + data.raw.item["energy-shield-equipment"].icon = "__bobequipment__/graphics/equipment/energy-shield-mk1-equipment.png" + data.raw.item["energy-shield-equipment"].icon_size = 64 + data.raw.item["energy-shield-equipment"].icon_mipmaps = nil + data.raw.item["energy-shield-mk2-equipment"].icon = + "__bobequipment__/graphics/equipment/energy-shield-mk2-equipment.png" + data.raw.item["energy-shield-mk2-equipment"].icon_size = 64 + data.raw.item["energy-shield-mk2-equipment"].icon_mipmaps = nil + + data:extend({ + { + type = "item", + name = "energy-shield-mk3-equipment", + icon = "__bobequipment__/graphics/equipment/energy-shield-mk3-equipment.png", + icon_size = 64, + placed_as_equipment_result = "energy-shield-mk3-equipment", + subgroup = "military-equipment", + order = "b[shield]-c[energy-shield-equipment-mk3]", + stack_size = 50, + default_request_amount = 10, + }, + { + type = "item", + name = "energy-shield-mk4-equipment", + icon = "__bobequipment__/graphics/equipment/energy-shield-mk4-equipment.png", + icon_size = 64, + placed_as_equipment_result = "energy-shield-mk4-equipment", + subgroup = "military-equipment", + order = "b[shield]-d[energy-shield-equipment-mk4]", + stack_size = 50, + default_request_amount = 10, + }, + { + type = "item", + name = "energy-shield-mk5-equipment", + icon = "__bobequipment__/graphics/equipment/energy-shield-mk5-equipment.png", + icon_size = 64, + placed_as_equipment_result = "energy-shield-mk5-equipment", + subgroup = "military-equipment", + order = "b[shield]-e[energy-shield-equipment-mk5]", + stack_size = 50, + default_request_amount = 10, + }, + { + type = "item", + name = "energy-shield-mk6-equipment", + icon = "__bobequipment__/graphics/equipment/energy-shield-mk6-equipment.png", + icon_size = 64, + placed_as_equipment_result = "energy-shield-mk6-equipment", + subgroup = "military-equipment", + order = "b[shield]-f[energy-shield-equipment-mk6]", + stack_size = 50, + default_request_amount = 10, + }, + }) + +end data.raw.item["battery-equipment"].icon = "__bobequipment__/graphics/icons/technology/battery-equipment.png" data.raw.item["battery-equipment"].icon_size = 64 diff --git a/bobequipment/prototypes/recipe/equipment.lua b/bobequipment/prototypes/recipe/equipment.lua index f6eb8c4a..cc2025aa 100644 --- a/bobequipment/prototypes/recipe/equipment.lua +++ b/bobequipment/prototypes/recipe/equipment.lua @@ -1,59 +1,63 @@ -data.raw.recipe["energy-shield-mk2-equipment"].ingredients = - { { "energy-shield-equipment", 2 }, { "processing-unit", 5 } } +if not mods["space-exploration"] then -data:extend({ - { - type = "recipe", - name = "energy-shield-mk3-equipment", - enabled = false, - energy_required = 10, - ingredients = { - { "energy-shield-mk2-equipment", 2 }, - { "processing-unit", 5 }, - { "productivity-module-2", 1 }, + data.raw.recipe["energy-shield-mk2-equipment"].ingredients = + { { "energy-shield-equipment", 2 }, { "processing-unit", 5 } } + + data:extend({ + { + type = "recipe", + name = "energy-shield-mk3-equipment", + enabled = false, + energy_required = 10, + ingredients = { + { "energy-shield-mk2-equipment", 2 }, + { "processing-unit", 5 }, + { "productivity-module-2", 1 }, + }, + result = "energy-shield-mk3-equipment", }, - result = "energy-shield-mk3-equipment", - }, - { - type = "recipe", - name = "energy-shield-mk4-equipment", - enabled = false, - energy_required = 10, - ingredients = { - { "energy-shield-mk3-equipment", 2 }, - { "processing-unit", 5 }, - { "effectivity-module-3", 1 }, - { "productivity-module-3", 1 }, + { + type = "recipe", + name = "energy-shield-mk4-equipment", + enabled = false, + energy_required = 10, + ingredients = { + { "energy-shield-mk3-equipment", 2 }, + { "processing-unit", 5 }, + { "effectivity-module-3", 1 }, + { "productivity-module-3", 1 }, + }, + result = "energy-shield-mk4-equipment", }, - result = "energy-shield-mk4-equipment", - }, - { - type = "recipe", - name = "energy-shield-mk5-equipment", - enabled = false, - energy_required = 10, - ingredients = { - { "energy-shield-mk4-equipment", 2 }, - { "processing-unit", 5 }, - { "effectivity-module-3", 1 }, - { "productivity-module-3", 1 }, + { + type = "recipe", + name = "energy-shield-mk5-equipment", + enabled = false, + energy_required = 10, + ingredients = { + { "energy-shield-mk4-equipment", 2 }, + { "processing-unit", 5 }, + { "effectivity-module-3", 1 }, + { "productivity-module-3", 1 }, + }, + result = "energy-shield-mk5-equipment", }, - result = "energy-shield-mk5-equipment", - }, - { - type = "recipe", - name = "energy-shield-mk6-equipment", - enabled = false, - energy_required = 10, - ingredients = { - { "energy-shield-mk5-equipment", 2 }, - { "processing-unit", 5 }, - { "effectivity-module-3", 1 }, - { "productivity-module-3", 1 }, + { + type = "recipe", + name = "energy-shield-mk6-equipment", + enabled = false, + energy_required = 10, + ingredients = { + { "energy-shield-mk5-equipment", 2 }, + { "processing-unit", 5 }, + { "effectivity-module-3", 1 }, + { "productivity-module-3", 1 }, + }, + result = "energy-shield-mk6-equipment", }, - result = "energy-shield-mk6-equipment", - }, -}) + }) + +end data.raw.recipe["battery-mk2-equipment"].ingredients = { { "battery-equipment", 2 }, { "processing-unit", 5 } } diff --git a/bobequipment/prototypes/se-updates.lua b/bobequipment/prototypes/se-updates.lua new file mode 100644 index 00000000..b60b6230 --- /dev/null +++ b/bobequipment/prototypes/se-updates.lua @@ -0,0 +1,773 @@ +--Portable solar panels +data.raw.recipe["solar-panel-equipment-2"].ingredients = { + {type = "item", name = "solar-panel-equipment", amount = 1}, + {type = "item", name = "advanced-circuit", amount = 5}, + {type = "item", name = "glass", amount = 4}, + {type = "item", name = "se-cryonite-rod", amount = 2}, +} + +data.raw.recipe["solar-panel-equipment-3"].ingredients = { + {type = "item", name = "solar-panel-equipment-2", amount = 1}, + {type = "item", name = "processing-unit", amount = 3}, + {type = "item", name = "se-space-mirror", amount = 4}, + {type = "item", name = "se-holmium-plate", amount = 2}, + {type = "item", name = "se-holmium-cable", amount = 2}, +} + +data.raw.recipe["solar-panel-equipment-4"].ingredients = { + {type = "item", name = "solar-panel-equipment-3", amount = 1}, + {type = "item", name = "se-quantum-processor", amount = 1}, + {type = "item", name = "se-superconductive-cable", amount = 2}, + {type = "item", name = "se-nanomaterial", amount = 1}, +} + +data.raw.technology["solar-panel-equipment-2"].prerequisites = { + "solar-panel-equipment", + "se-processing-cryonite" +} +data.raw.technology["solar-panel-equipment-2"].unit.count = 130 +data.raw.technology["solar-panel-equipment-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, +} + +data.raw.technology["solar-panel-equipment-3"].prerequisites = { + "solar-panel-equipment-2", + "se-holmium-cable" +} +data.raw.technology["solar-panel-equipment-3"].unit.count = 300 +data.raw.technology["solar-panel-equipment-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-energy-science-pack-1", 1}, +} + +data.raw.technology["solar-panel-equipment-4"].prerequisites = { + "solar-panel-equipment-3", + "se-nanomaterial", + "se-superconductive-cable" +} +data.raw.technology["solar-panel-equipment-4"].unit.count = 800 +data.raw.technology["solar-panel-equipment-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, +} + + +--Portable reactors +data.raw.item["se-rtg-equipment"].order = "a[energy-source]-b[fission-reactor]-a" +data.raw.item["se-rtg-equipment-2"].order = "a[energy-source]-b[fission-reactor]-b" + +data.raw.recipe["se-rtg-equipment-2"].ingredients = { + {type = "item", name = "se-rtg-equipment", amount = 2}, + {type = "item", name = "processing-unit", amount = 50}, + {type = "item", name = "low-density-structure", amount = 100}, + {type = "item", name = "se-heat-shielding", amount = 50}, + {type = "item", name = "se-cryonite-rod", amount = 20}, +} + +data.raw.recipe["fusion-reactor-equipment"].ingredients = { + {type = "item", name = "processing-unit", amount = 100}, + {type = "item", name = "low-density-structure", amount = 50}, + {type = "item", name = "se-heat-shielding", amount = 50}, + {type = "item", name = "se-holmium-cable", amount = 20}, + {type = "item", name = "se-electromagnetic-field-data", amount = 20}, + {type = "fluid", name = "se-plasma-stream", amount = 200}, +} +data.raw.recipe["fusion-reactor-equipment"].category = "crafting-with-fluid" + +data.raw.recipe["fusion-reactor-equipment-2"].ingredients = { + {type = "item", name = "fusion-reactor-equipment", amount = 1}, + {type = "item", name = "se-quantum-processor", amount = 20}, + {type = "item", name = "se-superconductive-cable", amount = 50}, + {type = "item", name = "se-magnetic-canister", amount = 10}, + {type = "item", name = "effectivity-module-6", amount = 1}, + {type = "item", name = "se-fusion-test-data", amount = 10} +} + +data.raw.recipe["fusion-reactor-equipment-3"].ingredients = { + {type = "item", name = "fusion-reactor-equipment-2", amount = 1}, + {type = "item", name = "se-gammaray-detector", amount = 40}, + {type = "item", name = "se-dynamic-emitter", amount = 20}, + {type = "item", name = "se-nanomaterial", amount = 40}, + {type = "item", name = "productivity-module-6", amount = 1}, + {type = "item", name = "se-particle-beam-shielding-data", amount = 20} +} + +data.raw.recipe["fusion-reactor-equipment-4"].ingredients = { + {type = "item", name = "fusion-reactor-equipment-3", amount = 1}, + {type = "item", name = "se-naquium-processor", amount = 5}, + {type = "item", name = "se-naquium-cube", amount = 4}, + {type = "item", name = "se-naquium-plate", amount = 20}, + {type = "item", name = "speed-module-6", amount = 1}, + {type = "item", name = "se-naquium-energy-data", amount = 1} +} + +data.raw.technology["se-rtg-equipment-2"].prerequisites = { + "se-rtg-equipment", + "utility-science-pack" +} +data.raw.technology["se-rtg-equipment-2"].unit.count = 300 +data.raw.technology["se-rtg-equipment-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, +} + +data:extend({ + { + type = "technology", + name = "fusion-reactor-equipment-se", + localised_description = {"technology-description.fusion-reactor-equipment"}, + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/fusion-reactor-equipment-1.png", + icon_size = 128, + }), + order = "g-l-b", + prerequisites = { + "se-rtg-equipment-2", + "se-holmium-cable" + }, + effects = { + { + type = "unlock-recipe", + recipe = "fusion-reactor-equipment", + }, + }, + unit = { + count = 400, + time = 45, + ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-energy-science-pack-1", 1}, + }, + }, + }, + + { + type = "technology", + name = "fusion-reactor-equipment-se-2", + localised_description = {"technology-description.fusion-reactor-equipment"}, + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/fusion-reactor-equipment-2.png", + icon_size = 128, + }), + order = "g-l-b", + prerequisites = { + "fusion-reactor-equipment-se", + "se-energy-science-pack-4", + "se-superconductive-cable", + "effectivity-module-6" + }, + effects = { + { + type = "unlock-recipe", + recipe = "fusion-reactor-equipment-2", + }, + }, + unit = { + count = 500, + time = 45, + ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-energy-science-pack-4", 1}, + }, + }, + }, + + { + type = "technology", + name = "fusion-reactor-equipment-se-3", + localised_description = {"technology-description.fusion-reactor-equipment"}, + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/fusion-reactor-equipment-3.png", + icon_size = 128, + }), + order = "g-l-c", + prerequisites = { + "fusion-reactor-equipment-se-2", + "se-nanomaterial", + "productivity-module-6" + }, + effects = { + { + type = "unlock-recipe", + recipe = "fusion-reactor-equipment-3", + }, + }, + unit = { + count = 2000, + time = 45, + ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, + }, + }, + }, + + { + type = "technology", + name = "fusion-reactor-equipment-se-4", + localised_description = {"technology-description.fusion-reactor-equipment"}, + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/fusion-reactor-equipment-4.png", + icon_size = 128, + }), + order = "g-l-d", + prerequisites = { + "fusion-reactor-equipment-se-3", + "se-naquium-processor", + "speed-module-6" + }, + effects = { + { + type = "unlock-recipe", + recipe = "fusion-reactor-equipment-4", + }, + }, + unit = { + count = 1000, + time = 45, + ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, + {"se-deep-space-science-pack-3", 1}, + }, + }, + }, +}) + +if data.raw.technology["bob-robots-4"] then + bobmods.lib.tech.replace_prerequisite("bob-robots-4", "fusion-reactor-equipment", "fusion-reactor-equipment-se") +end + +data.raw.technology["fusion-reactor-equipment"].hidden = true +data.raw.technology["fusion-reactor-equipment-2"].hidden = true +data.raw.technology["fusion-reactor-equipment-3"].hidden = true +data.raw.technology["fusion-reactor-equipment-4"].hidden = true + + +--Personal batteries +data.raw.recipe["battery-mk2-equipment"].ingredients = { + {type = "item", name = "battery-equipment", amount = 2}, + {type = "item", name = "advanced-circuit", amount = 5}, + {type = "item", name = "low-density-structure", amount = 2} +} + +data.raw.recipe["battery-mk3-equipment"].ingredients = { + {type = "item", name = "battery-mk2-equipment", amount = 2}, + {type = "item", name = "se-vulcanite-block", amount = 2}, + {type = "item", name = "se-cryonite-rod", amount = 2} +} + +data.raw.recipe["battery-mk4-equipment"].ingredients = { + {type = "item", name = "battery-mk3-equipment", amount = 2}, + {type = "item", name = "processing-unit", amount = 2}, + {type = "item", name = "se-holmium-cable", amount = 6}, +} + +data.raw.recipe["battery-mk5-equipment"].ingredients = { + {type = "item", name = "battery-mk4-equipment", amount = 2}, + {type = "item", name = "se-beryllium-plate", amount = 2}, + {type = "item", name = "se-iridium-plate", amount = 2}, + {type = "fluid", name = "se-vitalic-acid", amount = 10} +} +data.raw.recipe["battery-mk5-equipment"].category = "crafting-with-fluid" + +data.raw.recipe["battery-mk6-equipment"].ingredients = { + {type = "item", name = "battery-mk5-equipment", amount = 2}, + {type = "item", name = "se-naquium-cube", amount = 2}, + {type = "item", name = "se-nanomaterial", amount = 2}, + {type = "item", name = "se-superconductive-cable", amount = 2} +} + +data.raw.item["battery-equipment"].order = "c[battery]-a[battery-equipment]" +data.raw.item["battery-mk2-equipment"].order = "c[battery]-b[battery-mk2-equipment]" + + +--Exoskeletons +data.raw.recipe["exoskeleton-equipment-2"].ingredients = { + {type = "item", name = "exoskeleton-equipment", amount = 1}, + {type = "item", name = "processing-unit", amount = 10}, + {type = "item", name = "se-aeroframe-pole", amount = 16}, + {type = "item", name = "se-heavy-bearing", amount = 16} +} + +data.raw.recipe["exoskeleton-equipment-3"].ingredients = { + {type = "item", name = "exoskeleton-equipment-2", amount = 1}, + {type = "fluid", name = "se-neural-gel", amount = 30}, + {type = "item", name = "se-holmium-solenoid", amount = 12}, + {type = "item", name = "se-nanomaterial", amount = 16} +} +data.raw.recipe["exoskeleton-equipment-3"].category = "crafting-with-fluid" + +data.raw.technology["exoskeleton-equipment-2"].prerequisites = { + "exoskeleton-equipment", + "se-aeroframe-pole", + "se-heavy-bearing" +} +data.raw.technology["exoskeleton-equipment-2"].unit.count = 150 +data.raw.technology["exoskeleton-equipment-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-material-science-pack-2", 1}, +} + +data.raw.technology["exoskeleton-equipment-3"].prerequisites = { + "exoskeleton-equipment-2", + "se-nanomaterial" +} +data.raw.technology["exoskeleton-equipment-3"].unit.count = 800 +data.raw.technology["exoskeleton-equipment-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, +} + + +--Portable roboports +data.raw.recipe["personal-roboport-robot-equipment-2"].ingredients = { + {type = "item", name = "personal-roboport-robot-equipment", amount = 1}, + {type = "item", name = "processing-unit", amount = 5} +} + +data.raw.recipe["personal-roboport-robot-equipment-3"].ingredients = { + {type = "item", name = "personal-roboport-robot-equipment-2", amount = 1}, + {type = "item", name = "processing-unit", amount = 10} +} + +data.raw.recipe["personal-roboport-robot-equipment-4"].ingredients = { + {type = "item", name = "personal-roboport-robot-equipment-3", amount = 1}, + {type = "item", name = "se-quantum-processor", amount = 1} +} + +data.raw.technology["personal-roboport-mk2-equipment"].prerequisites = { + "personal-roboport-equipment", + "se-aeroframe-pole" +} +data.raw.technology["personal-roboport-mk2-equipment"].unit.count = 200 +data.raw.technology["personal-roboport-mk2-equipment"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-1", 1} +} + +data.raw.technology["personal-roboport-mk3-equipment"].prerequisites = { + "personal-roboport-mk2-equipment", + "se-aeroframe-scaffold", + "se-holmium-cable" +} +data.raw.technology["personal-roboport-mk3-equipment"].unit.count = 300 +data.raw.technology["personal-roboport-mk3-equipment"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-1", 1} +} + +data.raw.technology["personal-roboport-mk4-equipment"].prerequisites = { + "personal-roboport-mk3-equipment", + "se-aeroframe-bulkhead", + "se-superconductive-cable", + "se-quantum-processor" +} +data.raw.technology["personal-roboport-mk4-equipment"].unit.count = 500 +data.raw.technology["personal-roboport-mk4-equipment"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-3", 1} +} + +data.raw.technology["personal-roboport-modular-equipment-2"].unit.count = 200 +data.raw.technology["personal-roboport-modular-equipment-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-1", 1} +} + +data.raw.technology["personal-roboport-modular-equipment-3"].unit.count = 300 +data.raw.technology["personal-roboport-modular-equipment-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-1", 1} +} + +data.raw.technology["personal-roboport-modular-equipment-4"].unit.count = 500 +data.raw.technology["personal-roboport-modular-equipment-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-3", 1} +} + +if not bobmods.logistics then + + data.raw.recipe["personal-roboport-antenna-equipment"].ingredients = { + {"iron-gear-wheel", 20}, + {"advanced-circuit", 20}, + {"copper-cable", 20}, + {"steel-plate", 8} + } + data.raw.recipe["personal-roboport-antenna-equipment-2"].ingredients = { + {"personal-roboport-antenna-equipment", 1}, + {"iron-gear-wheel", 20}, + {"processing-unit", 8}, + {"copper-cable", 40}, + {"se-aeroframe-pole", 8} + } + data.raw.recipe["personal-roboport-antenna-equipment-3"].ingredients = { + {"personal-roboport-antenna-equipment-2", 1}, + {"iron-gear-wheel", 20}, + {"processing-unit", 16}, + {"se-holmium-cable", 12}, + {"se-aeroframe-pole", 8} + } + data.raw.recipe["personal-roboport-antenna-equipment-4"].ingredients = { + {"personal-roboport-antenna-equipment-3", 1}, + {"iron-gear-wheel", 20}, + {"se-quantum-processor", 2}, + {"se-superconductive-cable", 4}, + {"se-aeroframe-scaffold", 2} + } + + data.raw.recipe["personal-roboport-chargepad-equipment"].ingredients = { + {"battery", 4}, + {"copper-cable", 8}, + {"advanced-circuit", 8}, + {"steel-plate", 20} + } + data.raw.recipe["personal-roboport-chargepad-equipment-2"].ingredients = { + {"personal-roboport-chargepad-equipment", 1}, + {"battery", 8}, + {"copper-cable", 16}, + {"processing-unit", 4}, + {"se-beryllium-plate", 20} + } + data.raw.recipe["personal-roboport-chargepad-equipment-3"].ingredients = { + {"personal-roboport-chargepad-equipment-2", 1}, + {"battery", 12}, + {"se-holmium-cable", 8}, + {"processing-unit", 8}, + {"se-aeroframe-scaffold", 8} + } + data.raw.recipe["personal-roboport-chargepad-equipment-4"].ingredients = { + {"personal-roboport-chargepad-equipment-3", 1}, + {"battery", 16}, + {"se-superconductive-cable", 4}, + {"se-quantum-processor", 2}, + {"se-aeroframe-bulkhead", 2} + } + + data.raw.recipe["personal-roboport-equipment"].ingredients = { + {"iron-gear-wheel", 20}, + {"battery", 20}, + {"advanced-circuit", 25}, + {"copper-cable", 30}, + {"steel-plate", 30} + } + data.raw.recipe["personal-roboport-mk2-equipment"].ingredients = { + {"personal-roboport-equipment", 1}, + {"battery", 40}, + {"processing-unit", 10}, + {"copper-cable", 60}, + {"se-beryllium-plate", 30} + } + data.raw.recipe["personal-roboport-mk3-equipment"].ingredients = { + {"personal-roboport-mk2-equipment", 1}, + {"battery", 60}, + {"processing-unit", 20}, + {"se-holmium-cable", 18}, + {"se-aeroframe-scaffold", 20} + } + data.raw.recipe["personal-roboport-mk4-equipment"].ingredients = { + {"personal-roboport-mk3-equipment", 1}, + {"battery", 80}, + {"se-quantum-processor", 3}, + {"se-superconductive-cable", 6}, + {"se-aeroframe-bulkhead", 5} + } + +else + + bobmods.lib.recipe.replace_ingredient("personal-roboport-mk2-equipment", "steel-plate", "se-beryllium-plate") + bobmods.lib.recipe.remove_ingredient("personal-roboport-mk3-equipment", "steel-plate") + bobmods.lib.recipe.add_ingredient("personal-roboport-mk3-equipment", {type = "item", name = "se-aeroframe-scaffold", amount = 5}) + bobmods.lib.recipe.remove_ingredient("personal-roboport-mk4-equipment", "steel-plate") + bobmods.lib.recipe.add_ingredient("personal-roboport-mk4-equipment", {type = "item", name = "se-aeroframe-bulkhead", amount = 2}) + +end + + +--Night vision equipment +data.raw["night-vision-equipment"]["night-vision-equipment"].color_lookup = {{0.5, "__core__/graphics/color_luts/nightvision.png"}} + +data.raw.recipe["night-vision-equipment-3"].ingredients = { + {type = "item", name = "night-vision-equipment-2", amount = 1}, + {type = "fluid", name = "se-neural-gel", amount = 10}, + {type = "item", name = "plastic-bar", amount = 2} +} +data.raw.recipe["night-vision-equipment-3"].category = "crafting-with-fluid" + +data.raw.technology["night-vision-equipment-3"].prerequisites = { + "night-vision-equipment-2", + "se-space-genetics-laboratory" +} +data.raw.technology["night-vision-equipment-3"].unit.count = 50 + + +--Personal laser defense +data.raw.recipe["personal-laser-defense-equipment"].ingredients = { + {type = "item", name = "advanced-circuit", amount = 5}, + {type = "item", name = "glass", amount = 20}, + {type = "item", name = "battery", amount = 3}, + {type = "item", name = "steel-plate", amount = 5} +} + +data.raw.recipe["personal-laser-defense-equipment-2"].ingredients = { + {type = "item", name = "personal-laser-defense-equipment", amount = 1}, + {type = "item", name = "advanced-circuit", amount = 10}, + {type = "item", name = "se-cryonite-rod", amount = 4}, + {type = "item", name = "low-density-structure", amount = 2} +} + +data.raw.recipe["personal-laser-defense-equipment-3"].ingredients = { + {type = "item", name = "personal-laser-defense-equipment-2", amount = 1}, + {type = "item", name = "processing-unit", amount = 5}, + {type = "item", name = "se-holmium-cable", amount = 20}, + {type = "item", name = "se-holmium-plate", amount = 5} +} + +data.raw.recipe["personal-laser-defense-equipment-4"].ingredients = { + {type = "item", name = "personal-laser-defense-equipment-3", amount = 1}, + {type = "item", name = "processing-unit", amount = 10}, + {type = "item", name = "se-space-mirror", amount = 4}, + {type = "item", name = "se-iridium-plate", amount = 5} +} + +data.raw.recipe["personal-laser-defense-equipment-5"].ingredients = { + {type = "item", name = "personal-laser-defense-equipment-4", amount = 1}, + {type = "item", name = "se-quantum-processor", amount = 1}, + {type = "item", name = "se-dynamic-emitter", amount = 4}, + {type = "item", name = "se-aeroframe-bulkhead", amount = 1} +} + +data.raw.recipe["personal-laser-defense-equipment-6"].ingredients = { + {type = "item", name = "personal-laser-defense-equipment-5", amount = 1}, + {type = "item", name = "se-quantum-processor", amount = 3}, + {type = "item", name = "se-naquium-crystal", amount = 4}, + {type = "item", name = "se-nanomaterial", amount = 8} +} + +data.raw.technology["personal-laser-defense-equipment-2"].prerequisites = { + "personal-laser-defense-equipment", + "utility-science-pack", +} +--data.raw.technology["personal-laser-defense-equipment-2"].unit.count = 150 +data.raw.technology["personal-laser-defense-equipment-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1} +} + +data.raw.technology["personal-laser-defense-equipment-3"].prerequisites = { + "personal-laser-defense-equipment-2", + "se-holmium-cable", +} +data.raw.technology["personal-laser-defense-equipment-3"].unit.count = 400 +data.raw.technology["personal-laser-defense-equipment-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-energy-science-pack-1", 1}, +} + +data.raw.technology["personal-laser-defense-equipment-4"].prerequisites = { + "personal-laser-defense-equipment-3", + "se-astronomic-science-pack-1", + "se-material-science-pack-1" +} +data.raw.technology["personal-laser-defense-equipment-4"].unit.count = 550 +data.raw.technology["personal-laser-defense-equipment-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-1", 1}, + {"se-energy-science-pack-1", 1}, + {"se-material-science-pack-1", 1}, +} + +data.raw.technology["personal-laser-defense-equipment-5"].prerequisites = { + "personal-laser-defense-equipment-4", + "se-dynamic-emitter", + "se-quantum-processor", + "se-aeroframe-bulkhead", + "se-material-science-pack-4" +} +data.raw.technology["personal-laser-defense-equipment-5"].unit.count = 1400 +data.raw.technology["personal-laser-defense-equipment-5"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-3", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, +} + +data.raw.technology["personal-laser-defense-equipment-6"].prerequisites = { + "personal-laser-defense-equipment-5", + "se-deep-space-science-pack-1" +} +data.raw.technology["personal-laser-defense-equipment-6"].unit.count = 700 +data.raw.technology["personal-laser-defense-equipment-6"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-4", 1}, + {"se-biological-science-pack-4", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-4", 1}, + {"se-deep-space-science-pack-1", 1}, +} + + +--Artifacts +if data.raw.item["alien-artifact"] then + bobmods.lib.recipe.add_ingredient("solar-panel-equipment-4", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("night-vision-equipment-3", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk3-equipment", {type = "item", name = "alien-artifact", amount = 20}) + if data.raw.item["alien-artifact-red"] then + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-2", {type = "item", name = "alien-artifact-orange", amount = 25}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-2", {type = "item", name = "alien-artifact-blue", amount = 25}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-3", {type = "item", name = "alien-artifact-yellow", amount = 25}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-3", {type = "item", name = "alien-artifact-purple", amount = 25}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-4", {type = "item", name = "alien-artifact-red", amount = 25}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-4", {type = "item", name = "alien-artifact-green", amount = 25}) + bobmods.lib.recipe.add_ingredient("battery-mk4-equipment", {type = "item", name = "alien-artifact-orange", amount = 10}) + bobmods.lib.recipe.add_ingredient("battery-mk4-equipment", {type = "item", name = "alien-artifact-blue", amount = 10}) + bobmods.lib.recipe.add_ingredient("battery-mk5-equipment", {type = "item", name = "alien-artifact-yellow", amount = 10}) + bobmods.lib.recipe.add_ingredient("battery-mk5-equipment", {type = "item", name = "alien-artifact-purple", amount = 10}) + bobmods.lib.recipe.add_ingredient("battery-mk6-equipment", {type = "item", name = "alien-artifact-red", amount = 10}) + bobmods.lib.recipe.add_ingredient("battery-mk6-equipment", {type = "item", name = "alien-artifact-green", amount = 10}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk4-equipment", {type = "item", name = "alien-artifact-orange", amount = 10}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk4-equipment", {type = "item", name = "alien-artifact-blue", amount = 10}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk5-equipment", {type = "item", name = "alien-artifact-yellow", amount = 10}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk5-equipment", {type = "item", name = "alien-artifact-purple", amount = 10}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk6-equipment", {type = "item", name = "alien-artifact-red", amount = 10}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk6-equipment", {type = "item", name = "alien-artifact-green", amount = 10}) + else + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-2", {type = "item", name = "alien-artifact", amount = 50}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-3", {type = "item", name = "alien-artifact", amount = 50}) + bobmods.lib.recipe.add_ingredient("fusion-reactor-equipment-4", {type = "item", name = "alien-artifact", amount = 50}) + bobmods.lib.recipe.add_ingredient("battery-mk4-equipment", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("battery-mk5-equipment", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("battery-mk6-equipment", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk4-equipment", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk5-equipment", {type = "item", name = "alien-artifact", amount = 20}) + bobmods.lib.recipe.add_ingredient("energy-shield-mk6-equipment", {type = "item", name = "alien-artifact", amount = 20}) + end +end \ No newline at end of file diff --git a/bobequipment/prototypes/technology/equipment.lua b/bobequipment/prototypes/technology/equipment.lua index c7ba4d1b..d2858ce9 100644 --- a/bobequipment/prototypes/technology/equipment.lua +++ b/bobequipment/prototypes/technology/equipment.lua @@ -1,135 +1,139 @@ -data.raw["technology"]["energy-shield-mk2-equipment"].icons = bobmods.equipment.technology_icon_constant_equipment({ - icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk2-equipment.png", - icon_size = 128, -}) -bobmods.lib.tech.remove_prerequisite("energy-shield-mk2-equipment", "low-density-structure") +if not mods["space-exploration"] then -data:extend({ - { - type = "technology", - name = "bob-energy-shield-equipment-3", - icons = bobmods.equipment.technology_icon_constant_equipment({ - icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk3-equipment.png", - icon_size = 128, - }), - order = "g-e-c", - prerequisites = { - "energy-shield-mk2-equipment", - "productivity-module-2", - "production-science-pack", - }, - unit = { - count = 250, - time = 30, - ingredients = { - { "automation-science-pack", 1 }, - { "logistic-science-pack", 1 }, - { "chemical-science-pack", 1 }, - { "military-science-pack", 1 }, - { "production-science-pack", 1 }, - }, - }, - effects = { - { - type = "unlock-recipe", - recipe = "energy-shield-mk3-equipment", - }, - }, - }, + data.raw["technology"]["energy-shield-mk2-equipment"].icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk2-equipment.png", + icon_size = 128, + }) + bobmods.lib.tech.remove_prerequisite("energy-shield-mk2-equipment", "low-density-structure") - { - type = "technology", - name = "bob-energy-shield-equipment-4", - icons = bobmods.equipment.technology_icon_constant_equipment({ - icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk4-equipment.png", - icon_size = 128, - }), - order = "g-e-d", - prerequisites = { - "bob-energy-shield-equipment-3", - }, - unit = { - count = 300, - time = 45, - ingredients = { - { "automation-science-pack", 1 }, - { "logistic-science-pack", 1 }, - { "chemical-science-pack", 1 }, - { "military-science-pack", 1 }, - { "production-science-pack", 1 }, - }, - }, - effects = { - { - type = "unlock-recipe", - recipe = "energy-shield-mk4-equipment", + data:extend({ + { + type = "technology", + name = "bob-energy-shield-equipment-3", + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk3-equipment.png", + icon_size = 128, + }), + order = "g-e-c", + prerequisites = { + "energy-shield-mk2-equipment", + "productivity-module-2", + "production-science-pack", + }, + unit = { + count = 250, + time = 30, + ingredients = { + { "automation-science-pack", 1 }, + { "logistic-science-pack", 1 }, + { "chemical-science-pack", 1 }, + { "military-science-pack", 1 }, + { "production-science-pack", 1 }, + }, + }, + effects = { + { + type = "unlock-recipe", + recipe = "energy-shield-mk3-equipment", + }, }, }, - }, - { - type = "technology", - name = "bob-energy-shield-equipment-5", - icons = bobmods.equipment.technology_icon_constant_equipment({ - icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk5-equipment.png", - icon_size = 128, - }), - order = "g-e-e", - prerequisites = { - "bob-energy-shield-equipment-4", - "utility-science-pack", - }, - unit = { - count = 350, - time = 45, - ingredients = { - { "automation-science-pack", 1 }, - { "logistic-science-pack", 1 }, - { "chemical-science-pack", 1 }, - { "military-science-pack", 1 }, - { "production-science-pack", 1 }, - { "utility-science-pack", 1 }, - }, - }, - effects = { - { - type = "unlock-recipe", - recipe = "energy-shield-mk5-equipment", + { + type = "technology", + name = "bob-energy-shield-equipment-4", + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk4-equipment.png", + icon_size = 128, + }), + order = "g-e-d", + prerequisites = { + "bob-energy-shield-equipment-3", + }, + unit = { + count = 300, + time = 45, + ingredients = { + { "automation-science-pack", 1 }, + { "logistic-science-pack", 1 }, + { "chemical-science-pack", 1 }, + { "military-science-pack", 1 }, + { "production-science-pack", 1 }, + }, + }, + effects = { + { + type = "unlock-recipe", + recipe = "energy-shield-mk4-equipment", + }, }, }, - }, - { - type = "technology", - name = "bob-energy-shield-equipment-6", - icons = bobmods.equipment.technology_icon_constant_equipment({ - icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk6-equipment.png", - icon_size = 128, - }), - order = "g-e-f", - prerequisites = { - "bob-energy-shield-equipment-5", - }, - unit = { - count = 400, - time = 45, - ingredients = { - { "automation-science-pack", 1 }, - { "logistic-science-pack", 1 }, - { "chemical-science-pack", 1 }, - { "military-science-pack", 1 }, - { "production-science-pack", 1 }, - { "utility-science-pack", 1 }, + { + type = "technology", + name = "bob-energy-shield-equipment-5", + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk5-equipment.png", + icon_size = 128, + }), + order = "g-e-e", + prerequisites = { + "bob-energy-shield-equipment-4", + "utility-science-pack", + }, + unit = { + count = 350, + time = 45, + ingredients = { + { "automation-science-pack", 1 }, + { "logistic-science-pack", 1 }, + { "chemical-science-pack", 1 }, + { "military-science-pack", 1 }, + { "production-science-pack", 1 }, + { "utility-science-pack", 1 }, + }, + }, + effects = { + { + type = "unlock-recipe", + recipe = "energy-shield-mk5-equipment", + }, }, }, - effects = { - { - type = "unlock-recipe", - recipe = "energy-shield-mk6-equipment", + + { + type = "technology", + name = "bob-energy-shield-equipment-6", + icons = bobmods.equipment.technology_icon_constant_equipment({ + icon = "__bobequipment__/graphics/icons/technology/energy-shield-mk6-equipment.png", + icon_size = 128, + }), + order = "g-e-f", + prerequisites = { + "bob-energy-shield-equipment-5", + }, + unit = { + count = 400, + time = 45, + ingredients = { + { "automation-science-pack", 1 }, + { "logistic-science-pack", 1 }, + { "chemical-science-pack", 1 }, + { "military-science-pack", 1 }, + { "production-science-pack", 1 }, + { "utility-science-pack", 1 }, + }, + }, + effects = { + { + type = "unlock-recipe", + recipe = "energy-shield-mk6-equipment", + }, }, }, - }, -}) + }) + +end data.raw["technology"]["battery-equipment"].icons = bobmods.equipment.technology_icon_constant_equipment({ icon = "__bobequipment__/graphics/icons/technology/battery-equipment.png", diff --git a/boblogistics/changelog.txt b/boblogistics/changelog.txt index 7b3a0c52..09db578e 100644 --- a/boblogistics/changelog.txt +++ b/boblogistics/changelog.txt @@ -4,6 +4,7 @@ Date: ??? Bugfixes: - Fixed that techs Railway 2 and Armoured Railway could not be researched when Pyanodons Industry mod was enabled #117 Changes: + - Added support for Space Exploration mod #88 - Added support for AAI Loaders #109 - Most Machines can now fill higher tier pipes when Bigger pipes is enabled #111 - Added missing prerequisites #120 diff --git a/boblogistics/data-final-fixes.lua b/boblogistics/data-final-fixes.lua new file mode 100644 index 00000000..cdebdbf2 --- /dev/null +++ b/boblogistics/data-final-fixes.lua @@ -0,0 +1,64 @@ +if mods["space-exploration"] then + bobmods.lib.tech.remove_science_pack("bob-robo-modular-2", "se-material-science-pack-1") + bobmods.lib.tech.remove_science_pack("bob-robo-modular-3", "se-material-science-pack-2") + bobmods.lib.tech.remove_science_pack("bob-robotics-3", "se-material-science-pack-2") + bobmods.lib.tech.remove_science_pack("bob-robotics-4", "se-material-science-pack-2") + data.raw.item["flying-robot-frame"].subgroup = "bob-robot-parts" + if settings.startup["bobmods-logistics-trains"].value == true then + data.raw["item-with-entity-data"].locomotive.subgroup = "bob-locomotive" + data.raw["item-with-entity-data"]["cargo-wagon"].subgroup = "bob-cargo-wagon" + data.raw["item-with-entity-data"]["fluid-wagon"].subgroup = "bob-fluid-wagon" + end + data.raw.item["se-supercharger"].subgroup = "bob-logistic-roboport-charge" + + data.raw.technology["bob-robots-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1} + } + data.raw.technology["bob-robots-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-2", 1} + } + + data.raw.item["transport-belt"].subgroup = "bob-logistic-tier-1" + data.raw.item["underground-belt"].subgroup = "bob-logistic-tier-1" + data.raw.item.splitter.subgroup = "bob-logistic-tier-1" + data.raw.item["fast-transport-belt"].subgroup = "bob-logistic-tier-2" + data.raw.item["fast-underground-belt"].subgroup = "bob-logistic-tier-2" + data.raw.item["fast-splitter"].subgroup = "bob-logistic-tier-2" + data.raw.item["express-transport-belt"].subgroup = "bob-logistic-tier-3" + data.raw.item["express-underground-belt"].subgroup = "bob-logistic-tier-3" + data.raw.item["express-splitter"].subgroup = "bob-logistic-tier-3" + + if mods.bobequipment then + data.raw.technology["bob-robots-4"].prerequisites = { + "bob-robots-3", + "fusion-reactor-equipment-se" + } + data.raw.technology["bob-robots-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-2", 1} + } + end + +end \ No newline at end of file diff --git a/boblogistics/data-updates.lua b/boblogistics/data-updates.lua index edc8af3b..588732b5 100644 --- a/boblogistics/data-updates.lua +++ b/boblogistics/data-updates.lua @@ -173,3 +173,7 @@ data.raw["pump"]["pump"].next_upgrade = "bob-pump-2" if settings.startup["bobmods-logistics-highpipes"].value == true then bobmods.logistics.scale_machine_output_base_level() end + +if mods["space-exploration"] then + require("prototypes.se-updates") +end diff --git a/boblogistics/info.json b/boblogistics/info.json index f70b8986..6a52b99b 100644 --- a/boblogistics/info.json +++ b/boblogistics/info.json @@ -11,6 +11,7 @@ "boblibrary >= 1.2.0", "? bobplates >= 1.1.6", "? bobinserters >= 1.1.6", + "(?) space-exploration >= 0.6.0", "(?) aai-loaders" ], "description": "Requires Bob's functions library mod.\n\nAdds lots logistic related things in all areas.\nAdds 2 higher tiers of belt and related entities.\nBelt overhaul will change all recipes to make better use of Bob mod resources, and add a Tier 0.\nAdds a higher tier of inserters.\nInserter overhaul will add more tiers of inserter, replace long handed inserter with a menu to make other inserters long handed, and change all recipes to make better use of Bob mod resources.\nIf suitable materials are available, it will add 2 higher tiers of chest, and logistic chests\nAdds 2 higher tiers of train set (Locomotive, Cargo wagon and Fluid wagon) that will have higher speed and storage. Also adds an armored train set, and Tier 2 version of it.\nAdds tier 2 to 4 pumps, and reduces the flow to make the progression work\nAdds tier 2 to 4 of Logistic and Construction robots.\nAdds tier 2 to 4 roboports, roboport parts (intermediates), and smaller specialised entities, such as the Logistic Zone Expander and Robochest.\nAdds tier 2 to 4 of storage tank.\nAdds many new pipes made from many different materials, spanning 5 tiers.\n\nAlthough it can function as a stand alone mod, it is intended to be used with the full Bob's Mods set." diff --git a/boblogistics/locale/en/boblogistics.cfg b/boblogistics/locale/en/boblogistics.cfg index 970a9e0c..682a0488 100644 --- a/boblogistics/locale/en/boblogistics.cfg +++ b/boblogistics/locale/en/boblogistics.cfg @@ -83,6 +83,8 @@ roboport-chargepad-4=Roboport charging pad 4 brass-chest=Brass chest titanium-chest=Titanium chest +heavy-chest=Heavy chest +reinforced-chest=Reinforced chest logistic-chest-active-provider-2=Active provider chest 2 logistic-chest-passive-provider-2=Passive provider chest 2 @@ -138,6 +140,7 @@ brass-pipe=Brass pipe titanium-pipe=Titanium pipe ceramic-pipe=Ceramic pipe tungsten-pipe=Tungsten pipe +iridium-pipe=Iridium pipe copper-pipe-to-ground=Copper pipe-to-ground @@ -150,6 +153,7 @@ brass-pipe-to-ground=Brass pipe-to-ground titanium-pipe-to-ground=Titanium pipe-to-ground ceramic-pipe-to-ground=Ceramic pipe-to-ground tungsten-pipe-to-ground=Tungsten pipe-to-ground +iridium-pipe-to-ground=Iridium pipe-to-ground bob-pump-2=Pump 2 @@ -210,6 +214,8 @@ bob-logistic-robot-5=Fusion powered Logistic robot 4 brass-chest=Brass chest titanium-chest=Titanium chest +heavy-chest=Heavy chest +reinforced-chest=Reinforced chest logistic-chest-active-provider-2=Active provider chest 2 logistic-chest-passive-provider-2=Passive provider chest 2 @@ -305,6 +311,7 @@ ceramic-pipe=Ceramic pipe tungsten-pipe=Tungsten pipe nitinol-pipe=Nitinol pipe copper-tungsten-pipe=Copper tungsten pipe +iridium-pipe=Iridium pipe copper-pipe-to-ground=Copper pipe-to-ground @@ -319,6 +326,7 @@ ceramic-pipe-to-ground=Ceramic pipe-to-ground tungsten-pipe-to-ground=Tungsten pipe-to-ground nitinol-pipe-to-ground=Nitinol pipe-to-ground copper-tungsten-pipe-to-ground=Copper tungsten pipe-to-ground +iridium-pipe-to-ground=Iridium pipe-to-ground bob-pump-2=Pump 2 diff --git a/boblogistics/prototypes/entity/pipes.lua b/boblogistics/prototypes/entity/pipes.lua index 7becace2..a2e69852 100644 --- a/boblogistics/prototypes/entity/pipes.lua +++ b/boblogistics/prototypes/entity/pipes.lua @@ -1570,6 +1570,152 @@ if data.raw.item["copper-tungsten-alloy"] then }) end +if data.raw.item["se-iridium-plate"] then + data:extend({ + { + type = "pipe", + name = "iridium-pipe", + icon = "__boblogistics__/graphics/icons/pipe/brass-pipe.png", + icon_size = 32, + flags = { "placeable-neutral", "player-creation" }, + minable = { mining_time = 0.1, result = "iridium-pipe" }, + max_health = 200, + corpse = "small-remnants", + resistances = { + { + type = "fire", + percent = 90, + }, + }, + fast_replaceable_group = "pipe", + collision_box = { { -0.29, -0.29 }, { 0.29, 0.29 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + fluid_box = { + height = 1, + base_area = 1, --0.5, + pipe_connections = { + { position = { 0, -1 } }, + { position = { 1, 0 } }, + { position = { 0, 1 } }, + { position = { -1, 0 } }, + }, + }, + pictures = bob_pipepictures("brass"), + working_sound = { + sound = { + { + filename = "__base__/sound/pipe.ogg", + volume = 0.65, + }, + }, + match_volume_to_activity = true, + max_sounds_per_type = 3, + }, + horizontal_window_bounding_box = { { -0.25, -0.25 }, { 0.25, 0.15625 } }, + vertical_window_bounding_box = { { -0.28125, -0.5 }, { 0.03125, 0.125 } }, + }, + + { + type = "pipe-to-ground", + name = "iridium-pipe-to-ground", + icon = "__boblogistics__/graphics/icons/pipe/brass-pipe-to-ground.png", + icon_size = 32, + flags = { "placeable-neutral", "player-creation" }, + minable = { mining_time = 0.1, result = "iridium-pipe-to-ground" }, + max_health = 250, + corpse = "small-remnants", + resistances = { + { + type = "fire", + percent = 80, + }, + }, + fast_replaceable_group = "pipe", + collision_box = { { -0.29, -0.29 }, { 0.29, 0.2 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + fluid_box = { + height = 1, + base_area = 1, --0.5, + pipe_covers = bob_pipecoverspictures("brass"), + pipe_connections = { + { position = { 0, -1 } }, + { + position = { 0, 1 }, + max_underground_distance = 20, + }, + }, + }, + underground_sprite = { + filename = "__core__/graphics/arrows/underground-lines.png", + priority = "extra-high-no-scale", + width = 64, + height = 64, + scale = 0.5, + }, + underground_remove_pipes_sprite = { + filename = "__core__/graphics/arrows/underground-lines-remove.png", + priority = "high", + width = 64, + height = 64, + x = 0, + scale = 0.5, + }, + pictures = bob_pipetogroundpictures("brass"), + }, + { + type = "item", + name = "iridium-pipe", + icon = "__boblogistics__/graphics/icons/pipe/brass-pipe.png", + icon_size = 32, + subgroup = "pipe", + order = "a[pipe]-a[pipe]-3-1", + place_result = "iridium-pipe", + stack_size = 100, + }, + + { + type = "item", + name = "iridium-pipe-to-ground", + icon = "__boblogistics__/graphics/icons/pipe/brass-pipe-to-ground.png", + icon_size = 32, + subgroup = "pipe", + order = "a[pipe]-b[pipe-to-ground]-3-1", + place_result = "iridium-pipe-to-ground", + stack_size = 50, + }, + { + type = "recipe", + name = "iridium-pipe", + normal = { + enabled = false, + ingredients = { + { "se-iridium-plate", 1 }, + }, + result = "iridium-pipe", + }, + expensive = { + enabled = false, + ingredients = { + { "se-iridium-plate", 2 }, + }, + result = "iridium-pipe", + }, + }, + + { + type = "recipe", + name = "iridium-pipe-to-ground", + enabled = false, + ingredients = { + { "iridium-pipe", 16 }, + { "se-iridium-plate", 5 }, + }, + result_count = 2, + result = "iridium-pipe-to-ground", + }, + }) +end + if settings.startup["bobmods-logistics-ugdistanceoverhaul"].value == true then bobmods.logistics.set_pipe_distance("pipe-to-ground", 1) bobmods.logistics.set_pipe_distance("stone-pipe-to-ground", 1) @@ -1583,6 +1729,8 @@ if settings.startup["bobmods-logistics-ugdistanceoverhaul"].value == true then bobmods.logistics.set_pipe_distance("tungsten-pipe-to-ground", 4) bobmods.logistics.set_pipe_distance("nitinol-pipe-to-ground", 5) bobmods.logistics.set_pipe_distance("copper-tungsten-pipe-to-ground", 5) + + bobmods.logistics.set_pipe_distance("iridium-pipe-to-ground", 4) end if settings.startup["bobmods-logistics-highpipes"].value == true then @@ -1596,6 +1744,8 @@ if settings.startup["bobmods-logistics-highpipes"].value == true then bobmods.logistics.set_pipe_height("nitinol-pipe-to-ground", 4) bobmods.logistics.set_pipe_height("copper-tungsten-pipe-to-ground", 4) + bobmods.logistics.set_pipe_height("iridium-pipe-to-ground", 3) + --Also call set_pipe_height for non pipe-to-ground pipes bobmods.logistics.set_pipe_height("steel-pipe", 1) bobmods.logistics.set_pipe_height("bronze-pipe", 1) @@ -1606,4 +1756,6 @@ if settings.startup["bobmods-logistics-highpipes"].value == true then bobmods.logistics.set_pipe_height("tungsten-pipe", 3) bobmods.logistics.set_pipe_height("nitinol-pipe", 4) bobmods.logistics.set_pipe_height("copper-tungsten-pipe", 4) + + bobmods.logistics.set_pipe_height("iridium-pipe", 3) end diff --git a/boblogistics/prototypes/se-updates.lua b/boblogistics/prototypes/se-updates.lua new file mode 100644 index 00000000..310f6a04 --- /dev/null +++ b/boblogistics/prototypes/se-updates.lua @@ -0,0 +1,1298 @@ +--Pipes + +data.raw.item["copper-pipe-to-ground"].subgroup = "pipe" +data.raw.item["stone-pipe-to-ground"].subgroup = "pipe" +data.raw.item["steel-pipe-to-ground"].subgroup = "pipe" +data.raw.item["plastic-pipe-to-ground"].subgroup = "pipe" +data.raw.item["bob-valve"].subgroup = "pipe" +data.raw.item["bob-overflow-valve"].subgroup = "pipe" +data.raw.item["bob-topup-valve"].subgroup = "pipe" + +bobmods.lib.tech.add_recipe_unlock("se-processing-iridium", "iridium-pipe") +bobmods.lib.tech.add_recipe_unlock("se-processing-iridium", "iridium-pipe-to-ground") + + +--Logistic chests +data.raw.item["logistic-chest-passive-provider"].order = "b[storage]-1-b[passive-provider]" +data.raw.item["logistic-chest-active-provider"].order = "b[storage]-1-c[active-provider]" +data.raw.item["logistic-chest-storage"].order = "b[storage]-1-d[storage]" +data.raw.item["logistic-chest-buffer"].order = "b[storage]-1-e[buffer]" +data.raw.item["logistic-chest-requester"].order = "b[storage]-1-f[requester]" + +data.raw.item["logistic-chest-passive-provider-2"].order = "b[storage]-1-h[passive-provider]" +data.raw.item["logistic-chest-active-provider-2"].order = "b[storage]-1-i[active-provider]" +data.raw.item["logistic-chest-storage-2"].order = "b[storage]-1-j[storage]" +data.raw.item["logistic-chest-buffer-2"].order = "b[storage]-1-k[buffer]" +data.raw.item["logistic-chest-requester-2"].order = "b[storage]-1-l[requester]" + +data.raw.item["logistic-chest-passive-provider-3"].order = "b[storage]-1-n[passive-provider]" +data.raw.item["logistic-chest-active-provider-3"].order = "b[storage]-1-o[active-provider]" +data.raw.item["logistic-chest-storage-3"].order = "b[storage]-1-p[storage]" +data.raw.item["logistic-chest-buffer-3"].order = "b[storage]-1-q[buffer]" +data.raw.item["logistic-chest-requester-3"].order = "b[storage]-1-r[requester]" + +data.raw["item-subgroup"]["logistic-chests-2"].order = "a1[container-1]-a" +data.raw["item-subgroup"]["logistic-chests-3"].order = "a1[container-1]-b" + +data.raw.item["se-linked-container"].subgroup = "container-6" + +data:extend({ + + { + name = "brass-chest", + localised_name = {"item-name.heavy-chest"}, + type = "item", + icon = "__boblogistics__/graphics/icons/brass-chest.png", + icon_size = 32, + subgroup = "logistic-chests-2", + order = "b[storage]-1-g[brass-chest]", + stack_size = 50, + place_result = "brass-chest", + + }, + + { + name = "titanium-chest", + localised_name = {"item-name.reinforced-chest"}, + type = "item", + icon = "__boblogistics__/graphics/icons/titanium-chest.png", + icon_size = 64, + subgroup = "logistic-chests-3", + order = "b[storage]-1-m[titanium-chest]", + stack_size = 50, + place_result = "titanium-chest" + + }, + + { + type = "container", + name = "brass-chest", + localised_name = {"item-name.heavy-chest"}, + icon = "__boblogistics__/graphics/icons/brass-chest.png", + icon_size = 32, + flags = { "placeable-neutral", "player-creation" }, + minable = { mining_time = 1, result = "brass-chest" }, + max_health = 500, + corpse = "small-remnants", + open_sound = { filename = "__base__/sound/metallic-chest-open.ogg", volume = 0.65 }, + close_sound = { filename = "__base__/sound/metallic-chest-close.ogg", volume = 0.7 }, + resistances = { + { + type = "fire", + percent = 80, + }, + { + type = "impact", + percent = 70, + }, + }, + collision_box = { { -0.35, -0.35 }, { 0.35, 0.35 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + fast_replaceable_group = "container", + next_upgrade = "titanium-chest", + inventory_size = 64, + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + picture = { + filename = "__boblogistics__/graphics/entity/chest/brass-chest.png", + priority = "extra-high", + width = 46, + height = 32, + shift = { 0.21875, 0 }, + }, + circuit_wire_connection_point = circuit_connector_definitions["chest"].points, + circuit_connector_sprites = circuit_connector_definitions["chest"].sprites, + circuit_wire_max_distance = default_circuit_wire_max_distance, + }, + + { + type = "container", + name = "titanium-chest", + localised_name = {"item-name.reinforced-chest"}, + icon = "__boblogistics__/graphics/icons/titanium-chest.png", + icon_size = 64, + flags = { "placeable-neutral", "player-creation" }, + minable = { mining_time = 1, result = "titanium-chest" }, + max_health = 650, + corpse = "small-remnants", + open_sound = { filename = "__base__/sound/metallic-chest-open.ogg", volume = 0.65 }, + close_sound = { filename = "__base__/sound/metallic-chest-close.ogg", volume = 0.7 }, + resistances = { + { + type = "fire", + percent = 90, + }, + { + type = "impact", + percent = 90, + }, + }, + collision_box = { { -0.35, -0.35 }, { 0.35, 0.35 } }, + selection_box = { { -0.5, -0.5 }, { 0.5, 0.5 } }, + fast_replaceable_group = "container", + inventory_size = 80, + vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 }, + picture = { + layers = { + { + filename = "__boblogistics__/graphics/entity/chest/hr-titanium-chest.png", + priority = "extra-high", + width = 66, + height = 86, + shift = util.by_pixel(0, -3), + scale = 0.5, + }, + { + filename = "__boblogistics__/graphics/entity/chest/hr-titanium-chest-shadow.png", + priority = "extra-high", + width = 116, + height = 48, + shift = util.by_pixel(14, 6), + draw_as_shadow = true, + scale = 0.5, + }, + }, + }, + circuit_wire_connection_point = circuit_connector_definitions["chest"].points, + circuit_connector_sprites = circuit_connector_definitions["chest"].sprites, + circuit_wire_max_distance = default_circuit_wire_max_distance, + }, + + { + type = "recipe", + name = "brass-chest", + enabled = false, + ingredients = { + {"steel-chest", 1}, + {"se-heavy-girder", 4} + }, + result = "brass-chest", + }, + + { + type = "recipe", + name = "titanium-chest", + enabled = false, + ingredients = { + {"brass-chest", 1}, + {"se-heavy-composite", 1} + }, + result = "titanium-chest", + }, + +}) + +data.raw.container["steel-chest"].next_upgrade = "brass-chest" + +data.raw.item["logistic-chest-passive-provider-2"].order = "b[storage]-1-h[passive-provider]" +data.raw.item["logistic-chest-active-provider-2"].order = "b[storage]-1-i[active-provider]" +data.raw.item["logistic-chest-storage-2"].order = "b[storage]-1-j[storage]" +data.raw.item["logistic-chest-buffer-2"].order = "b[storage]-1-k[buffer]" +data.raw.item["logistic-chest-requester-2"].order = "b[storage]-1-l[requester]" + +data.raw.item["logistic-chest-passive-provider-3"].order = "b[storage]-1-n[passive-provider]" +data.raw.item["logistic-chest-active-provider-3"].order = "b[storage]-1-o[active-provider]" +data.raw.item["logistic-chest-storage-3"].order = "b[storage]-1-p[storage]" +data.raw.item["logistic-chest-buffer-3"].order = "b[storage]-1-q[buffer]" +data.raw.item["logistic-chest-requester-3"].order = "b[storage]-1-r[requester]" + +data.raw.recipe["logistic-chest-passive-provider-2"].ingredients = { + {"logistic-chest-passive-provider", 1}, + {"se-heavy-girder", 4}, + {"advanced-circuit", 4} +} +data.raw.recipe["logistic-chest-active-provider-2"].ingredients = { + {"logistic-chest-active-provider", 1}, + {"se-heavy-girder", 4}, + {"advanced-circuit", 4} +} +data.raw.recipe["logistic-chest-storage-2"].ingredients = { + {"logistic-chest-storage", 1}, + {"se-heavy-girder", 4}, + {"advanced-circuit", 4} +} +data.raw.recipe["logistic-chest-buffer-2"].ingredients = { + {"logistic-chest-buffer", 1}, + {"se-heavy-girder", 4}, + {"advanced-circuit", 4} +} +data.raw.recipe["logistic-chest-requester-2"].ingredients = { + {"logistic-chest-requester", 1}, + {"se-heavy-girder", 4}, + {"advanced-circuit", 4} +} +data.raw.recipe["logistic-chest-passive-provider-3"].ingredients = { + {"logistic-chest-passive-provider-2", 1}, + {"se-heavy-composite", 1}, + {"processing-unit", 1} +} +data.raw.recipe["logistic-chest-active-provider-3"].ingredients = { + {"logistic-chest-active-provider-2", 1}, + {"se-heavy-composite", 1}, + {"processing-unit", 1} +} +data.raw.recipe["logistic-chest-storage-3"].ingredients = { + {"logistic-chest-storage-2", 1}, + {"se-heavy-composite", 1}, + {"processing-unit", 1} +} +data.raw.recipe["logistic-chest-buffer-3"].ingredients = { + {"logistic-chest-buffer-2", 1}, + {"se-heavy-composite", 1}, + {"processing-unit", 1} +} +data.raw.recipe["logistic-chest-requester-3"].ingredients = { + {"logistic-chest-requester-2", 1}, + {"se-heavy-composite", 1}, + {"processing-unit", 1} +} + +bobmods.lib.tech.add_recipe_unlock("logistic-system-2", "brass-chest") +bobmods.lib.tech.add_recipe_unlock("logistic-system-3", "titanium-chest") +bobmods.lib.tech.add_science_pack("logistic-system-2", "production-science-pack", 1) +bobmods.lib.tech.add_science_pack("logistic-system-2", "se-material-science-pack-1", 1) +data.raw.technology["logistic-system-2"].unit.count = 300 +data.raw.technology["logistic-system-2"].prerequisites = { + "logistic-system", + "se-heavy-girder", + "utility-science-pack" +} +bobmods.lib.tech.add_science_pack("logistic-system-3", "se-material-science-pack-3", 1) +data.raw.technology["logistic-system-3"].unit.count = 900 +data.raw.technology["logistic-system-3"].prerequisites = { + "logistic-system-2", + "se-heavy-composite" +} + + +--Pumps +data.raw.recipe["bob-pump-2"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 2}, + {type = "item", name = "steel-pipe", amount = 2}, + {type = "item", name = "pump", amount = 1}, + }, + result = "bob-pump-2", +} +data.raw.recipe["bob-pump-2"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "steel-pipe", amount = 8}, + {type = "item", name = "pump", amount = 1}, + }, + result = "bob-pump-2", +} + +data.raw.recipe["bob-pump-3"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "se-iridium-plate", amount = 2}, + {type = "fluid", name = "se-pyroflux", amount = 3}, + {type = "item", name = "bob-pump-2", amount = 1}, + }, + result = "bob-pump-3", +} +data.raw.recipe["bob-pump-3"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "se-iridium-plate", amount = 8}, + {type = "fluid", name = "se-pyroflux", amount = 5}, + {type = "item", name = "bob-pump-2", amount = 1}, + }, + result = "bob-pump-3", +} +data.raw.recipe["bob-pump-3"].category = "crafting-with-fluid" +if data.raw.item["iridium-pipe"] then + bobmods.lib.recipe.replace_ingredient("bob-pump-3", "se-iridium-plate", "iridium-pipe") +end + +data.raw.recipe["bob-pump-4"].normal = { + enabled = false, + ingredients = { + {type = "item", name = "se-self-sealing-gel", amount = 1}, + {type = "item", name = "se-heavy-composite", amount = 1}, + {type = "item", name = "bob-pump-3", amount = 1}, + }, + result = "bob-pump-4", +} +data.raw.recipe["bob-pump-4"].expensive = { + enabled = false, + ingredients = { + {type = "item", name = "se-self-sealing-gel", amount = 2}, + {type = "item", name = "se-heavy-composite", amount = 1}, + {type = "item", name = "bob-pump-3", amount = 1}, + }, + result = "bob-pump-4", +} + +data.raw.item["bob-pump-2"].subgroup = "pipe" +data.raw.item["bob-pump-3"].subgroup = "pipe" +data.raw.item["bob-pump-4"].subgroup = "pipe" + +--Storage tanks +data.raw.recipe["bob-storage-tank-all-corners"].ingredients = { + {type = "item", name = "iron-plate", amount = 24}, + {type = "item", name = "steel-plate", amount = 5}, +} + +data.raw.recipe["storage-tank-2"].ingredients = { + {type = "item", name = "refined-concrete", amount = 20}, + {type = "item", name = "low-density-structure", amount = 2}, + {type = "item", name = "storage-tank", amount = 1}, +} + +data.raw.recipe["bob-storage-tank-all-corners-2"].ingredients = { + {type = "item", name = "refined-concrete", amount = 20}, + {type = "item", name = "low-density-structure", amount = 4}, + {type = "item", name = "bob-storage-tank-all-corners", amount = 1}, +} + +data.raw.recipe["storage-tank-3"].ingredients = { + {type = "fluid", name = "se-pyroflux", amount = 12}, + {type = "item", name = "se-heavy-girder", amount = 10}, + {type = "item", name = "storage-tank-2", amount = 1}, +} +data.raw.recipe["storage-tank-3"].category = "crafting-with-fluid" + +data.raw.recipe["bob-storage-tank-all-corners-3"].ingredients = { + {type = "fluid", name = "se-pyroflux", amount = 16}, + {type = "item", name = "se-heavy-girder", amount = 12}, + {type = "item", name = "bob-storage-tank-all-corners-2", amount = 1}, +} +data.raw.recipe["bob-storage-tank-all-corners-3"].category = "crafting-with-fluid" + +data.raw.recipe["storage-tank-4"].ingredients = { + {type = "item", name = "se-heavy-composite", amount = 10}, + {type = "item", name = "se-lattice-pressure-vessel", amount = 2}, + {type = "item", name = "storage-tank-3", amount = 1}, +} + +data.raw.recipe["bob-storage-tank-all-corners-4"].ingredients = { + {type = "item", name = "se-heavy-composite", amount = 12}, + {type = "item", name = "se-lattice-pressure-vessel", amount = 2}, + {type = "item", name = "bob-storage-tank-all-corners-3", amount = 1}, +} + +data.raw.item["bob-storage-tank-all-corners"].subgroup = "pipe" +data.raw.item["storage-tank-2"].subgroup = "pipe" +data.raw.item["bob-storage-tank-all-corners-2"].subgroup = "pipe" +data.raw.item["storage-tank-3"].subgroup = "pipe" +data.raw.item["bob-storage-tank-all-corners-3"].subgroup = "pipe" +data.raw.item["storage-tank-4"].subgroup = "pipe" +data.raw.item["bob-storage-tank-all-corners-4"].subgroup = "pipe" + +data.raw.technology["bob-fluid-handling-2"].prerequisites = { + "electric-engine", + "concrete", + "low-density-structure", + "chemical-science-pack" +} +data.raw.technology["bob-fluid-handling-2"].unit.count = 100 +data.raw.technology["bob-fluid-handling-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1} +} + +data.raw.technology["bob-fluid-handling-3"].prerequisites = { + "bob-fluid-handling-2", + "se-heavy-girder" +} +data.raw.technology["bob-fluid-handling-3"].unit.count = 200 +data.raw.technology["bob-fluid-handling-3"].unit.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}, + {"se-material-science-pack-1", 1}, +} + +data.raw.technology["bob-fluid-handling-4"].prerequisites = { + "bob-fluid-handling-3", + "se-self-sealing-gel", + "se-heavy-composite", + "se-lattice-pressure-vessel" +} +data.raw.technology["bob-fluid-handling-4"].unit.count = 500 +data.raw.technology["bob-fluid-handling-4"].unit.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}, + {"se-biological-science-pack-4", 1}, + {"se-material-science-pack-3", 1}, +} + + +--Trains +if settings.startup["bobmods-logistics-trains"].value == true then + + data.raw.recipe["bob-locomotive-2"].ingredients = { + {type = "item", name = "locomotive", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 6}, + {type = "item", name = "electric-engine-unit", amount = 10}, + {type = "item", name = "advanced-circuit", amount = 10} + } + + data.raw.recipe["bob-locomotive-3"].ingredients = { + {type = "item", name = "bob-locomotive-2", amount = 1}, + {type = "item", name = "se-aeroframe-bulkhead", amount = 2}, + {type = "item", name = "se-heavy-assembly", amount = 4}, + {type = "item", name = "processing-unit", amount = 10} + } + + data.raw.recipe["bob-armoured-locomotive"].ingredients = { + {type = "item", name = "locomotive", amount = 1}, + {type = "item", name = "steel-plate", amount = 40}, + {type = "item", name = "low-density-structure", amount = 2} + } + + data.raw.recipe["bob-armoured-locomotive-2"].ingredients = { + {type = "item", name = "bob-armoured-locomotive", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 6}, + {type = "item", name = "se-heavy-composite", amount = 10}, + {type = "item", name = "electric-engine-unit", amount = 12}, + {type = "item", name = "advanced-circuit", amount = 10} + } + + data.raw.recipe["bob-cargo-wagon-2"].ingredients = { + {type = "item", name = "cargo-wagon", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 6}, + {type = "item", name = "se-heavy-girder", amount = 8} + } + + data.raw.recipe["bob-cargo-wagon-3"].ingredients = { + {type = "item", name = "bob-cargo-wagon-2", amount = 1}, + {type = "item", name = "se-heavy-composite", amount = 4}, + {type = "item", name = "se-aeroframe-bulkhead", amount = 2} + } + + data.raw.recipe["bob-armoured-cargo-wagon"].ingredients = { + {type = "item", name = "cargo-wagon", amount = 1}, + {type = "item", name = "steel-plate", amount = 30}, + {type = "item", name = "low-density-structure", amount = 2} + } + + data.raw.recipe["bob-armoured-cargo-wagon-2"].ingredients = { + {type = "item", name = "bob-armoured-cargo-wagon", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 4}, + {type = "item", name = "se-heavy-composite", amount = 8}, + } + + data.raw.recipe["bob-fluid-wagon-2"].ingredients = { + {type = "item", name = "fluid-wagon", amount = 1}, + {type = "item", name = "storage-tank-2", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 4}, + {type = "item", name = "se-heavy-girder", amount = 2} + } + + data.raw.recipe["bob-fluid-wagon-3"].ingredients = { + {type = "item", name = "bob-fluid-wagon-2", amount = 1}, + {type = "item", name = "storage-tank-3", amount = 1}, + {type = "item", name = "se-heavy-composite", amount = 2}, + {type = "item", name = "se-aeroframe-bulkhead", amount = 2} + } + + data.raw.recipe["bob-armoured-fluid-wagon"].ingredients = { + {type = "item", name = "fluid-wagon", amount = 1}, + {type = "item", name = "steel-plate", amount = 30}, + {type = "item", name = "low-density-structure", amount = 2} + } + + data.raw.recipe["bob-armoured-fluid-wagon-2"].ingredients = { + {type = "item", name = "bob-armoured-fluid-wagon", amount = 1}, + {type = "item", name = "storage-tank-2", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 4}, + {type = "item", name = "se-heavy-composite", amount = 8}, + } + + bobmods.lib.tech.add_prerequisite("se-space-catalogue-material-2", "railway") + + data.raw.technology["bob-railway-2"].prerequisites = { + "se-heavy-bearing", + } + data.raw.technology["bob-railway-2"].unit.count = 400 + data.raw.technology["bob-railway-2"].unit.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}, + {"se-material-science-pack-2", 1} + } + + data.raw.technology["bob-railway-3"].prerequisites = { + "se-heavy-assembly", + "se-aeroframe-bulkhead" + } + data.raw.technology["bob-railway-3"].unit.count = 1000 + data.raw.technology["bob-railway-3"].unit.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}, + {"se-material-science-pack-4", 1} + } + + data.raw.technology["bob-armoured-railway"].prerequisites = { + "automated-rail-transportation", + "low-density-structure" + } + data.raw.technology["bob-armoured-railway"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"military-science-pack", 1}, + {"chemical-science-pack", 1} + } + + data.raw.technology["bob-armoured-railway-2"].prerequisites = { + "bob-armoured-railway", + "se-heavy-composite" + } + data.raw.technology["bob-armoured-railway-2"].unit.count = 500 + data.raw.technology["bob-armoured-railway-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"military-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"se-material-science-pack-3", 1} + } + + data.raw.technology["bob-fluid-wagon-2"].unit.count = 200 + data.raw.technology["bob-fluid-wagon-2"].unit.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}, + {"se-material-science-pack-2", 1} + } + + data.raw.technology["bob-fluid-wagon-3"].unit.count = 500 + data.raw.technology["bob-fluid-wagon-3"].unit.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}, + {"se-material-science-pack-4", 1} + } + + data.raw.technology["bob-armoured-fluid-wagon"].prerequisites = { + "chemical-science-pack", + "automated-rail-transportation", + "low-density-structure" + } + data.raw.technology["bob-armoured-fluid-wagon"].unit.count = 50 + data.raw.technology["bob-armoured-fluid-wagon"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"military-science-pack", 1}, + {"chemical-science-pack", 1} + } + + data.raw.technology["bob-armoured-fluid-wagon-2"].prerequisites = { + "bob-armoured-fluid-wagon", + "bob-fluid-handling-2", + "se-heavy-composite" + } + data.raw.technology["bob-armoured-fluid-wagon-2"].unit.count = 250 + data.raw.technology["bob-armoured-fluid-wagon-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"military-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"production-science-pack", 1}, + {"se-material-science-pack-3", 1} + } + +end + + +--Robots and intermediates +if data.raw.item["flying-robot-frame-4"] then + + data.raw.recipe["flying-robot-frame-2"].normal = { + enabled = false, + energy_required = 20, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "battery", amount = 4}, + {type = "item", name = "advanced-circuit", amount = 4}, + {type = "item", name = "se-beryllium-plate", amount = 4}, + }, + result = "flying-robot-frame-2", + } + data.raw.recipe["flying-robot-frame-2"].expensive = { + enabled = false, + energy_required = 20, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 16}, + {type = "item", name = "battery", amount = 16}, + {type = "item", name = "advanced-circuit", amount = 16}, + {type = "item", name = "se-beryllium-plate", amount = 16}, + }, + result = "flying-robot-frame-2", + } + + data.raw.recipe["flying-robot-frame-3"].normal = { + enabled = false, + energy_required = 20, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "battery", amount = 6}, + {type = "item", name = "processing-unit", amount = 4}, + {type = "item", name = "se-aeroframe-scaffold", amount = 2}, + }, + result = "flying-robot-frame-3", + } + data.raw.recipe["flying-robot-frame-3"].expensive = { + enabled = false, + energy_required = 20, + ingredients = { + {type = "item", name = "electric-engine-unit", amount = 16}, + {type = "item", name = "battery", amount = 24}, + {type = "item", name = "processing-unit", amount = 16}, + {type = "item", name = "se-aeroframe-scaffold", amount = 8}, + }, + result = "flying-robot-frame-3", + } + + data.raw.recipe["flying-robot-frame-4"].normal = { + enabled = false, + energy_required = 20, + ingredients = { + {type = "item", name = "se-holmium-solenoid", amount = 4}, + {type = "item", name = "battery", amount = 8}, + {type = "item", name = "processing-unit", amount = 4}, + {type = "item", name = "se-aeroframe-scaffold", amount = 2}, + }, + result = "flying-robot-frame-4", + } + data.raw.recipe["flying-robot-frame-4"].expensive = { + enabled = false, + energy_required = 20, + ingredients = { + {type = "item", name = "se-holmium-solenoid", amount = 16}, + {type = "item", name = "battery", amount = 32}, + {type = "item", name = "processing-unit", amount = 16}, + {type = "item", name = "se-aeroframe-scaffold", amount = 8}, + }, + result = "flying-robot-frame-4", + } + + data.raw.technology["bob-robotics-2"].prerequisites = { + "robotics", + "se-processing-beryllium", + } + data.raw.technology["bob-robotics-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1} + } + + data.raw.technology["bob-robotics-3"].prerequisites = { + "bob-robotics-2", + "se-aeroframe-scaffold", + "production-science-pack", + } + data.raw.technology["bob-robotics-3"].unit.count = 400 + data.raw.technology["bob-robotics-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1} + } + + data.raw.technology["bob-robotics-4"].prerequisites = { + "bob-robotics-3", + "se-holmium-solenoid" + } + data.raw.technology["bob-robotics-4"].unit.count = 600 + data.raw.technology["bob-robotics-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-2", 1} + } + + data.raw.technology["bob-robots-1"].unit.count = 100 + data.raw.technology["bob-robots-1"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1} + } + + data.raw.technology["bob-robots-2"].unit.count = 100 + + data.raw.technology["bob-robots-3"].prerequisites = { + "bob-robots-2", + "bob-robotics-4" + } + data.raw.technology["bob-robots-3"].unit.count = 100 + + bobmods.lib.tech.add_science_pack("bob-robots-4", "se-astronomic-science-pack-2", 1) + bobmods.lib.tech.add_science_pack("worker-robots-storage-1", "space-science-pack", 1) + data.raw.technology["worker-robots-speed-2"].prerequisites = { + "worker-robots-speed-1", + "chemical-science-pack" + } + data.raw.technology["worker-robots-speed-3"].prerequisites = { + "worker-robots-speed-2", + "bob-robots-1" + } + + +end + +if data.raw.item["robot-tool-logistic-4"] then + + data.raw.recipe["robot-tool-construction"].ingredients = { + {"iron-gear-wheel", 3}, + {"steel-plate", 1} + } + data.raw.recipe["robot-tool-construction-2"].ingredients = { + {"iron-gear-wheel", 3}, + {"se-beryllium-plate", 1} + } + data.raw.recipe["robot-tool-construction-3"].ingredients = { + {"iron-gear-wheel", 3}, + {"se-aeroframe-scaffold", 1} + } + data.raw.recipe["robot-tool-construction-4"].ingredients = { + {"se-holmium-solenoid", 2}, + {"se-aeroframe-scaffold", 1} + } + data.raw.recipe["robot-tool-logistic-2"].ingredients = { + {"iron-gear-wheel", 2}, + {"se-beryllium-plate", 1} + } + data.raw.recipe["robot-tool-logistic-3"].ingredients = { + {"iron-gear-wheel", 2}, + {"se-aeroframe-scaffold", 1} + } + data.raw.recipe["robot-tool-logistic-4"].ingredients = { + {"se-holmium-solenoid", 1}, + {"se-aeroframe-scaffold", 1} + } + +end + +--Roboports and parts +data.raw.recipe["roboport-antenna-1"].ingredients = { + {"advanced-circuit", 10}, + {"copper-cable", 10}, + {"steel-plate", 4} +} +data.raw.recipe["roboport-antenna-2"].ingredients = { + {"processing-unit", 4}, + {"copper-cable", 20}, + {"se-aeroframe-pole", 4} +} +data.raw.recipe["roboport-antenna-3"].ingredients = { + {"processing-unit", 8}, + {"se-holmium-cable", 6}, + {"se-aeroframe-pole", 4} +} +data.raw.recipe["roboport-antenna-4"].ingredients = { + {"se-quantum-processor", 1}, + {"se-superconductive-cable", 2}, + {"se-aeroframe-scaffold", 1} +} +data.raw.recipe["roboport-door-1"].ingredients = { + {"iron-gear-wheel", 20}, + {"electric-motor", 10}, + {"steel-plate", 20} +} +data.raw.recipe["roboport-door-2"].ingredients = { + {"iron-gear-wheel", 20}, + {"electric-motor", 10}, + {"se-beryllium-plate", 20} +} +data.raw.recipe["roboport-door-3"].ingredients = { + {"iron-gear-wheel", 20}, + {"electric-engine-unit", 5}, + {"se-aeroframe-scaffold", 8} +} +data.raw.recipe["roboport-door-4"].ingredients = { + {"iron-gear-wheel", 20}, + {"electric-engine-unit", 10}, + {"se-aeroframe-bulkhead", 2} +} +data.raw.recipe["roboport-chargepad-1"].ingredients = { + {"battery", 2}, + {"copper-cable", 4}, + {"advanced-circuit", 4}, + {"steel-plate", 10} +} +data.raw.recipe["roboport-chargepad-2"].ingredients = { + {"battery", 4}, + {"copper-cable", 8}, + {"processing-unit", 2}, + {"se-beryllium-plate", 10} +} +data.raw.recipe["roboport-chargepad-3"].ingredients = { + {"battery", 6}, + {"se-holmium-cable", 4}, + {"processing-unit", 4}, + {"se-aeroframe-scaffold", 4} +} +data.raw.recipe["roboport-chargepad-4"].ingredients = { + {"battery", 8}, + {"se-superconductive-cable", 2}, + {"se-quantum-processor", 1}, + {"se-aeroframe-bulkhead", 1} +} + +bobmods.lib.recipe.replace_ingredient("bob-roboport-2", "steel-plate", "se-beryllium-plate") +bobmods.lib.recipe.remove_ingredient("bob-roboport-3", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-roboport-3", {type = "item", name = "se-aeroframe-scaffold", amount = 10}) +bobmods.lib.recipe.remove_ingredient("bob-roboport-4", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-roboport-4", {type = "item", name = "se-aeroframe-bulkhead", amount = 5}) +bobmods.lib.recipe.remove_ingredient("bob-logistic-zone-expander-2", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-logistic-zone-expander-2", {type = "item", name = "se-aeroframe-pole", amount = 2}) +bobmods.lib.recipe.remove_ingredient("bob-logistic-zone-expander-3", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-logistic-zone-expander-3", {type = "item", name = "se-aeroframe-scaffold", amount = 3}) +bobmods.lib.recipe.remove_ingredient("bob-logistic-zone-expander-4", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-logistic-zone-expander-4", {type = "item", name = "se-aeroframe-bulkhead", amount = 1}) +bobmods.lib.recipe.remove_ingredient("bob-robochest-2", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robochest-2", {type = "item", name = "se-beryllium-plate", amount = 6}) +bobmods.lib.recipe.remove_ingredient("bob-robochest-3", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robochest-3", {type = "item", name = "se-aeroframe-scaffold", amount = 4}) +bobmods.lib.recipe.remove_ingredient("bob-robochest-4", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robochest-4", {type = "item", name = "se-aeroframe-bulkhead", amount = 2}) +bobmods.lib.recipe.remove_ingredient("bob-robo-charge-port-2", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robo-charge-port-2", {type = "item", name = "se-beryllium-plate", amount = 8}) +bobmods.lib.recipe.remove_ingredient("bob-robo-charge-port-3", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robo-charge-port-3", {type = "item", name = "se-aeroframe-scaffold", amount = 5}) +bobmods.lib.recipe.remove_ingredient("bob-robo-charge-port-4", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robo-charge-port-4", {type = "item", name = "se-aeroframe-bulkhead", amount = 3}) +bobmods.lib.recipe.remove_ingredient("bob-robo-charge-port-large-2", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robo-charge-port-large-2", {type = "item", name = "se-beryllium-plate", amount = 18}) +bobmods.lib.recipe.remove_ingredient("bob-robo-charge-port-large-3", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robo-charge-port-large-3", {type = "item", name = "se-aeroframe-scaffold", amount = 12}) +bobmods.lib.recipe.remove_ingredient("bob-robo-charge-port-large-4", "steel-plate") +bobmods.lib.recipe.add_ingredient("bob-robo-charge-port-large-4", {type = "item", name = "se-aeroframe-bulkhead", amount = 7}) + +data.raw.technology["bob-robo-modular-2"].prerequisites = { + "bob-robo-modular-1", + "se-aeroframe-pole" +} +data.raw.technology["bob-robo-modular-2"].unit.count = 200 +data.raw.technology["bob-robo-modular-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-1", 1} +} + +data.raw.technology["bob-robo-modular-3"].prerequisites = { + "bob-robo-modular-2", + "se-aeroframe-scaffold", + "se-holmium-cable" +} +data.raw.technology["bob-robo-modular-3"].unit.count = 300 +data.raw.technology["bob-robo-modular-3"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-1", 1} +} + +data.raw.technology["bob-robo-modular-4"].prerequisites = { + "bob-robo-modular-3", + "se-aeroframe-bulkhead", + "se-superconductive-cable", + "se-quantum-processor" +} +data.raw.technology["bob-robo-modular-4"].unit.count = 500 +data.raw.technology["bob-robo-modular-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"se-astronomic-science-pack-3", 1}, + {"se-energy-science-pack-3", 1}, + {"se-material-science-pack-3", 1} +} + +bobmods.lib.recipe.add_ingredient("se-pylon-construction", {type = "item", name = "roboport-antenna-3", amount = 2}) +bobmods.lib.recipe.add_ingredient("se-supercharger", {type = "item", name = "roboport-antenna-3", amount = 2}) +bobmods.lib.recipe.add_ingredient("se-supercharger", {type = "item", name = "roboport-chargepad-3", amount = 16}) +bobmods.lib.recipe.remove_ingredient("se-pylon-construction", "se-holmium-solenoid") +bobmods.lib.recipe.remove_ingredient("se-supercharger", "se-holmium-cable") +bobmods.lib.recipe.remove_ingredient("se-supercharger", "se-holmium-solenoid") +bobmods.lib.recipe.add_ingredient("se-pylon-construction-radar", {type = "item", name = "roboport-antenna-4", amount = 3}) +bobmods.lib.tech.replace_prerequisite("se-pylon-construction", "se-holmium-solenoid", "bob-robo-modular-3") +bobmods.lib.tech.replace_prerequisite("se-supercharger", "se-holmium-solenoid", "bob-robo-modular-3") +bobmods.lib.tech.remove_science_pack("se-pylon-construction", "se-energy-science-pack-2") +bobmods.lib.tech.add_science_pack("se-pylon-construction", "se-energy-science-pack-1", 1) +bobmods.lib.tech.remove_science_pack("se-supercharger", "se-energy-science-pack-2") +bobmods.lib.tech.add_science_pack("se-supercharger", "se-energy-science-pack-1", 1) +bobmods.lib.tech.add_prerequisite("se-pylon-construction-radar", "bob-robo-modular-4") + + +--Transport belts +data.raw["item-subgroup"]["transport-belt"].group = "bob-logistics" +data.raw["item-subgroup"]["underground-belt"].group = "bob-logistics" +data.raw["item-subgroup"].splitter.group = "bob-logistics" +data.raw["item-subgroup"]["transport-belt"].order = "b-7" +data.raw["item-subgroup"]["underground-belt"].order = "b-8" +data.raw["item-subgroup"].splitter.order = "b-9" + +if settings.startup["bobmods-logistics-beltoverhaul"].value == true then + + data.raw.recipe["transport-belt"].normal.ingredients = { + {type = "item", name = "basic-transport-belt", amount = 2}, + {type = "item", name = "electric-motor", amount = 1}, + {type = "item", name = "iron-plate", amount = 2}, + } + data.raw.recipe["transport-belt"].normal.results[1].amount = 2 + data.raw.recipe["transport-belt"].expensive.ingredients = { + {type = "item", name = "basic-transport-belt", amount = 2}, + {type = "item", name = "electric-motor", amount = 1}, + {type = "item", name = "iron-plate", amount = 2}, + } + data.raw.recipe["transport-belt"].expensive.results[1].amount = 2 + +else + + data.raw.recipe["transport-belt"].normal.ingredients = { + {type = "item", name = "electric-motor", amount = 1}, + {type = "item", name = "iron-plate", amount = 2}, + } + data.raw.recipe["transport-belt"].normal.results[1].amount = 2 + data.raw.recipe["transport-belt"].expensive.ingredients = { + {type = "item", name = "electric-motor", amount = 1}, + {type = "item", name = "iron-plate", amount = 2}, + } + data.raw.recipe["transport-belt"].expensive.results[1].amount = 2 + +end + +data.raw.recipe["fast-transport-belt"].ingredients = { + {type = "item", name = "transport-belt", amount = 2}, + {type = "item", name = "iron-gear-wheel", amount = 9}, + {type = "item", name = "electric-motor", amount = 1}, +} +data.raw.recipe["fast-transport-belt"].result_count = 2 + +data.raw.recipe["express-transport-belt"].ingredients = { + {type = "item", name = "fast-transport-belt", amount = 2}, + {type = "item", name = "iron-gear-wheel", amount = 7}, + {type = "item", name = "electric-motor", amount = 1}, + {type = "fluid", name = "lubricant", amount = 10}, +} +data.raw.recipe["express-transport-belt"].result_count = 2 +data.raw.recipe["express-transport-belt"].category = "crafting-with-fluid" + +data.raw.recipe["underground-belt"].normal.ingredients = { + {type = "item", name = "transport-belt", amount = 6}, + {type = "item", name = "iron-plate", amount = 8} +} +data.raw.recipe["underground-belt"].expensive.ingredients = { + {type = "item", name = "transport-belt", amount = 6}, + {type = "item", name = "iron-plate", amount = 8}, +} + +data.raw.recipe["fast-underground-belt"].ingredients = { + {type = "item", name = "underground-belt", amount = 2}, + {type = "item", name = "iron-gear-wheel", amount = 40}, + {type = "item", name = "electric-motor", amount = 12}, +} + +data.raw.recipe["express-underground-belt"].ingredients = { + {type = "item", name = "fast-underground-belt", amount = 2}, + {type = "item", name = "iron-gear-wheel", amount = 60}, + {type = "fluid", name = "lubricant", amount = 60}, + {type = "item", name = "electric-motor", amount = 16}, +} +data.raw.recipe["express-underground-belt"].category = "crafting-with-fluid" + +data.raw.recipe.splitter.normal.ingredients = { + {type = "item", name = "transport-belt", amount = 2}, + {type = "item", name = "iron-plate", amount = 4}, + {type = "item", name = "electronic-circuit", amount = 2}, + {type = "item", name = "electric-motor", amount = 1}, +} +data.raw.recipe.splitter.expensive.ingredients = { + {type = "item", name = "transport-belt", amount = 2}, + {type = "item", name = "iron-plate", amount = 4}, + {type = "item", name = "electronic-circuit", amount = 2}, + {type = "item", name = "electric-motor", amount = 1}, +} + +data.raw.recipe["fast-splitter"].ingredients = { + {type = "item", name = "splitter", amount = 1}, + {type = "item", name = "iron-gear-wheel", amount = 18}, + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "electric-motor", amount = 2}, +} + +data.raw.recipe["express-splitter"].ingredients = { + {type = "item", name = "fast-splitter", amount = 1}, + {type = "item", name = "iron-gear-wheel", amount = 14}, + {type = "item", name = "advanced-circuit", amount = 5}, + {type = "fluid", name = "lubricant", amount = 20}, + {type = "item", name = "electric-motor", amount = 2}, +} +data.raw.recipe["express-splitter"].category = "crafting-with-fluid" + +bobmods.lib.tech.add_prerequisite("logistics", "electricity") +bobmods.lib.tech.remove_prerequisite("logistics-2", "steel-processing") + +data.raw.recipe["turbo-transport-belt"].ingredients = { + {type = "item", name = "express-transport-belt", amount = 2}, + {type = "item", name = "se-heavy-bearing", amount = 2}, + {type = "item", name = "electric-engine-unit", amount = 1}, +} +data.raw.recipe["turbo-transport-belt"].result_count = 2 + +data.raw.recipe["ultimate-transport-belt"].ingredients = { + {type = "item", name = "turbo-transport-belt", amount = 2}, + {type = "item", name = "se-holmium-solenoid", amount = 2}, + {type = "item", name = "se-aeroframe-scaffold", amount = 1}, + {type = "item", name = "se-heavy-composite", amount = 1}, +} +data.raw.recipe["ultimate-transport-belt"].result_count = 2 + +data.raw.recipe["turbo-underground-belt"].ingredients = { + {type = "item", name = "express-underground-belt", amount = 2}, + {type = "item", name = "se-heavy-bearing", amount = 16}, + {type = "item", name = "electric-engine-unit", amount = 8}, +} + +data.raw.recipe["ultimate-underground-belt"].ingredients = { + {type = "item", name = "turbo-underground-belt", amount = 2}, + {type = "item", name = "se-holmium-solenoid", amount = 14}, + {type = "item", name = "se-aeroframe-scaffold", amount = 7}, + {type = "item", name = "se-heavy-composite", amount = 7}, +} + +data.raw.recipe["turbo-splitter"].ingredients = { + {type = "item", name = "express-splitter", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 4}, + {type = "item", name = "processing-unit", amount = 5}, + {type = "item", name = "electric-engine-unit", amount = 2}, +} + +data.raw.recipe["ultimate-splitter"].ingredients = { + {type = "item", name = "turbo-splitter", amount = 1}, + {type = "item", name = "se-holmium-solenoid", amount = 2}, + {type = "item", name = "processing-unit", amount = 5}, + {type = "item", name = "se-aeroframe-scaffold", amount = 2}, + {type = "item", name = "se-heavy-composite", amount = 2}, +} + +bobmods.lib.recipe.replace_ingredient("se-deep-space-transport-belt", "se-space-transport-belt", "ultimate-transport-belt") +bobmods.lib.recipe.replace_ingredient("se-deep-space-transport-belt", "se-heavy-bearing", "se-heavy-assembly") +bobmods.lib.recipe.replace_ingredient("se-deep-space-transport-belt", "se-aeroframe-scaffold", "se-aeroframe-bulkhead") + +data.raw.technology["logistics-4"].prerequisites = { + "se-heavy-bearing", +} +data.raw.technology["logistics-4"].unit.count = 500 +data.raw.technology["logistics-4"].unit.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}, + {"se-material-science-pack-2", 1} +} + +data.raw.technology["logistics-5"].prerequisites = { + "logistics-4", + "se-heavy-composite", + "se-holmium-solenoid", + "se-aeroframe-scaffold" +} +data.raw.technology["logistics-5"].unit.count = 1000 +data.raw.technology["logistics-5"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-2", 1}, + {"se-material-science-pack-3", 1} +} + +bobmods.lib.tech.add_prerequisite("se-deep-space-transport-belt", "logistics-5") +bobmods.lib.recipe.add_ingredient("se-space-transport-belt", {"electric-motor", 1}) + +local ultlength = data.raw["underground-belt"]["ultimate-underground-belt"].max_distance +if ultlength > 17 then + data.raw["underground-belt"]["se-deep-space-underground-belt-black"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-blue"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-cyan"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-green"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-magenta"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-red"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-white"].max_distance = ultlength + data.raw["underground-belt"]["se-deep-space-underground-belt-yellow"].max_distance = ultlength +end + + +--Inserters +data.raw.recipe.inserter.normal.ingredients = { + {type = "item", name = "burner-inserter", amount = 1}, + {type = "item", name = "electric-motor", amount = 1}, + {type = "item", name = "electronic-circuit", amount = 1}, +} +data.raw.recipe.inserter.expensive.ingredients = { + {type = "item", name = "burner-inserter", amount = 1}, + {type = "item", name = "electric-motor", amount = 1}, + {type = "item", name = "electronic-circuit", amount = 1}, +} + +if settings.startup["bobmods-logistics-inserteroverhaul"].value == true then + + data.raw.recipe["turbo-inserter"].ingredients = { + {type = "item", name = "fast-inserter", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 1}, + {type = "item", name = "processing-unit", amount = 1}, + {type = "item", name = "electric-engine-unit", amount = 1}, + } + + data.raw.recipe["turbo-filter-inserter"].ingredients = { + {type = "item", name = "filter-inserter", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 1}, + {type = "item", name = "processing-unit", amount = 5}, + {type = "item", name = "electric-engine-unit", amount = 1}, + } + + data.raw.recipe["turbo-stack-inserter"].ingredients = { + {type = "item", name = "stack-inserter", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 2}, + {type = "item", name = "processing-unit", amount = 1}, + {type = "item", name = "electric-engine-unit", amount = 2}, + } + + data.raw.recipe["turbo-stack-filter-inserter"].ingredients = { + {type = "item", name = "stack-filter-inserter", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 2}, + {type = "item", name = "processing-unit", amount = 6}, + {type = "item", name = "electric-engine-unit", amount = 2}, + } + + data.raw.recipe["express-inserter"].ingredients = { + {type = "item", name = "turbo-inserter", amount = 1}, + {type = "item", name = "se-aeroframe-scaffold", amount = 1}, + {type = "item", name = "processing-unit", amount = 1}, + {type = "item", name = "se-holmium-solenoid", amount = 1}, + } + + data.raw.recipe["express-filter-inserter"].ingredients = { + {type = "item", name = "turbo-filter-inserter", amount = 1}, + {type = "item", name = "se-aeroframe-scaffold", amount = 2}, + {type = "item", name = "processing-unit", amount = 5}, + {type = "item", name = "se-holmium-solenoid", amount = 1}, + } + + data.raw.recipe["express-stack-inserter"].ingredients = { + {type = "item", name = "turbo-stack-inserter", amount = 1}, + {type = "item", name = "se-aeroframe-scaffold", amount = 1}, + {type = "item", name = "processing-unit", amount = 1}, + {type = "item", name = "se-holmium-solenoid", amount = 2}, + } + + data.raw.recipe["express-stack-filter-inserter"].ingredients = { + {type = "item", name = "turbo-stack-filter-inserter", amount = 1}, + {type = "item", name = "se-aeroframe-scaffold", amount = 2}, + {type = "item", name = "processing-unit", amount = 6}, + {type = "item", name = "se-holmium-solenoid", amount = 2}, + } + + bobmods.lib.tech.add_science_pack("turbo-inserter", "se-material-science-pack-2", 1) + bobmods.lib.tech.add_science_pack("stack-inserter-3", "se-material-science-pack-2", 1) + + data.raw.technology["ultimate-inserter"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-2", 1}, + {"se-material-science-pack-3", 1} + } + data.raw.technology["stack-inserter-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-astronomic-science-pack-2", 1}, + {"se-energy-science-pack-2", 1}, + {"se-material-science-pack-3", 1} + } + + data.raw.technology["stack-inserter-3"].unit.count = 200 + data.raw.technology["ultimate-inserter"].unit.count = 150 + data.raw.technology["stack-inserter-4"].unit.count = 500 + +end + +bobmods.lib.tech.add_science_pack("long-inserters-2", "space-science-pack", 1) +bobmods.lib.tech.add_science_pack("more-inserters-2", "utility-science-pack", 1) + +data.raw.technology["inserter-capacity-bonus-8"].prerequisites = { + "inserter-capacity-bonus-7" +} +data.raw.technology["inserter-capacity-bonus-8"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-material-science-pack-4", 1}, + {"se-deep-space-science-pack-1", 1} +} \ No newline at end of file diff --git a/bobmining/changelog.txt b/bobmining/changelog.txt index 142878d9..9866a896 100644 --- a/bobmining/changelog.txt +++ b/bobmining/changelog.txt @@ -5,6 +5,7 @@ Date: 01. 01. 2023 - Compatibility changes for Krastorio 2 mod #42 - Fixed upgrading mining drills - Pumpjacks can now be placed on oil + - Added support for Space Exploration mod #88 Bugfixes: - Fixing accidental global variables #50 - Machines Showing In/Out Fluidbox arrows #66 diff --git a/bobmining/data-updates.lua b/bobmining/data-updates.lua index 3007ad5f..4f161e6d 100644 --- a/bobmining/data-updates.lua +++ b/bobmining/data-updates.lua @@ -8,3 +8,7 @@ require("prototypes.drill-updates") require("prototypes.areadrill-updates") require("prototypes.pumpjack-updates") require("prototypes.water-miner-updates") + +if mods["space-exploration"] then + require("prototypes.se-updates") +end diff --git a/bobmining/locale/en/bobmining.cfg b/bobmining/locale/en/bobmining.cfg index 453586c9..2d1f8008 100644 --- a/bobmining/locale/en/bobmining.cfg +++ b/bobmining/locale/en/bobmining.cfg @@ -24,6 +24,7 @@ steam-mining-drill=Steam powered mining drill [entity-description] +bob-mining-drill-x=This advanced mining drill is capable of mining all solid ores. steam-mining-drill=The steam powered mining drill will scale its speed and energy consumption to the temperature of the steam you pipe into it.\nExpect it to operate at 20% on steam from your first boiler.\n20% is 120kW for 0.4/s base mining speed. @@ -57,6 +58,10 @@ bob-pumpjacks=Pumpjacks Research water-miner=Water Pumpjacks Research +[technology-description] +bob-mining-drill-x=This advanced mining drill is capable of mining all solid ores. + + [mod-setting-name] bobmods-mining-miningdrills=New mining drills bobmods-mining-areadrills=Large area mining drills diff --git a/bobmining/prototypes/se-updates.lua b/bobmining/prototypes/se-updates.lua new file mode 100644 index 00000000..68e59a1f --- /dev/null +++ b/bobmining/prototypes/se-updates.lua @@ -0,0 +1,320 @@ +--Mining drills +if data.raw.item["bob-mining-drill-4"] then + + data.raw.recipe["bob-mining-drill-1"].ingredients = { + {type = "item", name = "electric-mining-drill", amount = 1}, + {type = "item", name = "iron-gear-wheel", amount = 5}, + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "steel-plate", amount = 10}, + } + + data.raw.recipe["bob-mining-drill-2"].ingredients = { + {type = "item", name = "bob-mining-drill-1", amount = 1}, + {type = "item", name = "electric-engine-unit", amount = 4}, + {type = "item", name = "advanced-circuit", amount = 5}, + {type = "fluid", name = "lubricant", amount = 20}, + } + data.raw.recipe["bob-mining-drill-2"].category = "crafting-with-fluid" + + data.raw.recipe["bob-mining-drill-3"].ingredients = { + {type = "item", name = "bob-mining-drill-2", amount = 1}, + {type = "item", name = "se-heavy-girder", amount = 5}, + {type = "item", name = "processing-unit", amount = 3}, + {type = "item", name = "se-heavy-bearing", amount = 4}, + } + + data.raw.recipe["bob-mining-drill-4"].ingredients = { + {type = "item", name = "bob-mining-drill-3", amount = 1}, + {type = "item", name = "se-heavy-assembly", amount = 3}, + {type = "item", name = "se-dynamic-emitter", amount = 1}, + {type = "item", name = "se-vitalic-reagent", amount = 10}, + } + + data.raw["mining-drill"]["bob-mining-drill-1"].mining_speed = 0.75 + data.raw["mining-drill"]["bob-mining-drill-2"].mining_speed = 1 + data.raw["mining-drill"]["bob-mining-drill-3"].mining_speed = 1.5 + data.raw["mining-drill"]["bob-mining-drill-4"].mining_speed = 2 + data.raw["mining-drill"]["bob-mining-drill-1"].energy_source.emissions_per_minute = 13 + data.raw["mining-drill"]["bob-mining-drill-2"].energy_source.emissions_per_minute = 15 + data.raw["mining-drill"]["bob-mining-drill-3"].energy_source.emissions_per_minute = 18 + data.raw["mining-drill"]["bob-mining-drill-4"].energy_source.emissions_per_minute = 20 + data.raw["mining-drill"]["bob-mining-drill-1"].energy_usage = "158kW" + data.raw["mining-drill"]["bob-mining-drill-2"].energy_usage = "240kW" + data.raw["mining-drill"]["bob-mining-drill-3"].energy_usage = "405kW" + data.raw["mining-drill"]["bob-mining-drill-4"].energy_usage = "600kW" + + data.raw["mining-drill"]["bob-mining-drill-4"].resource_categories = {"basic-solid", "hard-resource"} + data.raw["mining-drill"]["bob-mining-drill-4"].localised_description = {"entity-description.bob-mining-drill-x"} + data.raw.technology["bob-drills-4"].localised_description = {"technology-description.bob-mining-drill-x"} + + bobmods.lib.tech.add_science_pack("bob-drills-1", "logistic-science-pack", 1) + data.raw.technology["bob-drills-1"].unit.count = 150 + data.raw.technology["bob-drills-1"].prerequisites = { + "electric-mining", + "logistic-science-pack", + "steel-processing" + } + + data.raw.technology["bob-drills-2"].prerequisites = { + "bob-drills-1", + "se-rocket-science-pack" + } + data.raw.technology["bob-drills-2"].unit.count = 200 + data.raw.technology["bob-drills-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1} + } + + data.raw.technology["bob-drills-3"].prerequisites = { + "bob-drills-2", + "se-heavy-bearing", + } + data.raw.technology["bob-drills-3"].unit.count = 500 + data.raw.technology["bob-drills-3"].unit.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}, + {"se-material-science-pack-2", 1} + } + + data.raw.technology["bob-drills-4"].prerequisites = { + "bob-drills-3", + "se-heavy-assembly", + "se-dynamic-emitter", + "se-vitalic-reagent" + } + data.raw.technology["bob-drills-4"].unit.count = 1000 + data.raw.technology["bob-drills-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-2", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-2", 1} + } + + +end + +--Area mining drills +if data.raw.item["bob-area-mining-drill-4"] then + + + data.raw.recipe["bob-area-mining-drill-1"].ingredients = { + {type = "item", name = "electric-mining-drill", amount = 1}, + {type = "item", name = "iron-gear-wheel", amount = 6}, + {type = "item", name = "electronic-circuit", amount = 6}, + {type = "item", name = "steel-plate", amount = 15}, + } + + data.raw.recipe["bob-area-mining-drill-2"].ingredients = { + {type = "item", name = "bob-area-mining-drill-1", amount = 1}, + {type = "item", name = "electric-engine-unit", amount = 5}, + {type = "item", name = "advanced-circuit", amount = 6}, + {type = "fluid", name = "lubricant", amount = 25}, + } + data.raw.recipe["bob-area-mining-drill-2"].category = "crafting-with-fluid" + + data.raw.recipe["bob-area-mining-drill-3"].ingredients = { + {type = "item", name = "bob-area-mining-drill-2", amount = 1}, + {type = "item", name = "se-heavy-girder", amount = 6}, + {type = "item", name = "processing-unit", amount = 4}, + {type = "item", name = "se-heavy-bearing", amount = 5}, + } + + data.raw.recipe["bob-area-mining-drill-4"].ingredients = { + {type = "item", name = "bob-area-mining-drill-3", amount = 1}, + {type = "item", name = "se-heavy-assembly", amount = 4}, + {type = "item", name = "se-dynamic-emitter", amount = 1}, + {type = "item", name = "se-vitalic-reagent", amount = 15}, + } + + data.raw["mining-drill"]["bob-area-mining-drill-1"].mining_speed = 0.75 + data.raw["mining-drill"]["bob-area-mining-drill-2"].mining_speed = 1 + data.raw["mining-drill"]["bob-area-mining-drill-3"].mining_speed = 1.5 + data.raw["mining-drill"]["bob-area-mining-drill-4"].mining_speed = 2 + data.raw["mining-drill"]["bob-area-mining-drill-1"].energy_source.emissions_per_minute = 13 + data.raw["mining-drill"]["bob-area-mining-drill-2"].energy_source.emissions_per_minute = 15 + data.raw["mining-drill"]["bob-area-mining-drill-3"].energy_source.emissions_per_minute = 18 + data.raw["mining-drill"]["bob-area-mining-drill-4"].energy_source.emissions_per_minute = 20 + data.raw["mining-drill"]["bob-area-mining-drill-1"].energy_usage = "162kW" + data.raw["mining-drill"]["bob-area-mining-drill-2"].energy_usage = "252kW" + data.raw["mining-drill"]["bob-area-mining-drill-3"].energy_usage = "432kW" + data.raw["mining-drill"]["bob-area-mining-drill-4"].energy_usage = "648kW" + data.raw["mining-drill"]["bob-area-mining-drill-1"].module_specification.module_slots = 4 + data.raw["mining-drill"]["bob-area-mining-drill-2"].module_specification.module_slots = 5 + data.raw["mining-drill"]["bob-area-mining-drill-3"].module_specification.module_slots = 6 + data.raw["mining-drill"]["bob-area-mining-drill-4"].module_specification.module_slots = 8 + + data.raw["mining-drill"]["bob-area-mining-drill-4"].resource_categories = {"basic-solid", "hard-resource"} + data.raw["mining-drill"]["bob-area-mining-drill-4"].localised_description = {"entity-description.bob-mining-drill-x"} + data.raw.technology["bob-area-drills-4"].localised_description = {"technology-description.bob-mining-drill-x"} + + bobmods.lib.tech.add_science_pack("bob-area-drills-1", "logistic-science-pack", 1) + data.raw.technology["bob-area-drills-1"].unit.count = 150 + data.raw.technology["bob-area-drills-1"].prerequisites = { + "electric-mining", + "logistic-science-pack", + "steel-processing" + } + + data.raw.technology["bob-area-drills-2"].prerequisites = { + "bob-area-drills-1", + "se-rocket-science-pack" + } + data.raw.technology["bob-area-drills-2"].unit.count = 200 + data.raw.technology["bob-area-drills-2"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1} + } + + data.raw.technology["bob-area-drills-3"].prerequisites = { + "bob-area-drills-2", + "se-heavy-bearing", + } + data.raw.technology["bob-area-drills-3"].unit.count = 500 + data.raw.technology["bob-area-drills-3"].unit.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}, + {"se-material-science-pack-2", 1} + } + + data.raw.technology["bob-area-drills-4"].prerequisites = { + "bob-area-drills-3", + "se-heavy-assembly", + "se-dynamic-emitter", + "se-vitalic-reagent" + } + data.raw.technology["bob-area-drills-4"].unit.count = 1000 + data.raw.technology["bob-area-drills-4"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1}, + {"space-science-pack", 1}, + {"utility-science-pack", 1}, + {"production-science-pack", 1}, + {"se-biological-science-pack-2", 1}, + {"se-energy-science-pack-4", 1}, + {"se-material-science-pack-2", 1} + } + + +end + + +--Pumpjacks +if data.raw.item["bob-pumpjack-4"] then + + + data.raw.recipe["bob-pumpjack-1"].ingredients = { + {type = "item", name = "pumpjack", amount = 1}, + {type = "fluid", name = "lubricant", amount = 10}, + {type = "item", name = "concrete", amount = 20}, + {type = "item", name = "steel-plate", amount = 10}, + } + data.raw.recipe["bob-pumpjack-1"].category = "crafting-with-fluid" + + data.raw.recipe["bob-pumpjack-2"].ingredients = { + {type = "item", name = "bob-pumpjack-1", amount = 1}, + {type = "fluid", name = "se-pyroflux", amount = 6}, + {type = "item", name = "electric-engine-unit", amount = 3}, + {type = "item", name = "plastic-bar", amount = 10}, + } + data.raw.recipe["bob-pumpjack-2"].category = "crafting-with-fluid" + + data.raw.recipe["bob-pumpjack-3"].ingredients = { + {type = "item", name = "bob-pumpjack-2", amount = 1}, + {type = "item", name = "se-heavy-bearing", amount = 10}, + {type = "item", name = "se-iridium-plate", amount = 10}, + {type = "item", name = "se-heavy-girder", amount = 10}, + } + + data.raw.recipe["bob-pumpjack-4"].ingredients = { + {type = "item", name = "bob-pumpjack-3", amount = 1}, + {type = "item", name = "se-heavy-assembly", amount = 2}, + {type = "item", name = "se-self-sealing-gel", amount = 4} + } + + if bobmods.logistics then + bobmods.lib.recipe.replace_ingredient("bob-pumpjack-1", "steel-plate", "steel-pipe") + bobmods.lib.recipe.replace_ingredient("bob-pumpjack-2", "plastic-bar", "plastic-pipe") + bobmods.lib.recipe.replace_ingredient("bob-pumpjack-3", "se-iridium-plate", "iridium-pipe") + end + + + data.raw.technology["bob-pumpjacks-1"].prerequisites = { + "se-rocket-science-pack", + "concrete", + } + data.raw.technology["bob-pumpjacks-1"].unit.count = 100 + data.raw.technology["bob-pumpjacks-1"].unit.ingredients = { + {"automation-science-pack", 1}, + {"logistic-science-pack", 1}, + {"chemical-science-pack", 1}, + {"se-rocket-science-pack", 1} + } + + data.raw.technology["bob-pumpjacks-2"].prerequisites = { + "bob-pumpjacks-1", + "production-science-pack" + } + data.raw.technology["bob-pumpjacks-2"].unit.count = 120 + data.raw.technology["bob-pumpjacks-2"].unit.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} + } + + data.raw.technology["bob-pumpjacks-3"].prerequisites = { + "bob-pumpjacks-2", + "se-heavy-bearing" + } + data.raw.technology["bob-pumpjacks-3"].unit.count = 240 + data.raw.technology["bob-pumpjacks-3"].unit.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}, + {"se-material-science-pack-2", 1} + } + + data.raw.technology["bob-pumpjacks-4"].prerequisites = { + "bob-pumpjacks-3", + "se-heavy-assembly", + "se-self-sealing-gel" + } + data.raw.technology["bob-pumpjacks-4"].unit.count = 500 + data.raw.technology["bob-pumpjacks-4"].unit.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}, + {"se-material-science-pack-4", 1}, + {"se-biological-science-pack-4", 1} + } + + +end \ No newline at end of file