ID:1950753
 
(See the best response by Flick.)
Code:
mob/proc/GoInvisible()
var/image/i = image(src.appearance,src)
i.alpha = 100
src<<i
src.invisibility = 1
spawn(20)
src.invisibility = 0
del(i)


Problem description:
The above works just fine, however the image affixed does not animate/move as the player moves.

The goal is to have the player go invisible (with the potential for other players to see through the trick if their relevant skill is high enough), but for the user to see a translucent version of themselves - primarily for navigation purposes.

One solution is to place a non-directional marker on the player (instead of their appearance), but I'd rather not cheap out.
If you increase see_invisible for the player and others with a high detection skill, and use the player's alpha, then no image necessary.
But surely then, if the user of the invisibility lacks the necessary detection skill, he is given it anyway, by virtue of going invisible?

Put more simply -- with that solution, players would just cast invisibility on themselves to see through opponents' invisibility. It would only work on a single player game?
Best response
Look up the mob.sight var and the SEE_SELF sight flag if you want the player to be able to see themself.

http://www.byond.com/docs/ref/info.html#/mob/var/sight
ZOMGbies said:
The above works just fine, however the image affixed does not animate/move as the player moves.

I don't have this issue and I think the fact that you are is attributed to the way you are initializing the image. Do something like this instead:

var/image/i = image(icon = src.icon, icon_state = "", loc = src)


You shouldn't have any issues with this.
Ah thanks Flick. Feel a bit silly now.

FKI, you were right also. Weird that appearance doesn't move; I guess you'd have to define it as a new/icon?