2018-09-08 18:29:27 +02:00
|
|
|
-- dependencies
|
|
|
|
|
|
|
|
-- this
|
|
|
|
local Config = {
|
|
|
|
-- enable debug mode, shows extra messages
|
|
|
|
debug = true,
|
|
|
|
|
2018-09-14 21:42:58 +02:00
|
|
|
-- allow cheats. Example: by default the player will have X mining speed
|
2018-09-08 18:29:27 +02:00
|
|
|
cheats = true,
|
|
|
|
|
|
|
|
-- a list of features to register and enable
|
|
|
|
-- to disable a feature, change the flag
|
|
|
|
features = {
|
|
|
|
StartingZone = {
|
|
|
|
enabled = true,
|
2018-09-14 22:12:55 +02:00
|
|
|
register = require 'map_gen.Diggy.Feature.StartingZone'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.StartingZone'.initialize,
|
2018-09-14 21:42:58 +02:00
|
|
|
|
|
|
|
-- initial starting position size, values higher than 30 might break
|
|
|
|
starting_size = 8,
|
|
|
|
|
|
|
|
-- the daytime value used for cave lighting
|
|
|
|
daytime = 0.5,
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
|
|
|
SetupPlayer = {
|
|
|
|
enabled = true,
|
2018-09-14 22:12:55 +02:00
|
|
|
register = require 'map_gen.Diggy.Feature.SetupPlayer'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.SetupPlayer'.initialize,
|
2018-09-14 21:42:58 +02:00
|
|
|
starting_items = {
|
|
|
|
{name = 'steel-axe', count = 2},
|
|
|
|
{name = 'submachine-gun', count = 1},
|
|
|
|
{name = 'light-armor', count = 1},
|
|
|
|
{name = 'firearm-magazine', count = 25},
|
|
|
|
{name = 'stone-wall', count = 10},
|
|
|
|
},
|
|
|
|
cheats = {
|
2018-09-23 17:13:54 +02:00
|
|
|
manual_mining_speed_modifier = 1000,
|
2018-09-14 21:42:58 +02:00
|
|
|
},
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
|
|
|
DiggyHole = {
|
|
|
|
enabled = true,
|
2018-09-14 22:12:55 +02:00
|
|
|
register = require 'map_gen.Diggy.Feature.DiggyHole'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.DiggyHole'.initialize,
|
2018-09-27 20:56:29 +02:00
|
|
|
|
|
|
|
-- percentage * mining productivity level gets added to mining speed
|
|
|
|
mining_speed_productivity_multiplier = 15,
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
|
|
|
DiggyCaveCollapse = {
|
|
|
|
enabled = true,
|
2018-09-14 22:12:55 +02:00
|
|
|
register = require 'map_gen.Diggy.Feature.DiggyCaveCollapse'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.DiggyCaveCollapse'.initialize,
|
2018-09-25 21:34:36 +02:00
|
|
|
|
|
|
|
-- adds per tile what the current stress is
|
2018-09-30 21:55:29 +02:00
|
|
|
enable_stress_grid = true,
|
2018-09-25 21:34:36 +02:00
|
|
|
|
2018-09-25 17:58:35 +02:00
|
|
|
-- delay in seconds before the cave collapses
|
|
|
|
collapse_delay_min = 1.5,
|
|
|
|
collapse_delay_max = 3,
|
2018-09-25 21:34:36 +02:00
|
|
|
|
2018-09-25 17:58:35 +02:00
|
|
|
-- the threshold that will be applied to all neighbors on a collapse via a mask
|
2018-09-27 22:36:20 +02:00
|
|
|
collapse_threshold_total_strength = 15,
|
2018-09-25 21:34:36 +02:00
|
|
|
|
2018-09-08 18:29:27 +02:00
|
|
|
support_beam_entities = {
|
2018-09-12 23:13:54 +02:00
|
|
|
['stone-wall'] = 1,
|
|
|
|
['sand-rock-big'] = 1,
|
2018-09-14 21:42:58 +02:00
|
|
|
['out-of-map'] = 1,
|
2018-09-26 22:15:39 +02:00
|
|
|
['stone-brick'] = 0.05,
|
|
|
|
['stone-path'] = 0.05,
|
|
|
|
['concrete'] = 0.1,
|
|
|
|
['hazard-concrete-left'] = 0.1,
|
|
|
|
['hazard-concrete-right'] = 0.1,
|
|
|
|
['refined-concrete'] = 0.1,
|
|
|
|
['refined-hazard-concrete-left'] = 0.15,
|
|
|
|
['refined-hazard-concrete-right'] = 0.15,
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
2018-09-21 11:44:40 +02:00
|
|
|
cracking_sounds = {
|
2018-09-25 17:58:35 +02:00
|
|
|
'CRACK',
|
2018-09-21 11:44:40 +02:00
|
|
|
}
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
|
|
|
RefreshMap = {
|
|
|
|
enabled = true,
|
2018-09-14 22:12:55 +02:00
|
|
|
register = require 'map_gen.Diggy.Feature.RefreshMap'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.RefreshMap'.initialize,
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
|
|
|
SimpleRoomGenerator = {
|
2018-09-25 21:34:36 +02:00
|
|
|
enabled = true,
|
2018-09-14 22:12:55 +02:00
|
|
|
register = require 'map_gen.Diggy.Feature.SimpleRoomGenerator'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.SimpleRoomGenerator'.initialize,
|
2018-09-26 20:07:22 +02:00
|
|
|
|
|
|
|
-- value between 0 and 1, higher value means stronger variance between coordinates
|
2018-09-30 21:55:29 +02:00
|
|
|
noise_variance = 0.09,
|
2018-09-25 21:34:36 +02:00
|
|
|
|
|
|
|
-- adds per tile what the current noise is
|
2018-09-30 21:55:29 +02:00
|
|
|
enable_noise_grid = false,
|
2018-09-30 15:33:53 +02:00
|
|
|
|
|
|
|
-- minimum distance and noise range required for water to spawn
|
|
|
|
water_minimum_distance = 9,
|
|
|
|
room_noise_ranges = {
|
2018-09-30 21:55:29 +02:00
|
|
|
{name = 'water', min = -1, max = -0.52},
|
|
|
|
{name = 'dirt', min = -0.51, max = -0.4},
|
2018-09-30 15:33:53 +02:00
|
|
|
},
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
2018-09-23 17:13:54 +02:00
|
|
|
ScatteredResources = {
|
|
|
|
enabled = true,
|
|
|
|
register = require 'map_gen.Diggy.Feature.ScatteredResources'.register,
|
|
|
|
initialize = require 'map_gen.Diggy.Feature.ScatteredResources'.initialize,
|
|
|
|
|
|
|
|
-- percentage of resource added to the sum. 100 tiles means
|
|
|
|
-- 10% more resources with a distance_richness_modifier of 10
|
|
|
|
-- 20% more resources with a distance_richness_modifier of 5
|
|
|
|
distance_richness_modifier = 5,
|
|
|
|
|
|
|
|
-- defines the increased chance of spawning resources
|
|
|
|
-- calculated_probability = resource_probability + ((distance / distance_probability_modifier) / 100)
|
|
|
|
distance_probability_modifier = 2,
|
|
|
|
|
|
|
|
-- increases the amount of oil * oil_value_modifier
|
2018-09-25 17:58:35 +02:00
|
|
|
oil_value_modifier = 700,
|
2018-09-23 17:13:54 +02:00
|
|
|
|
|
|
|
-- percentage of chance that resources will spawn after mining
|
2018-09-25 17:58:35 +02:00
|
|
|
resource_probability = 0.2,
|
2018-09-23 17:13:54 +02:00
|
|
|
|
|
|
|
-- max chance of spawning resources based on resource_probability + calculated distance_probability_modifier
|
|
|
|
max_resource_probability = 0.7,
|
|
|
|
|
|
|
|
-- chances per resource of spawning, sum must be 1.00
|
|
|
|
resource_chances = {
|
|
|
|
['coal'] = 0.20,
|
|
|
|
['copper-ore'] = 0.29,
|
|
|
|
['iron-ore'] = 0.26,
|
2018-09-25 17:58:35 +02:00
|
|
|
['stone'] = 0.15,
|
2018-09-23 17:13:54 +02:00
|
|
|
['uranium-ore'] = 0.02,
|
2018-09-25 17:58:35 +02:00
|
|
|
['crude-oil'] = 0.01,
|
2018-09-23 17:13:54 +02:00
|
|
|
['tree'] = 0.07,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- minimum distance from the spawn point required before it spawns
|
|
|
|
minimum_resource_distance = {
|
|
|
|
['coal'] = 10,
|
|
|
|
['copper-ore'] = 12,
|
|
|
|
['iron-ore'] = 12,
|
2018-09-25 17:58:35 +02:00
|
|
|
['stone'] = 8,
|
|
|
|
['uranium-ore'] = 60,
|
|
|
|
['crude-oil'] = 35,
|
2018-09-23 17:13:54 +02:00
|
|
|
['tree'] = 0,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- defines the chance of which resource_richness_value to spawn, sum must be 1.00
|
|
|
|
resource_richness_probability = {
|
|
|
|
['scarce'] = 0.33,
|
|
|
|
['low'] = 0.25,
|
|
|
|
['sufficient'] = 0.19,
|
|
|
|
['good'] = 0.14,
|
|
|
|
['plenty'] = 0.07,
|
|
|
|
['jackpot'] = 0.02,
|
|
|
|
},
|
|
|
|
|
|
|
|
-- defines the min and max range of ores to spawn
|
|
|
|
resource_richness_values = {
|
|
|
|
['scarce'] = {1, 200},
|
|
|
|
['low'] = {201, 400},
|
|
|
|
['sufficient'] = {401, 750},
|
|
|
|
['good'] = {751, 1200},
|
|
|
|
['plenty'] = {1201, 2000},
|
|
|
|
['jackpot'] = {2001, 5000},
|
|
|
|
},
|
|
|
|
},
|
2018-09-08 18:29:27 +02:00
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
return Config
|