1
0
mirror of https://github.com/Refactorio/RedMew.git synced 2025-03-03 14:53:01 +02:00
This commit is contained in:
grilledham 2018-07-23 21:50:11 +01:00
parent 8e6a7f7e47
commit 0e72b78ee6
13 changed files with 1255 additions and 110 deletions

View File

@ -19,7 +19,9 @@ local outpost_builder = OutpostBuilder.new(outpost_seed)
local walls = require 'map_gen.presets.crash_site.outpost_data.walls'
local thin_walls = require 'map_gen.presets.crash_site.outpost_data.thin_walls'
local light_gun_turrets = require 'map_gen.presets.crash_site.outpost_data.light_gun_turrets'
local medium_gun_turrets = require 'map_gen.presets.crash_site.outpost_data.medium_gun_turrets'
local heavy_gun_turrets = require 'map_gen.presets.crash_site.outpost_data.heavy_gun_turrets'
local light_flame_turrets = require 'map_gen.presets.crash_site.outpost_data.light_flame_turrets'
local laser_turrets = require 'map_gen.presets.crash_site.outpost_data.light_laser_turrets'
local small_worm_turrets = require 'map_gen.presets.crash_site.outpost_data.small_worm_turrets'
@ -52,8 +54,11 @@ local base_templates = {
}
local templates = {
{medium_gun_turrets, light_flame_turrets, laser_turrets, small_worm_turrets},
{gear_factory[1]}
{medium_gun_turrets_player},
{gear_factory[1]},
{gear_factory[2]},
{gear_factory[3]}
--{gear_factory[2]}
--{base_templates.test[1]}
}
@ -77,12 +82,13 @@ local outpost =
{
size = 2,
laser_turrets_player[1][1],
iron_plate_factory[1]
gear_factory[1],
gear_factory[2]
}
)
local map = b.change_tile(outposts, true, 'grass-1')
--return b.full_shape
--return map
return outpost
return map
--return outpost

View File

@ -130,7 +130,7 @@ function extract1(size)
entry.tile = e
end
output(result, 'return')
output(result, 'ob.make_1_way')
end
function extract4(size)
@ -179,8 +179,8 @@ function extract4(size)
entry.entity = e
end
for _, e in ipairs(ts) do
local p = e.position
for _, t in ipairs(ts) do
local p = t.position
local x, y = p.x + min_x, p.y + min_y
x, y = math.ceil(x), math.ceil(y)
local i = (y - 1) * size + x
@ -191,7 +191,7 @@ function extract4(size)
result[i] = entry
end
entry.tile = e
entry.tile = t
end
output(result, 'ob.make_4_way')
end

View File

