diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm
index 029d15f4895..62920ed2a40 100644
--- a/code/__DEFINES/job.dm
+++ b/code/__DEFINES/job.dm
@@ -7,58 +7,59 @@
#define JOBCAT_ENGSEC (1<<0)
-#define JOB_CAPTAIN (1<<0)
-#define JOB_HOS (1<<1)
-#define JOB_WARDEN (1<<2)
+#define JOB_CAPTAIN (1<<0)
+#define JOB_HOS (1<<1)
+#define JOB_WARDEN (1<<2)
#define JOB_DETECTIVE (1<<3)
-#define JOB_OFFICER (1<<4)
+#define JOB_OFFICER (1<<4)
#define JOB_CHIEF (1<<5)
#define JOB_ENGINEER (1<<6)
#define JOB_ATMOSTECH (1<<7)
-#define JOB_AI (1<<8)
-#define JOB_CYBORG (1<<9)
-#define JOB_CENTCOM (1<<10)
+#define JOB_AI (1<<8)
+#define JOB_CYBORG (1<<9)
+#define JOB_CENTCOM (1<<10)
#define JOB_SYNDICATE (1<<11)
+#define JOB_JUDGE (1<<12)
#define JOBCAT_MEDSCI (1<<1)
-#define JOB_RD (1<<0)
+#define JOB_RD (1<<0)
#define JOB_SCIENTIST (1<<1)
-#define JOB_CHEMIST (1<<2)
-#define JOB_CMO (1<<3)
-#define JOB_DOCTOR (1<<4)
-#define JOB_GENETICIST (1<<5)
-#define JOB_VIROLOGIST (1<<6)
+#define JOB_CHEMIST (1<<2)
+#define JOB_CMO (1<<3)
+#define JOB_DOCTOR (1<<4)
+#define JOB_GENETICIST (1<<5)
+#define JOB_VIROLOGIST (1<<6)
#define JOB_PSYCHIATRIST (1<<7)
-#define JOB_ROBOTICIST (1<<8)
+#define JOB_ROBOTICIST (1<<8)
#define JOB_PARAMEDIC (1<<9)
-#define JOB_CORONER (1<<10)
+#define JOB_CORONER (1<<10)
#define JOBCAT_SUPPORT (1<<2)
-#define JOB_HOP (1<<0)
+#define JOB_HOP (1<<0)
#define JOB_BARTENDER (1<<1)
#define JOB_BOTANIST (1<<2)
#define JOB_CHEF (1<<3)
-#define JOB_JANITOR (1<<4)
+#define JOB_JANITOR (1<<4)
#define JOB_LIBRARIAN (1<<5)
#define JOB_QUARTERMASTER (1<<6)
#define JOB_CARGOTECH (1<<7)
#define JOB_MINER (1<<8)
-#define JOB_LAWYER (1<<9)
+#define JOB_LAWYER (1<<9)
#define JOB_CHAPLAIN (1<<10)
#define JOB_CLOWN (1<<11)
#define JOB_MIME (1<<12)
#define JOB_CIVILIAN (1<<13)
#define JOB_EXPLORER (1<<14)
-#define JOBCAT_KARMA (1<<3)
+#define JOBCAT_KARMA (1<<3)
#define JOB_NANO (1<<0)
-#define JOB_BLUESHIELD (1<<1)
-#define JOB_BARBER (1<<3)
+#define JOB_BLUESHIELD (1<<1)
+#define JOB_BARBER (1<<3)
// #define JOB_MECHANIC (1<<4) // AA07 2021-10-02 - Removed: Kept for history sake
-#define JOB_BRIGDOC (1<<5)
-#define JOB_JUDGE (1<<6)
-// #define JOB_PILOT (1<<7) // AA07 2021-10-02 - Removed: Kept for history sake
+#define JOB_BRIGDOC (1<<5)
+// #define JOB_JUDGE (1<<6) // AA07 2021-10-09 - Moved to ENGSEC (Non karma): Define kept for history sake
+// #define JOB_PILOT (1<<7) // AA07 2021-10-02 - Removed: Kept for history sake
diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm
index fa0fb892cae..46ed46f5ae2 100644
--- a/code/game/jobs/job/supervisor.dm
+++ b/code/game/jobs/job/supervisor.dm
@@ -194,16 +194,18 @@ GLOBAL_DATUM_INIT(captain_announcement, /datum/announcement/minor, new(do_newsca
/datum/job/judge
title = "Magistrate"
flag = JOB_JUDGE
- department_flag = JOBCAT_KARMA
+ department_flag = JOBCAT_ENGSEC
total_positions = 1
spawn_positions = 1
supervisors = "the Nanotrasen Supreme Court"
department_head = list("Captain")
selection_color = "#ddddff"
- req_admin_notify = 1
- is_legal = 1
+ req_admin_notify = TRUE
+ is_legal = TRUE
transfer_allowed = FALSE
minimal_player_age = 30
+ exp_requirements = 6000 // 100 hours baby
+ exp_type = EXP_TYPE_SECURITY
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_FORENSICS_LOCKERS,
ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS,
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION, ACCESS_MORGUE,
diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm
index 5fd46e11434..c15c59303b7 100644
--- a/code/game/jobs/jobs.dm
+++ b/code/game/jobs/jobs.dm
@@ -96,8 +96,7 @@ GLOBAL_LIST_INIT(whitelisted_positions, list(
"Blueshield",
"Nanotrasen Representative",
"Barber",
- "Brig Physician",
- "Magistrate"
+ "Brig Physician"
))
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 8179aac212f..5ae264bdd54 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -149,8 +149,6 @@
karma_purchase(karma,30,"job","Nanotrasen Representative")
if("4")
karma_purchase(karma,30,"job","Blueshield")
- if("5")
- karma_purchase(karma,45,"job","Magistrate")
return
if(href_list["KarmaBuy2"])
var/karma=verify_karma()
diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm
index dd0743cfcef..89dddf6f099 100644
--- a/code/modules/karma/karma.dm
+++ b/code/modules/karma/karma.dm
@@ -274,10 +274,6 @@ GLOBAL_LIST_EMPTY(karma_spenders)
dat += "Unlock Blueshield -- 30KP
"
else
dat += "Blueshield - Unlocked
"
- if(!("Magistrate" in joblist))
- dat += "Unlock Magistrate -- 45KP
"
- else
- dat+= "Magistrate - Unlocked
"
if(1) // Species Unlocks
if(!("Machine" in specieslist))
@@ -348,6 +344,9 @@ GLOBAL_LIST_EMPTY(karma_spenders)
if("Security Pod Pilot" in purchased)
refundable += "Security Pod Pilot"
dat += "Refund Security Pod Pilot -- 30KP
"
+ if("Magistrate" in purchased)
+ refundable += "Magistrate"
+ dat += "Refund Magistrate -- 45KP
"
if(!refundable.len)
dat += "You do not have any refundable karma purchases.
"
@@ -514,6 +513,8 @@ GLOBAL_LIST_EMPTY(karma_spenders)
cost = 30
if("Nanotrasen Recruiter")
cost = 10
+ if("Magistrate")
+ cost = 45
else
to_chat(usr, "That job is not refundable.")
return