Merge pull request #5415 from VOREStation/vplk-port-fix-stairs

Fixes Stairs in BYOND 512.1436
This commit is contained in:
Anewbe
2018-07-23 10:08:02 -05:00
committed by GitHub

View File

@@ -141,20 +141,23 @@
if(!istype(above)) if(!istype(above))
above.ChangeTurf(/turf/simulated/open) above.ChangeTurf(/turf/simulated/open)
/obj/structure/stairs/Uncross(atom/movable/A) /obj/structure/stairs/CheckExit(atom/movable/mover as mob|obj, turf/target as turf)
if(A.dir == dir) if(get_dir(loc, target) == dir && upperStep(mover.loc))
// This is hackish but whatever. return FALSE
var/turf/target = get_step(GetAbove(A), dir) . = ..()
var/turf/source = A.loc
if(target.Enter(A, source)) /obj/structure/stairs/Bumped(atom/movable/A)
A.loc = target // This is hackish but whatever.
target.Entered(A, source) var/turf/target = get_step(GetAbove(A), dir)
if(isliving(A)) if(target.Enter(A, src)) // Pass src to be ignored to avoid infinate loop
var/mob/living/L = A A.forceMove(target)
if(L.pulling) if(isliving(A))
L.pulling.forceMove(target) var/mob/living/L = A
return 0 if(L.pulling)
return 1 L.pulling.forceMove(target)
/obj/structure/stairs/proc/upperStep(var/turf/T)
return (T == loc)
/obj/structure/stairs/CanPass(obj/mover, turf/source, height, airflow) /obj/structure/stairs/CanPass(obj/mover, turf/source, height, airflow)
return airflow || !density return airflow || !density