From 10248f76772c486ca77add0b1974d445a6551d31 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Sun, 22 Jan 2017 23:11:54 -0600 Subject: [PATCH] Syringe code cleanup --- .../reagents/reagent_containers/syringes.dm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index bbb0b3e8ade..5c7459e3b2a 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -23,6 +23,7 @@ var/image/filling //holds a reference to the current filling overlay var/visible_name = "a syringe" var/time = 30 + var/drawing = 0 /obj/item/weapon/reagent_containers/syringe/on_reagent_change() update_icon() @@ -98,7 +99,12 @@ user << "You are unable to locate any blood." return + if(drawing) + user << "You are already drawing blood from [T.name]." + return + var/datum/reagent/B + drawing = 1 if(istype(T, /mob/living/carbon/human)) var/mob/living/carbon/human/H = T if(H.species && !H.should_have_organ(O_HEART)) @@ -106,12 +112,16 @@ else if(ismob(H) && H != user) if(!do_mob(user, target, time)) + drawing = 0 return B = T.take_blood(src, amount) + drawing = 0 else if(!do_mob(user, target, time)) + drawing = 0 return B = T.take_blood(src,amount) + drawing = 0 if (B) reagents.reagent_list += B @@ -200,7 +210,10 @@ admin_inject_log(user, target, src, contained, trans) else trans = reagents.trans_to(target, amount_per_transfer_from_this) - user << "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units." + if(trans) + user << "You inject [trans] units of the solution. The syringe now contains [src.reagents.total_volume] units." + else + user << "The syringe is empty." if (reagents.total_volume <= 0 && mode == SYRINGE_INJECT) mode = SYRINGE_DRAW update_icon()