@ -86,6 +86,17 @@ local function get_block(tbl, x, y)
return tbl[(y - 1) * size + x] or 0
end
local function fast_remove(tbl, index)
local count = #tbl
if index > count then
return
elseif index < count then
tbl[index] = tbl[count]
end
tbl[count] = nil
end
local Public = {}
Public.__index = Public
@ -529,6 +540,38 @@ local function do_levels(blocks, max_level)
end
end
local function get_template(random, templates, templates_count, counts)
local template
if templates_count == 0 then
return nil
elseif templates_count == 1 then
template = templates[1]
else
local ti = random:next_int(1, templates_count)
template = templates[ti]
end
if template == Public.empty_template then
return nil
end
local count = counts[template] or 0
local max_count = template.max_count
while count == max_count do
template = template.fallback
if template == nil then
return nil
end
count = counts[template] or 0
max_count = template.max_count
end
counts[template] = count + 1
return template
end
local function make_blocks(self, blocks, templates)
local random = self.random
@ -554,6 +597,8 @@ local function make_blocks(self, blocks, templates)
end
end
local counts = {}
for l = 2, #levels do
local level = levels[l]
local base_templates = templates[l]
@ -561,22 +606,14 @@ local function make_blocks(self, blocks, templates)
if base_templates then
local base_template_count = #base_templates
for _, i in ipairs(level) do
local template
if base_template_count == 0 then
template = nil
elseif base_template_count == 1 then
template = base_templates[1]
else
local ti = random:next_int(1, base_template_count)
template = base_templates[ti]
end
while #level > 0 do
local index = random:next_int(1, #level)
local i = level[index]
if template == Public.empty_template then
blocks[i] = nil
else
blocks[i] = template
end
fast_remove(level, index)
local template = get_template(random, base_templates, base_template_count, counts)
blocks[i] = template
end
else
for _, i in ipairs(level) do
@ -586,12 +623,14 @@ local function make_blocks(self, blocks, templates)
end
end
local remove_entity_types = {'tree', 'simple-entity'}
local function to_shape(blocks)
local size = blocks.size
local t_size = size * part_size
local half_t_size = t_size * 0.5
return function(x, y)
return function(x, y, world)
x, y = math.floor(x + half_t_size), math.floor(y + half_t_size)
if x < 0 or y < 0 or x >= t_size or y >= t_size then
return true
@ -604,6 +643,18 @@ local function to_shape(blocks)
return true
end
local wx, wy = world.x, world.y
for _, e in ipairs(
world.surface.find_entities_filtered(
{
area = {{wx, wy}, {wx + 1, wy + 1}},
type = remove_entity_types
}
)
) do
e.destroy()
end
local x3, y3 = x - x2 * part_size, y - y2 * part_size
local i = y3 * part_size + x3 + 1
@ -632,7 +683,8 @@ local function to_shape(blocks)
direction = entity.direction,
force = template.force,
callback = callback,
data = data
data = data,
always_place = true
}
}
}
@ -656,22 +708,13 @@ function Public.to_shape(blocks)
return to_shape(blocks)
end
local function change_direction(entry, new_dir)
local e = entry.entity
if not e then
return entry
end
local function change_direction(entity, new_dir)
local copy = {}
copy.tile = entry.tile
local ce = {}
copy.entity = ce
for k, v in pairs(e) do
ce[k] = v
for k, v in pairs(entity) do
copy[k] = v
end
ce.direction = new_dir
copy.direction = new_dir
return copy
end
@ -681,6 +724,25 @@ function Public.make_1_way(data)
return data
end
local function set_tile(tbl, index, tile)
local entry = tbl[index]
if entry then
entry.tile = tile
else
tbl[index] = {tile = tile}
end
end
local function set_entity(tbl, index, entity)
local entry = tbl[index]
if entry then
entry.entity = entity
else
tbl[index] = {entity = entity}
end
end
function Public.make_4_way(data)
local props = {}
@ -697,9 +759,6 @@ function Public.make_4_way(data)
local y = math.ceil(i * inv_part_size)
local x = i - (y - 1) * part_size
local e = entry.entity or {}
local offset = e.offset
local x2 = part_size - y + 1
local y2 = x
local x3 = part_size - x + 1
@ -711,24 +770,41 @@ function Public.make_4_way(data)
local i3 = (y3 - 1) * part_size + x3
local i4 = (y4 - 1) * part_size + x4
if offset == 3 then
i = i + 7
i2 = i2 + 6
i4 = i4 + 1
elseif offset == 1 then
i = i + 1
i4 = i4 + 1
elseif offset == 2 then
i = i + 6
i2 = i2 + 6
local tile = entry.tile
if tile then
set_tile(north, i, tile)
set_tile(east, i2, tile)
set_tile(south, i3, tile)
set_tile(west, i4, tile)
end
local dir = e.direction or 0
local entity = entry.entity
north[i] = entry
east[i2] = change_direction(entry, (dir + 2) % 8)
south[i3] = change_direction(entry, (dir + 4) % 8)
west[i4] = change_direction(entry, (dir + 6) % 8)
if entity then
local offset = entity.offset
if offset == 3 then
i = i + 7
i2 = i2 + 6
i4 = i4 + 1
elseif offset == 1 then
i = i + 1
i4 = i4 + 1
elseif offset == 2 then
i = i + 6
i2 = i2 + 6
else
i = i
i2 = i2
end
local dir = entity.direction or 0
set_entity(north, i, entity)
set_entity(east, i2, change_direction(entity, (dir + 2) % 8))
set_entity(south, i3, change_direction(entity, (dir + 4) % 8))
set_entity(west, i4, change_direction(entity, (dir + 6) % 8))
end
end
end
@ -776,17 +852,6 @@ function Public.extend_walls(data, tbl)
}
end
local function fast_remove(tbl, index)
local count = #tbl
if index > count then
return
elseif index < count then
tbl[index] = tbl[count]
end
tbl[count] = nil
end
local function do_refill_turrets()
local index = refill_turrets.index
@ -927,7 +992,8 @@ Public.magic_item_crafting_callback =
end
local p = entity.position
local distance = math.sqrt(p.x * p.x + p.y * p.y)
local x, y = p.x, p.y
local distance = math.sqrt(x * x + y * y)
local output = data.output
if #output == 0 then
@ -958,6 +1024,10 @@ local function remove_power_source(event)
end
local number = entity.unit_number
if not number then
return
end
local ps = power_sources[number]
power_sources[number] = nil
@ -966,6 +1036,32 @@ local function remove_power_source(event)
end
end
Public.market_set_items_callback =
Token.register(
function(entity, data)
if not entity.valid then
return
end
entity.destructible = false
local p = entity.position
local x, y = p.x, p.y
local d = math.sqrt(x * x + y * y)
for _, item in ipairs(data) do
local price = item.price
local df = item.distance_factor or 0
local min_price = item.min_price or 1
local count = price - d * df
count = math.max(count, min_price)
entity.add_market_item({price = {{item.name, count}}, offer = item.offer})
end
end
)
Public.firearm_magazine_ammo = {name = 'firearm-magazine', count = 200}
Public.piercing_rounds_magazine_ammo = {name = 'piercing-rounds-magazine', count = 200}
Public.uranium_rounds_magazine_ammo = {name = 'uranium-rounds-magazine', count = 200}
@ -973,6 +1069,55 @@ Public.light_oil_ammo = {name = 'light-oil', amount = 100}
Public.laser_turrent_power_source = {buffer_size = 2400000, power_production = 40000}
function Public.prepare_weighted_loot(loot)
local total = 0
local weights = {}
for _, v in ipairs(loot) do
total = total + v.weight
table.insert(weights, total)
end
weights.total = total
return weights
end
function Public.do_random_loot(entity, weights, loot)
if not entity.valid then
return
end
entity.operable = false
entity.destructible = false
local i = math.random() * weights.total
local index = table.binary_search(weights, i)
if (index < 0) then
index = bit32.bnot(index)
end
local stack = loot[index].stack
if not stack then
return
end
local df = stack.distance_factor
local count
if df then
local p = entity.position
local x, y = p.x, p.y
local d = math.sqrt(x * x + y * y)
count = stack.count + d * df
else
count = stack.count
end
entity.insert {name = stack.name, count = count}
end
Event.add(defines.events.on_tick, tick)
Event.add(defines.events.on_entity_died, remove_power_source)

