diff --git a/code/__HELPERS/mob_helpers.dm b/code/__HELPERS/mob_helpers.dm index b2190f4626e..03ae43f5601 100644 --- a/code/__HELPERS/mob_helpers.dm +++ b/code/__HELPERS/mob_helpers.dm @@ -657,7 +657,7 @@ GLOBAL_LIST_INIT(do_after_once_tracker, list()) * where active is defined as conscious (STAT = 0) and not an antag */ /proc/check_active_security_force() - var/sec_positions = GLOB.security_positions - "Magistrate" + var/sec_positions = GLOB.active_security_positions var/total = 0 var/active = 0 var/dead = 0 diff --git a/code/datums/cache/crew.dm b/code/datums/cache/crew.dm index f0332a07804..5f6a1bd91c1 100644 --- a/code/datums/cache/crew.dm +++ b/code/datums/cache/crew.dm @@ -27,7 +27,6 @@ GLOBAL_DATUM_INIT(crew_repository, /datum/repository/crew, new()) bold_jobs += GLOB.command_positions bold_jobs += get_all_centcom_jobs() bold_jobs += get_all_ERT_jobs() - bold_jobs += list("Nanotrasen Representative", "Blueshield", "Magistrate") for(var/thing in GLOB.human_list) var/mob/living/carbon/human/H = thing diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm index 87e879566d0..ff26c6047a2 100644 --- a/code/datums/datacore.dm +++ b/code/datums/datacore.dm @@ -41,7 +41,7 @@ GLOBAL_LIST_EMPTY(PDA_Manifest) if(rank == "Captain" && heads.len != 1) heads.Swap(1, heads.len) - if(real_rank in GLOB.security_positions) + if(real_rank in GLOB.active_security_positions) sec[++sec.len] = list("name" = name, "rank" = rank, "active" = isactive) department = 1 if(depthead && sec.len != 1) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 4afa4e0ac9c..16515018235 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -272,8 +272,7 @@ . = list() for(var/thing in GLOB.human_list) var/mob/living/carbon/human/player = thing - var/list/real_command_positions = GLOB.command_positions.Copy() - "Nanotrasen Representative" - if(player.stat != DEAD && player.mind && (player.mind.assigned_role in real_command_positions)) + if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.command_head_positions)) . |= player.mind @@ -283,8 +282,7 @@ /datum/game_mode/proc/get_all_heads() . = list() for(var/mob/player in GLOB.mob_list) - var/list/real_command_positions = GLOB.command_positions.Copy() - "Nanotrasen Representative" - if(player.mind && (player.mind.assigned_role in real_command_positions)) + if(player.mind && (player.mind.assigned_role in GLOB.command_head_positions)) . |= player.mind ////////////////////////////////////////////// @@ -294,7 +292,7 @@ . = list() for(var/thing in GLOB.human_list) var/mob/living/carbon/human/player = thing - if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.security_positions)) + if(player.stat != DEAD && player.mind && (player.mind.assigned_role in GLOB.active_security_positions)) . |= player.mind //////////////////////////////////////// @@ -304,7 +302,7 @@ . = list() for(var/thing in GLOB.human_list) var/mob/living/carbon/human/player = thing - if(player.mind && (player.mind.assigned_role in GLOB.security_positions)) + if(player.mind && (player.mind.assigned_role in GLOB.active_security_positions)) . |= player.mind /datum/game_mode/proc/check_antagonists_topic(href, href_list[]) diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index ea17529ad5d..fc4836f3f23 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -177,8 +177,7 @@ /datum/game_mode/revolution/latespawn(mob/living/carbon/human/player) ..() var/datum/mind/player_mind = player.mind - var/list/real_command_positions = GLOB.command_positions.Copy() - "Nanotrasen Representative" - if(player_mind && (player_mind.assigned_role in real_command_positions)) + if(player_mind && (player_mind.assigned_role in GLOB.command_head_positions)) for(var/datum/mind/rev_mind in head_revolutionaries) mark_for_death(rev_mind, player_mind) diff --git a/code/game/jobs/job_globals.dm b/code/game/jobs/job_globals.dm index f5d66bee072..94b36259594 100644 --- a/code/game/jobs/job_globals.dm +++ b/code/game/jobs/job_globals.dm @@ -3,6 +3,7 @@ GLOBAL_LIST_INIT(station_departments, list(DEPARTMENT_COMMAND, DEPARTMENT_MEDICA DEPARTMENT_SCIENCE, DEPARTMENT_SECURITY, DEPARTMENT_SUPPLY, DEPARTMENT_SERVICE, DEPARTMENT_ASSISTANT)) +/// All roles that are within the command category GLOBAL_LIST_INIT(command_positions, list( "Captain", "Head of Personnel", @@ -15,6 +16,16 @@ GLOBAL_LIST_INIT(command_positions, list( "Blueshield" )) +/// Only roles that are command of departments, for revolution and similar stuff +GLOBAL_LIST_INIT(command_head_positions, list( + "Captain", + "Head of Personnel", + "Head of Security", + "Chief Engineer", + "Research Director", + "Chief Medical Officer", +)) + GLOBAL_LIST_INIT(engineering_positions, list( "Chief Engineer", @@ -58,9 +69,6 @@ GLOBAL_LIST_INIT(support_positions, list( "Clown", "Mime", "Barber", - "Magistrate", - "Nanotrasen Representative", - "Blueshield", "Explorer" )) @@ -73,7 +81,7 @@ GLOBAL_LIST_INIT(supply_positions, list( GLOBAL_LIST_INIT(service_positions, (list("Head of Personnel") + (support_positions - supply_positions))) - +/// Roles that include any semblence of security, mostly for jobbans GLOBAL_LIST_INIT(security_positions, list( "Head of Security", "Warden", @@ -83,6 +91,15 @@ GLOBAL_LIST_INIT(security_positions, list( "Blueshield" )) +/// Active security roles +GLOBAL_LIST_INIT(active_security_positions, list( + "Head of Security", + "Warden", + "Detective", + "Security Officer" +)) + + GLOBAL_LIST_INIT(assistant_positions, list( "Assistant" diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 713cf1ca50b..049d699630d 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -339,7 +339,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0) data["jobs_engineering"] = GLOB.engineering_positions data["jobs_medical"] = GLOB.medical_positions data["jobs_science"] = GLOB.science_positions - data["jobs_security"] = GLOB.security_positions + data["jobs_security"] = GLOB.active_security_positions data["jobs_service"] = GLOB.service_positions data["jobs_supply"] = GLOB.supply_positions - "Head of Personnel" data["jobs_centcom"] = get_all_centcom_jobs() + get_all_ERT_jobs() diff --git a/code/modules/events/event_procs.dm b/code/modules/events/event_procs.dm index ed8f16af704..dad0a1f2bb8 100644 --- a/code/modules/events/event_procs.dm +++ b/code/modules/events/event_procs.dm @@ -93,7 +93,7 @@ if(M.mind.assigned_role in list("Chief Medical Officer", "Medical Doctor")) active_with_role["Medical"]++ - if(M.mind.assigned_role in GLOB.security_positions) + if(M.mind.assigned_role in GLOB.active_security_positions) active_with_role["Security"]++ if(M.mind.assigned_role in list("Research Director", "Scientist")) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 3974940769f..3ac302009ef 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -477,7 +477,7 @@ var/list/categorizedJobs = list( "Command" = list(jobs = list(), titles = GLOB.command_positions, color = "#aac1ee"), "Engineering" = list(jobs = list(), titles = GLOB.engineering_positions, color = "#ffd699"), - "Security" = list(jobs = list(), titles = GLOB.security_positions, color = "#ff9999"), + "Security" = list(jobs = list(), titles = GLOB.active_security_positions, color = "#ff9999"), "Miscellaneous" = list(jobs = list(), titles = list(), color = "#ffffff", colBreak = 1), "Synthetic" = list(jobs = list(), titles = GLOB.nonhuman_positions, color = "#ccffcc"), "Support / Service" = list(jobs = list(), titles = GLOB.service_positions, color = "#cccccc"), diff --git a/code/modules/world_topic/manifest.dm b/code/modules/world_topic/manifest.dm index 8f7384ede8e..d688844a4d2 100644 --- a/code/modules/world_topic/manifest.dm +++ b/code/modules/world_topic/manifest.dm @@ -5,7 +5,7 @@ var/list/positions = list() var/list/set_names = list( "heads" = GLOB.command_positions, - "sec" = GLOB.security_positions, + "sec" = GLOB.active_security_positions, "eng" = GLOB.engineering_positions, "med" = GLOB.medical_positions, "sci" = GLOB.science_positions,