anchor.diff:  			l.show_message("<span class=\"warning\">You hear an uneartly ringing and notice your skin is covered in fresh radiation burns.</span>", 2)
   		var/rads = 500 * sqrt( 1 / (get_dist(l, src) + 1) )
   		l.apply_effect(rads, IRRADIATE)
  +
   
   /obj/machinery/power/supermatter/proc/supermatter_pull()
   
  
positive.code: 
  	//ensure that damage doesn't increase too quickly due to super high temperatures resulting from no coolant, for example. We dont want the SM exploding before anyone can react.
  	//We want the cap to scale linearly with power (and explosion_point). Let's aim for a cap of 5 at power = 900 (based on testing, equals roughly 5% per SM alert announcement).
  
  	var/temp_factor = 100
  
  	if(oxygen > 0.8)
  		// with a perfect gas mix, make the power less based on heat
  		icon_state = "[base_icon_state]_glow"
  	else
  		// in normal mode, base the produced energy around the heat
  		temp_factor = 60
  		icon_state = base_icon_state
  
  	power = max( (removed.temperature * temp_factor / T0C) * oxygen + power, 0) //Total laser power plus an overload
  
  	//We've generated power, now let's transfer it to the collectors for storing/usage
  	transfer_energy()
  
  	var/device_energy = power * REACTION_POWER_MODIFIER
  
  	//To figure out how much temperature to add each tick, consider that at one atmosphere's worth
  	//of pure oxygen, with all four lasers firing at standard energy and no N2 present, at room temperature
  	//that the device energy is around 2140. At that stage, we don't want too much heat to be put out
  	//Since the core is effectively "cold"
  
  	//Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock
  	//is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall.
  	removed.temperature += (device_energy / THERMAL_RELEASE_MODIFIER)
  
  	removed.temperature = max(0, min(removed.temperature, 2500))
  
  	//Calculate how much gas to release
  	removed.toxins += max(device_energy / PLASMA_RELEASE_MODIFIER, 0)
  
  	removed.oxygen += max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0)
  
  	removed.update_values()
  
  	env.merge(removed)
  
  	for(var/mob/living/carbon/human/l in view(src, min(7, round(power ** 0.25)))) // If they can see it without mesons on.  Bad on them.
  		if(!istype(l.glasses, /obj/item/clothing/glasses/meson))
  			l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) )
  
  	for(var/mob/living/l in range(src, round((power / 100) ** 0.25)))
  		var/rads = (power / 10) * sqrt( 1 / get_dist(l, src) )
  		l.apply_effect(rads, IRRADIATE)
  
  	power -= (power/500)**3
  
  	return 1
  
  
negative.code: 
  #define NITROGEN_RETARDATION_FACTOR 4        //Higher == N2 slows reaction more
  #define THERMAL_RELEASE_MODIFIER 10                //Higher == less heat released during reaction
  #define PHORON_RELEASE_MODIFIER 1500                //Higher == less phoron released by reaction
  #define OXYGEN_RELEASE_MODIFIER 750        //Higher == less oxygen released at high temperature/power
  #define THERMAL_RELEASE_MODIFIER 750               //Higher == more heat released during reaction
  #define PLASMA_RELEASE_MODIFIER 1500                //Higher == less plasma released by reaction
  #define OXYGEN_RELEASE_MODIFIER 1500        //Higher == less oxygen released at high temperature/power
  #define REACTION_POWER_MODIFIER 1.1                //Higher == more overall power
  
  //Controls how much power is produced by each collector in range - this is the main parameter for tweaking SM balance, as it basically controls how the power variable relates to the rest of the game.
  #define POWER_FACTOR 0.35              //Obtained from testing. Aiming to make the ideal running output (600 kW) run the SM to ~85% of the safety level.
  
  #define CHARGING_FACTOR 0.55
  #define DAMAGE_RATE_LIMIT 5                 //damage rate cap at power = 900, scales linearly with power
  
  
  //These would be what you would get at point blank, decreases with distance
  #define DETONATION_RADS 200
  