Relaymove tweaks (#19489)

Made relaymoves uniform in function header and non sleepable.
Improved IPC/borg recharger, made it time constant.
Tweaked client/Move() to avoid a range(), moved a relaymove around to
fix a bug, some minor tweaks.
Fixed IPC/borg recharge station not taking the IPC/Borg in on bump.
This commit is contained in:
Fluffy
2024-06-22 17:13:29 +02:00
committed by GitHub
parent 36793514d6
commit 67030cf90e
37 changed files with 316 additions and 99 deletions
@@ -530,7 +530,11 @@
if(istype(user, /mob/living/silicon/robot) && Adjacent(user)) // Robots can open/close it, but not the AI.
attack_hand(user)
/obj/structure/closet/relaymove(mob/user as mob)
/obj/structure/closet/relaymove(mob/living/user, direction)
. = ..()
if(!.)
return
if(user.stat || !isturf(loc))
return
@@ -152,7 +152,11 @@
/obj/structure/closet/statue/MouseDrop_T()
return
/obj/structure/closet/statue/relaymove()
/obj/structure/closet/statue/relaymove(mob/living/user, direction)
. = ..()
if(!.)
return
return
/obj/structure/closet/statue/attack_hand()
+5 -1
View File
@@ -358,7 +358,11 @@
has_items = 1
//Shamelessly copied from wheelchair code
/obj/structure/janitorialcart/relaymove(mob/user, direction)
/obj/structure/janitorialcart/relaymove(mob/living/user, direction)
. = ..()
if(!.)
return
if(user.stat || user.stunned || user.weakened || user.paralysis || user.lying || user.restrained())
if(user==pulling)
pulling = null
+5 -1
View File
@@ -106,7 +106,11 @@
add_fingerprint(user)
return
/obj/structure/morgue/relaymove(mob/user)
/obj/structure/morgue/relaymove(mob/living/user, direction)
. = ..()
if(!.)
return
if(user.stat || locked)
return
var/turf/S = get_step(src, src.dir)
@@ -20,7 +20,11 @@
if(buckled)
buckled.set_dir(dir)
/obj/structure/bed/stool/chair/office/wheelchair/relaymove(mob/user, direction)
/obj/structure/bed/stool/chair/office/wheelchair/relaymove(mob/living/user, direction)
. = ..()
if(!.)
return
// Redundant check?
if(user.stat || user.stunned || user.weakened || user.paralysis || user.lying || user.restrained())
if(user==pulling)
+5 -1
View File
@@ -41,7 +41,11 @@
H.take_overall_damage(5, 0, DAMAGE_FLAG_SHARP, src)
to_chat(user, SPAN_WARNING("You cut yourself while climbing into \the [src]!"))
/obj/structure/trash_pile/relaymove(mob/user)
/obj/structure/trash_pile/relaymove(mob/living/user, direction)
. = ..()
if(!.)
return
if(user.stat || user.resting) // don't care too much about use_check here, checking these will suffice
return
user.forceMove(get_turf(src))