diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index 1f5b6d41aee..8f760c3cc99 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -13,6 +13,9 @@ var/global/list/active_ghost_pods = list() var/global/list/sensorpreflist = list("Off", "Binary", "Vitals", "Tracking", "No Preference") +// Used by the ban panel to determine what departments are offmap departments. All these share an 'offmap roles' ban. +var/global/list/offmap_departments = list(DEPARTMENT_TALON) + // Closets have magic appearances GLOBAL_LIST_EMPTY(closet_appearances) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 19a336d20b3..41f14ec5c7c 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -402,14 +402,13 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 6) //So things dont get squiiiiished! + if(++counter >= 6) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "" //Security (Red) @@ -423,14 +422,13 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "" //Engineering (Yellow) @@ -444,14 +442,13 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "" //Cargo (Yellow) @@ -465,14 +462,13 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "" //Medical (White) @@ -486,14 +482,13 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "" //Science (Purple) @@ -507,20 +502,20 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "" + //VOREStation Edit Start //Exploration (Purple) counter = 0 jobs += "" - jobs += "" + jobs += "" for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_PLANET)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) @@ -528,15 +523,39 @@ if(jobban_isbanned(M, job.title)) jobs += "" - counter++ else jobs += "" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 + jobs += "
Science Positions
Exploration Positions
[replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
" + + //Offmap (Kinda lightish bluey) + counter = 0 + // Needs to be done early because it uses the length of the list for sizing + var/list/offmap_jobs = list() + for(var/dept in offmap_departments) + offmap_jobs += SSjob.get_job_titles_in_department(dept) + jobs += "" + jobs += "" + for(var/jobPos in offmap_jobs) + if(!jobPos) continue + var/datum/job/job = job_master.GetJob(jobPos) + if(!job) continue + + if(jobban_isbanned(M, job.title)) + jobs += "" + else + jobs += "" + + if(++counter >= 5) //So things dont get squiiiiished! + jobs += "" + counter = 0 + + jobs += "
Offmap Positions
[replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
" + //VOREstation Edit End //Civilian (Grey) counter = 0 @@ -549,12 +568,10 @@ if(jobban_isbanned(M, job.title)) jobs += "[replacetext(job.title, " ", " ")]" - counter++ else jobs += "[replacetext(job.title, " ", " ")]" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 @@ -565,10 +582,10 @@ jobs += "" - //Non-Human (Green) + //Synthetic (Green) counter = 0 jobs += "" - jobs += "" + jobs += "" for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_SYNTHETIC)) if(!jobPos) continue var/datum/job/job = job_master.GetJob(jobPos) @@ -576,59 +593,56 @@ if(jobban_isbanned(M, job.title)) jobs += "" - counter++ else jobs += "" - counter++ - if(counter >= 5) //So things dont get squiiiiished! + if(++counter >= 5) //So things dont get squiiiiished! jobs += "" counter = 0 - //pAI isn't technically a job, but it goes in here. - - if(jobban_isbanned(M, "pAI")) - jobs += "" - else - jobs += "" - //VOREStation Add Start - if(jobban_isbanned(M, "GhostRoles")) - jobs += "" - else - jobs += "" - //VOREStation Add End - if(jobban_isbanned(M, "AntagHUD")) - jobs += "" - else - jobs += "" jobs += "
Non-human Positions
Synthetic Positions
[replacetext(job.title, " ", " ")][replacetext(job.title, " ", " ")]
pAIpAIGhostRolesGhostRolesAntagHUDAntagHUD
" //Antagonist (Orange) + counter = 0 var/isbanned_dept = jobban_isbanned(M, "Syndicate") jobs += "" - jobs += "" + jobs += "" // Antagonists. for(var/antag_type in all_antag_types) var/datum/antagonist/antag = all_antag_types[antag_type] if(!antag || !antag.bantype) continue + if(jobban_isbanned(M, "[antag.bantype]") || isbanned_dept) jobs += "" else jobs += "" + if(++counter >= 5) //So things dont get squiiiiished! + jobs += "" + counter = 0 + jobs += "
Antagonist Positions
Antagonist Positions
[replacetext("[antag.role_text]", " ", " ")][replacetext("[antag.role_text]", " ", " ")]
" - //Other races (Blue) ... And also graffiti. - var/list/misc_roles = list("Dionaea", "Graffiti", "Custom loadout") - jobs += "Other Roles" + //Misc 'roles' + counter = 0 + var/list/misc_roles = list("Dionaea", "Graffiti", "Custom loadout", "pAI", "GhostRoles", "AntagHUD") + jobs += "" + jobs += "" for(var/entry in misc_roles) if(jobban_isbanned(M, entry)) jobs += "" else jobs += "" - jobs += "
Other Roles
[entry][entry]
" + + if(++counter >= 5) //So things dont get squiiiiished! + jobs += "" + counter = 0 + + jobs += "" + + // Finished body = "[jobs]" dat = "[header][body]" usr << browse(dat, "window=jobban2;size=800x490") @@ -704,6 +718,13 @@ var/datum/job/temp = job_master.GetJob(jobPos) if(!temp) continue joblist += temp.title + if("offmapdept") + for(var/dept in offmap_departments) + for(var/jobPos in SSjob.get_job_titles_in_department(dept)) + if(!jobPos) continue + var/datum/job/temp = job_master.GetJob(jobPos) + if(!temp) continue + joblist += temp.title //VOREStation Edit End if("civiliandept") for(var/jobPos in SSjob.get_job_titles_in_department(DEPARTMENT_CIVILIAN))