diff --git a/__DEFINES/role_datums_defines.dm b/__DEFINES/role_datums_defines.dm
index 09a5ae800151..f917f1b71fed 100644
--- a/__DEFINES/role_datums_defines.dm
+++ b/__DEFINES/role_datums_defines.dm
@@ -282,9 +282,11 @@
#define LATEJOIN_DELAY_MIN (5 MINUTES)/(SS_WAIT_TICKER)
#define LATEJOIN_DELAY_MAX (30 MINUTES)/(SS_WAIT_TICKER)
+#define LATEJOIN_STARTING_ROUND_DELAY 0 MINUTES
#define MIDROUND_DELAY_MIN (5 MINUTES)/(SS_WAIT_TICKER)
#define MIDROUND_DELAY_MAX (30 MINUTES)/(SS_WAIT_TICKER)
+#define MIDROUND_STARTING_ROUND_DELAY (30 MINUTES)/(SS_WAIT_TICKER)
#define MIDROUND_EXTENDED_DELAY_MIN (20 MINUTES)/(SS_WAIT_TICKER)
#define MIDROUND_EXTENDED_DELAY_MAX (35 MINUTES)/(SS_WAIT_TICKER)
diff --git a/code/datums/gamemode/dynamic/dynamic.dm b/code/datums/gamemode/dynamic/dynamic.dm
index c237217f8769..1833061f9c7e 100644
--- a/code/datums/gamemode/dynamic/dynamic.dm
+++ b/code/datums/gamemode/dynamic/dynamic.dm
@@ -49,6 +49,10 @@ var/stacking_limit = 90
var/latejoin_injection_cooldown = 0
var/midround_injection_cooldown = 0
+ //Initial starting cooldowns after the round starts, for when you don't want midrounds too early in the round.
+ //If set to 0 or negative, uses the regular cooldown behavior.
+ var/latejoin_starting_round_cooldown = LATEJOIN_STARTING_ROUND_DELAY
+ var/midround_starting_round_cooldown = MIDROUND_STARTING_ROUND_DELAY
var/datum/dynamic_ruleset/latejoin/forced_latejoin_rule = null
@@ -206,11 +210,17 @@ var/stacking_limit = 90
generate_threat()
- var/latejoin_injection_cooldown_middle = 0.5*(LATEJOIN_DELAY_MAX + LATEJOIN_DELAY_MIN)
- latejoin_injection_cooldown = round(clamp(exp_distribution(latejoin_injection_cooldown_middle), LATEJOIN_DELAY_MIN, LATEJOIN_DELAY_MAX))
+ if(latejoin_starting_round_cooldown >= 0)
+ latejoin_injection_cooldown = latejoin_starting_round_cooldown
+ else
+ var/latejoin_injection_cooldown_middle = 0.5*(LATEJOIN_DELAY_MAX + LATEJOIN_DELAY_MIN)
+ latejoin_injection_cooldown = round(clamp(exp_distribution(latejoin_injection_cooldown_middle), LATEJOIN_DELAY_MIN, LATEJOIN_DELAY_MAX))
- var/midround_injection_cooldown_middle = 0.5*(MIDROUND_DELAY_MAX + MIDROUND_DELAY_MIN)
- midround_injection_cooldown = round(clamp(exp_distribution(midround_injection_cooldown_middle), MIDROUND_DELAY_MIN, MIDROUND_DELAY_MAX))
+ if(midround_starting_round_cooldown >= 0)
+ midround_injection_cooldown = midround_starting_round_cooldown
+ else
+ var/midround_injection_cooldown_middle = 0.5*(MIDROUND_DELAY_MAX + MIDROUND_DELAY_MIN)
+ midround_injection_cooldown = round(clamp(exp_distribution(midround_injection_cooldown_middle), MIDROUND_DELAY_MIN, MIDROUND_DELAY_MAX))
message_admins("Dynamic Mode initialized with a Threat Level of... [threat_level] and [midround_threat_level] for midround!")
log_admin("Dynamic Mode initialized with a Threat Level of... [threat_level] and [midround_threat_level] for midround!")
diff --git a/code/datums/gamemode/factions/plague_mice.dm b/code/datums/gamemode/factions/plague_mice.dm
index bf700cf79c15..053d402a5c3a 100644
--- a/code/datums/gamemode/factions/plague_mice.dm
+++ b/code/datums/gamemode/factions/plague_mice.dm
@@ -91,7 +91,7 @@
plague.color = "#ADAEAA"
plague.pattern = 3
plague.pattern_color = "#EE9A9C"
- plague.stage = 4 //4 stages, unlocks the really dangerous symptoms rather than just DNA Degradation
+ plague.max_stage = 4 //4 stages, unlocks the really dangerous symptoms rather than just DNA Degradation
plague.speed = 4 //Takes about 50 seconds to advance to the next stage
plague.makerandom(list(90,100),list(40,75),anti,bad,null)
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 9ace7e7e25e9..2299cde8724b 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -74,7 +74,7 @@ var/list/global_deadchat_listeners = list()
log_say("[name]/[key_name(src)] (@[location_text]) Deadsay: [message]")
for(var/mob/M in get_deadchat_hearers())
- to_chat(M, "[formatFollow(src)] [name][alt_name] [message]")
+ to_chat(M, "[formatFollow(src)] [name][alt_name] [message]")
/mob/proc/get_ear()
// returns an atom representing a location on the map from which this