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: 					adjacents += D
  	return adjacents
  
  /obj/machinery/duct/update_icon() //setting connects isnt a parameter because sometimes we make more than one change, overwrite it completely or just add it to the bitfield
  	var/temp_icon = initial(icon_state)
  	for(var/D in GLOB.cardinals)
  		if(D & connects)
  
negative.code: 	else
  		connects = EAST | WEST
  
  ///don't connect to other multilayered stuff because honestly it shouldn't be done and I dont wanna deal with it
  /obj/machinery/duct/multilayered/connect_duct(obj/machinery/duct/D, direction, ignore_color)
  	if(istype(D, /obj/machinery/duct/multilayered))
  		return
  