diff options
author | Paul Oliver <contact@pauloliver.dev> | 2025-04-17 16:18:22 +0200 |
---|---|---|
committer | Paul Oliver <contact@pauloliver.dev> | 2025-04-17 20:51:45 +0200 |
commit | 6b0a494ebea2be65244a262888eb2aaea5686db7 (patch) | |
tree | 0622c785ea167868739dbbce9403b6f7e6389587 | |
parent | c7dac110f363b2fe2887d44f58550f162e1d9da6 (diff) |
-rw-r--r-- | von-newmann-2/control.lua | 15 | ||||
-rw-r--r-- | von-newmann-2/data.lua | 1 | ||||
-rw-r--r-- | von-newmann-2/graphics/entity/roboport/early-roboport-base.png | bin | 0 -> 134266 bytes | |||
-rw-r--r-- | von-newmann-2/graphics/entity/roboport/early-roboport-base_lr.png | bin | 0 -> 44770 bytes | |||
-rw-r--r-- | von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png | bin | 0 -> 246304 bytes | |||
-rw-r--r-- | von-newmann-2/graphics/items/early-roboport.png | bin | 0 -> 16217 bytes | |||
-rw-r--r-- | von-newmann-2/locale/en/locale.cfg | 15 | ||||
-rw-r--r-- | von-newmann-2/prototypes/entities.lua | 54 | ||||
-rw-r--r-- | von-newmann-2/prototypes/item.lua | 11 | ||||
-rw-r--r-- | von-newmann-2/prototypes/recipe.lua | 75 | ||||
-rw-r--r-- | von-newmann-2/prototypes/remnants.lua | 41 | ||||
-rw-r--r-- | von-newmann-2/prototypes/tech.lua | 23 |
12 files changed, 171 insertions, 64 deletions
diff --git a/von-newmann-2/control.lua b/von-newmann-2/control.lua index 46872d4..4066c03 100644 --- a/von-newmann-2/control.lua +++ b/von-newmann-2/control.lua @@ -9,12 +9,11 @@ local entities = { {"accumulator", {y = 0.5,x = 1.5}, {}}, {"iron-storage-chest", {y = -2,x = 3}, { items = { - {"roboport", 5}, + {"early-roboport", 30}, {"electric-mining-drill", 10}, {"transport-belt", 100}, - {"big-electric-pole", 10}, - {"small-electric-pole", 20}, - {"power-switch", 5}, + {"big-electric-pole", 30}, + {"small-electric-pole", 30}, {"iron-active-provider-chest", 10}, {"iron-buffer-chest", 20}, {"iron-passive-provider-chest", 50}, @@ -27,10 +26,10 @@ local entities = { }}, {"iron-storage-chest", {y = -2,x = 4}, {}}, {"iron-storage-chest", {y = -2,x = 5}, {}}, - {"roboport", {y = -0.5,x = -3.5}, { + {"early-roboport", {y = -0.5,x = -3.5}, { items = { {"early-construction-robot", 20}, - {"early-logistic-robot", 10}, + {"early-logistic-robot", 20}, {"repair-pack", 50} } }}, @@ -69,9 +68,9 @@ local entities = { } local entities_landing_pad = { - {"roboport", {y = -6.5,x = 2.5}, { + {"early-roboport", {y = -6.5,x = 2.5}, { items = { - {"construction-robot", 10} + {"early-construction-robot", 10} } }}, {"storage-chest", {y = -5,x = 5}, {}}, diff --git a/von-newmann-2/data.lua b/von-newmann-2/data.lua index 678fc5b..2bcd9e2 100644 --- a/von-newmann-2/data.lua +++ b/von-newmann-2/data.lua @@ -2,6 +2,7 @@ require("prototypes.tech") require("prototypes.recipe") require("prototypes.entities") require("prototypes.item") +require("prototypes.remnants") if data.raw.technology["steel-axe"] then data.raw.technology["steel-axe"] = null diff --git a/von-newmann-2/graphics/entity/roboport/early-roboport-base.png b/von-newmann-2/graphics/entity/roboport/early-roboport-base.png Binary files differnew file mode 100644 index 0000000..571c301 --- /dev/null +++ b/von-newmann-2/graphics/entity/roboport/early-roboport-base.png diff --git a/von-newmann-2/graphics/entity/roboport/early-roboport-base_lr.png b/von-newmann-2/graphics/entity/roboport/early-roboport-base_lr.png Binary files differnew file mode 100644 index 0000000..520110d --- /dev/null +++ b/von-newmann-2/graphics/entity/roboport/early-roboport-base_lr.png diff --git a/von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png b/von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png Binary files differnew file mode 100644 index 0000000..80d95c6 --- /dev/null +++ b/von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png diff --git a/von-newmann-2/graphics/items/early-roboport.png b/von-newmann-2/graphics/items/early-roboport.png Binary files differnew file mode 100644 index 0000000..0383bcd --- /dev/null +++ b/von-newmann-2/graphics/items/early-roboport.png diff --git a/von-newmann-2/locale/en/locale.cfg b/von-newmann-2/locale/en/locale.cfg index b3ac354..23e704f 100644 --- a/von-newmann-2/locale/en/locale.cfg +++ b/von-newmann-2/locale/en/locale.cfg @@ -4,8 +4,9 @@ iron-buffer-chest=Iron buffer chest iron-passive-provider-chest=Iron passive provider chest iron-requester-chest=Iron requester chest iron-storage-chest=Iron storage chest -early-logistic-robot=Simply logistic robot -early-construction-robot=Simply construction robot +early-logistic-robot=Early logistic robot +early-construction-robot=Early construction robot +early-roboport=Early roboport inventory-blocker=Inventory is locked [entity-name] @@ -14,15 +15,19 @@ iron-buffer-chest=Iron buffer chest iron-passive-provider-chest=Iron passive provider chest iron-requester-chest=Iron requester chest iron-storage-chest=Iron storage chest -early-logistic-robot=Simply logistic robot -early-construction-robot=Simply construction robot +early-logistic-robot=Early logistic robot +early-construction-robot=Early construction robot +early-roboport=Early roboport inventory-blocker=Inventory is locked [technology-name] -early-logistic=Simply logistics +early-logistic=Early logistics [technology-description] early-logistic=Unlocks access to a simple logistics network and provides access to simple logistics network chests [mod-setting-name] vn2-disable-shipwreck=Disable Shipwreck + +[entity-description] +early-roboport=Early roboport with limited capabilities diff --git a/von-newmann-2/prototypes/entities.lua b/von-newmann-2/prototypes/entities.lua index 19ee05b..759c41b 100644 --- a/von-newmann-2/prototypes/entities.lua +++ b/von-newmann-2/prototypes/entities.lua @@ -1,5 +1,6 @@ require ("util") +-- early chests 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"]) @@ -25,6 +26,7 @@ for _, chest in ipairs(chests) do chest.picture.layers[1].filename = "__von-newmann-2__/graphics/entity/"..chest.name..".png" end +-- early bots 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"]) @@ -59,6 +61,55 @@ early_l_bot.in_motion_with_cargo.filename = early_l_bot.in_motion_with_cargo.fil early_l_bot.shadow_idle_with_cargo.filename = early_l_bot.shadow_idle_with_cargo.filename:gsub("base","von-newmann-2") early_l_bot.shadow_in_motion_with_cargo.filename = early_l_bot.shadow_in_motion_with_cargo.filename:gsub("base","von-newmann-2") +-- early port +early_roboport = util.table.deepcopy(data.raw["roboport"]["roboport"]) +early_roboport.name = "early-roboport" +early_roboport.fast_replaceable_group = "roboport" +early_roboport.icon = "__von-newmann-2__/graphics/items/early-roboport.png" +early_roboport.dying_explosion = "roboport-explosion" +early_roboport.corpse = "early-roboport-remnant" +early_roboport.next_upgrade = "roboport" +early_roboport.logistics_radius = 16 -- half a chunk +early_roboport.construction_radius = 32 -- one chunk +early_roboport.minable = {mining_time = 0.1, result = "early-roboport"} +early_roboport.energy_source = { + type = "electric", + usage_priority = "secondary-input", + input_flow_limit = "4MW", + buffer_capacity = "150MJ" +} +early_roboport.recharge_minimum = "60MJ" +early_roboport.energy_usage = "75kW" +early_roboport.charging_energy = "250kW" +early_roboport.robot_slots_count = 4 +early_roboport.material_slots_count = 5 +early_roboport.charging_offsets = { + {-0.5, -0.5}, + {-0.5, 0.5}, + { 0.5, -0.5}, + { 0.5, 0.5} +} +early_roboport.base = { + layers = { + { + filename = "__von-newmann-2__/graphics/entity/roboport/early-roboport-base.png", + width = 228, + height = 277, + shift = util.by_pixel(2, 7.75), + scale = 0.5 + }, + { + filename = "__base__/graphics/entity/roboport/roboport-shadow.png", + width = 294, + height = 201, + draw_as_shadow = true, + force_hr_shadow = true, + shift = util.by_pixel(28.5, 19.25), + scale = 0.5 + } + } +} + data:extend{ ipsc, ibc, @@ -66,5 +117,6 @@ data:extend{ isc, irc, early_c_bot, - early_l_bot + early_l_bot, + early_roboport } diff --git a/von-newmann-2/prototypes/item.lua b/von-newmann-2/prototypes/item.lua index e31f3a0..75bf108 100644 --- a/von-newmann-2/prototypes/item.lua +++ b/von-newmann-2/prototypes/item.lua @@ -78,6 +78,17 @@ data:extend{ }, { type = "item", + name = "early-roboport", + icon = "__von-newmann-2__/graphics/items/early-roboport.png", + icon_size = 64, + icon_mipmaps = 4, + subgroup = "logistic-network", + order = "c[signal]-a[roboport]", + place_result = "early-roboport", + stack_size = 10 + }, + { + type = "item", name = "inventory-blocker", icon = "__von-newmann-2__/graphics/items/inventory-blocker.png", icon_size = 64, diff --git a/von-newmann-2/prototypes/recipe.lua b/von-newmann-2/prototypes/recipe.lua index 130793c..91933cf 100644 --- a/von-newmann-2/prototypes/recipe.lua +++ b/von-newmann-2/prototypes/recipe.lua @@ -6,106 +6,119 @@ data:extend{ enabled = false, ingredients = { - {type = "item", name = "electronic-circuit", amount = 5}, - {type = "item", name = "iron-chest", amount = 1} + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 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} + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 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} + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 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} + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 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} + {type = "item", name = "electronic-circuit", amount = 5}, + {type = "item", name = "iron-chest", amount = 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}, + {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}, }, 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}, + {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}, }, allow_productivity = false, allow_quality = false, energy_required = 8, results = {{type = "item", name = "early-construction-robot", amount = 1}} - }, + }, + { + type = "recipe", + name = "early-roboport", + enabled = false, + energy_required = 10, + ingredients = + { + {type="item", name="electronic-circuit", amount=45}, + {type="item", name="iron-gear-wheel", amount=45}, + {type = "item", name = "iron-plate", amount = 45} + }, + results = {{type="item", name="early-roboport", amount=1}} + } } diff --git a/von-newmann-2/prototypes/remnants.lua b/von-newmann-2/prototypes/remnants.lua new file mode 100644 index 0000000..49ac46e --- /dev/null +++ b/von-newmann-2/prototypes/remnants.lua @@ -0,0 +1,41 @@ +local remnants =
+{
+ {
+ type = "corpse",
+ name = "early-roboport-remnant",
+ icon = "__von-newmann-2__/graphics/items/early-roboport.png",
+ flags = {"placeable-neutral", "not-on-map"},
+ hidden_in_factoriopedia = true,
+ subgroup = "logistic-network-remnants",
+ order = "a-h-a",
+ selection_box = {{-2, -2}, {2, 2}},
+ tile_width = 3,
+ tile_height = 3,
+ selectable_in_game = false,
+ time_before_removed = 60 * 60 * 15, -- 15 minutes
+ expires = false,
+ final_render_layer = "remnants",
+ remove_on_tile_placement = false,
+ animation = make_rotated_animation_variations_from_sheet (2,
+ {
+ filename = "__von-newmann-2__/graphics/entity/roboport/early-roboport-remnants.png",
+ line_length = 1,
+ width = 364,
+ height = 358,
+ direction_count = 1,
+ shift = util.by_pixel(2, 8),
+ scale = 0.5
+ })
+ }
+}
+
+for k, remnant in pairs (remnants) do
+ if not remnant.localised_name then
+ local name = remnant.name
+ if name:find("%-remnants") then
+ remnant.localised_name = {"remnant-name", {"entity-name."..name:gsub("%-remnants", "")}}
+ end
+ end
+end
+
+data:extend(remnants)
diff --git a/von-newmann-2/prototypes/tech.lua b/von-newmann-2/prototypes/tech.lua index 3df6d39..bf71002 100644 --- a/von-newmann-2/prototypes/tech.lua +++ b/von-newmann-2/prototypes/tech.lua @@ -1,23 +1,4 @@ data.raw.technology["logistic-system"].icon = "__von-newmann-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{ { @@ -55,6 +36,10 @@ data:extend{ type = "unlock-recipe", recipe = "early-construction-robot" }, + { + type = "unlock-recipe", + recipe = "early-roboport" + } }, prerequisites = {"logistic-science-pack"}, unit = |