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 4ae012cc9ec..cd92127fe82 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 67e4d4e98cc..7c19cff5fa1 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 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 ) 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 79a531eb602..fe2d2772f62 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 6566668c556..eac107923ed 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)