diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index d228a9df1b7..040a14f7802 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -126,8 +126,12 @@ if(!ticker || ticker.current_state != GAME_STATE_PLAYING) usr << "The round is either not ready, or has already finished..." return - var/relevent_cap = max(config.hard_popcap, config.extreme_popcap) - if(relevent_cap && living_player_count() >= relevent_cap && !(ckey(key) in admin_datums)) + var/relevant_cap + if(config.hard_popcap && config.extreme_popcap) + relevant_cap = min(config.hard_popcap, config.extreme_popcap) + else + relevant_cap = max(config.hard_popcap, config.extreme_popcap) + if(relevant_cap && living_player_count() >= relevant_cap && !(ckey(key) in admin_datums)) usr << "[config.hard_popcap_message]" return LateChoices()