diff --git a/code/WorkInProgress/kilakk/fax.dm b/code/WorkInProgress/kilakk/fax.dm
index 76bcc0baa4..0d8f4cdde1 100644
--- a/code/WorkInProgress/kilakk/fax.dm
+++ b/code/WorkInProgress/kilakk/fax.dm
@@ -109,10 +109,13 @@ var/list/alldepartments = list("Central Command")
if(href_list["remove"])
if(tofax)
- tofax.loc = usr.loc
- usr.put_in_hands(tofax)
- usr << "You take the paper out of \the [src]."
- tofax = null
+ if(!ishuman(usr))
+ usr << "You can't do it."
+ else
+ tofax.loc = usr.loc
+ usr.put_in_hands(tofax)
+ usr << "You take the paper out of \the [src]."
+ tofax = null
if(href_list["scan"])
if (scan)
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index 4ca8f9f5d7..ed054ae6c8 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -276,37 +276,79 @@
C << "You are not wearing a mask."
return 1
else
- if(istype(C.l_hand, /obj/item/weapon/tank))
- C << "You are now running on internals from the [C.l_hand] on your left hand."
- C.internal = C.l_hand
- else if(istype(C.r_hand, /obj/item/weapon/tank))
- C << "You are now running on internals from the [C.r_hand] on your right hand."
- C.internal = C.r_hand
- else if(ishuman(C))
+ var/list/nicename = null
+ var/list/tankcheck = null
+ var/breathes = "oxygen" //default, we'll check later
+ var/list/contents = list()
+
+ if(ishuman(C))
var/mob/living/carbon/human/H = C
- if(istype(H.s_store, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.s_store] on your [H.wear_suit]."
- H.internal = H.s_store
- else if(istype(H.belt, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.belt] on your belt."
- H.internal = H.belt
- else if(istype(H.l_store, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.l_store] in your left pocket."
- H.internal = H.l_store
- else if(istype(H.r_store, /obj/item/weapon/tank))
- H << "You are now running on internals from the [H.r_store] in your right pocket."
- H.internal = H.r_store
+ breathes = H.species.breath_type
+ nicename = list ("suit", "back", "belt", "right hand", "left hand", "left pocket", "right pocket")
+ tankcheck = list (H.s_store, C.back, H.belt, C.r_hand, C.l_hand, H.l_store, H.r_store)
- //Seperate so CO2 jetpacks are a little less cumbersome.
- if(!C.internal && istype(C.back, /obj/item/weapon/tank))
- C << "You are now running on internals from the [C.back] on your back."
- C.internal = C.back
+ else
+ nicename = list("Right Hand", "Left Hand", "Back")
+ tankcheck = list(C.r_hand, C.l_hand, C.back)
+
+ for(var/i=1, i bestcontents)
+ best = i
+ bestcontents = contents[i]
+
+
+ //We've determined the best container now we set it as our internals
+
+ if(best)
+ C << "You are now running on internals from [tankcheck[best]] on your [nicename[best]]."
+ C.internal = tankcheck[best]
+
+
if(C.internal)
if(C.internals)
C.internals.icon_state = "internal1"
else
- C << "You don't have an oxygen tank."
+ C << "You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank."
if("act_intent")
usr.a_intent_change("right")
if("help")
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index 1d5f210dd3..d8b8521150 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -255,6 +255,8 @@ Release Pressure: - [time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z]) || [src] [message]
"
//ADMINVERBS
-/client/proc/investigate_show( subject in list("hrefs","notes","singulo") )
+/client/proc/investigate_show( subject in list("hrefs","notes","singulo","telesci") )
set name = "Investigate"
set category = "Admin"
if(!holder) return
switch(subject)
- if("singulo") //general one-round-only stuff
+ if("singulo", "telesci") //general one-round-only stuff
var/F = investigate_subject2file(subject)
if(!F)
src << "Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed."
diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm
index 3bd5348318..53633d5db0 100644
--- a/code/modules/organs/organ_external.dm
+++ b/code/modules/organs/organ_external.dm
@@ -875,8 +875,8 @@ obj/item/weapon/organ/head/New(loc, mob/living/carbon/human/H)
H.regenerate_icons()
- H.stat = 2
- H.death()
+ brainmob.stat = 2
+ brainmob.death()
obj/item/weapon/organ/head/proc/transfer_identity(var/mob/living/carbon/human/H)//Same deal as the regular brain proc. Used for human-->head
brainmob = new(src)