1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2024-12-30 23:17:53 +02:00
ComfyFactorio/maps/mixed_railworld.lua
2021-03-24 20:14:55 +01:00

74 lines
2.7 KiB
Lua

--luacheck: ignore
local event = require 'utils.event'
require 'modules.spawners_contain_acid'
require 'modules.spawners_contain_biters'
require 'modules.dangerous_goods'
require 'modules.satellite_score'
require 'modules.splice_double'
require 'modules.mineable_wreckage_yields_scrap'
local function init_surface()
if game.surfaces['mixed_railworld'] then
return game.surfaces['mixed_railworld']
end
local map_gen_settings = {}
map_gen_settings.water = '0.5'
map_gen_settings.starting_area = '2.5'
map_gen_settings.cliff_settings = {cliff_elevation_interval = 40, cliff_elevation_0 = 40}
map_gen_settings.autoplace_controls = {
['coal'] = {frequency = '8', size = '4', richness = '1'},
['stone'] = {frequency = '0.3', size = '2.0', richness = '0.5'},
['iron-ore'] = {frequency = '0.3', size = '2.0', richness = '0.5'},
['copper-ore'] = {frequency = '0.3', size = '2.0', richness = '0.5'},
['uranium-ore'] = {frequency = '0.5', size = '1', richness = '0.5'},
['crude-oil'] = {frequency = '0.5', size = '1', richness = '1'},
['trees'] = {frequency = '0.5', size = '0.75', richness = '1'},
['enemy-base'] = {frequency = '1', size = '1', richness = '1'}
}
local surface = game.create_surface('mixed_railworld', map_gen_settings)
surface.request_to_generate_chunks({x = 0, y = 0}, 1)
surface.force_generate_chunk_requests()
surface.daytime = 0.7
surface.ticks_per_day = surface.ticks_per_day * 2.5
surface.min_brightness = 0.1
game.forces['player'].set_spawn_position({0, 0}, game.surfaces['mixed_railworld'])
return surface
end
local function on_player_joined_game(event)
local surface = init_surface()
local player = game.players[event.player_index]
if player.online_time == 0 then
player.teleport(surface.find_non_colliding_position('character', {0, 0}, 2, 1), 'mixed_railworld')
player.insert({name = 'car', count = 1})
player.insert({name = 'small-lamp', count = 1})
end
end
local function on_chunk_generated(event)
for _, coal in pairs(event.surface.find_entities_filtered({area = event.area, name = {'coal'}})) do
local pos = coal.position
if math.random(1, 2) ~= 1 then
event.surface.create_entity({name = 'mineable-wreckage', position = coal.position, force = 'neutral'})
end
coal.destroy()
end
end
local function on_init()
game.difficulty_settings.technology_price_multiplier = 2
game.map_settings.enemy_expansion.enabled = false
end
event.on_init(on_init)
event.add(defines.events.on_chunk_generated, on_chunk_generated)
event.add(defines.events.on_player_joined_game, on_player_joined_game)
require 'modules.ores_are_mixed'