anchor.diff:  				var/turf/Trajectory = T
   				while(Trajectory != epicenter)
   					Trajectory = get_step_towards(Trajectory, epicenter)
  -					if(Trajectory.density && Trajectory.explosion_block)
  -						dist += Trajectory.explosion_block
  -
  -					for(var/obj/machinery/door/D in Trajectory)
  -						if(D.density && D.explosion_block)
  -							dist += D.explosion_block
  +					dist += cached_exp_block[Trajectory]
   
   			var/flame_dist = 0
   //			var/throw_dist = max_range - dist
  
positive.code: 								var/turf/throw_at = get_ranged_target_turf(I, throw_dir, throw_range)
  								I.throw_at(throw_at, throw_range, 2, no_spin = 1) //Throw it at 2 speed, this is purely visual anyway; don't spin the thrown items, it's very costly.
  */
  		var/took = (world.timeofday-start)/10
  		//You need to press the DebugGame verb to see these now....they were getting annoying and we've collected a fair bit of data. Just -test- changes  to explosion code using this please so we can compare
  		if(Debug2)	world.log << "## DEBUG: Explosion([x0],[y0],[z0])(d[devastation_range],h[heavy_impact_range],l[light_impact_range]): Took [took] seconds."
  
  
negative.code: 		flame_range = min (MAX_EX_FLAME_RANGE, flame_range)
  
  	spawn(0)
  		var/start = TimeOfHour
  		if(!epicenter) return
  
  		var/max_range = max(devastation_range, heavy_impact_range, light_impact_range, flame_range)
  		var/list/cached_exp_block = new
  
  		if(adminlog)
  			message_admins("Explosion with size ([devastation_range], [heavy_impact_range], [light_impact_range], [flame_range]) in area [epicenter.loc.name] ([epicenter.x],[epicenter.y],[epicenter.z]) (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[epicenter.x];Y=[epicenter.y];Z=[epicenter.z]'>JMP</a>)")
  