View File

@ -1,15 +1,113 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
local Token = require 'utils.global_token'
local loot = {
{weight = 10},
{stack = {name = 'coin', count = 500, distance_factor = 1 / 2}, weight = 5},
{stack = {name = 'iron-plate', count = 500, distance_factor = 1 / 2}, weight = 5},
{stack = {name = 'steel-plate', count = 100, distance_factor = 1 / 5}, weight = 1},
{stack = {name = 'iron-gear-wheel', count = 1000, distance_factor = 1}, weight = 5}
}
local weights = ob.prepare_weighted_loot(loot)
local loot_callback =
Token.register(
function(chest)
ob.do_random_loot(chest, weights, loot)
end
)
level2 =
ob.make_1_way {
force = 'neutral',
loot = {callback = loot_callback},
[1] = {tile = 'stone-path'},
[2] = {tile = 'stone-path'},
[3] = {tile = 'stone-path'},
[4] = {tile = 'stone-path'},
[5] = {tile = 'stone-path'},
[6] = {tile = 'stone-path'},
[7] = {tile = 'stone-path'},
[8] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[9] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[10] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[11] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[12] = {tile = 'stone-path'},
[13] = {tile = 'stone-path'},
[14] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[15] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[16] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[17] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[18] = {tile = 'stone-path'},
[19] = {tile = 'stone-path'},
[20] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[21] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[22] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[23] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[24] = {tile = 'stone-path'},
[25] = {tile = 'stone-path'},
[26] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[27] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[28] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[29] = {entity = {name = 'iron-chest', callback = 'loot'}, tile = 'concrete'},
[30] = {tile = 'stone-path'},
[31] = {tile = 'stone-path'},
[32] = {tile = 'stone-path'},
[33] = {tile = 'stone-path'},
[34] = {tile = 'stone-path'},
[35] = {tile = 'stone-path'},
[36] = {tile = 'stone-path'}
}
local level3 =
ob.make_1_way {
force = 'neutral',
factory = {
callback = ob.magic_item_crafting_callback,
data = {
recipe = 'iron-gear-wheel',
output = {min_rate = 1 / 60, distance_factor = 1 / 60 / 100, item = 'iron-gear-wheel'}
}
},
max_count = 4,
fallback = level2,
[15] = {entity = {name = 'assembling-machine-2', callback = 'factory'}}
}
return {
level2,
level3,
ob.make_1_way {
force = 'neutral',
factory = {
callback = ob.magic_item_crafting_callback,
market = {
callback = ob.market_set_items_callback,
data = {
recipe = 'iron-gear-wheel',
output = {min_rate = 1 / 60, distance_factor = 1 / 60 / 100, item = 'iron-gear-wheel'}
{
offer = {type = 'give-item', item = 'iron-gear-wheel', count = 100},
name = 'coin',
price = 100,
distance_factor = 1 / 32,
min_price = 10
},
{
offer = {type = 'give-item', item = 'iron-plate', count = 100},
name = 'coin',
price = 80,
distance_factor = 1 / 32,
min_price = 8
},
{
offer = {type = 'give-item', item = 'steel-plate', count = 100},
name = 'coin',
price = 400,
distance_factor = 1 / 32,
min_price = 40
}
}
},
[15] = {entity = {name = 'assembling-machine-2', callback = 'factory'}}
max_count = 1,
fallback = level2,
[15] = {entity = {name = 'market', callback = 'market'}}
}
}

View File

@ -0,0 +1,124 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[8] = {tile = 'refined-hazard-concrete-left'},
[9] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[10] = {tile = 'refined-hazard-concrete-left'},
[11] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[12] = {tile = 'refined-hazard-concrete-left'},
[13] = {tile = 'refined-hazard-concrete-left'},
[14] = {tile = 'refined-hazard-concrete-left'},
[15] = {tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {tile = 'refined-hazard-concrete-left'},
[20] = {tile = 'refined-hazard-concrete-left'},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[26] = {tile = 'refined-hazard-concrete-left'},
[27] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {tile = 'refined-hazard-concrete-left'},
[32] = {tile = 'refined-hazard-concrete-left'},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'refined-hazard-concrete-left'},
[10] = {tile = 'refined-hazard-concrete-left'},
[11] = {tile = 'refined-hazard-concrete-left'},
[12] = {tile = 'refined-hazard-concrete-left'},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {tile = 'refined-hazard-concrete-left'},
[27] = {
entity = {name = 'flamethrower-turret', direction = 6, offset = 2},
tile = 'refined-hazard-concrete-left'
},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {tile = 'refined-hazard-concrete-left'},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'refined-hazard-concrete-left'},
[4] = {tile = 'refined-hazard-concrete-left'},
[5] = {tile = 'refined-hazard-concrete-left'},
[6] = {tile = 'refined-hazard-concrete-left'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[9] = {tile = 'refined-hazard-concrete-left'},
[10] = {tile = 'refined-hazard-concrete-left'},
[11] = {
entity = {name = 'flamethrower-turret', direction = 6, offset = 2},
tile = 'refined-hazard-concrete-left'
},
[12] = {tile = 'refined-hazard-concrete-left'},
[13] = {tile = 'refined-hazard-concrete-left'},
[14] = {tile = 'refined-hazard-concrete-left'},
[15] = {tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {tile = 'refined-hazard-concrete-left'},
[20] = {tile = 'refined-hazard-concrete-left'},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[26] = {tile = 'refined-hazard-concrete-left'},
[27] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {tile = 'refined-hazard-concrete-left'},
[32] = {tile = 'refined-hazard-concrete-left'},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
}
}

