diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index d79785eb823..3cc9f01be64 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -239,6 +239,7 @@ client
body += ""
body += ""
body += ""
+// body += ""
if(ishuman(D))
body += ""
body += ""
@@ -497,6 +498,20 @@ client
togglebuildmode(MOB)
href_list["datumrefresh"] = href_list["build_mode"]
+/* else if (href_list["direct_control"])
+ if(!href_list["direct_control"])
+ return
+ var/mob/MOB = locate(href_list["direct_control"])
+ if(!MOB)
+ return
+ if(!ismob(MOB))
+ return
+ if(!src.holder)
+ return
+
+ if(usr.client)
+ usr.client.cmd_assume_direct_control(MOB)*/
+
else if (href_list["delall"])
if(!href_list["delall"])
return
diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index ecabec80f83..934acd653db 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -188,7 +188,7 @@
if("Librarian") // -- TLE
return list(access_library)
if("Lawyer") //Muskets 160910
- return list(access_maint_tunnels, access_lawyer, access_court)
+ return list(access_lawyer, access_court)
if("Captain")
return get_all_accesses()
if("Security Officer")
@@ -219,9 +219,9 @@
if("Janitor")
return list(access_janitor, access_maint_tunnels)
if("Clown")
- return list(access_maint_tunnels, access_clown, access_theatre)
+ return list(access_clown, access_theatre)
if("Mime")
- return list(access_maint_tunnels, access_mime, access_theatre)
+ return list(access_mime, access_theatre)
if("Chef")
return list(access_kitchen)
if("Roboticist")
@@ -229,7 +229,7 @@
if("Cargo Technician")
return list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting)
if("Shaft Miner")
- return list(access_maint_tunnels, access_mining, access_mint, access_mining_station)
+ return list(access_mining, access_mint, access_mining_station)
if("Quartermaster")
return list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining)
if("Chief Engineer")
@@ -239,7 +239,7 @@
access_mint, access_ce, access_RC_announce, access_keycard_auth, access_tcomsat)
if("Research Director")
return list(access_medlab, access_rd,
- access_maint_tunnels, access_heads, access_tox,
+ access_heads, access_tox,
access_tox_storage, access_chemistry, access_teleporter,
access_research, access_robotics, access_xenobiology, access_RC_announce,
access_keycard_auth, access_tcomsat)
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 82149e232d1..277d6e5ec30 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -265,6 +265,7 @@
//verbs += /client/proc/cmd_admin_emp --Merged with view variables
//verbs += /client/proc/give_spell --Merged with view variables
//verbs += /client/proc/cmd_admin_ninjafy --Merged with view variables
+ //verbs += /client/proc/cmd_switch_radio --removed as tcommsat is staying
// Moved over from tg's Game Master:
verbs += /obj/admins/proc/toggle_aliens //toggle aliens
verbs += /obj/admins/proc/toggle_space_ninja //toggle ninjas
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index 0899491ab8a..02043fd7de0 100644
--- a/code/modules/clothing/glasses/hud.dm
+++ b/code/modules/clothing/glasses/hud.dm
@@ -5,6 +5,7 @@
origin_tech = "magnets=3;biotech=2"
var
list/icon/current = list() //the current hud icons
+
proc
process_hud(var/mob/M) return
@@ -88,25 +89,28 @@
var/client/C = M.client
var/icon/tempHud = 'hud.dmi'
for(var/mob/living/carbon/human/perp in view(M))
+ if(!C) continue
+ var/perpname = "wot"
if(perp.wear_id)
C.images += image(tempHud,perp,"hud[ckey(perp:wear_id:GetJobName())]")
- var/perpname = "wot"
if(istype(perp.wear_id,/obj/item/weapon/card/id))
perpname = perp.wear_id:registered_name
else if(istype(perp.wear_id,/obj/item/device/pda))
var/obj/item/device/pda/tempPda = perp.wear_id
perpname = tempPda.owner
- for (var/datum/data/record/E in data_core.general)
- if (E.fields["name"] == perpname)
- for (var/datum/data/record/R in data_core.security)
- if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
- C.images += image(tempHud,perp,"hudwanted")
- break
- else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated"))
- C.images += image(tempHud,perp,"hudprisoner")
- break
else
+ perpname = perp.name
C.images += image(tempHud,perp,"hudunknown")
+
+ for (var/datum/data/record/E in data_core.general)
+ if (E.fields["name"] == perpname)
+ for (var/datum/data/record/R in data_core.security)
+ if ((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "*Arrest*"))
+ C.images += image(tempHud,perp,"hudwanted")
+ break
+ else if((R.fields["id"] == E.fields["id"]) && (R.fields["criminal"] == "Incarcerated"))
+ C.images += image(tempHud,perp,"hudprisoner")
+ break
for(var/named in perp.organs)
var/datum/organ/external/E = perp.organs[named]
for(var/obj/item/weapon/implant/I in E.implant)
@@ -116,3 +120,4 @@
if(istype(I,/obj/item/weapon/implant/loyalty))
C.images += image(tempHud,perp,"hud_imp_loyal")
+
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 024bb726c99..8167317b46d 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -524,6 +524,31 @@
// usr << "\red [src.name] is bleeding from a [sizetext] on [t_his] [temp.display_name]."
// continue
+ if(istype(usr, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = usr
+ if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
+ var/perpname = "wot"
+ var/criminal = "None"
+
+ if(wear_id)
+ if(istype(wear_id,/obj/item/weapon/card/id))
+ perpname = wear_id:registered_name
+ else if(istype(wear_id,/obj/item/device/pda))
+ var/obj/item/device/pda/tempPda = wear_id
+ perpname = tempPda.owner
+ else
+ perpname = src.name
+
+ for (var/datum/data/record/E in data_core.general)
+ if (E.fields["name"] == perpname)
+ for (var/datum/data/record/R in data_core.security)
+ if (R.fields["id"] == E.fields["id"])
+ criminal = R.fields["criminal"]
+
+
+ msg += "Criminal status: \[[criminal]\]\n"
+ //msg += "\[Set Hostile Identification\]\n"
+
if(print_flavor_text()) msg += "[print_flavor_text()]\n"
msg += "\blue *---------*"
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 39ba8fc0b17..9f88a62a75c 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -2582,6 +2582,40 @@ It can still be worn/put on as normal.
spawn( 0 )
O.process()
return
+
+ if (href_list["criminal"])
+ if(istype(usr, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = usr
+ if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
+ var/perpname = "wot"
+ var/modified = 0
+
+ if(wear_id)
+ if(istype(wear_id,/obj/item/weapon/card/id))
+ perpname = wear_id:registered_name
+ else if(istype(wear_id,/obj/item/device/pda))
+ var/obj/item/device/pda/tempPda = wear_id
+ perpname = tempPda.owner
+ else
+ perpname = src.name
+
+ for (var/datum/data/record/E in data_core.general)
+ if (E.fields["name"] == perpname)
+ for (var/datum/data/record/R in data_core.security)
+ if (R.fields["id"] == E.fields["id"])
+
+ var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Parolled", "Released", "Cancel")
+
+ if(istype(H.glasses, /obj/item/clothing/glasses/hud/security) || istype(H.glasses, /obj/item/clothing/glasses/sunglasses/sechud))
+ if(setcriminal != "Cancel")
+ R.fields["criminal"] = setcriminal
+ modified = 1
+
+ spawn()
+ H.handle_regular_hud_updates()
+
+ if(!modified)
+ usr << "\red Unable to locate a data core entry for this person."
..()
return