I'm pretty sure the client only deals with appearances but the ability to modify appearances would be absolutely great in making the client more responsive even if all these scripts know about is appearances.
The next thing that would be needed is a way to use something like winset to change vars. With both of these, the dms code would look something like this:
winset(user, null, "hideLighting=1") // or something like that
.dms
// remove the lights
appearance/removeLight(a as appearance)
set filter="icon_state=\"\";icons='icons/effects/alphacolors.dmi'"
if(hideLighting)
return null
return a
Make sure this is only possible with server-assigned scripts though. Things that would also be nice:
- click events in dms.
- Something that gets called every tick. with the option of running before or after the appearance scripts. Maybe a set run_order = whatever
- ability to add create new temporary appearances on the fly.
- I'm not sure how the location of the appearance works, but include that information in the calls. I know that screen_loc is in there but information about where it is if it isn't screen_loc and the pixel offsets would be good.
- This appearance script should be called for every instance that appears on the screen, not for every appearance that the client has.
This would be really great in making BYOND a more responsive program to work with. It would make it possible to make the thing more responsive. For example, you click on an item and it transfers to your hand instantly instead of having to wait. Also, sexy shadowcasting system.