player
parent_type = /mob
tmp/icon = 'whatever.dmi'
Logout()
var/savefile/s = new("players/[ckey].sav")
s << src
del src
..()
As long as icon is a valid file, it get's saved anyway...
This is either a compiler bug, user error (most likely?), or intended behavior not working properly... Not sure which!
Before you tell me to write my own Write() and Read(), please stay on topic.
By the sounds of that, outside of Write() it will still save.