anchor.diff:  	explode()
   
   /obj/machinery/power/supermatter_crystal/proc/explode()
  -	for(var/mob in GLOB.alive_mob_list)
  -		var/mob/living/L = mob
  -		if(istype(L) && L.z == z)
  -			if(ishuman(mob))
  -				//Hilariously enough, running into a closet should make you get hit the hardest.
  -				var/mob/living/carbon/human/H = mob
  -				H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) )
  -			var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(L, src) + 1) )
  -			L.rad_act(rads)
  -
  -	var/turf/T = get_turf(src)
  -	for(var/mob/M in GLOB.player_list)
  -		var/turf/mob_turf = get_turf(M)
  -		if(T.z == mob_turf.z)
  -			SEND_SOUND(M, 'sound/magic/charge.ogg')
  -
  -			if (M.z == z)
  -				to_chat(M, "<span class='boldannounce'>You feel reality distort for a moment...</span>")
  -				SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "delam", /datum/mood_event/delam)
  -			else
  -				to_chat(M, "<span class='boldannounce'>You hold onto \the [M.loc] as hard as you can, as reality distorts around you. You feel safe.</span>")
  +	for(var/mob/living/victim as anything in GLOB.alive_mob_list)
  +		if(!istype(victim) || victim.z != z)
  +			continue
  +		if(ishuman(victim))
  +			//Hilariously enough, running into a closet should make you get hit the hardest.
  +			var/mob/living/carbon/human/human = victim
  +			human.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(victim, src) + 1)) ) )
  +		var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(victim, src) + 1) )
  +		victim.rad_act(rads)
  +
  +	var/turf/local_turf = get_turf(src)
  +	for(var/mob/victim as anything in GLOB.player_list)
  +		var/turf/mob_turf = get_turf(victim)
  +		if(local_turf.z != mob_turf.z)
  +			continue
  +		SEND_SOUND(victim, 'sound/magic/charge.ogg')
  +
  +		if (victim.z != z)
  +			to_chat(victim, "<span class='boldannounce'>You hold onto \the [victim.loc] as hard as you can, as reality distorts around you. You feel safe.</span>")
  +			continue
  +		to_chat(victim, "<span class='boldannounce'>You feel reality distort for a moment...</span>")
  +		SEND_SIGNAL(victim, COMSIG_ADD_MOOD_EVENT, "delam", /datum/mood_event/delam)
  +
   
   	if(combined_gas > MOLE_PENALTY_THRESHOLD)
   		investigate_log("has collapsed into a singularity.", INVESTIGATE_SUPERMATTER)
  -		if(T) //If something fucks up we blow anyhow. This fix is 4 years old and none ever said why it's here. help.
  -			var/obj/singularity/S = new(T)
  -			S.energy = 800
  -			S.consume(src)
  +		if(local_turf) //If something fucks up we blow anyhow. This fix is 4 years old and none ever said why it's here. help.
  +			var/obj/singularity/created_singularity = new(local_turf)
  +			created_singularity.energy = 800
  +			created_singularity.consume(src)
   			return //No boom for me sir
  -	else if(power > POWER_PENALTY_THRESHOLD)
  +	if(power > POWER_PENALTY_THRESHOLD)
   		investigate_log("has spawned additional energy balls.", INVESTIGATE_SUPERMATTER)
  -		if(T)
  -			var/obj/energy_ball/E = new(T)
  -			E.energy = 200 //Gets us about 9 balls
  +		if(local_turf)
  +			var/obj/energy_ball/created_tesla = new(local_turf)
  +			created_tesla.energy = 200 //Gets us about 9 balls
   	//Dear mappers, balance the sm max explosion radius to 17.5, 37, 39, 41
  -	explosion(src, devastation_range = explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , heavy_impact_range = explosion_power * max(gasmix_power_ratio, 0.205) + 2, light_impact_range = explosion_power * max(gasmix_power_ratio, 0.205) + 4 , flash_range = explosion_power * max(gasmix_power_ratio, 0.205) + 6, adminlog = TRUE, ignorecap = TRUE)
  +	explosion(origin = src,
  +		devastation_range = explosion_power * max(gasmix_power_ratio, 0.205) * 0.5,
  +		heavy_impact_range = explosion_power * max(gasmix_power_ratio, 0.205) + 2,
  +		light_impact_range = explosion_power * max(gasmix_power_ratio, 0.205) + 4,
  +		flash_range = explosion_power * max(gasmix_power_ratio, 0.205) + 6,
  +		adminlog = TRUE,
  +		ignorecap = TRUE
  +	)
   	qdel(src)
   
   
  
positive.code: 			zap_count += 1
  
  		if(zap_count >= 1)
  			playsound(src.loc, 'sound/weapons/emitter2.ogg', 100, TRUE, extrarange = 10)
  			for(var/i in 1 to zap_count)
  				supermatter_zap(src, range, clamp(power*2, 4000, 20000), flags, zap_cutoff = src.zap_cutoff, power_level = power, zap_icon = src.zap_icon)
  
  
negative.code: 				damage = max(damage + (min(removed.temperature - ((T0C + HEAT_PENALTY_THRESHOLD) + (45 * psyCoeff)), 0) / 150 ), 0)
  
  			//Check for holes in the SM inner chamber
  			for(var/turf/open/space/turf_to_check in RANGE_TURFS(1, loc))
  				if(LAZYLEN(turf_to_check.atmos_adjacent_turfs))
  					var/integrity = get_integrity()
  					if(integrity < 10)
  