anchor.diff:  	ul_LightingEnabled = 1
   	ul_LightingResolution = 1
   	ul_Steps = 7
  -	ul_LightingModel = UL_I_RGB
  -	ul_FalloffStyle = UL_I_FALLOFF_ROUND
  +	ul_FalloffStyle = UL_I_FALLOFF_ROUND // Sets the lighting falloff to be either squared or circular.
   	ul_TopLuminosity = 0
   	ul_Layer = 10
   	ul_SuppressLightLevelChanges = 0
  
positive.code: 		list/MaxGreen = list( )
  		list/MaxBlue = list( )
  
  	proc
  
  		ul_GetRed()
  			return ul_Clamp(min(LightLevelRed, max(MaxRed)))
  		ul_GetGreen()
  			return ul_Clamp(min(LightLevelGreen, max(MaxGreen)))
  		ul_GetBlue()
  			return ul_Clamp(min(LightLevelBlue, max(MaxBlue)))
  
  		ul_UpdateLight()
  
  			var/area/CurrentArea = loc
  
  			if(!isarea(CurrentArea) || !CurrentArea.ul_Lighting)
  				return
  
  			var/LightingTag = copytext(CurrentArea.tag, 1, findtext(CurrentArea.tag, ":UL")) + ":UL[ul_GetRed()]_[ul_GetGreen()]_[ul_GetBlue()]"
  
  			if(CurrentArea.tag != LightingTag)
  				var/area/NewArea = locate(LightingTag)
  
  				if(!NewArea)
  					NewArea = new CurrentArea.type()
  					NewArea.tag = LightingTag
  
  					for(var/V in CurrentArea.vars - "contents")
  						if(issaved(CurrentArea.vars[V]))
  							NewArea.vars[V] = CurrentArea.vars[V]
  
  					NewArea.tag = LightingTag
  
  					NewArea.ul_Light(ul_GetRed(), ul_GetGreen(), ul_GetBlue())
  
  
  				NewArea.contents += src
  
  			return
  
  		ul_Recalculate()
  
  			ul_SuppressLightLevelChanges++
  
  			var/list/Lights = ul_BlankLocal()
  
  			LightLevelRed = 0
  			LightLevelGreen = 0
  			LightLevelBlue = 0
  
  			ul_UnblankLocal(Lights)
  
  			ul_SuppressLightLevelChanges--
  
  			return
  
  area
  	var
  
negative.code: 
  var
  	const
  		UL_I_FALLOFF_SQUARE = 0
  		UL_I_FALLOFF_ROUND = 1
  
  		UL_I_LIT = 0
  		UL_I_EXTINGUISHED = 1
  