diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm
index 9c783dc19e..4fc1fd2851 100644
--- a/code/_onclick/telekinesis.dm
+++ b/code/_onclick/telekinesis.dm
@@ -1,13 +1,11 @@
/*
Telekinesis
-
This needs more thinking out, but I might as well.
*/
var/const/tk_maxrange = 15
/*
Telekinetic attack:
-
By default, emulate the user's unarmed attack
*/
/atom/proc/attack_tk(mob/user)
@@ -19,7 +17,6 @@ var/const/tk_maxrange = 15
/*
This is similar to item attack_self, but applies to anything
that you can grab with a telekinetic grab.
-
It is used for manipulating things at range, for example, opening and closing closets.
There are not a lot of defaults at this time, add more where appropriate.
*/
@@ -57,7 +54,6 @@ var/const/tk_maxrange = 15
/*
TK Grab Item (the workhorse of old TK)
-
* If you have not grabbed something, do a normal tk attack
* If you have something, throw it at the target. If it is already adjacent, do a normal attackby()
* If you click what you are holding, or attack_self(), do an attack_self_tk() on it.
@@ -121,15 +117,16 @@ var/const/tk_maxrange = 15
focus_object(target, user)
return
- if(focus.anchored)
+ if(focus.anchored || !isturf(focus.loc))
qdel(src)
+ return
if(target == focus)
target.attack_self_tk(user)
return // todo: something like attack_self not laden with assumptions inherent to attack_self
- if(!istype(target, /turf) && istype(focus,/obj/item) && target.Adjacent(focus))
+ if(!isturf(target) && istype(focus,/obj/item) && target.Adjacent(focus))
var/obj/item/I = focus
var/resolved = target.attackby(I, user, params)
if(!resolved && target && I)
@@ -139,7 +136,6 @@ var/const/tk_maxrange = 15
focus.throw_at(target, 10, 1,user)
last_throw = world.time
user.changeNext_move(CLICK_CD_MELEE)
- return
/proc/tkMaxRangeCheck(mob/user, atom/target, atom/focus)
var/d = get_dist(user, target)
@@ -155,7 +151,7 @@ var/const/tk_maxrange = 15
/obj/item/tk_grab/proc/focus_object(obj/target, mob/living/user)
- if(!istype(target,/obj))
+ if(!isobj(target))
return//Cant throw non objects atm might let it do mobs later
if(target.anchored || !isturf(target.loc))
qdel(src)
@@ -217,5 +213,4 @@ var/const/tk_maxrange = 15
var/X = source:x
var/Y = source:y
var/Z = source:z
-
-*/
+*/
\ No newline at end of file
diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm
index fdc6d98093..7df6df6336 100644
--- a/code/game/machinery/computer/dna_console.dm
+++ b/code/game/machinery/computer/dna_console.dm
@@ -96,7 +96,7 @@
occupant_status += ""
occupant_status += "
Health:
[viable_occupant.health] %
"
occupant_status += "Radiation Level:
[viable_occupant.radiation] %
"
- var/rejuvenators = viable_occupant.reagents.get_reagent_amount("epinephrine")
+ var/rejuvenators = viable_occupant.reagents.get_reagent_amount("potass_iodide")
occupant_status += "Rejuvenators:
[rejuvenators] units
"
occupant_status += "Unique Enzymes :
[viable_occupant.dna.unique_enzymes]
"
occupant_status += "Last Operation:
[last_change ? last_change : "----"]
"
@@ -350,9 +350,9 @@
current_screen = href_list["text"]
if("rejuv")
if(viable_occupant && viable_occupant.reagents)
- var/epinephrine_amount = viable_occupant.reagents.get_reagent_amount("epinephrine")
- var/can_add = max(min(REJUVENATORS_MAX - epinephrine_amount, REJUVENATORS_INJECT), 0)
- viable_occupant.reagents.add_reagent("epinephrine", can_add)
+ var/potassiodide_amount = viable_occupant.reagents.get_reagent_amount("potass_iodide")
+ var/can_add = max(min(REJUVENATORS_MAX - potassiodide_amount, REJUVENATORS_INJECT), 0)
+ viable_occupant.reagents.add_reagent("potass_iodide", can_add)
if("setbufferlabel")
var/text = sanitize(input(usr, "Input a new label:", "Input an Text", null) as text|null)
if(num && text)
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index fc902f18f7..3763a1ff9b 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -27,13 +27,17 @@
if ("small")
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
+ new /obj/item/clothing/mask/breath(src)
+ new /obj/item/clothing/mask/breath(src)
if ("aid")
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
new /obj/item/weapon/storage/firstaid/o2(src)
+ new /obj/item/clothing/mask/breath(src)
if ("tank")
new /obj/item/weapon/tank/internals/air(src)
+ new /obj/item/clothing/mask/breath(src)
if ("both")
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 92dcdaeec3..3d687ddbf8 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -4,6 +4,7 @@
name = "necropolis chest"
desc = "It's watching you closely."
icon_state = "necrocrate"
+ burn_state = LAVA_PROOF
/obj/structure/closet/crate/necropolis/tendril
desc = "It's watching you suspiciously."
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index 39237b0635..0ac4035009 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -19,4 +19,6 @@
msg += "[src]Core.exe has stopped responding! NTOS is searching for a solution to the problem...\n"
msg += "*---------*"
- user << msg
\ No newline at end of file
+ user << msg
+
+ ..()
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/examine.dm b/code/modules/mob/living/silicon/examine.dm
new file mode 100644
index 0000000000..af853f89bb
--- /dev/null
+++ b/code/modules/mob/living/silicon/examine.dm
@@ -0,0 +1,4 @@
+/mob/living/silicon/examine(mob/user)
+ if(laws && isobserver(user))
+ user << "[src] has the following laws:"
+ laws.show_laws(user)
\ No newline at end of file
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index 7cfe6ac505..46b0fd7c98 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -47,3 +47,5 @@
msg += "*---------*"
user << msg
+
+ ..()
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index 8da685439b..11f44dbc52 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -58,6 +58,7 @@
/datum/reagent/toxin/plasma/on_mob_life(mob/living/M)
if(holder.has_reagent("epinephrine"))
holder.remove_reagent("epinephrine", 2*REM)
+ M.apply_effect(0.5*REM/M.metabolism_efficiency,IRRADIATE,0)
if(iscarbon(M))
var/mob/living/carbon/C = M
C.adjustPlasma(20)