aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Oliver <contact@pauloliver.dev>2025-04-17 16:18:22 +0200
committerPaul Oliver <contact@pauloliver.dev>2025-04-17 20:51:45 +0200
commit6b0a494ebea2be65244a262888eb2aaea5686db7 (patch)
tree0622c785ea167868739dbbce9403b6f7e6389587
parentc7dac110f363b2fe2887d44f58550f162e1d9da6 (diff)
Adds more power poles, bots and early roboportsHEADmaster
-rw-r--r--von-newmann-2/control.lua15
-rw-r--r--von-newmann-2/data.lua1
-rw-r--r--von-newmann-2/graphics/entity/roboport/early-roboport-base.pngbin0 -> 134266 bytes
-rw-r--r--von-newmann-2/graphics/entity/roboport/early-roboport-base_lr.pngbin0 -> 44770 bytes
-rw-r--r--von-newmann-2/graphics/entity/roboport/early-roboport-remnants.pngbin0 -> 246304 bytes
-rw-r--r--von-newmann-2/graphics/items/early-roboport.pngbin0 -> 16217 bytes
-rw-r--r--von-newmann-2/locale/en/locale.cfg15
-rw-r--r--von-newmann-2/prototypes/entities.lua54
-rw-r--r--von-newmann-2/prototypes/item.lua11
-rw-r--r--von-newmann-2/prototypes/recipe.lua75
-rw-r--r--von-newmann-2/prototypes/remnants.lua41
-rw-r--r--von-newmann-2/prototypes/tech.lua23
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
new file mode 100644
index 0000000..571c301
--- /dev/null
+++ b/von-newmann-2/graphics/entity/roboport/early-roboport-base.png
Binary files differ
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
new file mode 100644
index 0000000..520110d
--- /dev/null
+++ b/von-newmann-2/graphics/entity/roboport/early-roboport-base_lr.png
Binary files differ
diff --git a/von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png b/von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png
new file mode 100644
index 0000000..80d95c6
--- /dev/null
+++ b/von-newmann-2/graphics/entity/roboport/early-roboport-remnants.png
Binary files differ
diff --git a/von-newmann-2/graphics/items/early-roboport.png b/von-newmann-2/graphics/items/early-roboport.png
new file mode 100644
index 0000000..0383bcd
--- /dev/null
+++ b/von-newmann-2/graphics/items/early-roboport.png
Binary files differ
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 =