mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 15:37:36 +01:00
Some more minor improvements.
This commit is contained in:
+21
-20
@@ -18,7 +18,7 @@ proc/FloodFill(turf/start)
|
||||
for(var/d in cardinal)
|
||||
var/turf/O = get_step(T,d)
|
||||
//Simple pass check.
|
||||
if(istype(O) && !(O in open || O in closed) && O.ZCanPass(T))
|
||||
if(istype(O) && !(O in open || O in closed || O in doors) && O.ZCanPass(T))
|
||||
open += O
|
||||
else
|
||||
doors |= T
|
||||
@@ -28,28 +28,29 @@ proc/FloodFill(turf/start)
|
||||
open -= T
|
||||
closed += T
|
||||
|
||||
for(var/turf/T in doors)
|
||||
var/force_connection = 1
|
||||
var/turf/simulated/O = get_step(T,NORTH)
|
||||
if(O in closed)
|
||||
closed += T
|
||||
continue
|
||||
else if(T.ZCanPass(O) && istype(O))
|
||||
force_connection = 0
|
||||
|
||||
O = get_step(T,WEST)
|
||||
if(O in closed)
|
||||
closed += T
|
||||
continue
|
||||
else if(force_connection && T.ZCanPass(O) && istype(O))
|
||||
force_connection = 0
|
||||
|
||||
if(force_connection)
|
||||
O = get_step(T,SOUTH)
|
||||
if(closed.len)
|
||||
for(var/turf/T in doors)
|
||||
var/force_connection = 1
|
||||
var/turf/simulated/O = get_step(T,NORTH)
|
||||
if(O in closed)
|
||||
closed += T
|
||||
else if((!T.ZCanPass(O) || !istype(O)) && get_step(T,EAST) in closed)
|
||||
continue
|
||||
else if(T.ZCanPass(O) && istype(O))
|
||||
force_connection = 0
|
||||
|
||||
O = get_step(T,WEST)
|
||||
if(O in closed)
|
||||
closed += T
|
||||
continue
|
||||
else if(force_connection && T.ZCanPass(O) && istype(O))
|
||||
force_connection = 0
|
||||
|
||||
if(force_connection)
|
||||
O = get_step(T,SOUTH)
|
||||
if(O in closed)
|
||||
closed += T
|
||||
else if((!T.ZCanPass(O) || !istype(O)) && get_step(T,EAST) in closed)
|
||||
closed += T
|
||||
|
||||
return closed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user