View File

@ -0,0 +1,118 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[14] = {tile = 'refined-hazard-concrete-left'},
[15] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {tile = 'refined-hazard-concrete-left'},
[20] = {tile = 'refined-hazard-concrete-left'},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[26] = {tile = 'refined-hazard-concrete-left'},
[27] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {tile = 'refined-hazard-concrete-left'},
[32] = {tile = 'refined-hazard-concrete-left'},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[4] = {tile = 'refined-hazard-concrete-left'},
[5] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[6] = {tile = 'refined-hazard-concrete-left'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'refined-hazard-concrete-left'},
[10] = {tile = 'refined-hazard-concrete-left'},
[11] = {tile = 'refined-hazard-concrete-left'},
[12] = {tile = 'refined-hazard-concrete-left'},
[13] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[14] = {tile = 'refined-hazard-concrete-left'},
[15] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {tile = 'refined-hazard-concrete-left'},
[20] = {tile = 'refined-hazard-concrete-left'},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[26] = {tile = 'refined-hazard-concrete-left'},
[27] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'gun-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {tile = 'refined-hazard-concrete-left'},
[32] = {tile = 'refined-hazard-concrete-left'},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
}
}

View File

@ -0,0 +1,118 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'concrete'},
[4] = {tile = 'hazard-concrete-left'},
[5] = {tile = 'concrete'},
[6] = {tile = 'hazard-concrete-left'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'hazard-concrete-left'},
[10] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[11] = {tile = 'hazard-concrete-left'},
[12] = {tile = 'concrete'},
[13] = {tile = 'concrete'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'concrete'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'concrete'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {tile = 'hazard-concrete-left'},
[20] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[21] = {tile = 'hazard-concrete-left'},
[22] = {tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'hazard-concrete-left'},
[27] = {tile = 'concrete'},
[28] = {tile = 'hazard-concrete-left'},
[29] = {tile = 'concrete'},
[30] = {entity = {name = 'medium-electric-pole'}, tile = 'hazard-concrete-left'},
[31] = {tile = 'hazard-concrete-left'},
[32] = {tile = 'concrete'},
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'concrete'},
[35] = {entity = {name = 'medium-electric-pole'}, tile = 'hazard-concrete-left'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'substation', offset = 3}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[4] = {tile = 'refined-hazard-concrete-left'},
[5] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[6] = {tile = 'refined-hazard-concrete-left'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'refined-hazard-concrete-left'},
[10] = {tile = 'refined-hazard-concrete-left'},
[11] = {tile = 'refined-hazard-concrete-left'},
[12] = {tile = 'refined-hazard-concrete-left'},
[13] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[14] = {tile = 'refined-hazard-concrete-left'},
[15] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[16] = {tile = 'refined-hazard-concrete-left'},
[17] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[18] = {tile = 'refined-hazard-concrete-left'},
[19] = {tile = 'refined-hazard-concrete-left'},
[20] = {tile = 'refined-hazard-concrete-left'},
[21] = {tile = 'refined-hazard-concrete-left'},
[22] = {tile = 'refined-hazard-concrete-left'},
[23] = {tile = 'refined-hazard-concrete-left'},
[24] = {tile = 'refined-hazard-concrete-left'},
[25] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[26] = {tile = 'refined-hazard-concrete-left'},
[27] = {entity = {name = 'laser-turret', offset = 3}, tile = 'refined-hazard-concrete-left'},
[28] = {tile = 'refined-hazard-concrete-left'},
[29] = {entity = {name = 'substation', offset = 3}, tile = 'refined-hazard-concrete-left'},
[30] = {tile = 'refined-hazard-concrete-left'},
[31] = {tile = 'refined-hazard-concrete-left'},
[32] = {tile = 'refined-hazard-concrete-left'},
[33] = {tile = 'refined-hazard-concrete-left'},
[34] = {tile = 'refined-hazard-concrete-left'},
[35] = {tile = 'refined-hazard-concrete-left'},
[36] = {tile = 'refined-hazard-concrete-left'}
}
}

