From 8a94211bb412896ac70e597dcd98c27d89a8063d Mon Sep 17 00:00:00 2001 From: Kelenius Date: Thu, 28 May 2015 18:29:07 +0300 Subject: [PATCH 1/5] Chem puffs will now touch objects on tile before splashing on the mob --- code/game/objects/effects/chem/water.dm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/game/objects/effects/chem/water.dm b/code/game/objects/effects/chem/water.dm index 4ae012cc9e..cd92127fe8 100644 --- a/code/game/objects/effects/chem/water.dm +++ b/code/game/objects/effects/chem/water.dm @@ -20,12 +20,15 @@ step_towards(src, target) var/turf/T = get_turf(src) reagents.touch_turf(T) - var/mob/M = locate() in T + var/mob/M + for(var/atom/A in T) + if(!ismob(A)) // Mobs are handled differently + reagents.touch(A) + else if(!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) From 8b11ad89f7deb0989d9b0fe9e5b61cd23893f9ce Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 2 Jun 2015 23:45:18 -0400 Subject: [PATCH 2/5] Corrects comment, multiz stub, no-zone default --- code/ZAS/Turf.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index 67e4d4e98c..7c19cff5fa 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 From 979b6adcae075d2ea235c34a66945906a9ced5c9 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Fri, 5 Jun 2015 11:59:18 +0200 Subject: [PATCH 3/5] Removes some qdel:s of lists. Primarily done by removing the need for clearing the contents list of bio-lockers in the first place. --- .../crates_lockers/closets/l3closet.dm | 16 ---------------- 1 file changed, 16 deletions(-) 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 ) From e1d6af1d2752d25ac549dbd3b114dfb11fe3695d Mon Sep 17 00:00:00 2001 From: Chinsky Date: Fri, 5 Jun 2015 14:30:01 +0300 Subject: [PATCH 4/5] Fixes #9352 --- code/game/atoms.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 79a531eb60..fe2d2772f6 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)) From 345cd7a73828f220baa98a93cffbc1f4497669af Mon Sep 17 00:00:00 2001 From: Kelenius Date: Fri, 5 Jun 2015 19:20:46 +0300 Subject: [PATCH 5/5] Adds a simulated check to chempuffs --- code/game/objects/effects/chem/water.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/effects/chem/water.dm b/code/game/objects/effects/chem/water.dm index 6566668c55..eac107923e 100644 --- a/code/game/objects/effects/chem/water.dm +++ b/code/game/objects/effects/chem/water.dm @@ -25,9 +25,9 @@ reagents.touch_turf(T) var/mob/M for(var/atom/A in T) - if(!ismob(A)) // Mobs are handled differently + if(!ismob(A) && A.simulated) // Mobs are handled differently reagents.touch(A) - else if(!M) + else if(ismob(A) && !M) M = A if(M) reagents.splash_mob(M, reagents.total_volume)