diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index 7f096f0b578..d51b1e2d283 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -386,12 +386,12 @@
reagents.clear_reagents()
icon_state = "mixer0"
else if (href_list["createpill"] || href_list["createpill_multiple"])
- var/name = reject_bad_text(input(usr,"Name:","Name your pill!",reagents.get_master_reagent_name()))
var/count = 1
if (href_list["createpill_multiple"]) count = isgoodnumber(input("Select the number of pills to make.", 10, pillamount) as num)
if (count > 20) count = 20 //Pevent people from creating huge stacks of pills easily. Maybe move the number to defines?
var/amount_per_pill = reagents.total_volume/count
if (amount_per_pill > 50) amount_per_pill = 50
+ var/name = reject_bad_text(input(usr,"Name:","Name your pill!","[reagents.get_master_reagent_name()] ([amount_per_pill] units)"))
while (count--)
var/obj/item/weapon/reagent_containers/pill/P = new/obj/item/weapon/reagent_containers/pill(src.loc)
if(!name) name = reagents.get_master_reagent_name()
@@ -501,7 +501,7 @@
if(!condi)
dat += "
Create pill (50 units max)
"
dat += "Create multiple pills
"
- dat += "Create bottle (30 units max)
"
+ dat += "Create bottle (30 units max)"
else
dat += "Create bottle (50 units max)"
if(!condi)
diff --git a/code/modules/reagents/reagent_containers/glass/bottle.dm b/code/modules/reagents/reagent_containers/glass/bottle.dm
index c4beb0a8f91..a1240ebec56 100644
--- a/code/modules/reagents/reagent_containers/glass/bottle.dm
+++ b/code/modules/reagents/reagent_containers/glass/bottle.dm
@@ -17,9 +17,40 @@
if(!icon_state)
icon_state = "bottle[rand(1,20)]"
+
+ //Copypasta from /obj/item/weapon/reagent_containers/glass/beaker
+ on_reagent_change()
+ update_icon()
+
+ pickup(mob/user)
+ ..()
+ update_icon()
+
+ dropped(mob/user)
+ ..()
+ update_icon()
+
+ attack_hand()
+ ..()
+ update_icon()
+
update_icon()
overlays.Cut()
+ if(reagents.total_volume)
+ var/image/filling = image('icons/obj/reagentfillings.dmi', src, "[icon_state]10")
+
+ var/percent = round((reagents.total_volume / volume) * 100)
+ switch(percent)
+ if(0 to 24) filling.icon_state = "[icon_state]10"
+ if(25 to 49) filling.icon_state = "[icon_state]25"
+ if(50 to 74) filling.icon_state = "[icon_state]50"
+ if(75 to 90) filling.icon_state = "[icon_state]75"
+ if(91 to INFINITY) filling.icon_state = "[icon_state]100"
+
+ filling.icon += mix_color_from_reagents(reagents.reagent_list)
+ overlays += filling
+
if (!is_open_container())
var/image/lid = image(icon, src, "lid_bottle")
overlays += lid
diff --git a/icons/obj/reagentfillings.dmi b/icons/obj/reagentfillings.dmi
index f236fbc2c06..2d6eb81ba92 100644
Binary files a/icons/obj/reagentfillings.dmi and b/icons/obj/reagentfillings.dmi differ