anchor.diff:  	. = ..()
   	if(!proximity)
   		return
  -	if(isopenturf(AM)) //So you can actually melee with it
  -		return
  -	if(isliving(AM))
  +	if(isopenturf(AM))
  +		var/turf/open/T = AM
  +		if(T.light_range && !isspaceturf(T)) //no fairy grass or light tile can escape the fury of the darkness.
  +			to_chat(user, "<span class='notice'>You scrape away [T] with your [name] and snuff out its lights.</span>")
  +			T.ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
  +	else if(isliving(AM))
   		var/mob/living/L = AM
   		if(iscyborg(AM))
   			var/mob/living/silicon/robot/borg = AM
  -			if(!borg.lamp_cooldown)
  +			if(borg.lamp_intensity)
   				borg.update_headlamp(TRUE, INFINITY)
   				to_chat(borg, "<span class='danger'>Your headlamp is fried! You'll need a human to help replace it.</span>")
  +			for(var/obj/item/assembly/flash/cyborg/F in borg.held_items)
  +				if(!F.crit_fail)
  +					F.burn_out()
   		else
   			for(var/obj/item/O in AM)
   				if(O.light_range && O.light_power)
  
positive.code: 	. = ..()
  	to_chat(C, "[info_text]")
  
  	C.real_name = "[pick(GLOB.nightmare_names)]"
  	C.name = C.real_name
  	if(C.mind)
  		C.mind.name = C.real_name
  	C.dna.real_name = C.real_name
  
  /datum/species/shadow/nightmare/bullet_act(obj/item/projectile/P, mob/living/carbon/human/H)
  	var/turf/T = H.loc
  
negative.code: /obj/item/organ/heart/nightmare/Remove(mob/living/carbon/M, special = 0)
  	respawn_progress = 0
  	if(blade && special != HEART_SPECIAL_SHADOWIFY)
  		M.visible_message("<span class='warning'>\The [blade] disintegrates!</span>")
  		QDEL_NULL(blade)
  	..()
  
  /obj/item/organ/heart/nightmare/Stop()
  