diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 01532fe16d2..7829480846e 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -237,10 +237,6 @@ if(isrobot(user)) return - if(beaker) - to_chat(user, "Something is already loaded into the machine.") - return - if((istype(I, /obj/item/reagent_containers/glass) || istype(I, /obj/item/reagent_containers/food/drinks)) && user.a_intent != INTENT_HARM) if(panel_open) to_chat(user, "Close the maintenance panel first.") @@ -248,12 +244,18 @@ if(!user.drop_item()) to_chat(user, "[I] is stuck to you!") return - beaker = I I.forceMove(src) - to_chat(user, "You set [I] on the machine.") + if(beaker) + user.put_in_hands(beaker) + to_chat(user, "You swap [I] with [beaker].") + else + to_chat(user, "You set [I] on the machine.") + beaker = I + SStgui.update_uis(src) // update all UIs attached to src update_icon(UPDATE_ICON_STATE) return + return ..() /obj/machinery/chem_dispenser/crowbar_act(mob/user, obj/item/I) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 561c2c54a67..487a7b56a6a 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -98,15 +98,16 @@ return TRUE if((istype(I, /obj/item/reagent_containers/glass) || istype(I, /obj/item/reagent_containers/food/drinks/drinkingglass)) && user.a_intent != INTENT_HARM) - if(beaker) - to_chat(user, "A beaker is already loaded into the machine.") - return if(!user.drop_item()) to_chat(user, "[I] is stuck to you!") return - beaker = I I.forceMove(src) - to_chat(user, "You add the beaker to the machine!") + if(beaker) + user.put_in_hands(beaker) + to_chat(user, "You swap [I] with [beaker] inside.") + else + to_chat(user, "You add [I] to the machine.") + beaker = I SStgui.update_uis(src) update_icon()