diff --git a/code/modules/virus2/dishincubator.dm b/code/modules/virus2/dishincubator.dm
index e777c635525..7b075577bb3 100644
--- a/code/modules/virus2/dishincubator.dm
+++ b/code/modules/virus2/dishincubator.dm
@@ -14,6 +14,7 @@
var/foodsupply = 0
var/toxins = 0
+ var/virusing
/obj/machinery/disease2/incubator/attackby(var/obj/B as obj, var/mob/user as mob)
if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B,/obj/item/weapon/reagent_containers/syringe))
@@ -74,6 +75,22 @@
toxins = 0
foodsupply = 0
+ if(href_list["virus"])
+ if (!dish)
+ state("\The [src.name] buzzes, \"No viral culture sample detected.\"", "blue")
+ return
+
+ var/datum/reagent/blood/B = locate(/datum/reagent/blood) in beaker.reagents.reagent_list
+ if (!B)
+ state("\The [src.name] buzzes, \"No suitable breeding enviroment detected.\"", "blue")
+ return
+
+ var/list/virus = list(dish.virus2.getcopy())
+ B.data["virus2"] |= virus
+
+ state("\The [src.name] pings, \"Injection complete.\"", "blue")
+
+
src.add_fingerprint(usr)
src.updateUsrDialog()
@@ -101,6 +118,9 @@
if(dish)
dat += "Eject Virus dish : Eject"
dat += "
"
+ if(beaker)
+ dat += "Breed viral culture in beaker : Start"
+ dat += "
"
dat += "
"
dat += "Flush system
"
dat += "Close
"