From d304c775d623b7d3bd02bcc56d089aec4eb41f12 Mon Sep 17 00:00:00 2001 From: danni-boy <32673848+danni-boy@users.noreply.github.com> Date: Mon, 2 Nov 2020 02:45:31 +0000 Subject: [PATCH 1/3] fixes ghosts being flung by mass drivers --- code/modules/mob/dead/observer/observer.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6398ce71a8c..959bc441b74 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -16,6 +16,7 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) canmove = FALSE alpha = 127 move_resist = INFINITY // don't get pushed around + anchored = 1 // don't get moved by mass drivers invisibility = INVISIBILITY_OBSERVER var/can_reenter_corpse var/bootime = FALSE From 73e1dcfb977c132ce7955140b9e5f57b5a0bf657 Mon Sep 17 00:00:00 2001 From: danni-boy <32673848+danni-boy@users.noreply.github.com> Date: Mon, 2 Nov 2020 20:28:32 +0000 Subject: [PATCH 2/3] Revert "fixes ghosts being flung by mass drivers" This reverts commit d304c775d623b7d3bd02bcc56d089aec4eb41f12. Reverts changes made to mob/observer with the intention of changing mass driver code instead. --- code/modules/mob/dead/observer/observer.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 959bc441b74..6398ce71a8c 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -16,7 +16,6 @@ GLOBAL_VAR_INIT(observer_default_invisibility, INVISIBILITY_OBSERVER) canmove = FALSE alpha = 127 move_resist = INFINITY // don't get pushed around - anchored = 1 // don't get moved by mass drivers invisibility = INVISIBILITY_OBSERVER var/can_reenter_corpse var/bootime = FALSE From 77592be781d2dc3b947ca00410867b8e596f85a0 Mon Sep 17 00:00:00 2001 From: danni-boy <32673848+danni-boy@users.noreply.github.com> Date: Mon, 2 Nov 2020 21:29:52 +0000 Subject: [PATCH 3/3] Checks if something has move_resist INFINITY. --- code/game/machinery/mass_driver.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index c8a220ca3f2..8c960774b63 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -47,7 +47,7 @@ var/O_limit = 0 var/atom/target = get_edge_target_turf(src, dir) for(var/atom/movable/O in loc) - if(!O.anchored||istype(O, /obj/mecha))//Mechs need their launch platforms. + if((!O.anchored && O.move_resist != INFINITY) || istype(O, /obj/mecha)) //Mechs need their launch platforms. Also checks if something is anchored or has move resist INFINITY, which should stop ghost flinging. O_limit++ if(O_limit >= 20)//so no more than 20 items are sent at a time, probably for counter-lag purposes break