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