diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index 9a15f6b74c..48015afc24 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -133,7 +133,9 @@
if(istype(beaker, /obj/item/reagent_containers/blood))
// speed up transfer on blood packs
transfer_amount = 10
- beaker.reagents.trans_to(attached, transfer_amount, method = INJECT, show_message = FALSE) //make reagents reacts, but don't spam messages
+ var/fraction = min(transfer_amount/beaker.reagents.total_volume, 1) //the fraction that is transfered of the total volume
+ beaker.reagents.reaction(attached, INJECT, fraction, FALSE) //make reagents reacts, but don't spam messages
+ beaker.reagents.trans_to(attached, transfer_amount)
update_icon()
// Take blood
@@ -205,17 +207,17 @@
if(get_dist(user, src) > 2)
return
- . += "[src] is [mode ? "injecting" : "taking blood"]."
+ . += "[src] is [mode ? "injecting" : "taking blood"].\n"
if(beaker)
if(beaker.reagents && beaker.reagents.reagent_list.len)
- . += "Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid."
+ . += "\tAttached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.\n"
else
- . += "Attached is an empty [beaker.name]."
+ . += "\tAttached is an empty [beaker.name].\n"
else
- . += "No chemicals are attached."
+ . += "\tNo chemicals are attached.\n"
- . += "[attached ? attached : "No one"] is attached."
+ . += "\t[attached ? attached : "No one"] is attached."
to_chat(user,.)
#undef IV_TAKING