1
0
mirror of https://github.com/Oarcinae/FactorioScenarioMultiplayerSpawn.git synced 2025-01-18 02:58:37 +02:00

Fixed an issue with initial map settings for aliens never being run! Tweaked RSO config. Added example code for another spawn resource layout. Added generic function for removing a recipe from research.

This commit is contained in:
Oarcinae 2016-12-20 20:42:10 -05:00
parent b57c9af362
commit f3ea143ce8
6 changed files with 98 additions and 42 deletions

View File

@ -1,4 +1,5 @@
-- config.lua
-- Dec 2016
-- Configuration Options
--------------------------------------------------------------------------------
@ -9,7 +10,7 @@ WELCOME_MSG = "[INSERT SERVER OWNER MSG HERE!]"
-- WELCOME_MSG = "Welcome to Oarc's official server! Follow @_Oarc_ for server updates."
GAME_MODE_MSG = "In the current game mode, a satellite must be launched from an existing far away rocket silo to win!"
-- GAME_MODE_MSG = "The current game mode is just basic vanilla!"
MODULES_ENABLED = "Mods Enabled: Separate Spawns, RSO, Gravestone Chests, Long-Reach, Autofill"
MODULES_ENABLED = "Mods Enabled: Separate Spawns, RSO, Gravestone Chests, Long-Reach, Autofill, Blueprint Strings"
-- MODULES_ENABLED = "Mods Enabled: Gravestone-Chests"
WELCOME_MSG_TITLE = "[INSERT SERVER OWNER MSG HERE!]"
@ -82,39 +83,78 @@ FAR_MAX_DIST = 200 --125
---------------------------------------
-- Resource Options
---------------------------------------
-- This is an example of how I set my resources in the game.
-- Start resource amounts
START_IRON_AMOUNT = 1500
START_COPPER_AMOUNT = 1500
START_STONE_AMOUNT = 1500
START_COAL_AMOUNT = 1500
START_OIL_AMOUNT = 30000
-- Start resource amounts
START_IRON_AMOUNT = 1800
START_COPPER_AMOUNT = 1500
START_STONE_AMOUNT = 1500
START_COAL_AMOUNT = 1500
START_OIL_AMOUNT = 30000
-- Stat resource shape
-- If this is true, it will be a circle
-- If false, it will be a square
ENABLE_RESOURCE_SHAPE_CIRCLE = true
-- Stat resource shape
-- If this is true, it will be a circle
-- If false, it will be a square
ENABLE_RESOURCE_SHAPE_CIRCLE = true
-- Start resource position and size
-- Position is relative to player starting location
START_RESOURCE_STONE_POS_X = -25
START_RESOURCE_STONE_POS_Y = -31
START_RESOURCE_STONE_SIZE = 15
-- Start resource position and size
-- Position is relative to player starting location
START_RESOURCE_STONE_POS_X = -25
START_RESOURCE_STONE_POS_Y = -31
START_RESOURCE_STONE_SIZE = 15
START_RESOURCE_COAL_POS_X = -25
START_RESOURCE_COAL_POS_Y = -16
START_RESOURCE_COAL_SIZE = 15
START_RESOURCE_COAL_POS_X = -25
START_RESOURCE_COAL_POS_Y = -16
START_RESOURCE_COAL_SIZE = 15
START_RESOURCE_COPPER_POS_X = -25
START_RESOURCE_COPPER_POS_Y = 0
START_RESOURCE_COPPER_SIZE = 15
START_RESOURCE_COPPER_POS_X = -25
START_RESOURCE_COPPER_POS_Y = 0
START_RESOURCE_COPPER_SIZE = 15
START_RESOURCE_IRON_POS_X = -25
START_RESOURCE_IRON_POS_Y = 15
START_RESOURCE_IRON_SIZE = 15
START_RESOURCE_OIL_POS_X = -30
START_RESOURCE_OIL_POS_Y = 0
-- This is Philip017's default settings as another example.
-- You can modify your own custom settings here and set
-- "ENABLE_OARC_DEFAULT_RESOURCE_SETTINGS = false" to use them.
-- -- Start resource amounts
-- START_IRON_AMOUNT = 1200
-- START_COPPER_AMOUNT = 1200
-- START_STONE_AMOUNT = 1500
-- START_COAL_AMOUNT = 1500
-- START_OIL_AMOUNT = 30000
-- -- Stat resource shape
-- -- If this is true, it will be a circle
-- -- If false, it will be a square
-- ENABLE_RESOURCE_SHAPE_CIRCLE = true
-- -- Start resource position and size
-- -- Position is relative to player starting location
-- START_RESOURCE_STONE_POS_X = -22
-- START_RESOURCE_STONE_POS_Y = -30
-- START_RESOURCE_STONE_SIZE = 12
-- START_RESOURCE_COAL_POS_X = -22
-- START_RESOURCE_COAL_POS_Y = -17
-- START_RESOURCE_COAL_SIZE = 12
-- START_RESOURCE_COPPER_POS_X = -23
-- START_RESOURCE_COPPER_POS_Y = -4
-- START_RESOURCE_COPPER_SIZE = 14
-- START_RESOURCE_IRON_POS_X = -24
-- START_RESOURCE_IRON_POS_Y = 11
-- START_RESOURCE_IRON_SIZE = 16
-- START_RESOURCE_OIL_POS_X = -30
-- START_RESOURCE_OIL_POS_Y = 0
START_RESOURCE_IRON_POS_X = -25
START_RESOURCE_IRON_POS_Y = 15
START_RESOURCE_IRON_SIZE = 15
START_RESOURCE_OIL_POS_X = -30
START_RESOURCE_OIL_POS_Y = 0
-- Force the land area circle at the spawn to be fully grass
ENABLE_SPAWN_FORCE_GRASS = true
@ -179,11 +219,11 @@ MIN_ONLINE_TIME = TICKS_PER_MINUTE * MIN_ONLIME_TIME_IN_MINUTES
-- Alien Options
--------------------------------------------------------------------------------
-- Enable/Disable enemy expansion
-- Enable/Disable enemy expansion (Applies to RSO as well!)
ENEMY_EXPANSION = false
-- Divide the alien factors by this number to reduce it (or multiply if < 1)
ENEMY_POLLUTION_FACTOR_DIVISOR = 15
ENEMY_POLLUTION_FACTOR_DIVISOR = 10
ENEMY_DESTROY_FACTOR_DIVISOR = 5
--------------------------------------------------------------------------------

