Timeline events at 0.0 do not run most of the time in looping animations
Partner Rank:
1
Partner Team Reporting:
Everbloom Games
Verification builds:
1.18.10.03_rc2, 1.18.20.21_rc2
Summary:
Timeline events at 0.0 do not run most of the time, if the animation length is greater than delta time (or a tick, in the case of the server) and the animation loops.
Impact:
One of the most fundamental building blocks of our maps is usually "do X every Y seconds". We usually do this with a looping animation where X is at 0.0 on the timeline, and Y is the animation_length.
This bug makes it so these events do not run most of the time if the animation length exceeds 0.05, or however much the anim_time changed that tick/frame. Also, if the animation is paused by a MoLang condition, there is a chance it temporarily "fixes" it or breaks it even more.
For reference, this is used in our WDW Magic Kingdom map for many things, among which are:
- the system that changes the music depending on the area
- the message when standing next to a cast member to start a ride
- the system that restocks shops when you leave them
And many other of our maps are also affected.
Repro Steps:
- Open the given world
- Observe the chat.
Expected:
Every second you are not crouching, both the player and the pig-looking entity say "sec" in chat (they don't need to be synchronized, but both the player's and the entity's should be consistently appearing).
Observed:
The message is only sent in chat at most once when you log in. After crouching and un-crouching, you may see the messages start to pick up again, but it may go away after a while. You may even see only one of the two saying anything at any one time.
Screenshots/Videos attached:
Yes (Video on YouTube of observed behavior)
Regression Builds:
Worked in 1.18.10.24_rc1