diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 816d08a14d..ac4d395f35 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -367,9 +367,14 @@ SUBSYSTEM_DEF(job) JobDebug("DO, Handling unrejectable unassigned") //Mop up people who can't leave. for(var/mob/dead/new_player/player in unassigned) //Players that wanted to back out but couldn't because they're antags (can you feel the edge case?) - if(!GiveRandomJob(player)) - if(!AssignRole(player, SSjob.overflow_role)) //If everything is already filled, make them an assistant - return FALSE //Living on the edge, the forced antagonist couldn't be assigned to overflow role (bans, client age) - just reroll + if(player.client.prefs.joblessrole == BERANDOMJOB) //Gives the player a random role if their preferences are set to it + if(!GiveRandomJob(player)) + if(!AssignRole(player, SSjob.overflow_role)) //If everything is already filled, make them the overflow role + return FALSE //Living on the edge, the forced antagonist couldn't be assigned to overflow role (bans, client age) - just reroll + else //If the player prefers to return to lobby or be an assistant, give them assistant + if(!AssignRole(player, SSjob.overflow_role)) + if(!GiveRandomJob(player)) //The forced antagonist couldn't be assigned to overflow role (bans, client age) - give a random role + return FALSE //Somehow the forced antagonist couldn't be assigned to the overflow role or the a random role - reroll return validate_required_jobs(required_jobs) diff --git a/html/changelogs/archive/2022-05.yml b/html/changelogs/archive/2022-05.yml index a191bccd51..76525a206f 100644 --- a/html/changelogs/archive/2022-05.yml +++ b/html/changelogs/archive/2022-05.yml @@ -185,3 +185,6 @@ 2022-05-24: SandPoot: - rscadd: You can now make shuttle seats with titanium. +2022-05-27: + BongaTheProto: + - bugfix: fixes extreme and harmful prefs so they're ABLE TO BE SAVED!! FINALLY!!! diff --git a/modular_citadel/code/modules/client/preferences_savefile.dm b/modular_citadel/code/modules/client/preferences_savefile.dm index 47c655d4c6..af527a50e5 100644 --- a/modular_citadel/code/modules/client/preferences_savefile.dm +++ b/modular_citadel/code/modules/client/preferences_savefile.dm @@ -69,8 +69,8 @@ WRITE_FILE(S["noncon_pref"], nonconpref) WRITE_FILE(S["vore_pref"], vorepref) WRITE_FILE(S["unholypref"], unholypref) - WRITE_FILE(S["extremepref"], extremepref) - WRITE_FILE(S["extremeharm"], extremeharm) + WRITE_FILE(S["extreme_pref"], extremepref) + WRITE_FILE(S["extreme_harm"], extremeharm) WRITE_FILE(S["enable_personal_chat_color"], enable_personal_chat_color) WRITE_FILE(S["personal_chat_color"], personal_chat_color) WRITE_FILE(S["alt_titles_preferences"], alt_titles_preferences)