anchor.diff:  	var/obj/effect/decal/cleanable/molten_object/I = new (get_turf(src))
   	I.desc = "Looks like this was \an [src] some time ago."
   	qdel(src)
  +
  +/obj/structure/glowshroom/attackby(obj/item/I, mob/living/user, params)
  +	if (istype(I, /obj/item/plant_analyzer))
  +		return myseed.attackby(I, user, params) // Hacky I guess
  +	return ..() // Attack normally
  
positive.code: 	floor = 1
  	return 1
  
  /obj/structure/glowshroom/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
  	if(damage_type == BURN && damage_amount)
  		playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
  
negative.code: 	else //if on the floor, glowshroom on-floor sprite
  		icon_state = base_icon_state
  
  	addtimer(CALLBACK(src, .proc/Spread), delay_spread)
  	addtimer(CALLBACK(src, .proc/Decay), delay_decay, FALSE) // Start decaying the plant
  
  /**
    * Causes glowshroom spreading across the floor/walls.
    */
  
  /obj/structure/glowshroom/proc/Spread()
  	var/turf/ownturf = get_turf(src)
  	var/shrooms_planted = 0
  	for(var/i in 1 to myseed.yield)
  		var/chance_stats = ((myseed.potency + myseed.endurance * 2) * 0.2) // Chance of generating a new mushroom based on stats
  		var/chance_generation = (100 / (generation * generation)) // This formula gives you diminishing returns based on generation. 100% with 1st gen, decreasing to 25%, 11%, 6, 4, 2...
  		if(prob(max(chance_stats, chance_generation))) // Whatever is the higher chance we use it
  			var/list/possibleLocs = list()
  			var/spreadsIntoAdjacent = FALSE
  
  