diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index e991c569706..98747fbb3a6 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -527,7 +527,6 @@
src.printing = 1
for(var/mob/O in viewers(usr))
O.show_message("\blue \the [src] rattles and prints out a sheet of paper.", 1)
- sleep(20)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
P.info = "
Body Scan - [href_list["name"]]
"
P.info += "Time of scan: [worldtime2text(world.time)]
"
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index d574d22f859..1b0825f4f84 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -27,13 +27,17 @@
if(src.contents.len)
var/mob/living/M = locate() in contents
-
+
var/obj/structure/closet/body_bag/B = locate() in contents
if(M==null) M = locate() in B
if(M)
+ var/mob/dead/observer/G = M.get_ghost()
+
if(M.client)
src.icon_state = "morgue3"
+ else if(G && G.client) //There is a ghost and it is connected to the server
+ src.icon_state = "morgue5"
else
src.icon_state = "morgue2"
@@ -110,8 +114,10 @@
t = copytext(sanitize(t),1,MAX_MESSAGE_LEN)
if (t)
src.name = text("Morgue- '[]'", t)
+ src.overlays += image(src.icon, "morgue_label")
else
src.name = "Morgue"
+ src.overlays.Cut()
src.add_fingerprint(user)
return
diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm
index 316cf98f2ff..7f4b11ef8b2 100644
--- a/code/modules/clothing/suits/jobs.dm
+++ b/code/modules/clothing/suits/jobs.dm
@@ -8,7 +8,7 @@
icon_state = "paramedic-vest"
item_state = "paramedic-vest"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
- /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
+ /obj/item/device/healthanalyzer, /obj/item/device/antibody_scanner, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 10)
species_fit = list("Vox")
sprite_sheets = list(
@@ -22,7 +22,8 @@
icon_state = "brigphysician-vest"
item_state = "brigphysician-vest"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
- /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
+ /obj/item/device/healthanalyzer, /obj/item/device/antibody_scanner, /obj/item/device/flashlight, \
+ /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
//Botonist
@@ -227,7 +228,7 @@
item_state = "fr_jacket"
blood_overlay_type = "armor"
allowed = list(/obj/item/stack/medical, /obj/item/weapon/reagent_containers/dropper, /obj/item/weapon/reagent_containers/hypospray, /obj/item/weapon/reagent_containers/syringe, \
- /obj/item/device/healthanalyzer, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
+ /obj/item/device/healthanalyzer, /obj/item/device/antibody_scanner, /obj/item/device/flashlight, /obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen)
verb/toggle()
set name = "Toggle Jacket Buttons"
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index b84987f9eb6..14aa7594855 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -5,7 +5,7 @@
item_state = "labcoat"
blood_overlay_type = "coat"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
- allowed = list(/obj/item/device/analyzer,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
+ allowed = list(/obj/item/device/analyzer,/obj/item/device/antibody_scanner,/obj/item/stack/medical,/obj/item/weapon/dnainjector,/obj/item/weapon/reagent_containers/dropper,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/hypospray,/obj/item/device/healthanalyzer,/obj/item/device/flashlight/pen,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/pill,/obj/item/weapon/storage/pill_bottle,/obj/item/weapon/paper)
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
species_fit = list("Vox")
sprite_sheets = list(
diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm
index 738e887b775..27127a83e4e 100644
--- a/code/modules/mob/login.dm
+++ b/code/modules/mob/login.dm
@@ -57,4 +57,25 @@
client.verbs |= H.species.abilities
CallHook("Login", list("client" = src.client, "mob" = src))
-
+
+ //Update morgues on login/logout
+ if (stat == DEAD)
+ var/obj/structure/morgue/Morgue = null
+ var/mob/living/carbon/human/C = null
+ if (istype(src,/mob/dead/observer)) //We're a ghost, let's find our corpse
+ var/mob/dead/observer/G = src
+ if (G.can_reenter_corpse && G.mind.current)
+ C = G.mind.current
+ else if (istype(src,/mob/living/carbon/human))
+ C = src
+
+ if (C) //We found our corpse, is it inside a morgue?
+ if (istype(C.loc,/obj/structure/morgue))
+ Morgue = C.loc
+ else if (istype(C.loc,/obj/structure/closet/body_bag))
+ var/obj/structure/closet/body_bag/B = C.loc
+ if (istype(B.loc,/obj/structure/morgue))
+ Morgue = B.loc
+ if (Morgue)
+ Morgue.update()
+
diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm
index bb01c846caf..45449c1e1c7 100644
--- a/code/modules/mob/logout.dm
+++ b/code/modules/mob/logout.dm
@@ -10,5 +10,26 @@
if(admins_number == 0) //Apparently the admin logging out is no longer an admin at this point, so we have to check this towards 0 and not towards 1. Awell.
send2adminirc("[key_name(src)] logged out - no more admins online.")
..()
+
+ //Update morgues on login/logout
+ if (stat == DEAD)
+ var/obj/structure/morgue/Morgue = null
+ var/mob/living/carbon/human/C = null
+ if (istype(src,/mob/dead/observer)) //We're a ghost, let's find our corpse
+ var/mob/dead/observer/G = src
+ if (G.can_reenter_corpse && G.mind.current)
+ C = G.mind.current
+ else if (istype(src,/mob/living/carbon/human))
+ C = src
+
+ if (C) //We found our corpse, is it inside a morgue?
+ if (istype(C.loc,/obj/structure/morgue))
+ Morgue = C.loc
+ else if (istype(C.loc,/obj/structure/closet/body_bag))
+ var/obj/structure/closet/body_bag/B = C.loc
+ if (istype(B.loc,/obj/structure/morgue))
+ Morgue = B.loc
+ if (Morgue)
+ Morgue.update()
return 1
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 7bf99cec11e..f9aa75afee5 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -446,7 +446,6 @@
src.printing = 1
for(var/mob/O in viewers(usr))
O.show_message("\blue \the [src] rattles and prints out a sheet of paper.", 1)
- sleep(25)
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( src.loc )
P.info = "Chemical Analysis
"
P.info += "Time of analysis: [worldtime2text(world.time)]
"
diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi
index 2116eee6399..df78aea575d 100755
Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