diff --git a/map_gen/data/.map_previews/danger_ore_scrap_maze.png b/map_gen/data/.map_previews/danger_ore_scrap_maze.png new file mode 100644 index 000000000..7c7748f75 Binary files /dev/null and b/map_gen/data/.map_previews/danger_ore_scrap_maze.png differ diff --git a/map_gen/maps/danger_ores/changelog.lua b/map_gen/maps/danger_ores/changelog.lua index c04a2888d..eaa2a0ac2 100644 --- a/map_gen/maps/danger_ores/changelog.lua +++ b/map_gen/maps/danger_ores/changelog.lua @@ -152,6 +152,11 @@ return [[ 2026-06-14: - [DO] Disabled radioactivity by default, expect for Joker preset + 2026-07-06: + - [DO:Tetrominoes] Added DO/Tetrominoes preset + - [DO:Voronoi] Added DO/Voronoi preset + 2026-07-07: + - [DO:ScrapMaze] Added DO/Scrapworld-Maze preset - [DO:OmniMaze] Added DO/Omnimatter-Maze preset ]] diff --git a/map_gen/maps/danger_ores/modules/map_poll.lua b/map_gen/maps/danger_ores/modules/map_poll.lua index f915413f6..74803cf32 100644 --- a/map_gen/maps/danger_ores/modules/map_poll.lua +++ b/map_gen/maps/danger_ores/modules/map_poll.lua @@ -68,6 +68,7 @@ local maps = { { name = 'danger-ore-pyfe', display_name = 'Pyanodon Short (PyFe)', mod_pack = mod_packs.danger_ore_py_short }, { name = 'danger-ore-safety', display_name = 'Safety Ores (inverse Danger Ores)', mod_pack = mod_packs.danger_ore_scrap }, { name = 'danger-ore-scrap', display_name = 'Scrapworld (no ores, all scraps)', mod_pack = mod_packs.danger_ore_scrap }, + { name = 'danger-ore-scrap-maze', display_name = 'Scrapworld Maze (all scraps + maze)', mod_pack = mod_packs.danger_ore_scrap }, { name = 'danger-ore-space-age', display_name = 'Space Age (everything on Nauvis)', mod_pack = mod_packs.danger_ore_space_age }, { name = 'danger-ore-spiral', display_name = 'Spiral (without void)', mod_pack = mod_packs.danger_ore_normal }, { name = 'danger-ore-split', display_name = 'Split (4x sectors)', mod_pack = mod_packs.danger_ore_normal }, diff --git a/map_gen/maps/danger_ores/presets/danger_ore_scrap_maze.lua b/map_gen/maps/danger_ores/presets/danger_ore_scrap_maze.lua new file mode 100644 index 000000000..b64624cf5 --- /dev/null +++ b/map_gen/maps/danger_ores/presets/danger_ore_scrap_maze.lua @@ -0,0 +1,47 @@ +local B = require 'map_gen.shared.builders' +local H = require 'map_gen.maps.danger_ores.modules.helper' +local DOC = require 'map_gen.maps.danger_ores.configuration' +local Config = require 'config' +local Scenario = require 'map_gen.maps.danger_ores.scenario' +local ScenarioInfo = require 'features.gui.info' + +ScenarioInfo.set_map_name('Danger Ores - Scrapworld Maze') +ScenarioInfo.add_map_extra_info([[ + This maze is covered in [entity=scrap]. + Mine it to make room for your factory, and explore the corridors to expand. +]]) + +Config.player_create.starting_items = { + { count = 2, name = 'burner-mining-drill' }, + { count = 5, name = 'iron-chest' }, + { count = 50, name = 'wood' }, + { count = 1, name = 'recycler' }, +} + +DOC.scenario_name = 'danger-ore-scrap-maze' +DOC.map_config.main_ores = require 'map_gen.maps.danger_ores.config.scrap' +DOC.map_config.main_ores_rotate = nil +DOC.map_config.no_resource_patch_shape = B.translate(B.rectangle(80), 2, 2) +DOC.map_config.spawn_shape = B.translate(B.rectangle(64), 2, 2) +DOC.map_config.spawn_tile = 'landfill' +DOC.map_config.start_ore_shape = B.translate(B.rectangle(68), 2, 2) +DOC.maze.enabled = true +DOC.terraforming.enabled = false +DOC.game.technology_price_multiplier = 5 +DOC.game.on_init = function() + game.forces.player.technologies['automation'].researched = true + game.forces.player.technologies['recycling'].researched = true +end +DOC.map_gen_settings.settings = H.empty_map_settings{ + -- fluid patches + 'crude-oil', + -- ore patches + 'coal', + 'copper-ore', + 'iron-ore', + 'scrap', + 'stone', + 'uranium-ore', +} + +return Scenario.register(DOC) diff --git a/scenario_templates/danger-ore-scrap-maze/map_selection.lua b/scenario_templates/danger-ore-scrap-maze/map_selection.lua new file mode 100644 index 000000000..f76e06aca --- /dev/null +++ b/scenario_templates/danger-ore-scrap-maze/map_selection.lua @@ -0,0 +1 @@ +return require 'map_gen.maps.danger_ores.presets.danger_ore_scrap_maze'