diff --git a/code/game/objects/items/weapons/implants/implantreagent_vr.dm b/code/game/objects/items/weapons/implants/implantreagent_vr.dm
index 6c7eb572e21..1c4e9a9b040 100644
--- a/code/game/objects/items/weapons/implants/implantreagent_vr.dm
+++ b/code/game/objects/items/weapons/implants/implantreagent_vr.dm
@@ -2,8 +2,8 @@
name = "reagent generator implant"
desc = "This is an implant that has attached storage and generates a reagent."
implant_color = "r"
- var/datum/reagent/generated_reagent = null
- var/gen_amount = 2 //amount of reagent generated per process tick
+ var/list/generated_reagents = list("water" = 2) //Any number of reagents, the associated value is how many units are generated per process()
+ var/reagent_name = "water" //What is shown when reagents are removed, doesn't need to be an actual reagent
var/gen_cost = 0.5 //amount of nutrient taken from the host per process tick
var/transfer_amount = 30 //amount transferred when using verb
var/usable_volume = 120
@@ -15,7 +15,7 @@
var/list/random_emote = list() //An emote the person with the implant may be forced to perform after a prob check, such as [X] meows.
var/assigned_proc = /mob/living/carbon/human/proc/use_reagent_implant
var/verb_name = "Transfer From Reagent Implant"
- var/verb_desc = "Remove reagents from am internal reagent into a container"
+ var/verb_desc = "Remove reagents from an internal reagent into a container"
/obj/item/weapon/implant/reagent_generator/New()
..()
@@ -38,7 +38,7 @@
/obj/item/weapon/implant/reagent_generator/process()
var/before_gen
- if(imp_in && generated_reagent)
+ if(imp_in && generated_reagents)
before_gen = reagents.total_volume
if(reagents.total_volume < reagents.maximum_volume)
if(imp_in.nutrition >= gen_cost)
@@ -57,7 +57,8 @@
/obj/item/weapon/implant/reagent_generator/proc/do_generation()
imp_in.nutrition -= gen_cost
- reagents.add_reagent(generated_reagent, gen_amount)
+ for(var/reagent in generated_reagents)
+ reagents.add_reagent(reagent, generated_reagents[reagent])
/mob/living/carbon/human/proc/use_reagent_implant()
set name = "Transfer From Reagent Implant"
@@ -90,7 +91,7 @@
var/container_name = container.name
if(rimplant.reagents.trans_to(container, amount = rimplant.transfer_amount))
user.visible_message("[usr] [pick(rimplant.emote_descriptor)] into \the [container_name].",
- "You [pick(rimplant.self_emote_descriptor)] some [rimplant.generated_reagent] into \the [container_name].")
+ "You [pick(rimplant.self_emote_descriptor)] some [rimplant.reagent_name] into \the [container_name].")
if(prob(5))
src.visible_message("[src] [pick(rimplant.random_emote)].") // M-mlem.
if(rimplant.reagents.total_volume == rimplant.reagents.maximum_volume * 0.05)
diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm
index 6521ecfde3e..134091b3372 100644
--- a/code/modules/vore/fluffstuff/custom_items_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_items_vr.dm
@@ -667,7 +667,8 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
//WickedTempest: Chakat Tempest
/obj/item/weapon/implant/reagent_generator/tempest
- generated_reagent = "milk"
+ generated_reagents = list("milk" = 2)
+ reagent_name = "milk"
usable_volume = 1000
empty_message = list("Your breasts are almost completely drained!")
@@ -684,7 +685,8 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
//Hottokeeki: Belle Day
/obj/item/weapon/implant/reagent_generator/belle
- generated_reagent = "milk"
+ generated_reagents = list("milk" = 2)
+ reagent_name = "milk"
usable_volume = 5000
empty_message = list("Your breasts and or udder feel almost completely drained!", "You're feeling a liittle on the empty side...")
@@ -703,7 +705,8 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
/obj/item/weapon/implant/reagent_generator/eldi
name = "lactation implant"
desc = "This is an implant that allows the user to lactate."
- generated_reagent = "milk"
+ generated_reagents = list("milk" = 2)
+ reagent_name = "milk"
usable_volume = 1000
empty_message = list("Your breasts feel unusually empty.", "Your chest feels lighter - your milk supply is empty!", "Your milk reserves have run dry.", "Your grateful nipples ache as the last of your milk leaves them.")
@@ -719,7 +722,8 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
//Vorrarkul: Theodora Lindt
/obj/item/weapon/implant/reagent_generator/vorrarkul
- generated_reagent = "chocolate_milk"
+ generated_reagents = list("chocolate_milk" = 2)
+ reagent_name = "chocalate milk"
usable_volume = 1000
empty_message = list("Your nipples are sore from being milked!")
@@ -740,7 +744,7 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
/obj/item/weapon/implant/reagent_generator/roiz
name = "egg laying implant"
desc = "This is an implant that allows the user to lay eggs."
- generated_reagent = "egg"
+ generated_reagents = list("egg" = 2)
usable_volume = 500
transfer_amount = 50
@@ -802,12 +806,12 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
if(prob(15))
src.visible_message("[src] [pick(rimplant.random_emote)].") // M-mlem.
- rimplant.reagents.remove_reagent(rimplant.generated_reagent, rimplant.transfer_amount)
+ rimplant.reagents.remove_any(rimplant.transfer_amount)
/obj/item/weapon/implant/reagent_generator/pumila_apple
name = "apple laying implant"
desc = "This is an implant that allows the user to grow apples."
- generated_reagent = "sugar" //This actually allows them to.
+ generated_reagents = list("sugar" = 2) //This actually allows them to.
usable_volume = 250 //Five apples. Let's not get /too/ crazy here.
transfer_amount = 50
@@ -867,10 +871,11 @@ obj/item/weapon/material/hatchet/tacknife/combatknife/fluff/katarina/handle_shie
src.visible_message("[src] [pick(rimplant.short_emote_descriptor)] an apple.",
"You [pick(rimplant.self_emote_descriptor)] an apple.")
- rimplant.reagents.remove_reagent(rimplant.generated_reagent, rimplant.transfer_amount)
+ rimplant.reagents.remove_any(rimplant.transfer_amount)
/*
/obj/item/weapon/implant/reagent_generator/pumila_nectar //Bugged. Two implants at once messes things up.
- generated_reagent = "honey"
+ generated_reagents = list("honey" = 2)
+ reagent_name = "honey"
usable_volume = 5000
empty_message = list("You appear to be all out of nectar", "You feel as though you are lacking a majority of your nectar.")