ID:2893045
 
Not Feasible
Applies to:
Status: Not Feasible

Implementing this feature is not possible now or in the foreseeable future
You can animate filters that are applied to atoms but the only way to know which filter within the list is the one you want is by tracking the index at the time you add the filter. However, with larger systems you may have multiple sources of filters getting added, and if one of these other systems removes their own filter that comes before the one you want to animate, your index will be wrong.

The workaround here is you add your own management system for filters, but this is also significantly awkward due to the lack of any filter var types.

It doesn't address many of the issues but it would be convenient to be able to animate the abstract filters that you add to the filters list, and have that animate propagate to all filters that have been added using that abstract filter instance. It would also allow for new usecases when you want a single animate to affect many things at once.

/mob
var/static/blur_filter

/mob/New(loc)
if(!blur_filter)
blur_filter = filter(type="angular_blur", x=1, y=1, size=0)
filters += blur_filter

/mob/proc/AngularBlurAllMobs(duration)
animate(blur_filter, size=5, time=duration/2)
animate(size=0, time=duration/2)

Lummox JR resolved issue (Not Feasible)
Abstract filters simply don't work that way. They're not "real" until they're part of an atom.
I know they aren't real, that's why this is a request to make them usable in that way. Would it not be possible for abstract filters to keep track of where they had been applied and proxy animate calls to all the places it had been used?
No.