From 7ca781e1d5bb34c601153c4acfc9cf61873b8b8a Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Mon, 14 Apr 2025 06:53:53 -0700 Subject: Initial (fork of robot-start-2 by Krypt0n_C0R3) --- prototypes/energy-pad.lua | 51 +++++++++++++++ prototypes/entities.lua | 70 ++++++++++++++++++++ prototypes/item.lua | 89 ++++++++++++++++++++++++++ prototypes/recepie.lua | 160 ++++++++++++++++++++++++++++++++++++++++++++++ prototypes/tech.lua | 73 +++++++++++++++++++++ 5 files changed, 443 insertions(+) create mode 100644 prototypes/energy-pad.lua create mode 100644 prototypes/entities.lua create mode 100644 prototypes/item.lua create mode 100644 prototypes/recepie.lua create mode 100644 prototypes/tech.lua (limited to 'prototypes') diff --git a/prototypes/energy-pad.lua b/prototypes/energy-pad.lua new file mode 100644 index 0000000..11b3c50 --- /dev/null +++ b/prototypes/energy-pad.lua @@ -0,0 +1,51 @@ +local portable_nuclear_reactor = data.raw["generator-equipment"]["fission-reactor-equipment"] +local clp = data.raw["cargo-landing-pad"]["cargo-landing-pad"] +local energy_source = util.table.deepcopy(data.raw["electric-energy-interface"]["hidden-electric-energy-interface"]) + +energy_source.name = "clp-electric-source" +energy_source.localised_name = {"entity-name.cargo-landing-pad"} +energy_source.icon = clp.icon +energy_source.energy_source = { + type = "electric", + buffer_capacity = "5MJ", + usage_priority = "tertiary" +} +energy_source.energy_production = portable_nuclear_reactor.power +energy_source.collision_box = clp.collision_box +energy_source.selection_box = clp.selection_box + + +local clp_recepie = util.table.deepcopy(data.raw["recipe"]["cargo-landing-pad"]) +clp_recepie.ingredients = +{ + {type = "item", name = "concrete", amount = 250}, + {type = "item", name = "processing-unit", amount = 35}, + {type = "item", name = "steel-plate", amount = 80}, + {type = "item", name = "accumulator", amount = 1}, + {type = "item", name = "fission-reactor-equipment", amount = 1}, + {type = "item", name = "construction-robot", amount = 10} +} + + +local thermal_pad = util.table.deepcopy(data.raw["heat-interface"]["heat-interface"]) +thermal_pad.minable = nil +thermal_pad.gui_mode = "none" +thermal_pad.heat_buffer.default_temperature = 15 +thermal_pad.heat_buffer.max_temperature = 31 +thermal_pad.heat_buffer.min_working_temperature = 30 +thermal_pad.flags = {"placeable-neutral", "player-creation", "not-deconstructable"} +thermal_pad.name = "clp-heat-interface" + +--entity.set_heat_setting{temperature = 1000, mode = "exactly"} + +local heat_pipe = util.table.deepcopy(data.raw["heat-pipe"]["heat-pipe"]) +heat_pipe.name = "clp-heat-pipe" +heat_pipe.flags = {"placeable-neutral", "player-creation", "not-deconstructable"} +heat_pipe.minable = nil + +data:extend({ + energy_source, + clp_recepie, + heat_pipe, + thermal_pad +}) diff --git a/prototypes/entities.lua b/prototypes/entities.lua new file mode 100644 index 0000000..9337cc4 --- /dev/null +++ b/prototypes/entities.lua @@ -0,0 +1,70 @@ +require ("util") + +local iron_chest = data.raw["container"]["iron-chest"] +local ipsc = util.table.deepcopy(data.raw["logistic-container"]["passive-provider-chest"]) +local ibc = util.table.deepcopy(data.raw["logistic-container"]["buffer-chest"]) +local iasc = util.table.deepcopy(data.raw["logistic-container"]["active-provider-chest"]) +local isc = util.table.deepcopy(data.raw["logistic-container"]["storage-chest"]) +local irc = util.table.deepcopy(data.raw["logistic-container"]["requester-chest"]) + +local chests = {ipsc,ibc,iasc,irc,isc} + +for _, chest in ipairs(chests) do + chest.name = "iron-"..chest.name + chest.icon = "__robot-start-2__/graphics/items/"..chest.name..".png" + chest.corpse = iron_chest.corpse + chest.max_health = iron_chest.max_health + chest.minable = {mining_time = 0.1, result = chest.name} + chest.dying_explosion = iron_chest.dying_explosion + chest.resistances = iron_chest.resistances + chest.open_sound = iron_chest.open_sound + chest.close_sound = iron_chest.close_sound + chest.inventory_size = iron_chest.inventory_size + chest.animation = nil + chest.picture = util.table.deepcopy(iron_chest.picture) + chest.picture.layers[1].filename = "__robot-start-2__/graphics/entity/"..chest.name..".png" +end + +local early_l_bot = util.table.deepcopy(data.raw["logistic-robot"]["logistic-robot"]) +local early_c_bot = util.table.deepcopy(data.raw["construction-robot"]["construction-robot"]) + +local bots = {early_c_bot,early_l_bot} + +for _, bot in ipairs(bots) do + bot.icon = "__robot-start-2__/graphics/items/"..bot.name..".png" + bot.name = "early-"..bot.name + bot.minable = {mining_time = 0.1, result = bot.name} + bot.resistances = + { + { + type = "fire", + percent = 100 + } + } + bot.max_health = 50 + bot.speed = 0.04 + bot.max_energy = "0.75MJ" + bot.energy_per_move = "2.5kJ" + bot.idle.filename = bot.idle.filename:gsub("base","robot-start-2") + bot.in_motion.filename = bot.in_motion.filename:gsub("base","robot-start-2") + bot.shadow_idle.filename = bot.shadow_idle.filename:gsub("base","robot-start-2") + bot.shadow_in_motion.filename = bot.shadow_in_motion.filename:gsub("base","robot-start-2") +end + +early_c_bot.working.filename = early_c_bot.working.filename:gsub("base","robot-start-2") +early_c_bot.shadow_working.filename = early_c_bot.shadow_working.filename:gsub("base","robot-start-2") + +early_l_bot.idle_with_cargo.filename = early_l_bot.idle_with_cargo.filename:gsub("base","robot-start-2") +early_l_bot.in_motion_with_cargo.filename = early_l_bot.in_motion_with_cargo.filename:gsub("base","robot-start-2") +early_l_bot.shadow_idle_with_cargo.filename = early_l_bot.shadow_idle_with_cargo.filename:gsub("base","robot-start-2") +early_l_bot.shadow_in_motion_with_cargo.filename = early_l_bot.shadow_in_motion_with_cargo.filename:gsub("base","robot-start-2") + +data:extend{ + ipsc, + ibc, + iasc, + isc, + irc, + early_c_bot, + early_l_bot +} \ No newline at end of file diff --git a/prototypes/item.lua b/prototypes/item.lua new file mode 100644 index 0000000..70ca8ee --- /dev/null +++ b/prototypes/item.lua @@ -0,0 +1,89 @@ +data:extend{ + { + type = "item", + name = "iron-active-provider-chest", + icon = "__robot-start-2__/graphics/items/iron-active-provider-chest.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "storage", + order = "a[items]-b[iron-active-provider-chest]", + place_result = "iron-active-provider-chest", + stack_size = 50 + }, + { + type = "item", + name = "iron-buffer-chest", + icon = "__robot-start-2__/graphics/items/iron-buffer-chest.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "storage", + order = "a[items]-b[iron-buffer-chest]", + place_result = "iron-buffer-chest", + stack_size = 50 + }, + { + type = "item", + name = "iron-passive-provider-chest", + icon = "__robot-start-2__/graphics/items/iron-passive-provider-chest.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "storage", + order = "a[items]-b[iron-passive-provider-chest]", + place_result = "iron-passive-provider-chest", + stack_size = 50 + }, + { + type = "item", + name = "iron-requester-chest", + icon = "__robot-start-2__/graphics/items/iron-requester-chest.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "storage", + order = "a[items]-b[iron-requester-chest]", + place_result = "iron-requester-chest", + stack_size = 50 + }, + { + type = "item", + name = "iron-storage-chest", + icon = "__robot-start-2__/graphics/items/iron-storage-chest.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "storage", + order = "a[items]-b[iron-storage-chest]", + place_result = "iron-storage-chest", + stack_size = 50 + }, + { + type = "item", + name = "early-logistic-robot", + icon = "__robot-start-2__/graphics/items/logistic-robot.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "logistic-network", + order = "a[robot]-b[early-logistic-robot]", + place_result = "early-logistic-robot", + stack_size = 50 + }, + { + type = "item", + name = "early-construction-robot", + icon = "__robot-start-2__/graphics/items/construction-robot.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "logistic-network", + order = "a[robot]-b[early-construction-robot]", + place_result = "early-construction-robot", + stack_size = 50 + }, + { + type = "item", + name = "inventory-blocker", + icon = "__robot-start-2__/graphics/items/inventory-blocker.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "logistic-network", + order = "a[robot]-b[early-construction-robot]", + stack_size = 1 + }, +} \ No newline at end of file diff --git a/prototypes/recepie.lua b/prototypes/recepie.lua new file mode 100644 index 0000000..ba0112e --- /dev/null +++ b/prototypes/recepie.lua @@ -0,0 +1,160 @@ +data:extend{ + { + type = "recipe", + name = "iron-active-provider-chest", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 1} + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 15, + results = {{type = "item", name = "iron-active-provider-chest", amount = 1}} + }, + { + type = "recipe", + name = "iron-buffer-chest", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 1} + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 15, + results = {{type = "item", name = "iron-buffer-chest", amount = 1}} + }, + { + type = "recipe", + name = "iron-passive-provider-chest", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 1} + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 15, + results = {{type = "item", name = "iron-passive-provider-chest", amount = 1}} + }, + { + type = "recipe", + name = "iron-requester-chest", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 1} + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 15, + results = {{type = "item", name = "iron-requester-chest", amount = 1}} + }, + { + type = "recipe", + name = "iron-storage-chest", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 1} + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 15, + results = {{type = "item", name = "iron-storage-chest", amount = 1}} + }, + { + type = "recipe", + name = "early-logistic-robot", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-gear-wheel", amount = 12}, + {type = "item", name = "copper-cable", amount = 3}, + {type = "item", name = "iron-plate", amount = 18}, + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 8, + results = {{type = "item", name = "early-logistic-robot", amount = 1}} + }, + { + type = "recipe", + name = "early-construction-robot", + auto_recycle = false, + enabled = false, + ingredients = + { + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-gear-wheel", amount = 12}, + {type = "item", name = "copper-cable", amount = 3}, + {type = "item", name = "iron-plate", amount = 18}, + }, + surface_conditions = + { + { + property = "gravity", + min = 1 + } + }, + allow_productivity = false, + allow_quality = false, + energy_required = 8, + results = {{type = "item", name = "early-construction-robot", amount = 1}} + }, +} \ No newline at end of file diff --git a/prototypes/tech.lua b/prototypes/tech.lua new file mode 100644 index 0000000..bc77fe5 --- /dev/null +++ b/prototypes/tech.lua @@ -0,0 +1,73 @@ +data.raw.technology["logistic-system"].icon = "__robot-start-2__/graphics/technology/logistic-system.png" +--[[data.raw.technology["logistic-robotics"].effects = +{ + { + type = "unlock-recipe", + recipe = "roboport" + }, + { + type = "unlock-recipe", + recipe = "logistic-chest-passive-provider" + }, + { + type = "unlock-recipe", + recipe = "logistic-chest-storage" + }, + { + type = "unlock-recipe", + recipe = "logistic-robot" + } +}]]-- + +data:extend{ + { + type = "technology", + name = "early-logistic", + icon_size = 256, icon_mipmaps = 4, + icon = "__robot-start-2__/graphics/technology/logistic-system-early.png", + effects = + { + { + type = "unlock-recipe", + recipe = "iron-active-provider-chest" + }, + { + type = "unlock-recipe", + recipe = "iron-buffer-chest" + }, + { + type = "unlock-recipe", + recipe = "iron-passive-provider-chest" + }, + { + type = "unlock-recipe", + recipe = "iron-requester-chest" + }, + { + type = "unlock-recipe", + recipe = "iron-storage-chest" + }, + { + type = "unlock-recipe", + recipe = "early-logistic-robot" + }, + { + type = "unlock-recipe", + recipe = "early-construction-robot" + }, + }, + prerequisites = {"logistic-science-pack"}, + unit = + { + count = 100*1, + ingredients = + { + {"automation-science-pack", 1}, + {"logistic-science-pack",5} + }, + time = 30 + }, + upgrade = false, + order = "e-l-a" + }, +} \ No newline at end of file -- cgit v1.2.1