anchor.diff:  	///wheter we just unanchored or drop whatever is in the variable. either is safe
   	var/drop_on_wrench = /obj/item/stack/ducts
   
  -/obj/machinery/duct/Initialize(mapload, no_anchor, color_of_duct, layer_of_duct = DUCT_LAYER_DEFAULT, force_connects)
  -	. = ..()
  +/obj/machinery/duct/Initialize(mapload, no_anchor, color_of_duct = "#ffffff", layer_of_duct = DUCT_LAYER_DEFAULT, force_connects)
  +	. = ..()
  +
   	if(no_anchor)
   		active = FALSE
  -		anchored = FALSE
  +		set_anchored(FALSE)
   	else if(!can_anchor())
   		qdel(src)
  +		CRASH("Overlapping ducts detected")
  +
   	if(force_connects)
   		connects = force_connects //skip change_connects() because we're still initializing and we need to set our connects at one point
   	if(!lock_layers)
  
positive.code: 		else
  			create_duct()
  			duct.add_duct(D)
  	add_neighbour(D)
  	D.attempt_connect()//tell our buddy its time to pass on the torch of connecting to pipes. This shouldn't ever infinitely loop since it only works on pipes that havent been inductrinated
  	return TRUE
  ///connect to a plumbing object
  /obj/machinery/duct/proc/connect_plumber(datum/component/plumbing/P, direction)
  	var/opposite_dir = turn(direction, 180)
  
negative.code: 		return
  
  	add_connects(direction) //the connect of the other duct is handled in connect_network, but do this here for the parent duct because it's not necessary in normal cases
  	add_neighbour(D, direction)
  	connect_network(D, direction, TRUE)
  	update_icon()
  
  ///has a total of 5 layers and doesnt give a shit about color. its also dumb so doesnt autoconnect.
  /obj/machinery/duct/multilayered
  	name = "duct layer-manifold"
  