From 5f813c59184787e6d92e3a9ca9cfcf02b4d166e7 Mon Sep 17 00:00:00 2001 From: James Gillham Date: Sat, 24 Feb 2024 16:48:31 +0000 Subject: [PATCH] Change line endings for safety_ore.lua --- map_gen/maps/safety_ores.lua | 318 +++++++++++++++++------------------ 1 file changed, 159 insertions(+), 159 deletions(-) diff --git a/map_gen/maps/safety_ores.lua b/map_gen/maps/safety_ores.lua index 3ba24ca5..bebc785e 100644 --- a/map_gen/maps/safety_ores.lua +++ b/map_gen/maps/safety_ores.lua @@ -1,159 +1,159 @@ ---- Safety Ores, by R. Nukem, inspired by Zengief ---- all local resources -local RS = require 'map_gen.shared.redmew_surface' -local MGSP = require 'resources.map_gen_settings' -local ScenarioInfo = require 'features.gui.info' -local config = global.config -local RE = require 'map_gen.shared.entity_placement_restriction' -local Token = require 'utils.token' -local Event = require 'utils.event' ---- local math functions -local floor = math.floor ---- Scenario Info -ScenarioInfo.set_map_name('Safety Ores') -ScenarioInfo.set_map_description('Welcome to Safety Ores.\nOre patches are the only stable ground on this world. All factory buildings must be placed on ores or they will collapse.') -ScenarioInfo.set_map_extra_info( - 'Our engineers have only been able to build the following outside the stability of our ore patches:\n -rails \n -rail signals\n -power poles\n -offshore pumps\n -pumpjacks\n -pipes\n-vehicles\n-robots') -ScenarioInfo.set_new_info( - [[ -2024-02-08 - R. Nukem -- Initial Map Creation -]] -) ---- Market Config -config.currency = nil -config.market.enabled = false -config.player_rewards.enabled = false ---- Ore Settings. Since we can only build on ore patches high size is recommended. ---- With high size, lower richness seems intuitive. Frequency is the big ??? -local ore_size = 6 -local ore_richness = 0.166 -local ore_freq = 0.166 ---- Create map_gen table for ores -local ore_settings = { - autoplace_controls = { - coal = { - frequency = ore_freq, - richness = ore_richness, - size = ore_size - }, - ['copper-ore'] = { - frequency = ore_freq, - richness = ore_richness, - size = ore_size - }, - ['crude-oil'] = { - frequency = 0.25, - richness = 2, - size = 0.25 - }, - ['iron-ore'] = { - frequency = ore_freq, - richness = ore_richness, - size = ore_size - }, - stone = { - frequency = ore_freq, - richness = ore_richness, - size = ore_size - }, - ['uranium-ore'] = { - frequency = ore_freq, - richness = ore_richness, - size = ore_size - } - } -} ---- change enemy autoplace controls -local enemy_settings = { - autoplace_controls = { - ['enemy-base'] = { - frequency = 0.25, - richness = 1, - size = 1 - } - } -} ---- Set map_gen settings -RS.set_map_gen_settings( - { - MGSP.default, - ore_settings, - enemy_settings - } -) ---- Set Item Restrictions ---- Items allowed everywhere -RE.add_allowed({ - 'small-electric-pole', - 'medium-electric-pole', - 'big-electric-pole', - 'rail', - 'straight-rail', - 'curved-rail', - 'pumpjack', - 'pipe', - 'pipe-to-ground', - 'rail-signal', - 'rail-chain-signal', - 'offshore-pump', - 'train-stop', - 'pump', - 'car', - 'tank', - 'spidertron', - 'defender', - 'destroyer', - 'distractor', - 'construction-robot', - 'logistic-robot', - 'locomotive', - 'cargo-wagon', - 'fluid-wagon', - 'artillery-wagon' - }) ---- The logic for checking that there are resources under the entity's position -RE.set_keep_alive_callback( - Token.register( - function(entity) - local box = entity.bounding_box - if entity.surface.count_entities_filtered {area = box, type = 'resource', limit = 1} > 0 then - return true - end - end - ) - ) ---- Warning for players when their entities are destroyed -local function on_destroy(event) - local p = event.player - if p and p.valid then - p.surface.create_entity{name="flying-text", position = p.position, text = 'You can only build that on top of ores, the ground is too soft'} - end -end -Event.add(RE.events.on_restricted_entity_destroyed, on_destroy) ---- Spawn stone around pumpjacks so oil can be defended -local function on_built_pumpjack(event) - local size = 7 -- size in all directions from center. total size = 2x+1 - local density = 1 -- Every time a pumpjack is placed this much stone is added - local entity = event.created_entity - if not entity or not entity.valid then - return - end ---- calculate center of bounding box - local box = entity.bounding_box - local center_x = floor((box.left_top.x + box.right_bottom.x)/2) - local center_y = floor((box.left_top.y + box.right_bottom.y)/2) ---- If a pumpjack is built, create a 2x+1 square of stone centered on the pumpjack - if entity.name == 'pumpjack' then - for x = center_x - size, center_x + size do - for y = center_y - size, center_y + size do - if entity.surface.get_tile(x, y).collides_with("ground-tile") then - entity.surface.create_entity({name="stone", amount=density, position={x, y}}) - end - end - end - end -end -Event.add(defines.events.on_robot_built_entity, on_built_pumpjack) -Event.add(defines.events.on_built_entity, on_built_pumpjack) ---- To Do: +--- Safety Ores, by R. Nukem, inspired by Zengief +--- all local resources +local RS = require 'map_gen.shared.redmew_surface' +local MGSP = require 'resources.map_gen_settings' +local ScenarioInfo = require 'features.gui.info' +local config = global.config +local RE = require 'map_gen.shared.entity_placement_restriction' +local Token = require 'utils.token' +local Event = require 'utils.event' +--- local math functions +local floor = math.floor +--- Scenario Info +ScenarioInfo.set_map_name('Safety Ores') +ScenarioInfo.set_map_description('Welcome to Safety Ores.\nOre patches are the only stable ground on this world. All factory buildings must be placed on ores or they will collapse.') +ScenarioInfo.set_map_extra_info( + 'Our engineers have only been able to build the following outside the stability of our ore patches:\n -rails \n -rail signals\n -power poles\n -offshore pumps\n -pumpjacks\n -pipes\n-vehicles\n-robots') +ScenarioInfo.set_new_info( + [[ +2024-02-08 - R. Nukem +- Initial Map Creation +]] +) +--- Market Config +config.currency = nil +config.market.enabled = false +config.player_rewards.enabled = false +--- Ore Settings. Since we can only build on ore patches high size is recommended. +--- With high size, lower richness seems intuitive. Frequency is the big ??? +local ore_size = 6 +local ore_richness = 0.166 +local ore_freq = 0.166 +--- Create map_gen table for ores +local ore_settings = { + autoplace_controls = { + coal = { + frequency = ore_freq, + richness = ore_richness, + size = ore_size + }, + ['copper-ore'] = { + frequency = ore_freq, + richness = ore_richness, + size = ore_size + }, + ['crude-oil'] = { + frequency = 0.25, + richness = 2, + size = 0.25 + }, + ['iron-ore'] = { + frequency = ore_freq, + richness = ore_richness, + size = ore_size + }, + stone = { + frequency = ore_freq, + richness = ore_richness, + size = ore_size + }, + ['uranium-ore'] = { + frequency = ore_freq, + richness = ore_richness, + size = ore_size + } + } +} +--- change enemy autoplace controls +local enemy_settings = { + autoplace_controls = { + ['enemy-base'] = { + frequency = 0.25, + richness = 1, + size = 1 + } + } +} +--- Set map_gen settings +RS.set_map_gen_settings( + { + MGSP.default, + ore_settings, + enemy_settings + } +) +--- Set Item Restrictions +--- Items allowed everywhere +RE.add_allowed({ + 'small-electric-pole', + 'medium-electric-pole', + 'big-electric-pole', + 'rail', + 'straight-rail', + 'curved-rail', + 'pumpjack', + 'pipe', + 'pipe-to-ground', + 'rail-signal', + 'rail-chain-signal', + 'offshore-pump', + 'train-stop', + 'pump', + 'car', + 'tank', + 'spidertron', + 'defender', + 'destroyer', + 'distractor', + 'construction-robot', + 'logistic-robot', + 'locomotive', + 'cargo-wagon', + 'fluid-wagon', + 'artillery-wagon' + }) +--- The logic for checking that there are resources under the entity's position +RE.set_keep_alive_callback( + Token.register( + function(entity) + local box = entity.bounding_box + if entity.surface.count_entities_filtered {area = box, type = 'resource', limit = 1} > 0 then + return true + end + end + ) + ) +--- Warning for players when their entities are destroyed +local function on_destroy(event) + local p = event.player + if p and p.valid then + p.surface.create_entity{name="flying-text", position = p.position, text = 'You can only build that on top of ores, the ground is too soft'} + end +end +Event.add(RE.events.on_restricted_entity_destroyed, on_destroy) +--- Spawn stone around pumpjacks so oil can be defended +local function on_built_pumpjack(event) + local size = 7 -- size in all directions from center. total size = 2x+1 + local density = 1 -- Every time a pumpjack is placed this much stone is added + local entity = event.created_entity + if not entity or not entity.valid then + return + end +--- calculate center of bounding box + local box = entity.bounding_box + local center_x = floor((box.left_top.x + box.right_bottom.x)/2) + local center_y = floor((box.left_top.y + box.right_bottom.y)/2) +--- If a pumpjack is built, create a 2x+1 square of stone centered on the pumpjack + if entity.name == 'pumpjack' then + for x = center_x - size, center_x + size do + for y = center_y - size, center_y + size do + if entity.surface.get_tile(x, y).collides_with("ground-tile") then + entity.surface.create_entity({name="stone", amount=density, position={x, y}}) + end + end + end + end +end +Event.add(defines.events.on_robot_built_entity, on_built_pumpjack) +Event.add(defines.events.on_built_entity, on_built_pumpjack) +--- To Do: