Color //This is my color object
var
r
g
b
hex
New(var/red,var/green,var/blue)
..()
if(!red&&!green&&!blue) del src //delete it so colorless Color objects don't take up space
if(!red) red=0
if(!blue) blue=0
if(!green) green=0
r=red;b=blue;g=green
hex=rgb(r,g,b)
Problem description:
Notice the last line under New(). That should assign the hex value to the hex variable. But it doesn't for turfs, it's only working for mobs and objs. I tested this using the following verb on one turf, obj, and mob.
verb/Check()
set src in oview(1) //Under mob, this line was removed
if(color.hex) world<<"color for [src] exists"
else world<<"color doesn't"
Prodigal Squirrel
I'm pretty sure your first if() wants to check and see if src.r, src.g, src.b are also null before deleting.