diff --git a/config/bubbers/storyteller.txt b/config/bubbers/storyteller.txt index 3b09cecce89..1010ea361d0 100644 --- a/config/bubbers/storyteller.txt +++ b/config/bubbers/storyteller.txt @@ -48,3 +48,5 @@ MAJOR_POP_SCALE_PENALTY 30 ROLESET_POP_SCALE_PENALTY 30 OBJECTIVES_POP_SCALE_PENALTY 30 +## Disable storyteller crew antagonist creation after this many minutes. Values less than 0 means don't disable. +DISALLOW_CREW_ANTAGS_TIME_THRESHOLD -1 diff --git a/modular_zubbers/code/modules/storyteller/config.dm b/modular_zubbers/code/modules/storyteller/config.dm index ef78018d6d4..1ca6f2f3b01 100644 --- a/modular_zubbers/code/modules/storyteller/config.dm +++ b/modular_zubbers/code/modules/storyteller/config.dm @@ -147,3 +147,8 @@ default = GHOSTSET_POP_SCALE_PENALTY integer = TRUE min_val = 0 + +/datum/config_entry/number/disallow_crew_antags_time_threshold + default = -1 + integer = TRUE + min_val = -1 diff --git a/modular_zubbers/code/modules/storyteller/event_defines/crewset/_antagonist_event.dm b/modular_zubbers/code/modules/storyteller/event_defines/crewset/_antagonist_event.dm index 3c3e8b4f491..4c5647929d2 100644 --- a/modular_zubbers/code/modules/storyteller/event_defines/crewset/_antagonist_event.dm +++ b/modular_zubbers/code/modules/storyteller/event_defines/crewset/_antagonist_event.dm @@ -70,6 +70,10 @@ . = ..() if(!.) return + var/crew_antag_time_maximum = CONFIG_GET(number/disallow_crew_antags_time_threshold) + if(crew_antag_time_maximum >= 0) + if( (world.time-SSticker.round_start_time) >= (crew_antag_time_maximum MINUTES)) + return FALSE if(!roundstart && !SSgamemode.can_inject_antags()) return FALSE if(!get_antag_amount())