ID:2668378
 
Code:
if(vel_x!=0)
if(vel_y!=0)
Move(loc,.,step_x+round(vel_x*0.7),step_y+round(vel_y*0.7))
else
Move(loc,.,step_x+vel_x,step_y)
else if(vel_y!=0)
Move(loc,.,step_x,step_y+vel_y)


and

mob
var/tmp
obj/outfit
obj/eyes
obj/hair
New()
outfit = new/obj/bodypart; outfit.icon = 'clothes.dmi'; outfit.icon_state = "1"; outfit.layer = MOB_LAYER + 8
eyes = new/obj/bodypart; eyes.icon = 'base.dmi'; eyes.icon_state = "eyes"; eyes.layer = MOB_LAYER + 9
hair = new/obj/bodypart; hair.icon = 'hair.dmi'; hair.icon_state = "2"; hair.layer = MOB_LAYER + 10; hair.color = "#444"
vis_contents.Add(eyes,outfit,hair)

obj/bodypart
vis_flags = VIS_INHERIT_DIR


Problem description:
I'm using vis_contents that are inheriting the direction, however they only seem to animate once and not again if the movement buttons are held. Idk if this is a bug or an error but I've tried a lot of things lol.
According to the code the movement flag should be inherited from the parent object as long as you're inheriting icon, icon_state, dir, or ID.

If you want to throw together a test case I can find out if there's a bug in play or not.