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)