1
0
mirror of https://github.com/Oarcinae/FactorioScenarioMultiplayerSpawn.git synced 2024-12-04 09:43:00 +02:00

Move main force name to be startup, not runtime-global.

This commit is contained in:
Oarcinae 2024-09-18 20:11:51 -04:00
parent a661483e85
commit 481e8cd9c2
4 changed files with 34 additions and 35 deletions

View File

@ -1,42 +1,36 @@
ACTIVE ITEMS:
- Change main_force_name to a startup setting! New players in spawn area should stay on default "player" force to avoid mod conflicts on player init?
- Think through player flow for Space Age for creating new unique spawns on other surfaces and respawning:
- Create a function to create secondary uniqueSpawns for the same player
- Expose some settings for adjusting easy and medium enemy evolution values
- Expose old enemy scaling as an option? And/or remove unnecessary checks/logs
------------------------------------------------------------------------------------------------------------------------
BACKLOG:
Not specific:
- Lots of localizations!
- Add rich text map location links for new spawns (print to chat)
- Custom tips and tricks??
- List all TODOs in code here.
- Add refresh chunks around spidertrons based on their vision
- Convert regrowth to a proper mod
- Refresh players in admin controls when dropdown is clicked
- TEST resizing spawn areas and moat sizes!
- Think through player flow for Space Age for creating new unique spawns on other surfaces and respawning:
- Create a function to create secondary uniqueSpawns for the same player
Minor:
- Add rich text map location links for new spawns (print to chat)
- Add refresh chunks around spidertrons based on their vision
- Refresh players in admin controls when dropdown is clicked
- Add a show current respawn location button (same as show spawn location)
- Default to selecting SELF in admin controls player dropdown?
- In spawn controls, add a note if spawn is full (and maybe disable the shared spawn checkbox?)
- TEST resizing spawn areas and moat sizes!
- Add in square bases again
- If dead when resetting spawn... possibly delay the opening of the welcome GUI or block spawning until character is spawned?
Major:
- Shared electricity (proper)
- Shared items (proper)
- Expose some settings for adjusting easy and medium enemy evolution values
- Clean out old enemy scaling and remove unnecessary checks/logs
------------------------------------------------------------------------------------------------------------------------
@ -56,13 +50,14 @@ Other Ideas, Not Committed:
- Work on space ex support?
- Profile regrowth and try to improve performance ?
- Possibly adjust easy/medium evo factors on new player joined?
- Convert regrowth to a proper mod
------------------------------------------------------SPACE AGE---------------------------------------------------------
- Map Settings changes?
- Pollution changes (regrowth)?
- Enemy changes?
- Rocket silo locations per player? (Only allowed to build 1)?
- Landing pad locations per FORCE limited to 1?
- Surface names for space ships?
- Spawner health tied to evolution?
- Respawn position is surface specific? Each surface needs a separate respawn point? Default respawn behavior?
@ -121,4 +116,6 @@ Other Ideas, Not Committed:
- Move "buddy" info to unique_spawns as well.
- Fix search vector to use more variable vector'ing, always normalize vector, and then ensure the other reliant functions work still.
- Add regrowth settings GUI tab? Not sure how the other settings fit in with a dedicated regrowth tab? Need to be able to enable/disable other surfaces during runtime?
- Test multiple enemy forces to provide a way to scale evolution locally (need to continually set the evo factor back)
- Test multiple enemy forces to provide a way to scale evolution locally (need to continually set the evo factor back)
- Change main_force_name to a startup setting! New players in spawn area should stay on default "player" force to avoid mod conflicts on player init?
- In spawn controls, add a note if spawn is full (and maybe disable the shared spawn checkbox?)

View File

