Things landing on other things fixes

Turbolifts, and shuttles. Please behave.

Shuttles throw everything to z1 regardless of actual shuttle destination z-level, which is silly. Secondly they literally throw it using Move which is silly. Thirdly, they do it to every atom/movable, which is unacceptable. Especially since that tries to squash lighting overlays out of the way, making weird lighting problems on shuttles.

Turbolifts qdel any 'simulated' atom/movable when they run into it, which is also stupid. This includes things like the AI Eye, which permanently deletes it. A little unfortunate, if you ask me.
This commit is contained in:
Arokha Sieyes
2017-05-14 23:54:57 -04:00
parent 9a894008d6
commit 69dc05731f
2 changed files with 14 additions and 15 deletions

View File

@@ -101,15 +101,14 @@
throwy = T.y
for(var/turf/T in dstturfs)
var/turf/D = locate(T.x, throwy - 1, 1)
for(var/atom/movable/AM as mob|obj in T)
AM.Move(D)
for(var/mob/living/carbon/bug in destination)
bug.gib()
for(var/mob/living/simple_animal/pest in destination)
pest.gib()
var/turf/D = locate(T.x, throwy - 1, T.z)
for(var/I in T)
if(istype(I,/mob/living))
var/mob/living/L = I
L.gib()
else if(istype(I,/obj))
var/obj/O = I
O.forceMove(D)
origin.move_contents_to(destination, direction=direction)

View File

@@ -93,12 +93,12 @@
return 0
for(var/turf/T in destination)
for(var/atom/movable/AM in T)
if(istype(AM, /mob/living))
var/mob/living/M = AM
M.gib()
else if(AM.simulated)
qdel(AM)
for(var/I in T)
if(istype(I, /mob/living))
var/mob/living/L = I
L.gib()
else if(istype(I,/obj))
qdel(I)
origin.move_contents_to(destination)