anchor.diff:  
   		if (newalpha == alpha && newcolor == color) // Prevent unneeded updates.
   			return;
  -
  +#else
  +		newalpha = 255-newalpha
  +		if (newalpha == alpha)
  +			return;
  +#endif
   		var/change_time = LIGHTING_TIME
   
   		if(instantly)
   			change_time = 0
  -
  +#ifdef USE_COLOURED_LIGHTING
   		animate(lighting_object, color = newcolor, time = change_time) // Animated lights, look smoother and things.
  +#else
  +		animate(lighting_object, alpha = newalpha, time = change_time)
  +#endif
   		if(newalpha < 255-LIGHTING_DARKEST_VISIBLE_ALPHA) //Doesn't actually make it darker or anything, just tells byond you can't see the tile
   			animate(luminosity = 0, time = 0)
  +#ifdef USE_COLOURED_LIGHTING
   		light_dim.alpha = (get_lumcount() <= 0.3) * 255 // We're only visible if the lighting lumcount is less than what shadowlings can walk through.
  +#else
  +		light_dim.alpha = (get_lumcount() <= 0.3) * 128 // See above
  +#endif
   
   	lighting_changed = 0
   
  
positive.code: 	var/light_b = 0
  
  /atom/movable/light/dim
  	color = "#444" // Always half bright.
  	alpha = 0 // Only visible when the tile it's on is ~pure black.
  	invisibility = SEE_INVISIBLE_MINIMUM + 1 // Rarely invisible. Hidden for things like mesons.
  	layer = TURF_LAYER // Don't darken things on top of the turf.
  
negative.code: 	icon_state = LIGHTING_ICON_STATE
  	layer = LIGHTING_LAYER
  	mouse_opacity = 0
  #ifdef USE_COLOURED_LIGHTING
  	blend_mode = BLEND_MULTIPLY // Overlay is for nerds, We have new toys now~
  #else
  	blend_mode = BLEND_OVERLAY
  #endif
  	invisibility = INVISIBILITY_LIGHTING
  	color = "#000"
  	luminosity = 0
  