View File

@ -8,7 +8,7 @@
--
-- Credit:
-- RSO mod to RSO author - Orzelek - I contacted him via the forum
-- Tags - Taken from WOGs scenario
-- Tags - Taken from WOGs scenario
-- Event - Taken from WOGs scenario (looks like original source was 3Ra)
-- Rocket Silo - Taken from Frontier as an idea
--
@ -84,6 +84,11 @@ end
-- time the game starts
----------------------------------------
script.on_init(function(event)
-- Configures the map settings for enemies
-- This controls evolution growth factors and enemy expansion settings.
ConfigureAlienStartingParams()
if ENABLE_SEPARATE_SPAWNS then
InitSpawnGlobalsAndForces()
end
@ -235,6 +240,9 @@ script.on_event(defines.events.on_research_finished, function(event)
if ENABLE_BLUEPRINT_STRING then
bps_on_research_finished(event)
end
-- Example of how to remove a particular recipe:
-- RemoveRecipe(event, "beacon")
end)

View File

@ -42,10 +42,7 @@ end
-- Remove rocket silo from recipes
function RemoveRocketSiloRecipe(event)
local recipes = event.research.force.recipes
if recipes["rocket-silo"] then
recipes["rocket-silo"].enabled = false
end
RemoveRecipe(event, "rocket-silo")
end
-- Generates the rocket silo during chunk generation event

View File

@ -543,6 +543,14 @@ function Autofill(event)
end
end
-- General purpose event function for removing a particular recipe
function RemoveRecipe(event, recipeName)
local recipes = event.research.force.recipes
if recipes[recipeName] then
recipes[recipeName].enabled = false
end
end
--------------------------------------------------------------------------------
-- UNUSED CODE
-- Either didn't work, or not used or not tested....

View File

@ -16,7 +16,7 @@ global_size_mult = 1 -- multiply size for all ores, doesn't affect starting ar
absolute_enemy_chance = 3 -- chance to spawn enemies per sector (can be more then one base if spawned)
enemy_base_size_multiplier = 1 -- all base sizes will be multiplied by this - larger number means bigger bases
multi_resource_active = true -- global switch for multi resource chances
multi_resource_active = false -- global switch for multi resource chances
multi_resource_richness_factor = 0.60 -- any additional resource is multiplied by this value times resources-1
multi_resource_size_factor = 0.90
multi_resource_chance_diminish = 0.6 -- diminishing effect factor on multi_resource_chance
@ -32,7 +32,10 @@ deterministic = true -- set to false to use system for all decisions
-- endless_resource_mode = false -- if true, the size of each resource is modified by the following modifier. Use with the endless resources mod.
endless_resource_mode_sizeModifier = 0.80
disableEnemyExpansion = true -- allows for disabling of in-game biter base building
-- This setting isn't used anywhere in the soft mod version of RSO
-- Just set it from Oarc's config.lua
-- disableEnemyExpansion = not ENEMY_EXPANSION -- allows for disabling of in-game biter base building
use_RSO_biter_spawning = true -- enables spawning of biters controlled by RSO mod - less enemies around with more space between bases
use_vanilla_biter_spawning = false -- enables using of vanilla spawning

View File

@ -7,7 +7,7 @@ local function fillVanillaConfig()
-- general spawn params
allotment=100, -- how common resource is
spawns_per_region={min=1, max=1}, --number of chunks
richness=18000, -- resource_ore has only one richness value - resource-liquid has min/max
richness=10000, -- resource_ore has only one richness value - resource-liquid has min/max
size={min=20, max=30}, -- rough radius of area, too high value can produce square shaped areas
min_amount=350,
@ -31,7 +31,7 @@ local function fillVanillaConfig()
allotment=80,
spawns_per_region={min=1, max=1},
richness=16000,
richness=10000,
size={min=20, max=30},
min_amount=350,
@ -53,7 +53,7 @@ local function fillVanillaConfig()
spawns_per_region={min=1, max=1},
size={min=15, max=25},
richness=13000,
richness=8000,
min_amount=350,
starting={richness=6000, size=20, probability=1},
@ -71,7 +71,7 @@ local function fillVanillaConfig()
allotment=60,
spawns_per_region={min=1, max=1},
richness=11000,
richness=6000,
size={min=15, max=20},
min_amount=250,
@ -90,8 +90,8 @@ local function fillVanillaConfig()
minimum_amount=10000,
allotment=70,
spawns_per_region={min=1, max=2},
richness={min=10000, max=30000}, -- richness per resource spawn
size={min=2, max=5},
richness={min=10000, max=20000}, -- richness per resource spawn
size={min=3, max=7},
starting={richness=20000, size=2, probability=1},