diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index e534e3b4739..9550e85b474 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -134,7 +134,9 @@ if("cellremove") if(open && cell && !usr.get_active_hand()) cell.update_icon() - usr.put_in_hands(cell) + cell.forceMove(loc) + if(Adjacent(usr) && !issilicon(usr)) + usr.put_in_hands(cell) cell.add_fingerprint(usr) cell = null usr.visible_message("[usr] removes the power cell from [src].", "You remove the power cell from [src].") diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 54fa10e4018..72c77d48fa7 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -338,7 +338,8 @@ if("eject_seed") if(seed) seed.forceMove(loc) - user.put_in_hands(seed) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(seed) seed = null update_genes() update_icon(UPDATE_OVERLAYS) @@ -351,7 +352,8 @@ var/obj/item/disk/plantgene/D = contents[text2num(params["index"])] if(D) D.forceMove(loc) - user.put_in_hands(D) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(D) disk = null update_genes() else @@ -420,7 +422,8 @@ for(var/obj/item/disk/plantgene/D in contents) if(!D.gene && !D.is_bulk_core) D.forceMove(loc) - user.put_in_hands(D) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(D) update_genes() return to_chat(user, "No Empty Disks to Eject!")