From 629b5975ca1169e2166fbe01fcdd49724ec21fec Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 21 Dec 2019 16:48:56 +0100 Subject: [PATCH] Merge pull request #10096 from Citadel-Station-13/kevinz000-patch-123 nanites can no longer spread through atmospherics-blocking objects --- code/datums/components/crafting/craft.dm | 7 ------- code/modules/research/nanites/nanite_programs/utility.dm | 8 ++++++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index 047c8c74..35966e18 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -127,10 +127,6 @@ for(var/datum/reagent/A in RC.reagents.reagent_list) .["other"][A.type] += A.volume .["other"][I.type] += 1 - if(istype(I, /obj/item/reagent_containers/food/snacks/grown) && !.["color"]) //First we find has priority - var/obj/item/reagent_containers/food/snacks/grown/G = I - if(G.modified_colors) - .["color"] = G.color /datum/component/personal_crafting/proc/check_tools(mob/user, datum/crafting_recipe/R, list/contents) if(!R.tools.len) @@ -166,9 +162,6 @@ /datum/component/personal_crafting/proc/construct_item(mob/user, datum/crafting_recipe/R) var/list/contents = get_surroundings(user) var/send_feedback = 1 - var/cached_color = null //Do not remove this. - if(contents["color"]) //From plants - cached_color = contents["color"] if(check_contents(R, contents)) if(check_tools(user, R, contents)) if(do_after(user, R.time, target = user)) diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index b33841a2..a269d01a 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -236,10 +236,14 @@ /datum/nanite_program/spreading/active_effect() if(prob(10)) var/list/mob/living/target_hosts = list() - for(var/mob/living/L in oview(5, host_mob)) - if((MOB_SILICON & L.mob_biotypes)) + var/turf/T = get_turf(host_mob) + for(var/mob/living/L in range(5, host_mob)) + if(!(MOB_ORGANIC in L.mob_biotypes) && !(MOB_UNDEAD in L.mob_biotypes)) + continue + if(!disease_air_spread_walk(T, get_turf(L))) continue target_hosts += L + target_hosts -= host_mob if(!target_hosts.len) return var/mob/living/infectee = pick(target_hosts)