View File

@ -2,7 +2,6 @@ local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
turret = {callback = ob.refill_liquid_turret_callback, data = ob.light_oil_ammo},
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
@ -15,13 +14,30 @@ return {
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[27] = {
entity = {
name = 'flamethrower-turret',
offset = 1,
callback = 'turret'
}
}
[13] = {tile = 'hazard-concrete-left'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'hazard-concrete-left'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {tile = 'concrete'},
[20] = {tile = 'concrete'},
[21] = {tile = 'concrete'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {tile = 'concrete'},
[32] = {tile = 'concrete'},
[33] = {tile = 'concrete'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
@ -38,19 +54,65 @@ return {
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'hazard-concrete-left'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[23] = {entity = {name = 'flamethrower-turret', direction = 6, offset = 2}},
[21] = {tile = 'hazard-concrete-left'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {tile = 'hazard-concrete-left'},
[28] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}}
[32] = {entity = {name = 'stone-wall'}},
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'hazard-concrete-left'},
[4] = {tile = 'concrete'},
[5] = {tile = 'concrete'},
[6] = {tile = 'concrete'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[23] = {entity = {name = 'flamethrower-turret', direction = 6, offset = 2}}
[9] = {tile = 'hazard-concrete-left'},
[10] = {tile = 'concrete'},
[11] = {tile = 'concrete'},
[12] = {tile = 'concrete'},
[13] = {tile = 'hazard-concrete-left'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'concrete'},
[17] = {tile = 'concrete'},
[18] = {tile = 'concrete'},
[19] = {tile = 'concrete'},
[20] = {tile = 'concrete'},
[21] = {tile = 'concrete'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {tile = 'concrete'},
[32] = {tile = 'concrete'},
[33] = {tile = 'concrete'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'concrete'}
}
}

View File

@ -0,0 +1,118 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {tile = 'stone-path'},
[14] = {tile = 'stone-path'},
[15] = {tile = 'stone-path'},
[16] = {tile = 'stone-path'},
[17] = {tile = 'stone-path'},
[18] = {tile = 'stone-path'},
[19] = {tile = 'concrete'},
[20] = {tile = 'concrete'},
[21] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {tile = 'stone-path'},
[32] = {tile = 'stone-path'},
[33] = {tile = 'stone-path'},
[34] = {tile = 'stone-path'},
[35] = {tile = 'stone-path'},
[36] = {tile = 'stone-path'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {tile = 'stone-path'},
[16] = {tile = 'stone-path'},
[17] = {tile = 'stone-path'},
[18] = {tile = 'stone-path'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[21] = {tile = 'stone-path'},
[22] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {tile = 'stone-path'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}},
[33] = {tile = 'stone-path'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'stone-path'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'stone-path'},
[4] = {tile = 'concrete'},
[5] = {tile = 'concrete'},
[6] = {tile = 'stone-path'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'stone-path'},
[10] = {tile = 'concrete'},
[11] = {tile = 'concrete'},
[12] = {tile = 'stone-path'},
[13] = {tile = 'stone-path'},
[14] = {tile = 'stone-path'},
[15] = {tile = 'stone-path'},
[16] = {tile = 'concrete'},
[17] = {tile = 'concrete'},
[18] = {tile = 'stone-path'},
[19] = {tile = 'concrete'},
[20] = {tile = 'concrete'},
[21] = {tile = 'concrete'},
[22] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'stone-path'},
[25] = {tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'stone-path'},
[31] = {tile = 'stone-path'},
[32] = {tile = 'stone-path'},
[33] = {tile = 'stone-path'},
[34] = {tile = 'stone-path'},
[35] = {tile = 'stone-path'},
[36] = {tile = 'stone-path'}
}
}

View File

@ -2,7 +2,6 @@ local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
turret = {callback = ob.power_source_callback, data = ob.laser_turrent_power_source},
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
@ -15,14 +14,30 @@ return {
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[21] = {
entity = {
name = 'laser-turret',
offset = 3,
callback = 'turret'
}
},
[33] = {entity = {name = 'medium-electric-pole'}}
[13] = {tile = 'hazard-concrete-left'},
[14] = {tile = 'concrete'},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'concrete'},
[17] = {tile = 'hazard-concrete-left'},
[18] = {tile = 'concrete'},
[19] = {tile = 'hazard-concrete-left'},
[20] = {tile = 'concrete'},
[21] = {entity = {name = 'laser-turret', offset = 3}, tile = 'hazard-concrete-left'},
[22] = {tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {tile = 'hazard-concrete-left'},
[26] = {tile = 'concrete'},
[27] = {tile = 'hazard-concrete-left'},
[28] = {tile = 'concrete'},
[29] = {tile = 'hazard-concrete-left'},
[30] = {tile = 'concrete'},
[31] = {tile = 'hazard-concrete-left'},
[32] = {tile = 'concrete'},
[33] = {tile = 'hazard-concrete-left'},
[34] = {entity = {name = 'medium-electric-pole'}, tile = 'concrete'},
[35] = {tile = 'hazard-concrete-left'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
@ -39,21 +54,65 @@ return {
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {tile = 'concrete'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'concrete'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[22] = {entity = {name = 'laser-turret', offset = 3}},
[21] = {tile = 'hazard-concrete-left'},
[22] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {tile = 'concrete'},
[28] = {tile = 'hazard-concrete-left'},
[29] = {tile = 'concrete'},
[30] = {tile = 'hazard-concrete-left'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}},
[36] = {entity = {name = 'medium-electric-pole'}}
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'concrete'},
[35] = {tile = 'hazard-concrete-left'},
[36] = {entity = {name = 'medium-electric-pole'}, tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'concrete'},
[4] = {tile = 'hazard-concrete-left'},
[5] = {tile = 'concrete'},
[6] = {tile = 'hazard-concrete-left'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[22] = {entity = {name = 'laser-turret', offset = 3}},
[36] = {entity = {name = 'medium-electric-pole'}}
[9] = {tile = 'hazard-concrete-left'},
[10] = {tile = 'concrete'},
[11] = {tile = 'hazard-concrete-left'},
[12] = {tile = 'concrete'},
[13] = {tile = 'concrete'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'concrete'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'concrete'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {tile = 'hazard-concrete-left'},
[20] = {tile = 'concrete'},
[21] = {tile = 'hazard-concrete-left'},
[22] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'hazard-concrete-left'},
[27] = {tile = 'concrete'},
[28] = {tile = 'hazard-concrete-left'},
[29] = {tile = 'concrete'},
[30] = {tile = 'hazard-concrete-left'},
[31] = {tile = 'hazard-concrete-left'},
[32] = {tile = 'concrete'},
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'concrete'},
[35] = {tile = 'hazard-concrete-left'},
[36] = {entity = {name = 'medium-electric-pole'}, tile = 'concrete'}
}
}

View File

@ -0,0 +1,118 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {tile = 'hazard-concrete-left'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'hazard-concrete-left'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {tile = 'concrete'},
[20] = {tile = 'concrete'},
[21] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {tile = 'concrete'},
[32] = {tile = 'concrete'},
[33] = {tile = 'concrete'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {tile = 'hazard-concrete-left'},
[12] = {tile = 'hazard-concrete-left'},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {entity = {name = 'gun-turret', offset = 3}, tile = 'hazard-concrete-left'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'hazard-concrete-left'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[21] = {tile = 'hazard-concrete-left'},
[22] = {tile = 'hazard-concrete-left'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'hazard-concrete-left'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {tile = 'hazard-concrete-left'},
[27] = {entity = {name = 'flamethrower-turret', direction = 6, offset = 2}, tile = 'hazard-concrete-left'},
[28] = {tile = 'hazard-concrete-left'},
[29] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {tile = 'hazard-concrete-left'},
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'hazard-concrete-left'},
[35] = {tile = 'concrete'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'hazard-concrete-left'},
[4] = {tile = 'concrete'},
[5] = {tile = 'concrete'},
[6] = {tile = 'concrete'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'hazard-concrete-left'},
[10] = {tile = 'concrete'},
[11] = {entity = {name = 'flamethrower-turret', direction = 6, offset = 2}, tile = 'concrete'},
[12] = {tile = 'concrete'},
[13] = {tile = 'hazard-concrete-left'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'concrete'},
[17] = {tile = 'concrete'},
[18] = {tile = 'concrete'},
[19] = {tile = 'concrete'},
[20] = {tile = 'concrete'},
[21] = {tile = 'concrete'},
[22] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {entity = {name = 'flamethrower-turret', offset = 1}, tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {tile = 'concrete'},
[32] = {tile = 'concrete'},
[33] = {tile = 'concrete'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'concrete'}
}
}

View File

@ -2,7 +2,6 @@ local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
turret = {callback = ob.refill_turret_callback, data = ob.piercing_rounds_magazine_ammo},
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
@ -15,14 +14,30 @@ return {
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[20] = {
entity = {
name = 'gun-turret',
offset = 3,
callback = 'turret'
}
},
[22] = {entity = {name = 'gun-turret', offset = 3}}
[13] = {tile = 'stone-path'},
[14] = {tile = 'stone-path'},
[15] = {tile = 'stone-path'},
[16] = {tile = 'stone-path'},
[17] = {tile = 'stone-path'},
[18] = {tile = 'stone-path'},
[19] = {tile = 'concrete'},
[20] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[21] = {tile = 'concrete'},
[22] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {tile = 'stone-path'},
[32] = {tile = 'stone-path'},
[33] = {tile = 'stone-path'},
[34] = {tile = 'stone-path'},
[35] = {tile = 'stone-path'},
[36] = {tile = 'stone-path'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
@ -39,19 +54,65 @@ return {
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {tile = 'stone-path'},
[16] = {tile = 'stone-path'},
[17] = {entity = {name = 'gun-turret', offset = 3}, tile = 'stone-path'},
[18] = {tile = 'stone-path'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[22] = {entity = {name = 'gun-turret', offset = 3}},
[21] = {tile = 'stone-path'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'concrete'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {entity = {name = 'gun-turret', offset = 3}, tile = 'stone-path'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'concrete'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}}
[32] = {entity = {name = 'stone-wall'}},
[33] = {tile = 'stone-path'},
[34] = {tile = 'concrete'},
[35] = {tile = 'concrete'},
[36] = {tile = 'stone-path'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'stone-path'},
[4] = {tile = 'concrete'},
[5] = {tile = 'concrete'},
[6] = {tile = 'stone-path'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[22] = {entity = {name = 'gun-turret', offset = 3}}
[9] = {tile = 'stone-path'},
[10] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[11] = {tile = 'concrete'},
[12] = {tile = 'stone-path'},
[13] = {tile = 'stone-path'},
[14] = {tile = 'stone-path'},
[15] = {tile = 'stone-path'},
[16] = {tile = 'concrete'},
[17] = {tile = 'concrete'},
[18] = {tile = 'stone-path'},
[19] = {tile = 'concrete'},
[20] = {entity = {name = 'gun-turret', offset = 3}, tile = 'concrete'},
[21] = {tile = 'concrete'},
[22] = {tile = 'concrete'},
[23] = {tile = 'concrete'},
[24] = {tile = 'stone-path'},
[25] = {tile = 'concrete'},
[26] = {tile = 'concrete'},
[27] = {tile = 'concrete'},
[28] = {tile = 'concrete'},
[29] = {tile = 'concrete'},
[30] = {tile = 'stone-path'},
[31] = {tile = 'stone-path'},
[32] = {tile = 'stone-path'},
[33] = {tile = 'stone-path'},
[34] = {tile = 'stone-path'},
[35] = {tile = 'stone-path'},
[36] = {tile = 'stone-path'}
}
}

View File

@ -0,0 +1,118 @@
local ob = require 'map_gen.presets.crash_site.outpost_builder'
return {
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {tile = 'hazard-concrete-left'},
[14] = {tile = 'concrete'},
[15] = {tile = 'hazard-concrete-left'},
[16] = {tile = 'concrete'},
[17] = {tile = 'hazard-concrete-left'},
[18] = {tile = 'concrete'},
[19] = {tile = 'hazard-concrete-left'},
[20] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[21] = {tile = 'hazard-concrete-left'},
[22] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {tile = 'hazard-concrete-left'},
[26] = {tile = 'concrete'},
[27] = {tile = 'hazard-concrete-left'},
[28] = {tile = 'concrete'},
[29] = {tile = 'hazard-concrete-left'},
[30] = {tile = 'concrete'},
[31] = {tile = 'hazard-concrete-left'},
[32] = {tile = 'concrete'},
[33] = {entity = {name = 'medium-electric-pole'}, tile = 'hazard-concrete-left'},
[34] = {entity = {name = 'medium-electric-pole'}, tile = 'concrete'},
[35] = {tile = 'hazard-concrete-left'},
[36] = {tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {entity = {name = 'stone-wall'}},
[4] = {entity = {name = 'stone-wall'}},
[5] = {entity = {name = 'stone-wall'}},
[6] = {entity = {name = 'stone-wall'}},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {entity = {name = 'stone-wall'}},
[10] = {entity = {name = 'stone-wall'}},
[11] = {entity = {name = 'stone-wall'}},
[12] = {entity = {name = 'stone-wall'}},
[13] = {entity = {name = 'stone-wall'}},
[14] = {entity = {name = 'stone-wall'}},
[15] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {entity = {name = 'stone-wall'}},
[20] = {entity = {name = 'stone-wall'}},
[21] = {tile = 'hazard-concrete-left'},
[22] = {tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {entity = {name = 'stone-wall'}},
[26] = {entity = {name = 'stone-wall'}},
[27] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[28] = {tile = 'hazard-concrete-left'},
[29] = {entity = {name = 'medium-electric-pole'}, tile = 'concrete'},
[30] = {tile = 'hazard-concrete-left'},
[31] = {entity = {name = 'stone-wall'}},
[32] = {entity = {name = 'stone-wall'}},
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'concrete'},
[35] = {tile = 'hazard-concrete-left'},
[36] = {entity = {name = 'medium-electric-pole'}, tile = 'concrete'}
},
ob.make_4_way {
[1] = {entity = {name = 'stone-wall'}},
[2] = {entity = {name = 'stone-wall'}},
[3] = {tile = 'concrete'},
[4] = {tile = 'hazard-concrete-left'},
[5] = {tile = 'concrete'},
[6] = {tile = 'hazard-concrete-left'},
[7] = {entity = {name = 'stone-wall'}},
[8] = {entity = {name = 'stone-wall'}},
[9] = {tile = 'hazard-concrete-left'},
[10] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[11] = {tile = 'hazard-concrete-left'},
[12] = {tile = 'concrete'},
[13] = {tile = 'concrete'},
[14] = {tile = 'hazard-concrete-left'},
[15] = {tile = 'concrete'},
[16] = {tile = 'hazard-concrete-left'},
[17] = {tile = 'concrete'},
[18] = {tile = 'hazard-concrete-left'},
[19] = {tile = 'hazard-concrete-left'},
[20] = {entity = {name = 'laser-turret', offset = 3}, tile = 'concrete'},
[21] = {tile = 'hazard-concrete-left'},
[22] = {tile = 'concrete'},
[23] = {tile = 'hazard-concrete-left'},
[24] = {tile = 'concrete'},
[25] = {tile = 'concrete'},
[26] = {tile = 'hazard-concrete-left'},
[27] = {tile = 'concrete'},
[28] = {tile = 'hazard-concrete-left'},
[29] = {tile = 'concrete'},
[30] = {entity = {name = 'medium-electric-pole'}, tile = 'hazard-concrete-left'},
[31] = {tile = 'hazard-concrete-left'},
[32] = {tile = 'concrete'},
[33] = {tile = 'hazard-concrete-left'},
[34] = {tile = 'concrete'},
[35] = {entity = {name = 'medium-electric-pole'}, tile = 'hazard-concrete-left'},
[36] = {tile = 'concrete'}
}
}