anchor.diff: -<<<<<<< HEAD
  -/proc/seedify(obj/item/O, t_max, obj/machinery/seed_extractor/extractor, mob/living/user)
  -	var/t_amount = 0
  -	if(t_max == -1)
  -		if(extractor)
  -			t_max = rand(1,4) * extractor.seed_multiplier
  -		else
  -			t_max = rand(1,4)
  -
  -	var/seedloc = O.loc
  -	if(extractor)
  -		seedloc = extractor.loc
  -
  -	if(istype(O, /obj/item/reagent_containers/food/snacks/grown/))
  -		var/obj/item/reagent_containers/food/snacks/grown/F = O
  -		if(F.seed)
  -			if(user && !user.drop_item()) //couldn't drop the item
  -				return
  -			while(t_amount < t_max)
  -				var/obj/item/seeds/t_prod = F.seed.Copy()
  -				t_prod.loc = seedloc
  -				t_amount++
  -			qdel(O)
  -			return 1
  -
  -	else if(istype(O, /obj/item/grown))
  -		var/obj/item/grown/F = O
  -		if(F.seed)
  -			if(user && !user.drop_item())
  -				return
  -			while(t_amount < t_max)
  -				var/obj/item/seeds/t_prod = F.seed.Copy()
  -				t_prod.loc = seedloc
  -				t_amount++
  -			qdel(O)
  -		return 1
  -
  -	return 0
  -
  -
  -/obj/machinery/seed_extractor
  -	name = "seed extractor"
  -	desc = "Extracts and bags seeds from produce."
  -	icon = 'icons/obj/hydroponics/equipment.dmi'
  -	icon_state = "sextractor"
  -=======
   /proc/seedify(obj/item/O, t_max, obj/machinery/seed_extractor/extractor, mob/living/user)
   	var/t_amount = 0
   	if(t_max == -1)
  
positive.code: 
  	if(ismob(O.loc))
  		var/mob/M = O.loc
  		if(!M.transferItemToLoc(O, src))
  			return 0
  	else if(istype(O.loc, /obj/item/storage))
  
negative.code: 	desc = "Extracts and bags seeds from produce."
  	icon = 'icons/obj/hydroponics/equipment.dmi'
  	icon_state = "sextractor"
  	density = TRUE
  	anchored = TRUE
  	circuit = /obj/item/circuitboard/machine/seed_extractor
  	var/piles = list()
  	var/max_seeds = 1000
  	var/seed_multiplier = 1
  
  /obj/machinery/seed_extractor/RefreshParts()
  	for(var/obj/item/stock_parts/matter_bin/B in component_parts)
  		max_seeds = 1000 * B.rating
  	for(var/obj/item/stock_parts/manipulator/M in component_parts)
  		seed_multiplier = M.rating
  
  /obj/machinery/seed_extractor/attackby(obj/item/O, mob/user, params)
  
  	if(default_deconstruction_screwdriver(user, "sextractor_open", "sextractor", O))
  		return
  
  	if(exchange_parts(user, O))
  		return
  
  	if(default_pry_open(O))
  		return
  
  	if(default_unfasten_wrench(user, O))
  		return
  
  	if(default_deconstruction_crowbar(O))
  		return
  
  	if (istype(O, /obj/item/storage/bag/plants))
  		var/obj/item/storage/P = O
  		var/loaded = 0
  		for(var/obj/item/seeds/G in P.contents)
  			if(contents.len >= max_seeds)
  				break
  			++loaded
  			add_seed(G)
  		if (loaded)
  			to_chat(user, "<span class='notice'>You put the seeds from \the [O.name] into [src].</span>")
  		else
  			to_chat(user, "<span class='notice'>There are no seeds in \the [O.name].</span>")
  		return
  
  	else if(seedify(O,-1, src, user))
  		to_chat(user, "<span class='notice'>You extract some seeds.</span>")
  		return
  	else if (istype(O, /obj/item/seeds))
  <<<<<<< HEAD
  		if(add_seed(O))
  			to_chat(user, "<span class='notice'>You add [O] to [src.name].</span>")
  			updateUsrDialog()
  