diff --git a/code/WorkInProgress/Mini/ATM.dm b/code/WorkInProgress/Mini/ATM.dm
index 32c9bc4d22..3feb201491 100644
--- a/code/WorkInProgress/Mini/ATM.dm
+++ b/code/WorkInProgress/Mini/ATM.dm
@@ -26,6 +26,10 @@ log transactions
del I
/obj/machinery/atm/attack_hand(mob/user as mob)
+ if(istype(user, /mob/living/silicon))
+ user << "\red Artificial unit recognized. Artificial units do not currently receive monetary compensation, as per NanoTrasen regulation #1005."
+ return
+
var/obj/item/weapon/card/id/user_id = src.scan_user(user)
if(..())
return
diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 8b8bcc63ad..06c6295f44 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -88,7 +88,7 @@
/obj/structure/bedsheetbin
name = "linen bin"
- desc = "A bin for containing bedsheets. It looks rather cosy."
+ desc = "A small wire mesh bin full of extra bedsheets and cleaning supplies for the beds. Smells of lilacs and has a faint undertone of disinfectant."
icon = 'items.dmi'
icon_state = "bedbin"
var/amount = 23.0
@@ -232,7 +232,7 @@
var/mob/living/carbon/monkey/target = null
/obj/effect/sign/securearea
- desc = "A warning sign which reads 'SECURE AREA'"
+ desc = "A large yellow warning sign which reads 'SECURE AREA', it appears to have been painted onto the wall like that."
name = "SECURE AREA"
icon = 'decals.dmi'
icon_state = "securearea"
@@ -250,7 +250,7 @@
density = 0
/obj/effect/sign/biohazard
- desc = "A warning sign which reads 'BIOHAZARD'"
+ desc = "A warning sign which reads 'BIOHAZARD', you think it'd be a good idea to ensure you have a properly sealed hazardsuit on."
name = "BIOHAZARD"
icon = 'decals.dmi'
icon_state = "bio"
@@ -259,7 +259,7 @@
density = 0
/obj/effect/sign/electricshock
- desc = "A warning sign which reads 'HIGH VOLTAGE'"
+ desc = "A warning sign which reads 'HIGH VOLTAGE', it looks like it'd be a wise decision to stay away from here."
name = "HIGH VOLTAGE"
icon = 'decals.dmi'
icon_state = "shock"
diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm
index ae581a05f9..b29f26d928 100644
--- a/code/defines/obj/machinery.dm
+++ b/code/defines/obj/machinery.dm
@@ -225,38 +225,6 @@
idle_power_usage = 10
active_power_usage = 400
-/obj/machinery/door_control
- name = "remote door-control"
- desc = "It controls doors, remotely."
- icon = 'stationobjs.dmi'
- icon_state = "doorctrl0"
- desc = "A remote control-switch for a door."
- var/id = null
- var/range = 10
- var/normaldoorcontrol = 0
- var/desiredstate = 0 // Zero is closed, 1 is open.
- var/specialfunctions = 1
- /*
- Bitflag, 1= open
- 2= idscan,
- 4= bolts
- 8= shock
- 16= door safties
-
- */
-
- var/exposedwires = 0
- var/wires = 3
- /*
- Bitflag, 1=checkID
- 2=Network Access
- */
-
- anchored = 1.0
- use_power = 1
- idle_power_usage = 2
- active_power_usage = 4
-
/obj/machinery/driver_button
name = "mass driver button"
icon = 'objects.dmi'
diff --git a/code/defines/procs/helpers.dm b/code/defines/procs/helpers.dm
index 61dc65dbc3..859e8abd10 100644
--- a/code/defines/procs/helpers.dm
+++ b/code/defines/procs/helpers.dm
@@ -838,6 +838,7 @@ Turf and target are seperate in case you want to teleport some distance from a t
var/list/names = list()
var/list/creatures = list()
var/list/namecounts = list()
+
for(var/mob/M in mobs)
var/name = M.name
if (name in names)
@@ -846,13 +847,16 @@ Turf and target are seperate in case you want to teleport some distance from a t
else
names.Add(name)
namecounts[name] = 1
+
if (M.real_name && M.real_name != M.name)
name += " \[[M.original_name? M.original_name : M.real_name]\]"
+
if (M.stat == 2)
if(istype(M, /mob/dead/observer/))
name += " \[ghost\]"
else
name += " \[dead\]"
+
creatures[name] = M
return creatures
diff --git a/code/game/algorithm.dm b/code/game/algorithm.dm
index 386a48d432..f0c1a7f737 100644
--- a/code/game/algorithm.dm
+++ b/code/game/algorithm.dm
@@ -179,19 +179,16 @@ proc/countJob(rank)
del(W)
return equipped
-/proc/AutoUpdateAI(obj/subject)
-/*
+/proc/AutoUpdateAI(obj/subject) // Needed for AI's to not have to click on every computer after every change.
if (subject!=null)
for(var/mob/living/silicon/ai/M in world)
if ((M.client && M.machine == subject))
subject.attack_ai(M)
-*/
-/proc/AutoUpdateTK(obj/subject)
-/* if (subject!=null)
+/proc/AutoUpdateTK(obj/subject) // Commented where used due to lag.
+ if (subject!=null)
for(var/obj/item/tk_grab/T in world)
if (T.host)
var/mob/M = T.host
if(M.client && M.machine == subject)
subject.attack_hand(M)
-*/
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index df2616b8b3..0790bc4af8 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -86,6 +86,8 @@
background = "'background-color:#CD853F;'"
if("Released")
background = "'background-color:#3BB9FF;'"
+ if("Deceased")
+ background = "'background-color:#CD853F;'"
if("None")
background = "'background-color:#00FF7F;'"
if("")
@@ -171,6 +173,8 @@
background = "'background-color:#CD853F;'"
if("Released")
background = "'background-color:#3BB9FF;'"
+ if("Deceased")
+ background = "'background-color:#CD853F;'"
if("None")
background = "'background-color:#00FF7F;'"
if("")
@@ -472,6 +476,7 @@ What a mess.*/
temp += "
16 May 2012
Erthilo updated:
+ - Hunger rate has been halved, and drinks no longer fill you up super fast. Most drinks will now keep your hunger stable. Eat food if you want to fill up!
+ - Removed mining secret rooms due to them having some very silly things.
- You can cut cable cuffs with wirecutters for quick removal.
- Stops pod windows leaking air everywhere.
diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi
index 6a9363737d..7c834f10c9 100644
Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ
diff --git a/icons/obj/assemblies.dmi b/icons/obj/assemblies.dmi
index e08ad8249c..4fc3aab872 100644
Binary files a/icons/obj/assemblies.dmi and b/icons/obj/assemblies.dmi differ
diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm
index d8841f2034..9e0abd9c8a 100755
--- a/maps/tgstation.2.0.8.dmm
+++ b/maps/tgstation.2.0.8.dmm
@@ -667,8 +667,8 @@
"amQ" = (/obj/structure/stool/bed,/turf/simulated/floor{icon_state = "floorgrime"},/area/prison)
"amR" = (/obj/structure/stool/bed,/obj/item/toy/snappop,/obj/item/weapon/bedsheet/orange,/turf/simulated/floor,/area/prison)
"amS" = (/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison)
-"amT" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig2"; name = "Prison Wing Interior"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
-"amU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig"; name = "Prison Wing Exterior"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
+"amT" = (/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Door"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig2"; name = "Prison Wing Interior"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
+"amU" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Prison Gate"; name = "Prison Blast Door"; opacity = 0},/obj/machinery/door/airlock/glass/glass_security{id_tag = "permbrig"; name = "Prison Wing Exterior"; req_access_txt = "1"},/turf/simulated/floor{icon_state = "red"; dir = 8},/area/prison)
"amV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/prison)
"amW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison)
"amX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/prison)
@@ -728,7 +728,7 @@
"anZ" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/prison)
"aoa" = (/obj/machinery/flasher{dir = 4; id = "permflash"; pixel_x = -24; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/prison)
"aob" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor{icon_state = "red"; dir = 1},/area/prison)
-"aoc" = (/obj/machinery/door_control{desc = "A remote control-switch for the exterior doors."; id = "permbrig"; name = "Prison Exterior Airlock Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = 6},/obj/machinery/door_control{desc = "A remote control-switch for the interior doors."; id = "permbrig2"; name = "Prison Interior Airlock Control"; normaldoorcontrol = 1; pixel_x = -24; pixel_y = -6},/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/prison)
+"aoc" = (/turf/simulated/floor{dir = 8; icon_state = "redcorner"},/area/prison)
"aod" = (/obj/structure/closet/extinguisher{pixel_x = 27; pixel_y = 0},/turf/simulated/floor{icon_state = "red"; dir = 4},/area/prison)
"aoe" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/security/brig)
"aof" = (/obj/machinery/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor{icon_state = "white"},/area/security/brig)
@@ -3953,7 +3953,7 @@
"bya" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"byb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"byc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
-"byd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/airlock/maintenance{name = "QM Office Maintenance"; req_combined_access_txt = "12;41"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm)
+"byd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/airlock/maintenance{name = "QM Office Maintenance"; req_access_txt = "41"; req_combined_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/qm)
"bye" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/qm)
"byf" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/quartermaster/qm)
"byg" = (/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; sortType = list("QM Office")},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor,/area/quartermaster/qm)