card
var
icon_state
mob/owner
proc
display()
var/g=(owner.player==1)?1:10
var/image/i=image('cards.dmi',"back")
i.loc=locate(owner.hand.Find(src),g,1)
for(var/mob/m in world)
if(m!=owner){m.client.images+=i;continue}
i.icon_state="[m.ant]front"
var/icon/d=icon(i.icon,i.icon_state)
d.Blend(image('cards.dmi',icon_state),ICON_ADD)
i.icon=d
m.client.images+=i
I haven't tried it yet, since I can't. But I'm wondering if it'd work. It's supposed to show the card down to everybody that's not the owner, and the card up to everybody who's not.
First you change i.icon_state and then you change it indirectly again by changing d.icon_state. Why do you do this? And why "[m.ant]front"? Why not simply "[m.ant]"?