anchor.diff:  		Colored lights
   */
   
  -#define LIGHTING_CIRCULAR 1									//comment this out to use old square lighting effects.
  +#define LIGHTING_CIRCULAR 1									//Comment this out to use old square lighting effects.
   #define LIGHTING_LAYER 15									//Drawing layer for lighting
   #define LIGHTING_CAP 10										//The lumcount level at which alpha is 0 and we're fully lit.
   #define LIGHTING_CAP_FRAC (255/LIGHTING_CAP)				//A precal'd variable we'll use in turf/redraw_lighting()
   #define LIGHTING_ICON 'icons/effects/alphacolors.dmi'
   #define LIGHTING_ICON_STATE "white"
   #define LIGHTING_TIME 1.2									//Time to do any lighting change. Actual number pulled out of my ass
  -#define LIGHTING_DARKEST_VISIBLE_ALPHA 230					//Anything darker than this is so dark, we'll just consider the whole tile unlit
  +#define LIGHTING_DARKEST_VISIBLE_ALPHA 240					//Anything darker than this is so dark, we'll just consider the whole tile unlit
  +#define LIGHTING_LUM_FOR_FULL_BRIGHT 7						//Anything who's lum is lower then this starts off less bright.
  +#define LIGHTING_MIN_RADIUS 4								//Lowest radius a light source can effect.
   
   /datum/light_source
   	var/atom/owner
  -	var/radius = 0
  +	var/radius = LIGHTING_MIN_RADIUS
  +	var/luminosity = 0
   	var/cap = 0
  -	var/changed = 1
  +	var/changed = 0
   	var/list/effect = list()
   	var/__x = 0		//x coordinate at last update
   	var/__y = 0		//y coordinate at last update
  
positive.code: //Apply a new effect
  /datum/light_source/proc/add_effect()
  	// only do this if the light is turned on and is on the map
  	if(owner && owner.loc && radius > 0)
  		effect = list()
  		var/turf/To = get_turf(owner)
  		var/range = owner.get_light_range(radius)
  		for(var/atom/movable/AM in To)
  			if(AM == owner)
  				continue
  			if(AM.opacity)
  				range = 0
  				break
  
  		for(var/turf/T in view(range, To))
  			var/delta_lumcount = T.lumen(src)
  			if(delta_lumcount > 0)
  				effect[T] = delta_lumcount
  				T.update_lumcount(delta_lumcount)
  
  				if(!T.affecting_lights)
  					T.affecting_lights = list()
  				T.affecting_lights |= src
  
  		return 1
  	else
  		return 0
  
  //How much light light_source L should apply to src
  /turf/proc/lumen(datum/light_source/L)
  
negative.code: 	..()
  	if(luminosity)
  		light = new(src)
  
  //Movable atoms with opacity when they are constructed will trigger nearby lights to update
  //Movable atoms with luminosity when they are constructed will create a light_source automatically
  