diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 69b77a0f731..f9f6e60e86d 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -251,8 +251,11 @@ return I.forceMove(src) if(beaker) - user.put_in_hands(beaker) - to_chat(user, "You swap [I] with [beaker].") + to_chat(usr, "You swap [I] with [beaker].") + if(Adjacent(usr) && !issilicon(usr)) //Prevents telekinesis from putting in hand + user.put_in_hands(beaker) + else + beaker.forceMove(loc) else to_chat(user, "You set [I] on the machine.") beaker = I diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index c0d15d5492f..c90faeb4e0e 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -125,8 +125,11 @@ return I.forceMove(src) if(beaker) - user.put_in_hands(beaker) - to_chat(user, "You swap [I] with [beaker] inside.") + to_chat(usr, "You swap [I] with [beaker] inside.") + if(Adjacent(usr) && !issilicon(usr)) //Prevents telekinesis from putting in hand + user.put_in_hands(beaker) + else + beaker.forceMove(loc) else to_chat(user, "You add [I] to the machine.") beaker = I