1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2024-12-12 10:04:40 +02:00

Update modded DangerOres presets (#1388)

This commit is contained in:
RedRafe 2023-12-12 18:51:26 +01:00 committed by GitHub
parent c9b64afafd
commit cb695fd0fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 115 additions and 55 deletions

View File

@ -177,5 +177,5 @@ biters_disabled=Launching the first [item=satellite] has killed all the biters.
win=Congratulations! The map has been won. Restart the map with /restart
satellite_launch=Launch another __1__ [item=satellite] to win the map.
biters_disabled_k2=Launching the first [item=satellite] has killed all the biters. Build and activate the Intergalactic Transceiver to win the map.
biters_disabled_ei=Launching the first [item=satellite] has killed all the biters. Build and activate the Black Hole to win the map.
biters_disabled_ei=Launching the first [item=satellite] has killed all the biters. Launch more satellites to the asteroids to unloch the final age.
biters_disabled_py=Launching the first [item=satellite] has killed all the biters. Research [technology-name=pyrrhic] to win the game.

View File

@ -0,0 +1,39 @@
return {
-- belts
'transport-belt',
'fast-transport-belt',
'express-transport-belt',
-- undergrounds
'underground-belt',
'fast-underground-belt',
'express-underground-belt',
-- poles
'small-electric-pole',
'medium-electric-pole',
'big-electric-pole',
'substation',
-- pipes
'pipe',
'pipe-to-ground',
-- drills
'electric-mining-drill',
'electric-mining-drill-2',
'electric-mining-drill-3',
'burner-mining-drill',
'pumpjack',
'gas-extractor',
-- vehicles
'car',
'tank',
'spidertron',
-- rails
'straight-rail',
'curved-rail',
'rail-signal',
'rail-chain-signal',
'train-stop',
'locomotive',
'cargo-wagon',
'fluid-wagon',
'artillery-wagon'
}

View File

@ -1,5 +1,5 @@
local b = require 'map_gen.shared.builders'
local value = b.exponential_value(0, 0.07, 1.45)
local value = b.exponential_value(0, 0.07, 1.15)
local start_value = b.euclidean_value(0, 0.35)
local function total_weight(tbl)
@ -51,15 +51,15 @@ end
local estimated_consumption = {
--['crude-oil'] = 300,
--['gas'] = 3,
['aluminum-ore'] = 16,
['aluminum-ore'] = 26, -- 16
['coal'] = 80,
['copper-ore'] = 12,
['gold-ore'] = 1,
['graphite'] = 37,
['iron-ore'] = 47, -- 37 + 10
['lead-ore'] = 25,
['lead-ore'] = 15, -- 25
['rich-copper-ore'] = 20,
['salt'] = 35,
['salt'] = 15, -- 35
['stone'] = 48, -- 51 - 3
['tin-ore'] = 19,
['titanium-ore'] = 16,

View File

@ -47,4 +47,6 @@ return {
'ei_steam-advanced-locomotive',
'ei_steam-advanced-wagon',
'ei_steam-advanced-fluid-wagon',
-- special
'ei_alien-stabilizer',
}

View File

@ -90,7 +90,7 @@ return {
[4] = 'grass-4',
},
['start'] = start_value,
['weight'] = 20,
['weight'] = 10,
['ratios'] = {
{ resource = b.resource(b.full_shape, 'iron-ore', value), weight = 15 },
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 10 },

View File

@ -5,23 +5,12 @@ local before = function(radius) return b.circle(radius) end
local after = function(radius) return b.invert(b.circle(radius)) end
--[[
This config uses 'map_without_gaps' module to generate the ores.
Each sector has a prevalence of ore, some ores require fluid/special miners to mine it,
which won't be available until later (later) techs. To allow players to still expand and
buils without fluid-required-ores still being on the ground. the spawn of said ores has
been moved out of the way after their corrispective radius.
To still fill the gaps (default ore builder would simply leave gaps, empty tiles, if the
coordinates of drawn ore's shape didn't return any resource amount), a custom ore builder
is used in 'map_without_gaps', which pre-evaluates the yield of the drawn ore, and if nil
(zero) it draws again the previous ore among the ores listed in the 'ratios' field. The
ore which precedes the special ore which will not spawn until target radius will be the
choosen one (until better implementation comes around). Thefallback ore is usually the
main ore of that sector, or one of the designer's choice.
This config uses 'ore_builder_without_gaps' module to generate the ores.
]]
local R_borax = 32 * 6
local R_molyb = 32 * 8
local R_niobium = 32 * 8
local R_borax = 32 * 7
local R_molyb = 32 * 11
local R_niobium = 32 * 9
return {
{
@ -30,13 +19,12 @@ return {
[1] = 'landfill'
},
['start'] = start_value,
['weight'] = 20,
['weight'] = 15,
['ratios'] = {
{ resource = b.resource(b.full_shape, 'iron-ore', value), weight = 15 },
{ resource = b.resource(b.full_shape, 'stone', value), weight = 10 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 5 },
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 70 },
{ resource = b.resource(after(R_molyb), 'molybdenum-ore', value), weight = 1 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 15 },
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 60 },
}
},
{
@ -45,13 +33,12 @@ return {
[1] = 'landfill'
},
['start'] = start_value,
['weight'] = 20,
['weight'] = 25,
['ratios'] = {
{ resource = b.resource(b.full_shape, 'iron-ore', value), weight = 18 },
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 9 },
{ resource = b.resource(b.full_shape, 'stone', value), weight = 8 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 65 },
{ resource = b.resource(after(R_molyb), 'molybdenum-ore', value), weight = 1 },
}
},
{
@ -60,13 +47,12 @@ return {
[1] = 'landfill'
},
['start'] = start_value,
['weight'] = 20,
['weight'] = 25,
['ratios'] = {
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 13 },
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 8 },
{ resource = b.resource(b.full_shape, 'stone', value), weight = 7 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 5 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 10 },
{ resource = b.resource(b.full_shape, 'iron-ore', value), weight = 75 },
{ resource = b.resource(after(R_molyb), 'molybdenum-ore', value), weight = 1 },
}
},
{
@ -79,9 +65,8 @@ return {
['ratios'] = {
{ resource = b.resource(b.full_shape, 'iron-ore', value), weight = 25 },
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 10 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 5 },
{ resource = b.resource(b.full_shape, 'stone', value), weight = 60 },
{ resource = b.resource(after(R_molyb), 'molybdenum-ore', value), weight = 1 },
{ resource = b.resource(b.full_shape, 'coal', value), weight = 15 },
{ resource = b.resource(b.full_shape, 'stone', value), weight = 50 },
}
},
{
@ -90,7 +75,7 @@ return {
[1] = 'landfill',
},
['start'] = start_value,
['weight'] = 4,
['weight'] = 2,
['ratios'] = {
{ resource = b.resource(b.full_shape, 'copper-ore', value), weight = 15 },
{ resource = b.resource(b.full_shape, 'stone', value), weight = 10 },
@ -105,7 +90,7 @@ return {
[1] = 'landfill',
},
['start'] = start_value,
['weight'] = 6,
['weight'] = 1,
['ratios'] = {
{ resource = b.resource(before(R_borax), 'coal', value), weight = 5 },
{ resource = b.resource(before(R_borax), 'stone', value), weight = 10 },

View File

@ -19,5 +19,5 @@ return {
generate_patch('crude-oil', { scale = 1/32, base = 100000, mult = 2500, t = 0.60, shape = full_oil_shape }),
generate_patch('volcanic-pipe', { scale = 1/32, base = 25000, mult = 750, t = 0.60, shape = full_patch_shape }),
generate_patch('regolites', { scale = 1/32, base = 25000, mult = 750, t = 0.60, shape = full_patch_shape }),
generate_patch('uranium-ore', { scale = 1/96, base = 100, mult = 1.5, t = 0.66, shape = b.full_shape }),
generate_patch('uranium-ore', { scale = 1/96, base = 500, mult = 1.5, t = 0.66, shape = b.full_shape }),
}

View File

@ -3,11 +3,12 @@ local Task = require 'utils.task'
local Token = require 'utils.token'
local weights = {
['ei_energy-crystal'] = 10,
['ei_gold-chunk'] = 10,
['ei_alien-resin'] = 150,
['ei_alien-seed'] = 4,
['ei_alien-beacon'] = 1,
['ei_energy-crystal'] = 10,
['ei_gold-chunk'] = 10,
['ei_alien-resin'] = 150,
['ei_alien-seed'] = 4,
['ei_alien-beacon'] = 1,
['ei_alien-stabilizer'] = 10,
}
local weighted_table = {}

View File

@ -21,7 +21,7 @@ local krastorio_mod_pack = 'krastorio_mod_pack'
local omnimatter_mod_pack = 'omnimatter_mod_pack'
local bz_mod_pack = 'bz_mod_pack'
local ei_mod_pack = 'ei_mod_pack'
local py_short_mod_pack = 'py_short_mod_pack'
-- local py_short_mod_pack = 'py_short_mod_pack'
local ir3_mod_pack = 'ir3_mod_pack'
local mod_packs = {
@ -166,11 +166,13 @@ local maps = {
mod_pack = ei_mod_pack,
display_name = 'Exotic Industries spiral (without void)'
},
--[[ N/A until rework on data stages is finished
{
name = 'danger-ore-pyfe',
mod_pack = py_short_mod_pack,
display_name = 'Pyanodon Short (landfill)'
},
]]
{
name = 'danger-ore-industrial-revolution-3',
mod_pack = ir3_mod_pack,

View File

@ -21,7 +21,7 @@ return function()
local message = table.concat {
'Launching the first satellite has killed all the biters. ',
'Build and activate the Black Hole to win the map.'
'Launch more satellites to the asteroids to unloch the final age'
}
game.print({'danger_ores.biters_disabled_ei'})
Server.to_discord_bold(message)

View File

@ -0,0 +1,18 @@
local Event = require 'utils.event'
local ShareGlobals = require 'map_gen.maps.danger_ores.modules.shared_globals'
return function(config)
ShareGlobals.data.tech_scaling = config.effects or {}
local function on_research_finished(event)
if not ShareGlobals.data.technology_price_multiplier then
ShareGlobals.data.technology_price_multiplier = game.difficulty_settings.technology_price_multiplier
end
if event.research and ShareGlobals.data.tech_scaling[event.research.name] ~= nil then
game.difficulty_settings.technology_price_multiplier = ShareGlobals.data.technology_price_multiplier * ShareGlobals.data.tech_scaling[event.research.name]
end
end
Event.add(defines.events.on_research_finished, on_research_finished)
end

View File

@ -42,7 +42,7 @@ local enemy = require 'map_gen.maps.danger_ores.modules.enemy'
local spawn_tile = script.active_mods['alien-biomes'] and 'volcanic-green-heat-2' or 'grass-1'
local banned_entities = require 'map_gen.maps.danger_ores.modules.banned_entities'
local allowed_entities = require 'map_gen.maps.danger_ores.config.vanilla_allowed_entities'
local allowed_entities = require 'map_gen.maps.danger_ores.config.bz_allowed_entities'
banned_entities(allowed_entities)
local ores_names = {
@ -112,7 +112,7 @@ Event.on_init(function()
game.forces.player.manual_mining_speed_modifier = 1
game.difficulty_settings.technology_price_multiplier = game.difficulty_settings.technology_price_multiplier * 5
-- game.difficulty_settings.technology_price_multiplier = game.difficulty_settings.technology_price_multiplier * 5
game.map_settings.enemy_evolution.time_factor = 0.000007 -- default 0.000004
game.map_settings.enemy_evolution.destroy_factor = 0.000010 -- default 0.002
@ -126,7 +126,7 @@ local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming'
terraforming({start_size = 10 * 32, min_pollution = 400, max_pollution = 16000, pollution_increment = 4})
local rocket_launched = require 'map_gen.maps.danger_ores.modules.rocket_launched_simple'
rocket_launched({win_satellite_count = 1000})
rocket_launched({win_satellite_count = 100})
local restart_command = require 'map_gen.maps.danger_ores.modules.restart_command'
restart_command({scenario_name = 'danger-ore-bz'})

View File

@ -126,6 +126,9 @@ Event.on_init(function()
game.map_settings.enemy_evolution.destroy_factor = 0.000010 -- default 0.002
game.map_settings.enemy_evolution.pollution_factor = 0.000000 -- Pollution has no affect on evolution default 0.0000009
game.map_settings.pollution.diffusion_ratio = 0.01
game.map_settings.pollution.min_to_diffuse = 400
RS.get_surface().always_day = false
RS.get_surface().peaceful_mode = true
end)

View File

@ -126,6 +126,9 @@ Event.on_init(function()
game.map_settings.enemy_evolution.destroy_factor = 0.000010 -- default 0.002
game.map_settings.enemy_evolution.pollution_factor = 0.000000 -- Pollution has no affect on evolution default 0.0000009
game.map_settings.pollution.diffusion_ratio = 0.01
game.map_settings.pollution.min_to_diffuse = 400
RS.get_surface().always_day = false
RS.get_surface().peaceful_mode = true
end)

View File

@ -97,8 +97,6 @@ Event.on_init(function()
p.manual_mining_speed_modifier = 1
game.difficulty_settings.technology_price_multiplier = game.difficulty_settings.technology_price_multiplier * 10
game.map_settings.enemy_evolution.time_factor = 0.000007 -- default 0.000004
game.map_settings.enemy_evolution.destroy_factor = 0.000010 -- default 0.002
game.map_settings.enemy_evolution.pollution_factor = 0.000000 -- Pollution has no affect on evolution default 0.0000009
@ -108,7 +106,7 @@ Event.on_init(function()
end)
local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming'
terraforming({start_size = 8 * 32, min_pollution = 600, max_pollution = 20000, pollution_increment = 5})
terraforming({start_size = 8 * 32, min_pollution = 600, max_pollution = 20000, pollution_increment = 10})
local rocket_launched = require 'map_gen.maps.danger_ores.modules.rocket_launched_simple'
rocket_launched({win_satellite_count = 100})

View File

@ -106,8 +106,6 @@ Event.on_init(function()
p.manual_mining_speed_modifier = 1
game.difficulty_settings.technology_price_multiplier = game.difficulty_settings.technology_price_multiplier * 10
game.map_settings.enemy_evolution.time_factor = 0.000007 -- default 0.000004
game.map_settings.enemy_evolution.destroy_factor = 0.000010 -- default 0.002
game.map_settings.enemy_evolution.pollution_factor = 0.000000 -- Pollution has no affect on evolution default 0.0000009
@ -117,7 +115,7 @@ Event.on_init(function()
end)
local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming'
terraforming({start_size = 8 * 32, min_pollution = 600, max_pollution = 20000, pollution_increment = 5})
terraforming({start_size = 8 * 32, min_pollution = 600, max_pollution = 20000, pollution_increment = 10})
local rocket_launched = require 'map_gen.maps.danger_ores.modules.rocket_launched_simple'
rocket_launched({win_satellite_count = 100})

View File

@ -108,6 +108,9 @@ Event.on_init(function()
game.forces.player.manual_mining_speed_modifier = 1
game.map_settings.pollution.diffusion_ratio = 0.01
game.map_settings.pollution.min_to_diffuse = 300
game.map_settings.enemy_evolution.time_factor = 0.000007 -- default 0.000004
game.map_settings.enemy_evolution.destroy_factor = 0.000010 -- default 0.002
game.map_settings.enemy_evolution.pollution_factor = 0.000000 -- Pollution has no affect on evolution default 0.0000009
@ -117,7 +120,7 @@ Event.on_init(function()
end)
local terraforming = require 'map_gen.maps.danger_ores.modules.terraforming'
terraforming({start_size = 12 * 32, min_pollution = 300, max_pollution = 16000, pollution_increment = 3})
terraforming({start_size = 12 * 32, min_pollution = 300, max_pollution = 16000, pollution_increment = 2})
local rocket_launched = require 'map_gen.maps.danger_ores.modules.rocket_launched_pyanodon'
rocket_launched()
@ -128,11 +131,19 @@ restart_command({scenario_name = 'danger-ore-pyfe'})
local container_dump = require 'map_gen.maps.danger_ores.modules.container_dump'
container_dump({entity_name = 'coal'})
local tech_scaling = require 'map_gen.maps.danger_ores.modules.tech_scaling'
tech_scaling({ effects = {
['automation-science-pack'] = 1.00,
['logistic-science-pack'] = 0.75,
['chemical-science-pack'] = 0.50,
['production-science-pack'] = 0.25,
['utility-sciemce-pack'] = 0.20,
['space-science-pack'] = 0.10,
}})
-- local concrete_on_landfill = require 'map_gen.maps.danger_ores.modules.concrete_on_landfill'
-- concrete_on_landfill({tile = 'blue-refined-concrete'})
require 'map_gen.maps.danger_ores.modules.biter_drops'
require 'map_gen.maps.danger_ores.modules.map_poll'
local config = {