diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index 2dfcfcdf812..62cad5e469c 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 d40d10bf93e..e1d2e0b9921 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 9f89842f0c5..eac107923ed 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 294ee437252..4f52278a9ca 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 )