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:
parent
c9b64afafd
commit
cb695fd0fb
@ -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.
|
||||
|
39
map_gen/maps/danger_ores/config/bz_allowed_entities.lua
Normal file
39
map_gen/maps/danger_ores/config/bz_allowed_entities.lua
Normal 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'
|
||||
}
|
@ -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,
|
||||
|
@ -47,4 +47,6 @@ return {
|
||||
'ei_steam-advanced-locomotive',
|
||||
'ei_steam-advanced-wagon',
|
||||
'ei_steam-advanced-fluid-wagon',
|
||||
-- special
|
||||
'ei_alien-stabilizer',
|
||||
}
|
||||
|
@ -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 },
|
||||
|
@ -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 },
|
||||
|
@ -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 }),
|
||||
}
|
||||
|
@ -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 = {}
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
18
map_gen/maps/danger_ores/modules/tech_scaling.lua
Normal file
18
map_gen/maps/danger_ores/modules/tech_scaling.lua
Normal 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
|
@ -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'})
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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})
|
||||
|
@ -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})
|
||||
|
@ -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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user