diff --git a/code/game/machinery/kitchen/smartfridge.dm b/code/game/machinery/kitchen/smartfridge.dm
index e51b11aafa4..7f8ba253582 100644
--- a/code/game/machinery/kitchen/smartfridge.dm
+++ b/code/game/machinery/kitchen/smartfridge.dm
@@ -96,7 +96,7 @@
nanomanager.update_uis(src)
- else if(istype(O, /obj/item/weapon/storage/bag/plants))
+ else if(istype(O, /obj/item/weapon/storage/bag/plants) || istype(O, /obj/item/weapon/storage/belt/medical))
var/obj/item/weapon/storage/bag/plants/P = O
var/plants_loaded = 0
for(var/obj/G in P.contents)
@@ -121,6 +121,7 @@
nanomanager.update_uis(src)
+
else
user << "\The [src] smartly refuses [O]."
return 1
@@ -138,6 +139,39 @@
ui_interact(user)
+//Drag pill bottle to fridge to empty it into the fridge
+/obj/machinery/smartfridge/MouseDrop_T(obj/over_object as obj, mob/user as mob)
+ if(!istype(over_object, /obj/item/weapon/storage/pill_bottle)) //Only pill bottles, please
+ return
+
+ if(!src.ispowered)
+ user << "\The [src] is unpowered and useless."
+ return
+
+ var/obj/item/weapon/storage/box/pillbottles/P = over_object
+ var/items_loaded = 0
+ for(var/obj/G in P.contents)
+ if(accept_check(G))
+ if(contents.len >= max_n_of_items)
+ user << "\The [src] is full."
+ return 1
+ else
+ P.remove_from_storage(G,src)
+ if(item_quants[G.name])
+ item_quants[G.name]++
+ else
+ item_quants[G.name] = 1
+ items_loaded++
+ if(items_loaded)
+ user.visible_message( \
+ "[user] empties \the [P] into \the [src].", \
+ "You empty \the [P] into \the [src].")
+ if(P.contents.len > 0)
+ user << "Some items are refused."
+ nanomanager.update_uis(src)
+ updateUsrDialog()
+
+
/*******************
* SmartFridge Menu
********************/
@@ -201,5 +235,3 @@
return 0
-
-
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 46ef15a70a0..5a5be3c9e6e 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -72,6 +72,7 @@
/obj/item/weapon/storage/belt/medical
+ use_to_pickup = 1 //Allow medical belt to pick up medicine
name = "medical belt"
desc = "Can hold various medical equipment."
icon_state = "medicalbelt"
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index f88918d5402..6f95851c7a7 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -152,6 +152,7 @@
return
attackby(obj/item/weapon/W as obj, mob/user as mob)
+
..()
if(istype(W, /obj/item/weapon/pen) || istype(W, /obj/item/device/flashlight/pen))
var/tmp_label = sanitize(input(user, "Enter a label for [src.name]","Label",src.label_text))
if(length(tmp_label) > 10)