diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index 2dfcfcdf81..62cad5e469 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -46,17 +46,17 @@ air_master.connect(sim, src) /* - Simple heuristic for determining if removing the turf from it's zone may possibly partition the zone (A very bad thing). + Simple heuristic for determining if removing the turf from it's zone will not partition the zone (A very bad thing). Instead of analyzing the entire zone, we only check the nearest 3x3 turfs surrounding the src turf. - This implementation may produce false positives but it (hopefully) will not produce any false negatives. + This implementation may produce false negatives but it (hopefully) will not produce any false postiives. */ /turf/simulated/proc/can_safely_remove_from_zone() #ifdef ZLEVELS - return 1 //not sure how to generalize this to multiz at the moment. + return 0 //TODO generalize this to multiz. #else - if(!zone) return 0 + if(!zone) return 1 var/check_dirs = get_zone_neighbours(src) var/unconnected_dirs = check_dirs diff --git a/code/game/atoms.dm b/code/game/atoms.dm index d40d10bf93..e1d2e0b992 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -416,6 +416,8 @@ its easier to just keep the beam vertical. /atom/proc/clean_blood() + if(!simulated) + return src.color = initial(src.color) //paint src.germ_level = 0 if(istype(blood_DNA, /list)) diff --git a/code/game/objects/effects/chem/water.dm b/code/game/objects/effects/chem/water.dm index 9f89842f0c..eac107923e 100644 --- a/code/game/objects/effects/chem/water.dm +++ b/code/game/objects/effects/chem/water.dm @@ -23,12 +23,15 @@ var/turf/T = get_turf(src) if(T && reagents) reagents.touch_turf(T) - var/mob/M = locate() in T + var/mob/M + for(var/atom/A in T) + if(!ismob(A) && A.simulated) // Mobs are handled differently + reagents.touch(A) + else if(ismob(A) && !M) + M = A if(M) reagents.splash_mob(M, reagents.total_volume) break - for(var/atom/A in T) - reagents.touch(A) if(T == get_turf(target)) break sleep(delay) diff --git a/code/game/objects/structures/crates_lockers/closets/l3closet.dm b/code/game/objects/structures/crates_lockers/closets/l3closet.dm index 294ee43725..4f52278a9c 100644 --- a/code/game/objects/structures/crates_lockers/closets/l3closet.dm +++ b/code/game/objects/structures/crates_lockers/closets/l3closet.dm @@ -5,12 +5,6 @@ icon_closed = "bio" icon_opened = "bioopen" -/obj/structure/closet/l3closet/New() - ..() - new /obj/item/clothing/suit/bio_suit/general( src ) - new /obj/item/clothing/head/bio_hood/general( src ) - - /obj/structure/closet/l3closet/general icon_state = "bio_general" icon_closed = "bio_general" @@ -18,8 +12,6 @@ /obj/structure/closet/l3closet/general/New() ..() - qdel(contents) - contents = list() new /obj/item/clothing/suit/bio_suit/general( src ) new /obj/item/clothing/head/bio_hood/general( src ) @@ -31,8 +23,6 @@ /obj/structure/closet/l3closet/virology/New() ..() - qdel(contents) - contents = list() new /obj/item/clothing/suit/bio_suit/virology( src ) new /obj/item/clothing/head/bio_hood/virology( src ) new /obj/item/clothing/mask/breath(src) @@ -46,8 +36,6 @@ /obj/structure/closet/l3closet/security/New() ..() - qdel(contents) - contents = list() new /obj/item/clothing/suit/bio_suit/security( src ) new /obj/item/clothing/head/bio_hood/security( src ) @@ -59,8 +47,6 @@ /obj/structure/closet/l3closet/janitor/New() ..() - qdel(contents) - contents = list() new /obj/item/clothing/suit/bio_suit/janitor( src ) new /obj/item/clothing/head/bio_hood/janitor( src ) @@ -72,7 +58,5 @@ /obj/structure/closet/l3closet/scientist/New() ..() - qdel(contents) - contents = list() new /obj/item/clothing/suit/bio_suit/scientist( src ) new /obj/item/clothing/head/bio_hood/scientist( src )