Derp, airlocks without a turf beyond them now suck you out. Can't believe I missed this bit.

This commit is contained in:
SkyMarshal
2012-06-08 01:43:33 -07:00
parent dd4f191f28
commit 77c8367b68
2 changed files with 15 additions and 3 deletions

View File

@@ -196,8 +196,14 @@ connection
del src
if(A.zone == zone_B && B.zone == zone_A)
del src
var/turf/temp = B
B = A
A = temp
zone_B = B.zone
zone_A = A.zone
var/temp_ref = ref_A
ref_A = ref_B
ref_B = temp_ref
return
if(zone_A)

View File

@@ -203,7 +203,13 @@ turf
var/turf/simulated/T = get_step(src,direction)
if(air_check_directions&direction) //I can connect air in this direction
if(!istype(T)) //Space
if(zone)
if(!CanPass(null, T, 1.5, 1) && CanPass(src, T, 0, 0)) //Normally would block it, instead lets make a connection to it.
if(zone)
zone.AddSpace(T)
else if(!CanPass(src, T, 0, 0)) //I block the air, disconnect from it if connected.
if(zone && T in zone.space_tiles)
zone.RemoveSpace(T)
else if(zone)
zone.rebuild = 1
continue
else if(!T.CanPass(null, src, 1.5, 1) && !T.CanPass(null, src, 0, 0)) //If I block air, we must look to see if the adjacent turfs need rebuilt.