anchor.diff:  	if(!environment)
   		return
   	if(H.bodytemperature < 150 || H.bodytemperature > 400)
  -		heal_immunities = list(DAMAGE_CHEMICAL, DAMAGE_PHYSICAL)
  +		no_light_heal = TRUE
   	else
  -		heal_immunities = list()
  +		no_light_heal = FALSE
   
   /datum/species/plant/handle_flash(mob/living/carbon/human/H, intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0)
   	H.adjustFireLoss(-5, 1)
  
positive.code: 	speedmod = 0.33
  	damage_immunities = list()
  	meat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/mutant/plant
  	var/light_heal_multiplier = 1
  	var/dark_damage_multiplier = 1
  	var/last_light_level = 0
  
negative.code: /datum/species/plant/spec_life(mob/living/carbon/human/H)
  	var/light_level = 0
  	var/light_msg //for sending "low light!" messages to the player.
  	var/turf/T = get_turf(H)
  	if(!T)
  		return
  	var/area/A = T.loc
  	if(A.murders_plants)
  		if (H.mind)
  			if (H.mind.special_role == "thrall")
  				if (H.stat != UNCONSCIOUS && H.stat != DEAD)
  					for(var/V in ticker.mode.shadows)
  						var/datum/mind/sling_mind = V
  						if(sling_mind.current && (get_dist(sling_mind.current, H) < 3))
  							light_level = -2
  							light_msg = "<span class='warning'>Being in the presence of one of your masters revitalizes you.</span>"
  							H.adjustToxLoss(-1, 1)
  							H.adjustOxyLoss(-0.5, 1)
  							H.heal_overall_damage(1.5, 1.5)
  							break
  				return
  		var/lightamount = T.lighting_lumcount
  		if(istype(H.loc, /obj/mecha))
  			//let's assume that mech interiors are lit up
  			lightamount = 7
  		else if(!isturf(H.loc))
  			//inside a container or something else, only get light from the things inside it
  			lightamount = 0
  			for(var/V in H.loc)
  				if(V)
  					var/atom/At = V
  					if(At.light)
  						lightamount += At.light.luminosity
  		if (lightamount)
  			switch (lightamount)
  				if (0.1 to 3)
  					//very low light
  					light_level = 1
  					light_msg = "<span class='warning'>There isn't enough light here, and you can feel your body protesting the fact violently.</span>"
  					H.nutrition -= T.lighting_lumcount/1.5
  					//enough to make you faint but get back up consistently
  					if(H.getOxyLoss() < 55)
  						H.adjustOxyLoss(min(5 * dark_damage_multiplier, 55 - H.getOxyLoss()), 1)
  					if((H.getOxyLoss() > 50) && H.stat)
  						H.adjustOxyLoss(-4)
  				if (3.1 to 6)
  					//low light
  					light_level = 2
  					light_msg = "<span class='warning'>The ambient light levels are too low. Your breath is coming more slowly as your insides struggle to keep up on their own.</span>"
  					H.nutrition -= T.lighting_lumcount/2
  					//not enough to faint but enough to slow you down
  					if(H.getOxyLoss() < 50)
  						H.adjustOxyLoss(min(3 * dark_damage_multiplier, 50 - H.getOxyLoss()), 1)
  				if (6.1 to 10)
  					//medium, average, doing nothing for now
  					light_level = 3
  					H.nutrition += T.lighting_lumcount/10
  				if (10.1 to 22)
  					//high light, regen here
  					light_level = 4
  					H.nutrition += T.lighting_lumcount/6
  					if ((H.stat != UNCONSCIOUS) && (H.stat != DEAD) && !no_light_heal)
  						H.adjustToxLoss(-0.5 * light_heal_multiplier, 1)
  						H.adjustOxyLoss(-0.5 * light_heal_multiplier, 1)
  						H.heal_overall_damage(1 * light_heal_multiplier, 1 * light_heal_multiplier)
  				if (22.1 to INFINITY)
  					//super high light
  					light_level = 5
  					H.nutrition += T.lighting_lumcount/4
  					if ((H.stat != UNCONSCIOUS) && (H.stat != DEAD) && !no_light_heal)
  						H.adjustToxLoss(-1 * light_heal_multiplier, 1)
  						H.adjustOxyLoss(-0.5 * light_heal_multiplier, 1)
  						H.heal_overall_damage(1.5 * light_heal_multiplier, 1.5 * light_heal_multiplier)
  		else if(T.loc.luminosity == 1 || A.lighting_use_dynamic == 0)
  			light_level = 6
  			H.nutrition += 1.4
  			if ((H.stat != UNCONSCIOUS) && (H.stat != DEAD) && !no_light_heal)
  				H.adjustToxLoss(-1 * light_heal_multiplier, 1)
  				H.adjustOxyLoss(-0.5* light_heal_multiplier, 1)
  				H.heal_overall_damage(1.5* light_heal_multiplier, 1.5* light_heal_multiplier)
  		else
  			//no light, this is baaaaaad
  			light_level = 0
  			light_msg = "<span class='userdanger'>Darkness! Your insides churn and your skin screams in pain!</span>"
  			H.nutrition -= 3
  			//enough to make you faint for good, and eventually die
  			if(H.getOxyLoss() < 60)
  				H.adjustOxyLoss(min(5 * dark_damage_multiplier, 60 - H.getOxyLoss()), 1)
  				H.adjustToxLoss(1 * dark_damage_multiplier, 1)
  
  	if(light_level != last_light_level)
  		last_light_level = light_level
  