diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 6aea76117..03c4b69da 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -82,6 +82,8 @@ SUBSYSTEM_DEF(job) return FALSE if(jobban_isbanned(player, rank) || QDELETED(player)) return FALSE + if((job.title in GLOB.silly_positions) && player.client.prefs.sillyroles == FALSE) + return FALSE if(!job.player_old_enough(player.client)) return FALSE if(job.required_playtime_remaining(player.client)) @@ -105,6 +107,9 @@ SUBSYSTEM_DEF(job) if(jobban_isbanned(player, job.title) || QDELETED(player)) JobDebug("FOC isbanned failed, Player: [player]") continue + if((job.title in GLOB.silly_positions) && (player.client.prefs.sillyroles == FALSE)) + JobDebug("FOC is not whitelisted, Player: [player]") + continue if(!job.player_old_enough(player.client)) JobDebug("FOC player not old enough, Player: [player]") continue @@ -142,6 +147,10 @@ SUBSYSTEM_DEF(job) JobDebug("GRJ isbanned failed, Player: [player], Job: [job.title]") continue + if((job.title in GLOB.silly_positions) && (player.client.prefs.sillyroles == FALSE)) + JobDebug("GRJ is not whitelisted, Player: [player], Job: [job.title]") + continue + if(!job.player_old_enough(player.client)) JobDebug("GRJ player not old enough, Player: [player]") continue @@ -320,6 +329,10 @@ SUBSYSTEM_DEF(job) JobDebug("DO player deleted during job ban check") break + if((job.title in GLOB.silly_positions) && (player.client.prefs.sillyroles == FALSE)) + JobDebug("DO is not whitelisted, Player: [player], Job:[job.title]") + continue + if(!job.player_old_enough(player.client)) JobDebug("DO player not old enough, Player: [player], Job:[job.title]") continue @@ -510,12 +523,16 @@ SUBSYSTEM_DEF(job) var/never = 0 //never var/banned = 0 //banned var/young = 0 //account too young + var/silly = 0 //Silly whitelist required for(var/mob/dead/new_player/player in GLOB.player_list) if(!(player.ready == PLAYER_READY_TO_PLAY && player.mind && !player.mind.assigned_role)) continue //This player is not ready if(jobban_isbanned(player, job.title) || QDELETED(player)) banned++ continue + if((job.title in GLOB.silly_positions) && (player.client.prefs.sillyroles == FALSE)) + silly++ + continue if(!job.player_old_enough(player.client)) young++ continue @@ -535,6 +552,7 @@ SUBSYSTEM_DEF(job) SSblackbox.record_feedback("nested tally", "job_preferences", never, list("[job.title]", "never")) SSblackbox.record_feedback("nested tally", "job_preferences", banned, list("[job.title]", "banned")) SSblackbox.record_feedback("nested tally", "job_preferences", young, list("[job.title]", "young")) + SSblackbox.record_feedback("nested tally", "job_preferences", silly, list("[job.title]", "silly")) /datum/controller/subsystem/job/proc/PopcapReached() var/hpc = CONFIG_GET(number/hard_popcap) diff --git a/code/modules/jobs/job_types/job_alt_titles.dm b/code/modules/jobs/job_types/job_alt_titles.dm index 9b7d460ad..cd29fff71 100644 --- a/code/modules/jobs/job_types/job_alt_titles.dm +++ b/code/modules/jobs/job_types/job_alt_titles.dm @@ -14,7 +14,7 @@ //Service /datum/job/assistant - alt_titles = list("Civilian", "Morale Officer", "Stripper", "Off-Duty", "Escort", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist") + alt_titles = list("Civilian", "Morale Officer", "Stripper", "Off-Duty", "Escort", "Visitor", "Businessman", "Trader", "Entertainer", "Tourist", "Clerk") /datum/job/cook alt_titles = list("Cook", "Culinary Artist", "Butcher", "Chef de partie", "Poissonier") @@ -23,7 +23,7 @@ alt_titles = list("Gardener", "Herbalist", "Botanical Researcher", "Hydroponicist", "Farmer", "Beekeeper", "Vintner") /datum/job/curator - alt_titles = list("Journalist", "Librarian", "Keeper") + alt_titles = list("Journalist", "Librarian", "Keeper", "Artist") // Curator has it's own art window section /datum/job/chaplain alt_titles = list("Priest", "Priestess", "Bishop", "Prior", "Monk", "Nun", "Counselor") @@ -48,7 +48,7 @@ alt_titles = list("Research Manager", "Science Administrator") /datum/job/scientist - alt_titles = list("Circuitry Designer", "Xenobiologist", "Xenobotanist", "Xenoarcheologist", "Chemical Researcher", "Researcher", "Pyrotechnician") + alt_titles = list("Circuitry Designer", "Xenobiologist", "Xenobotanist", "Xenoarcheologist", "Chemical Researcher", "Researcher", "Toxins Researcher") /datum/job/roboticist alt_titles = list("Biomechanical Engineer", "Mechatronic Engineer", "Mechanic") @@ -84,7 +84,7 @@ alt_titles = list("Prison Chief", "Armory Manager", "Prison Administrator", "Brig Superintendent") /datum/job/officer - alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet") + alt_titles = list("Security Agent", "Probation Officer", "Security Peacekeeper", "Security Guard", "Guardsman", "Security Cadet", "Police Officer") /datum/job/detective alt_titles = list("Forensics Technician", "Private Investigator", "Gumshoe") @@ -99,7 +99,7 @@ alt_titles = list("Mail Man", "Mail Woman", "Mailroom Technician", "Deliveries Officer", "Logistics Technician") /datum/job/mining - alt_titles = list("Exotic Ore Miner", "Fauna Hunter", "Explorer", "Digger") //Just because you're a hunter does not excuse you from rock collecting!!!!!!!!!!!! + alt_titles = list("Exotic Ore Miner", "Digger") //Fauna Hunters and Explorers have lost their privileges //Command /datum/job/captain