I don't know if this should be under Developer help since it does involve programming, so, apologies in advance.

So, I want to do quest givers in a style ala World of Warcraft with a "!" over their head when they have an avaible quest for players to take. I am planning on doing this with overlays.

So how would I go about doing this? When the mob loads up via new(), check a variable on the client's mob and change that overlay based on what it is? Is there a better way to do this?

Edit: Now that I think about it new() is going to apply when the world first loads up, not when a client connects.

Thanks for any insight.
You'd want to use /image objects, then you just output them selectively to the clients as they need them. There's a whole section of the guide about images.
Thanks, I took a look at it and threw together a thing real quick.

for(var/mob/NPC/Test/T in world)
var/tmp/image/I=image('Quest Overlay.dmi',T)
src.client.images += I
src.client.images -= I

This was just to test to see if it adds the image on the target or not and then removes it. Using client.images, only the client will see it, correct?
Yep, you're on the right track!