diff --git a/code/ATMOSPHERICS/components/unary/cold_sink.dm b/code/ATMOSPHERICS/components/unary/cold_sink.dm index e5305876ed..9fcdad8613 100644 --- a/code/ATMOSPHERICS/components/unary/cold_sink.dm +++ b/code/ATMOSPHERICS/components/unary/cold_sink.dm @@ -43,6 +43,13 @@ node = target break + //copied from pipe construction code since heaters/freezers don't use fittings and weren't doing this check - this all really really needs to be refactored someday. + //check that there are no incompatible pipes/machinery in our own location + for(var/obj/machinery/atmospherics/M in src.loc) + if(M != src && (M.initialize_directions & node_connect) && M.check_connect_types(M,src)) // matches at least one direction on either type of pipe & same connection type + node = null + break + update_icon() /obj/machinery/atmospherics/unary/freezer/update_icon() diff --git a/code/ATMOSPHERICS/components/unary/heat_source.dm b/code/ATMOSPHERICS/components/unary/heat_source.dm index db046e7974..e139f6faf3 100644 --- a/code/ATMOSPHERICS/components/unary/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary/heat_source.dm @@ -39,11 +39,19 @@ var/node_connect = dir + //check that there is something to connect to for(var/obj/machinery/atmospherics/target in get_step(src, node_connect)) if(target.initialize_directions & get_dir(target, src)) node = target break + //copied from pipe construction code since heaters/freezers don't use fittings and weren't doing this check - this all really really needs to be refactored someday. + //check that there are no incompatible pipes/machinery in our own location + for(var/obj/machinery/atmospherics/M in src.loc) + if(M != src && (M.initialize_directions & node_connect) && M.check_connect_types(M,src)) // matches at least one direction on either type of pipe & same connection type + node = null + break + update_icon() diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index d77f7b412f..0df72664fd 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -51,7 +51,7 @@ return if(!affects_dead && M.stat == DEAD) return - if(overdose && (dose > overdose) && (location == CHEM_BLOOD)) + if(overdose && (dose > overdose) && (location != CHEM_TOUCH)) overdose(M, alien) var/removed = metabolism if(ingest_met && (location == CHEM_INGEST))