FLOAT_LAYER = -1
AREA_LAYER = 1
TURF_LAYER = 2
OBJ_LAYER = 3
MOB_LAYER = 4
FLY_LAYER = 5 (currently, missiles and images go here)
It is _much_ more efficient to use this for objects with an overhead projection (like an archway) than to use image(). Enjoy!
Overlays and underlays can have their own layer settings if you generate them from objects rather than from pure icons. If you just want the overlay to be in the same layer as the base object, the safest thing to do is to set the overlay object's layer to the special FLOAT_LAYER (happens to be layer -1). That will cause it to be in the same layer as the base object. This works nicely if you are going to be dynamically changing the layer of the base object, because the overlays will stick to it rather than stay in their own layer. When pure icons are made into overlays, they always use FLOAT_LAYER.
Eventually there may be another parameter to image() and missile() so the drawing layer can be controlled. Currently, they always uses layer 5.
All you have to do is set the variable's "interface" to PROMPT_FOR_FILE and it will work: