diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index 95b9f92873..ccce186304 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -396,6 +396,16 @@
list_reagents = list(/datum/reagent/consumable/orangejuice = 100)
foodtype = FRUIT| BREAKFAST
+/obj/item/reagent_containers/food/drinks/bottle/bio_carton
+ name = "small carton box"
+ desc = "A small biodegradable carton box made from plant biomatter."
+ icon_state = "eco_box"
+ item_state = "carton"
+ lefthand_file = 'icons/mob/inhands/equipment/kitchen_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/equipment/kitchen_righthand.dmi'
+ volume = 50
+ isGlass = FALSE
+
/obj/item/reagent_containers/food/drinks/bottle/cream
name = "milk cream"
desc = "It's cream. Made from milk. What else did you think you'd find in there?"
diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm
index 6a3fd56208..4edc0e8a13 100644
--- a/code/modules/hydroponics/biogenerator.dm
+++ b/code/modules/hydroponics/biogenerator.dm
@@ -40,14 +40,14 @@
updateUsrDialog()
/obj/machinery/biogenerator/RefreshParts()
- var/E = 0
- var/P = 0
- var/max_storage = 40
+ var/E = 0.5
+ var/P = 0.5
+ var/max_storage = 20
for(var/obj/item/stock_parts/matter_bin/B in component_parts)
- P += B.rating
- max_storage = 40 * B.rating
+ P += B.rating * 0.5
+ max_storage = max(20 * B.rating, max_storage)
for(var/obj/item/stock_parts/manipulator/M in component_parts)
- E += M.rating
+ E += M.rating * 0.5
efficiency = E
productivity = P
max_items = max_storage
@@ -196,7 +196,7 @@
dat += "x5"
if(ispath(D.build_path, /obj/item/stack))
dat += "x10"
- dat += "([D.materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]/efficiency])
"
+ dat += "([round(D.materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]/efficiency)])
"
dat += ""
else
dat += "
No container inside, please insert container.
"
@@ -214,12 +214,16 @@
to_chat(usr, "The biogenerator is in the process of working.")
return
var/S = 0
+ var/total = 0
for(var/obj/item/reagent_containers/food/snacks/grown/I in contents)
S += 5
- if(I.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment) < 0.1)
- points += 1*productivity
- else points += I.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)*10*productivity
+ var/nutri_amount = I.reagents.get_reagent_amount(/datum/reagent/consumable/nutriment)
+ if(nutri_amount < 0.1)
+ total += 1*productivity
+ else
+ total += nutri_amount*10*productivity
qdel(I)
+ points += round(total)
if(S)
processing = TRUE
update_icon()
@@ -235,12 +239,13 @@
/obj/machinery/biogenerator/proc/check_cost(list/materials, multiplier = 1, remove_points = TRUE)
if(materials.len != 1 || materials[1] != SSmaterials.GetMaterialRef(/datum/material/biomass))
return FALSE
- if (materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency > points)
+ var/cost = round(materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency)
+ if (cost > points)
menustat = "nopoints"
return FALSE
else
if(remove_points)
- points -= materials[SSmaterials.GetMaterialRef(/datum/material/biomass)]*multiplier/efficiency
+ points -= cost
update_icon()
updateUsrDialog()
return TRUE
diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm
index e82dffbe07..c4e95dbcbb 100644
--- a/code/modules/research/designs/biogenerator_designs.dm
+++ b/code/modules/research/designs/biogenerator_designs.dm
@@ -2,6 +2,9 @@
///////Biogenerator Designs ///////
///////////////////////////////////
+//Please be wary of not adding inorganic items to the results such as glass bottles and metal.
+//since they kind of defeat the design of this feature.
+
/datum/design/milk
name = "10u Milk"
id = "milk"
@@ -18,22 +21,6 @@
make_reagents = list(/datum/reagent/consumable/cream = 10)
category = list("initial","Food")
-/datum/design/milk_carton
- name = "Milk Carton"
- id = "milk_carton"
- build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 100)
- build_path = /obj/item/reagent_containers/food/condiment/milk
- category = list("initial","Food")
-
-/datum/design/cream_carton
- name = "Cream Carton"
- id = "cream_carton"
- build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 300)
- build_path = /obj/item/reagent_containers/food/drinks/bottle/cream
- category = list("initial","Food")
-
/datum/design/black_pepper
name = "10u Black Pepper"
id = "black_pepper"
@@ -42,15 +29,6 @@
make_reagents = list(/datum/reagent/consumable/blackpepper = 10)
category = list("initial","Food")
-/datum/design/pepper_mill
- name = "Pepper Mill"
- id = "pepper_mill"
- build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 50)
- build_path = /obj/item/reagent_containers/food/condiment/peppermill
- make_reagents = list()
- category = list("initial","Food")
-
/datum/design/enzyme
name = "10u Universal Enzyme"
id = "enzyme"
@@ -59,14 +37,6 @@
make_reagents = list(/datum/reagent/consumable/enzyme = 10)
category = list("initial","Food")
-/datum/design/flour_sack
- name = "Flour Sack"
- id = "flour_sack"
- build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 150)
- build_path = /obj/item/reagent_containers/food/condiment/flour
- category = list("initial","Food")
-
/datum/design/monkey_cube
name = "Monkey Cube"
id = "mcube"
@@ -84,43 +54,43 @@
category = list("initial", "Food")
/datum/design/ez_nut
- name = "E-Z Nutrient"
+ name = "10u E-Z Nutrient"
id = "ez_nut"
build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 10)
- build_path = /obj/item/reagent_containers/glass/bottle/nutrient/ez
+ materials = list(/datum/material/biomass = 2)
+ make_reagents = list(/datum/reagent/plantnutriment/eznutriment = 10)
category = list("initial","Botany Chemicals")
/datum/design/l4z_nut
- name = "Left 4 Zed"
+ name = "10u Left 4 Zed"
id = "l4z_nut"
build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 20)
- build_path = /obj/item/reagent_containers/glass/bottle/nutrient/l4z
+ materials = list(/datum/material/biomass = 4)
+ make_reagents = list(/datum/reagent/plantnutriment/left4zednutriment = 10)
category = list("initial","Botany Chemicals")
/datum/design/rh_nut
- name = "Robust Harvest"
+ name = "10u Robust Harvest"
id = "rh_nut"
build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 25)
- build_path = /obj/item/reagent_containers/glass/bottle/nutrient/rh
+ materials = list(/datum/material/biomass = 5)
+ make_reagents = list(/datum/reagent/plantnutriment/robustharvestnutriment = 10)
category = list("initial","Botany Chemicals")
/datum/design/weed_killer
name = "Weed Killer"
id = "weed_killer"
build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 50)
- build_path = /obj/item/reagent_containers/glass/bottle/killer/weedkiller
+ materials = list(/datum/material/biomass = 10)
+ make_reagents = list(/datum/reagent/toxin/plantbgone/weedkiller = 10)
category = list("initial","Botany Chemicals")
/datum/design/pest_spray
name = "Pest Killer"
id = "pest_spray"
build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 50)
- build_path = /obj/item/reagent_containers/glass/bottle/killer/pestkiller
+ materials = list(/datum/material/biomass = 10)
+ make_reagents = list(/datum/reagent/toxin/pestkiller = 10)
category = list("initial","Botany Chemicals")
/datum/design/ammonia
@@ -139,13 +109,13 @@
make_reagents = list(/datum/reagent/saltpetre = 10)
category = list("initial","Botany Chemicals")
-/datum/design/botany_bottle
- name = "Empty Bottle"
- id = "botany_bottle"
+/datum/design/empty_carton
+ name = "Small Empty Carton Box"
+ id = "empty_carton"
build_type = BIOGENERATOR
- materials = list(/datum/material/biomass = 5)
- build_path = /obj/item/reagent_containers/glass/bottle/nutrient/empty
- category = list("initial", "Botany Chemicals")
+ materials = list(/datum/material/biomass = 15)
+ build_path = /obj/item/reagent_containers/food/drinks/bottle/bio_carton
+ category = list("initial", "Organic Materials")
/datum/design/cloth
name = "Roll of Cloth"
diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi
index 07e7bf1da8..d0be75150a 100644
Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