Fix some phased shadekin interactions (#19587)

* block those

* disposals

* wheelchair incorp check

* fix those

* not the issue

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Will
2026-08-22 12:17:23 -04:00
committed by GitHub
co-authored by Cameron Lennox
parent fd8598b191
commit e2e1b1f87d
3 changed files with 19 additions and 2 deletions
+9 -2
View File
@@ -40,6 +40,8 @@
..()
if(!isliving(usr))
return
if(usr.is_incorporeal())
return
if(attached)
visible_message("[attached] is detached from \the [src]")
@@ -77,8 +79,8 @@
beaker = null
qdel(src)
return
else
return ..()
. = ..()
/obj/machinery/iv_drip/process()
@@ -141,6 +143,9 @@
update_icon()
/obj/machinery/iv_drip/attack_hand(mob/user as mob)
if(user.is_incorporeal())
return
if(beaker)
beaker.loc = get_turf(src)
beaker = null
@@ -160,6 +165,8 @@
if(usr.stat)
return
if(usr.is_incorporeal())
return
mode = !mode
to_chat(usr, "The IV drip is now [mode ? "injecting" : "taking blood"].")
@@ -232,6 +232,8 @@
..()
/obj/structure/bed/chair/wheelchair/MouseDrop(over_object, src_location, over_location)
if(usr.is_incorporeal())
return
..()
if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src))))
if(!ishuman(usr)) return
@@ -269,6 +269,8 @@
// mouse drop another mob or self
//
/obj/machinery/disposal/MouseDrop_T(atom/dropping, mob/user, src_location, over_location, src_control, over_control, params)
if(user.is_incorporeal())
return
if(isliving(dropping))
stuff_mob_in(dropping, user)
else if(isobj(dropping) && isturf(dropping.loc))
@@ -334,6 +336,8 @@
/obj/machinery/disposal/attack_hand(mob/user)
if(stat & BROKEN)
return
if(user.is_incorporeal())
return
if(user && user.loc == src)
to_chat(user, span_red("You cannot reach the controls from inside."))
@@ -352,6 +356,8 @@
if(user.canUseTopic) //Later...
return
*/
if(user.is_incorporeal())
return
if(get_dist(user, src) > 1 || user.loc == src || user.stat) //Until the above exists...
return
flush = !flush
@@ -420,6 +426,8 @@
set src in oview(1)
set category = "Object"
set name = "Force Eject"
if(usr.is_incorporeal())
return
if(flushing)
return
eject()