mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Merge pull request #5415 from VOREStation/vplk-port-fix-stairs
Fixes Stairs in BYOND 512.1436
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user