@ -180,9 +180,13 @@ OCFG = {
gameplay = {
-- Default setting for enabling spawning on other surfaces other than the default_surface.
-- This is a STARTUP setting, so it can't be changed in game.
-- This is a STARTUP setting, so it can't be changed in game!!
default_allow_spawning_on_other_surfaces = true,
-- The name of the main force.
-- This is a STARTUP setting, so it can't be changed in game!!
main_force_name = "Main Force",
-- At least one of these must be enabled! (enable_main_team and enable_separate_teams)
-- Otherwise we default to enable_main_team = true
-- Allow all players to join a primary force(team).
@ -235,9 +239,6 @@ OCFG = {
-- I like keeping this off... set to true if you want to shoot your own chests and stuff.
enable_friendly_fire = true,
-- The name of the main force.
main_force_name = "Main Force",
-- The default starting surface.
default_surface = "nauvis",
@ -354,6 +355,7 @@ OCFG = {
---@class OarcConfigGameplaySettings
---@field default_allow_spawning_on_other_surfaces boolean Default setting for enabling spawning on other surfaces other than the default_surface. This is a STARTUP setting, so it can't be changed in game.
---@field main_force_name string The name of the main force. This is a STARTUP setting, so it can't be changed in game.
---@field enable_main_team boolean Allows all players to join a primary force(team).
---@field enable_separate_teams boolean Allows players to create their own force(team).
---@field allow_moats_around_spawns boolean Allow players to choose to spawn with a moat
@ -368,7 +370,6 @@ OCFG = {
---@field enable_shared_spawns boolean Enable if players can allow others to join their spawn.
---@field number_of_players_per_shared_spawn number Number of players allowed to join a shared spawn.
---@field enable_friendly_fire boolean Set to true if you want to shoot your own chests and stuff.
---@field main_force_name string The name of the main force.
---@field default_surface string The starting surface of the main force.
---@field scale_resources_around_spawns boolean Scales resources so that even if you spawn "far away" from the center of the map, resources near to your spawn point scale so you aren't surrounded by 100M patches or something. This is useful depending on what map gen settings you pick.
---@field modified_enemy_spawning boolean Adjust enemy spawning based on distance to spawns. All it does it make things more balanced based on your distance and makes the game a little easier. No behemoth worms everywhere just because you spawned far away.

View File

@ -14,7 +14,7 @@ OCFG_KEYS =
["Gameplay"] = {mod_key = "" , ocfg_keys = {""}, type = "header"},
["gameplay.enable_main_team"] = {mod_key = "oarc-mod-enable-main-team" , ocfg_keys = {"gameplay", "enable_main_team"}, type = "boolean"},
["gameplay.enable_separate_teams"] = {mod_key = "oarc-mod-enable-separate-teams" , ocfg_keys = {"gameplay", "enable_separate_teams"}, type = "boolean"},
-- ["gameplay.enable_spawning_on_other_surfaces"] = {mod_key = "oarc-mod-default-allow-spawning-on-other-surfaces" , ocfg_keys = {"gameplay", "enable_spawning_on_other_surfaces"}, type = "boolean"},
-- STARTUP ["gameplay.enable_spawning_on_other_surfaces"] = {mod_key = "oarc-mod-default-allow-spawning-on-other-surfaces" , ocfg_keys = {"gameplay", "enable_spawning_on_other_surfaces"}, type = "boolean"},
["gameplay.allow_moats_around_spawns"] = {mod_key = "oarc-mod-allow-moats-around-spawns" , ocfg_keys = {"gameplay", "allow_moats_around_spawns"}, type = "boolean"},
["gameplay.enable_moat_bridging"] = {mod_key = "oarc-mod-enable-moat-bridging" , ocfg_keys = {"gameplay", "enable_moat_bridging"}, type = "boolean"},
["gameplay.minimum_distance_to_existing_chunks"] = {mod_key = "oarc-mod-minimum-distance-to-existing-chunks" , ocfg_keys = {"gameplay", "minimum_distance_to_existing_chunks"}, type = "integer"},
@ -29,7 +29,7 @@ OCFG_KEYS =
["gameplay.number_of_players_per_shared_spawn"] = {mod_key = "oarc-mod-number-of-players-per-shared-spawn" , ocfg_keys = {"gameplay", "number_of_players_per_shared_spawn"}, type = "integer"},
["gameplay.enable_friendly_fire"] = {mod_key = "oarc-mod-enable-friendly-fire" , ocfg_keys = {"gameplay", "enable_friendly_fire"}, type = "boolean"},
["gameplay.main_force_name"] = {mod_key = "oarc-mod-main-force-name" , ocfg_keys = {"gameplay", "main_force_name"}, type = "string"},
-- ["gameplay.main_force_name"] = {mod_key = "oarc-mod-main-force-name" , ocfg_keys = {"gameplay", "main_force_name"}, type = "string"},
["gameplay.default_surface"] = {mod_key = "oarc-mod-default-surface" , ocfg_keys = {"gameplay", "default_surface"}, type = "string"},
["gameplay.scale_resources_around_spawns"] = {mod_key = "oarc-mod-scale-resources-around-spawns" , ocfg_keys = {"gameplay", "scale_resources_around_spawns"}, type = "boolean"},
@ -70,7 +70,7 @@ OCFG_MOD_KEYS =
["oarc-mod-number-of-players-per-shared-spawn"] = "gameplay.number_of_players_per_shared_spawn",
["oarc-mod-enable-friendly-fire"] = "gameplay.enable_friendly_fire",
["oarc-mod-main-force-name"] = "gameplay.main_force_name",
-- STARTUP ["oarc-mod-main-force-name"] = "gameplay.main_force_name",
["oarc-mod-default-surface"] = "gameplay.default_surface",
["oarc-mod-scale-resources-around-spawns"] = "gameplay.scale_resources_around_spawns",
@ -169,6 +169,7 @@ function CacheModSettings()
-- Special case for startup settings
global.ocfg.gameplay.default_allow_spawning_on_other_surfaces = settings.startup["oarc-mod-default-allow-spawning-on-other-surfaces"].value
global.ocfg.gameplay.main_force_name = settings.startup["oarc-mod-main-force-name"].value
end
function GetScenarioOverrideSettings()

View File

@ -4,7 +4,14 @@ data:extend({
name = "oarc-mod-default-allow-spawning-on-other-surfaces",
setting_type = "startup",
default_value = false,
order = "b3"
order = "a1"
},
{
type = "string-setting",
name = "oarc-mod-main-force-name",
setting_type = "startup",
default_value = "Main Force",
order = "a2"
},
{
@ -140,13 +147,6 @@ data:extend({
order = "d7"
},
{
type = "string-setting",
name = "oarc-mod-main-force-name",
setting_type = "runtime-global",
default_value = "Main Force",
order = "e1"
},
{
type = "string-setting",
name = "oarc-mod-default-surface",