Would be nice to be able to do something like this:
var/icon/MyIcon = Player.icon;
MyIcon.DrawBoxes[1].setRGB(rgb(255, 255, 255));
MyIcon.DrawBoxes[1].setX1(15);
MyIcon.DrawBoxes[1].setX2(15);
MyIcon.DrawBoxes[1].setY1(15);
MyIcon.DrawBoxes[1].setY2(15);
world << MyIcon.DrawBoxes[1].x1;
world << MyIcon.DrawBoxes[1].x2;
world << MyIcon.DrawBoxes[1].y1;
world << MyIcon.DrawBoxes[1].y2;
Explain: The server should store a list with the DrawBox()es used in the icon. Letting us begin able to check the values of that DrawBox and let us change it, like i showed in example. So for example, if we want to change the rgb() of that DrawBox() we don't have to delete the old one and creating a new one.
This could be also applied to other stuff. Would be something interesing to see here on BYOND.
/icon_pile - contains a list of /shapes and a proc that returns an /icon with all the shapes piled on.
/shape - parent of some built-in shapes like /shape/quad and probably has the variables: layer, x, y, width, height.