ID:2895642
 
BYOND Version:Build 515.1619
Operating System:Windows 10 Pro 64-bit
Web Browser:Firefox 118.0
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
Vis child with vis_flag VIS_INHERIT_ICON_STATE does not properly sync with parent icon when flicked.

Expected Results:
Vis child icon_state animation syncs with the parent when parent is flicked.

Actual Results:
Vis child icon_state is not synced.

Demo project included. Apologies if explanation is hard to understand as english is not my first language.

https://mega.nz/file/ nB0RXLKJ#jH7B9S1ECdmg3ouUeVobm_TUeEJDm-G-Hqke19ZgVYY
I have replicated this. There are more issues with vis_contents and child objects.

The child object will always be stuck on the last frame of an animation if it is not looped indefinitely. This is true for flick() and changing icon_state directly.

The child object will be synched correctly with the parent if both are set to loop and icon_state is set directly. They will be desynched if flick() is used.

According to Lummox:

"For better context, all objects on the client track their creation time, and that gets updated whenever their icon or icon_state is changed so that icon animations can be played correctly. flick() is smart about that but animate() isn't taking that into account, and it should. (Making animate() handle it correctly could conceivably be difficult, however.) Visual contents also don't inherit that time reset (when they have the appropriate vis_flags), which for display purposes they should."

Perhaps that is the issue described here. Specifically the last sentence about visual contents.