ID:2025680
 
Resolved
Color matrices set at compile-time could inappropriately set the alpha column when a list(color,color,color,color,color) format was used.
BYOND Version:510.1320
Operating System:Windows 8
Web Browser:Chrome 48.0.2564.82
Applies to:Dream Maker
Status: Resolved (510.1321)

This issue has been resolved.
[EDIT] Moved this over from dev help to bug reports since I'm fairly sure something buggy is happening. [/EDIT]

Code:
world
maxx = 20
maxy = 20
maxz = 1

// This is basically the spotlight example from the reference
obj
darkness
screen_loc = "1,1"

color = list(null,null,null,null,"#333")

plane = 2

blend_mode = BLEND_MULTIPLY
appearance_flags = PLANE_MASTER | NO_CLIENT_COLOR

light
icon = 'light.dmi'
pixel_x = -48
pixel_y = -48

plane = 2

rock
icon = 'rock.dmi'

turf
icon = 'turf.dmi'

Click()
new /obj/rock (src)

var
obj
darkness
darkness

mob
icon = 'mob.dmi'

New()
overlays += new /obj/light

Login()
.=..()
if(!darkness) darkness = new
client.screen += darkness

verb
set_darkness(s as text)
darkness.color = list(null, null, null, null, "#[s]")


Problem description:
Every time I use set_darkness anything on the plane disappears completely. Am I doing something wrong?

What values of s are you using? This looks like a code problem.
I'm making sure to stick to the format. For example, using the same value before, 333, causes the error too.
The issue occurs even if you take "#[s]" out and put in a constant value.
Here's the source if you wanna test it quickly. [link]
I found the issue here. There are two problems.

One of the problems is a bug: A color matrix specified at compile-time fills in 1 as the alpha component when reading a short-item list like this one.

The other problem is that the plane is filling in with full transparency by default. That isn't a bug. The matrix I specified isn't adding any alpha, and hence it's actually broken; the reference example will be updated to reflect this.

This is what you'll want to use for set_darkness():

    verb
set_darkness(s as text)
darkness.color = list(null, null, null, null, "#[s]")
var/list/L = darkness.color
L[20] = 1
darkness.color = L

The 20th component of the color matrix is the constant alpha, which should be 1 so that the whole plane fills in with opacity.
Lummox JR resolved issue with message:
Color matrices set at compile-time could inappropriately set the alpha column when a list(color,color,color,color,color) format was used.