This came about because I was making an effect to make a mob look like a shifting dark mass with filter animations, then other code that was unaware of these filters was animating the mob to fade them to transparency. The fade out would interrupt the filter animates.
https://puu.sh/JSXAZ/f32b8ceccc.mp4
Numbered Steps to Reproduce Problem:
1. Create an object and apply a filter to it
2. Animate the filter over 10 seconds
3. Wait 5 seconds then animate the object
Code Snippet (if applicable) to Reproduce Problem:
var/mob/creature = new(locate(1, 1, 1))
creature.filters += filter(type="blur", size=0)
var/the_filter = creature.filters[1]
animate(the_filter, time=0, loop=-1, size=0)
animate(time=50, size=3)
animate(time=50, size=0)
sleep(50)
animate(creature, time=10, alpha=100)
Expected Results:
Both the filter's animation and the creature's animation to complete
Actual Results:
The filter's animation halts mid way as the creature's animate begins. There is no more looping animation.
Does the problem occur:
Every time? Yes
In other games? Tested with barebones project
In other user accounts? Both guest and logged in
On other computers? Unknown
When does the problem NOT occur?
Animating multiple filters seems to pose no problems, only when you animate the owner and its filters at the same time
Did the problem NOT occur in any earlier versions? If so, what was the last version that worked?
Tested on 514.1589 and 515.1619
Workarounds:
Some animates on the owner can be replicated by adding a filter or overlay or such and animating that instead, but this isn't as viable in large older projects that have many animation sources from over the years.