From 65eed9df339ab62899db41114b848d0d7983d7e5 Mon Sep 17 00:00:00 2001 From: Kyani <65205627+EmeraldCandy@users.noreply.github.com> Date: Tue, 19 Aug 2025 13:43:52 -0400 Subject: [PATCH] Blob Split Population Requirement (#29985) * population limit * config file update * Update event_configuration.dm * Update event_configuration.dm * Update code/controllers/configuration/sections/event_configuration.dm Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> --------- Signed-off-by: Kyani <65205627+EmeraldCandy@users.noreply.github.com> Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com> --- code/_onclick/hud/blob_overmind.dm | 2 +- .../controllers/configuration/sections/event_configuration.dm | 4 ++++ config/example/config.toml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm index 94279aac05d..272c5531987 100644 --- a/code/_onclick/hud/blob_overmind.dm +++ b/code/_onclick/hud/blob_overmind.dm @@ -195,7 +195,7 @@ static_inventory += using var/mob/camera/blob/B = user - if(!B.is_offspring) // Checks if the blob is an offspring, to not create split button if it is + if(!B.is_offspring && (length(GLOB.clients) > GLOB.configuration.event.blob_highpop_trigger)) // Checks if the blob is an offspring or below a population value, to not create split button if it is using = new /atom/movable/screen/blob/split() using.screen_loc = ui_acti static_inventory += using diff --git a/code/controllers/configuration/sections/event_configuration.dm b/code/controllers/configuration/sections/event_configuration.dm index d169a92406d..491e9ba4c0e 100644 --- a/code/controllers/configuration/sections/event_configuration.dm +++ b/code/controllers/configuration/sections/event_configuration.dm @@ -24,6 +24,9 @@ /// Expected time of a round in deciseconds var/expected_round_length = 120 MINUTES // This macro is equivilent to 72,000 deciseconds + /// the population needed to allow blobs to split consciousness + var/blob_highpop_trigger = 60 + /datum/configuration_section/event_configuration/load_data(list/data) // Use the load wrappers here. That way the default isnt made 'null' if you comment out the config line CONFIG_LOAD_BOOL(enable_random_events, data["allow_random_events"]) @@ -58,4 +61,5 @@ ASSERT(target in list(EVENT_LEVEL_MUNDANE, EVENT_LEVEL_MODERATE, EVENT_LEVEL_MAJOR)) first_run_times[target] = list("lower" = assoclist["lower_bound"] MINUTES, "upper" = assoclist["upper_bound"] MINUTES) + CONFIG_LOAD_NUM(blob_highpop_trigger, data["blob_highpop_trigger"]) diff --git a/config/example/config.toml b/config/example/config.toml index cb91700c678..18e97f6dd6a 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -235,6 +235,8 @@ event_initial_delays = [ {severity = "moderate", lower_bound = 25, upper_bound = 40}, {severity = "major", lower_bound = 55, upper_bound = 75}, ] +# The population needed to allow blobs to split consciousness +blob_highpop_trigger = 60 ################################################################