diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm index 6a9cf9b963..b930e53f3f 100644 --- a/code/controllers/configuration.dm +++ b/code/controllers/configuration.dm @@ -278,6 +278,7 @@ GLOBAL_PROTECT(config_dir) var/error_msg_delay = 50 // How long to wait between messaging admins about occurrences of a unique error var/arrivals_shuttle_dock_window = 55 //Time from when a player late joins on the arrivals shuttle to when the shuttle docks on the station + var/arrivals_shuttle_require_undocked = FALSE //Require the arrivals shuttle to be undocked before latejoiners can join var/arrivals_shuttle_require_safe_latejoin = FALSE //Require the arrivals shuttle to be operational in order for latejoiners to join var/mice_roundstart = 10 // how many wire chewing rodents spawn at roundstart. @@ -818,6 +819,8 @@ GLOBAL_PROTECT(config_dir) GLOB.MAX_EX_FLAME_RANGE = BombCap if("arrivals_shuttle_dock_window") arrivals_shuttle_dock_window = max(PARALLAX_LOOP_TIME, text2num(value)) + if("arrivals_shuttle_require_undocked") + arrivals_shuttle_require_undocked = TRUE if("arrivals_shuttle_require_safe_latejoin") arrivals_shuttle_require_safe_latejoin = TRUE if("mice_roundstart") diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 97a5cb8486..c1dd6a662e 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -329,6 +329,9 @@ if(SSshuttle.arrivals.damaged && config.arrivals_shuttle_require_safe_latejoin) src << alert("The arrivals shuttle is currently malfunctioning! You cannot join.") return FALSE + + if(config.arrivals_shuttle_require_undocked) + SSshuttle.arrivals.RequireUndocked(src) arrivals_docked = SSshuttle.arrivals.mode != SHUTTLE_CALL //Remove the player from the join queue if he was in one and reset the timer diff --git a/config/game_options.txt b/config/game_options.txt index 7d12225f47..c580cd4ea7 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -486,6 +486,9 @@ Space_Budget 16 ## Must be at least 30 to not break parallax I recommended at least 55 to be visually/aurally appropriate ARRIVALS_SHUTTLE_DOCK_WINDOW 55 +## Uncomment to require the arrivals shuttle to be in flight (if it can fly) before late join players can join +#ARRIVALS_SHUTTLE_REQUIRE_UNDOCKED + ## Uncomment to prevent late join players from spawning if the arrivals shuttle is depressurized #ARRIVALS_SHUTTLE_REQUIRE_SAFE_LATEJOIN