Fix some cases of silicons teleporting items on put_in_hands (#28017)

* fix some cases

* forceMove

* replace usr with user
This commit is contained in:
Mira
2025-01-28 21:03:31 +00:00
committed by GitHub
parent 665eb99467
commit d28d740216
2 changed files with 9 additions and 4 deletions
+3 -1
View File
@@ -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("<span class='notice'>[usr] removes the power cell from [src].</span>", "<span class='notice'>You remove the power cell from [src].</span>")
+6 -3
View File
@@ -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, "<span class='warning'>No Empty Disks to Eject!</span>")