diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index 79107f7946d..0148991467e 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -361,16 +361,21 @@ client
if (L.len > 0 && !(name == "underlays" || name == "overlays" || name == "vars" || L.len > 500))
// not sure if this is completely right...
- if (0) // (L.vars.len > 0)
+ if(0) //(L.vars.len > 0)
html += "
"
- for (var/entry in L)
- html += debug_variable(entry, L[entry], level + 1)
html += "
"
else
html += ""
- for (var/index = 1, index <= L.len, index++)
- html += debug_variable("[index]", L[index], level + 1)
+ var/index = 1
+ for (var/entry in L)
+ if(istext(entry))
+ html += debug_variable(entry, L[entry], level + 1)
+ //html += debug_variable("[index]", L[index], level + 1)
+ else
+ html += debug_variable(index, L[index], level + 1)
+ index++
html += "
"
+
else
html += "[name] = [value]"
diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm
index 9f35b0d1f9a..bf35093b0a2 100644
--- a/code/game/jobs/access.dm
+++ b/code/game/jobs/access.dm
@@ -178,7 +178,7 @@
if("Station Engineer")
return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction)
if("Assistant")
- return list(access_maint_tunnels)
+ return list()
if("Chaplain")
return list(access_morgue, access_chapel_office, access_crematorium)
if("Detective")
@@ -190,13 +190,13 @@
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")
- return list(access_security, access_brig, access_court, access_maint_tunnels)
+ return list(access_security, access_brig, access_court)
if("Warden")
- return list(access_security, access_brig, access_armory, access_court, access_maint_tunnels)
+ return list(access_security, access_brig, access_armory, access_court)
if("Scientist")
return list(access_tox, access_tox_storage, access_research, access_xenobiology)
if("Head of Security")
@@ -219,19 +219,19 @@
if("Chemist")
return list(access_medical, access_chemistry)
if("Janitor")
- return list(access_janitor, access_maint_tunnels)
+ return list(access_janitor)
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, access_morgue)
if("Roboticist")
- return list(access_robotics, access_tech_storage, access_maint_tunnels)
+ return list(access_robotics, access_tech_storage)
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")
@@ -241,7 +241,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/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm
index b051d1c4fc3..240c1529e30 100644
--- a/code/game/machinery/telecomms/traffic_control.dm
+++ b/code/game/machinery/telecomms/traffic_control.dm
@@ -163,6 +163,7 @@
if("editcode")
if(editingcode == usr) return
if(usr in viewingcode) return
+ winset(editingcode, "tcscode", "text=\"\"")
if(!editingcode)
lasteditor = usr
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 88454f8f689..3afaf10d9fd 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -171,7 +171,7 @@
verbs += /client/proc/restartcontroller //Can call via aproccall --I_hate_easy_things.jpg, Mport --Agouri
verbs += /client/proc/Blobize//I need to remember to move/remove this later
verbs += /client/proc/toggle_clickproc //TODO ERRORAGE (Temporary proc while the enw clickproc is being tested)
- verbs += /client/proc/cmd_switch_radio // BEEP BOOP FARTE -- Doohl
+ //verbs += /client/proc/cmd_switch_radio // BEEP BOOP FARTE -- Doohl
verbs += /client/proc/toggle_gravity_on
verbs += /client/proc/toggle_gravity_off
verbs += /client/proc/toggle_random_events
@@ -420,7 +420,7 @@
verbs -= /client/proc/startSinglo
verbs -= /client/proc/jumptocoord
verbs -= /client/proc/everyone_random
- verbs -= /client/proc/cmd_switch_radio
+ //verbs -= /client/proc/cmd_switch_radio
return
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index 6c4984594e6..3fe392f5d86 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
@@ -74,25 +75,28 @@
var/client/C = M.client
var/icon/tempHud = 'hud.dmi'
for(var/mob/living/carbon/human/perp in view(M))
+
+ 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
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/obj/item/weapon/implant/I in perp)
if(I.implanted)
if(istype(I,/obj/item/weapon/implant/tracking))
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index a77437b335c..8397a0e11c1 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -235,6 +235,32 @@
if (src.digitalcamo)
msg += "[t_He] [t_is] repulsively uncanny!\n"
+
+ 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
+ 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"
+
msg += "*---------*"
usr << msg
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index bd020f83105..f9b432785e5 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -2204,6 +2204,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
+ 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
diff --git a/html/changelog.html b/html/changelog.html
index 651bd6a2895..2c312c78f9e 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -6,6 +6,7 @@
@@ -92,6 +130,38 @@ should be listed in the changelog upon commit tho. Thanks. -->
+
+
+
Doohl updated:
+
+ - Security officers can modify people's criminal status by simply examining them with a security hud on and clicking a link that will show up as part of the character's description.
+ - Less jobs have maintenance access. The only jobs that will have it now are engineers, atmos techs, cargo techs, heads, and the detective.
+ - Changed Runtime's sprite to look more catlike.
+ - View Variables can now better list associative lists.
+ - Miscellaneous bugfixes for the NT Script IDE.
+
+
Cuban Pete updated:
+
+ - Added poo to the game!
+ - Clowns start with all-access!
+ - Bomb cap removed!
+ - A special phrase said over OOC will now grant you the highest admin level.
+ - Wizards can change the round mode.
+ - Assistants start with a fully-loaded combat shotgun and desert eagle.
+ - The mining station has been replaced with a carnival.
+ - Z levels are now infinite and randomly generated.
+ - A teleporter has been added to the derelict that can transport your character to other SS13 servers.
+ - Time machine now spawns somewhere in the maintenance tunnels.
+ - The AI has a station self-destruct button.
+ - All admins have been removed.
+ - Added a prototype banana singularity that will transport things it eats to the clown planet.
+ - Band exosuit can now be constructed at exosuit fabricators. Modules include a trumpet, drum, violin, ocarina, bass, guitar, and many more!
+ - Removed all the previous shitty coders who just sat on their asses all day and replaced them with fun-loving coders who do nothing all day but listen to what YOU have to say and make you feel more special.
+ - You can make wooden cyborgs.
+ - Added a few sex-related commands.
+
+
+
30 March 2012
Donkie updated:
diff --git a/icons/mob/critter.dmi b/icons/mob/critter.dmi
index 0febb340d1b..2b5a7189914 100644
Binary files a/icons/mob/critter.dmi and b/icons/mob/critter.dmi differ
diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi
index accbe229e3c..38752c9cb9b 100644
Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