diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 536a069474b..35deb6935fa 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -58,7 +58,7 @@
return
if(mode == SYRINGE_BROKEN)
- user << "This syringe is broken!"
+ to_chat(user, "This syringe is broken!")
return
if(user.a_intent == I_HURT && ismob(target))
@@ -70,26 +70,31 @@
switch(mode)
if(SYRINGE_DRAW)
if(!reagents.get_free_space())
- user << "The syringe is full."
+ to_chat(user, "The syringe is full.")
mode = SYRINGE_INJECT
return
if(ismob(target))//Blood!
if(reagents.has_reagent("blood"))
- user << "There is already a blood sample in this syringe."
+ to_chat(user, "There is already a blood sample in this syringe.")
return
+
if(istype(target, /mob/living/carbon))
var/amount = reagents.get_free_space()
var/mob/living/carbon/T = target
if(!T.dna)
- user << "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum)."
+ to_chat(user, "You are unable to locate any blood. (To be specific, your target seems to be missing their DNA datum).")
return
if(NOCLONE in T.mutations) //target done been et, no more blood in him
- user << "You are unable to locate any blood."
+ to_chat(user, "You are unable to locate any blood.")
+ return
+
+ if(T.isSynthetic())
+ to_chat(user, "You can't draw blood from a synthetic!")
return
if(drawing)
- user << "You are already drawing blood from [T.name]."
+ to_chat(user, "You are already drawing blood from [T.name].")
return
var/datum/reagent/B
@@ -117,50 +122,51 @@
reagents.update_total()
on_reagent_change()
reagents.handle_reactions()
- user << "You take a blood sample from [target]."
+ to_chat(user, "You take a blood sample from [target].")
for(var/mob/O in viewers(4, user))
O.show_message("[user] takes a blood sample from [target].", 1)
else //if not mob
if(!target.reagents.total_volume)
- user << "[target] is empty."
+ to_chat(user, "[target] is empty.")
return
if(!target.is_open_container() && !istype(target, /obj/structure/reagent_dispensers) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/weapon/reagent_containers/food))
- user << "You cannot directly remove reagents from this object."
+ to_chat(user, "You cannot directly remove reagents from this object.")
return
var/trans = target.reagents.trans_to_obj(src, amount_per_transfer_from_this)
- user << "You fill the syringe with [trans] units of the solution."
+ to_chat(user, "You fill the syringe with [trans] units of the solution.")
update_icon()
+
if(!reagents.get_free_space())
mode = SYRINGE_INJECT
update_icon()
if(SYRINGE_INJECT)
if(!reagents.total_volume)
- user << "The syringe is empty."
+ to_chat(user, "The syringe is empty.")
mode = SYRINGE_DRAW
return
if(istype(target, /obj/item/weapon/implantcase/chem))
return
if(!target.is_open_container() && !ismob(target) && !istype(target, /obj/item/weapon/reagent_containers/food) && !istype(target, /obj/item/slime_extract) && !istype(target, /obj/item/clothing/mask/smokable/cigarette) && !istype(target, /obj/item/weapon/storage/fancy/cigarettes))
- user << "You cannot directly fill this object."
+ to_chat(user, "You cannot directly fill this object.")
return
if(!target.reagents.get_free_space())
- user << "[target] is full."
+ to_chat(user, "[target] is full.")
return
var/mob/living/carbon/human/H = target
if(istype(H))
var/obj/item/organ/external/affected = H.get_organ(user.zone_sel.selecting)
if(!affected)
- user << "\The [H] is missing that limb!"
+ to_chat(user, "\The [H] is missing that limb!")
return
else if(affected.robotic >= ORGAN_ROBOT)
- user << "You cannot inject a robotic limb."
+ to_chat(user, "You cannot inject a robotic limb.")
return
if(ismob(target) && target != user)
@@ -200,9 +206,9 @@
else
trans = reagents.trans_to_obj(target, amount_per_transfer_from_this)
if(trans)
- user << "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units."
+ to_chat(user, "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units.")
else
- user << "The syringe is empty."
+ to_chat(user, "The syringe is empty.")
if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT)
mode = SYRINGE_DRAW
update_icon()
@@ -245,7 +251,7 @@
var/obj/item/organ/external/affecting = H.get_organ(target_zone)
if (!affecting || affecting.is_stump())
- user << "They are missing that limb!"
+ to_chat(user, "They are missing that limb!")
return
var/hit_area = affecting.name
@@ -302,10 +308,10 @@
/obj/item/weapon/reagent_containers/syringe/ld50_syringe/afterattack(obj/target, mob/user, flag)
if(mode == SYRINGE_DRAW && ismob(target)) // No drawing 50 units of blood at once
- user << "This needle isn't designed for drawing blood."
+ to_chat(user, "This needle isn't designed for drawing blood.")
return
if(user.a_intent == "hurt" && ismob(target)) // No instant injecting
- user << "This syringe is too big to stab someone with it."
+ to_chat(user, "This syringe is too big to stab someone with it.")
..()
////////////////////////////////////////////////////////////////////////////////