anchor.diff:  		for(var/Dir in cardinal)
   
   			var/obj/machinery/hydroponics/t = locate() in get_step(src,Dir)
  -			if(t && t.anchored == 2 && src.anchored == 2)
  +			if(t && t.anchored == 2 && t.allowsHoses && src.anchored == 2 && src.allowsHoses)
   				n += Dir
   		if(n)
   			icon_state = "[initial(icon_state)]_hoses-[n]"
  
positive.code: 				playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
  
  		// anchored == 2 means the hoses are screwed in place
  		if(irrigate && reagent_source.amount_per_transfer_from_this > 30 && reagent_source.reagents.total_volume >= 30 && anchored == 2)
  			trays = FindConnected()
  			if (trays.len > 1)
  				visi_msg += ", setting off the irrigation system"
  
negative.code: 		if(!anchored)
  			user << "<span class='warning'>Anchor it first!</span>"
  			return
  		if(anchored == 2 && allowsHoses)
  			user << "<span class='warning'>Unscrew the hoses first!</span>"
  			return
  		if(frozen == -1)
  