Can I Filter...?


I get questions all the time about filters. The simple ones about making sure you get the filters written and working correctly are generally answered on the Filters and Common Setup Questions pages. This page is for people who ask more specific questions about filters.

What filters are
Filters are a means to separate effects out so you can arrange them however you like. Certain filters are available to sort into specific categories, like magic or curse or poison. Other filters let you work with effect names, effect durations, effect time remaining and a few other categories.

What filters are not
Omnipotent or psychic. There are very real and hard limits on what we can filter. Only certain information is given to SBF by the game client (see below.) For example, there's no way to tell if an effect on another unit was cast by that unit, so you can't make a filter to detect that.

What the game client reports to SBF
When SBF is asking for the effects for you, your target, or whatever unit, a specific set of values is given for each effect:

That's all that is reported to SBF (or any other buff addon). You'll note that while I can tell you specifically if the effect can be stolen with Spellsteal. As of SBF 3.1.5, all debuffs are queried for their dispellable status. This is a bit of a double edged sword. For example, if you're a paladin or mage, many debuffs you get can be removed by bubble or iceblock. The game simply returns a yes/no answer as to whether you can dispel the debuff; it does not give any hint as to what you have to do to make it go away. You also can only ask the game if a debuff is removable, not a buff, so this information is really only useful for friendly units. There's currently no way to ask if a buff on an enemy is one that you can remove. I've asked for this functionality, so here's hoping they add it.

You'll also note that there is no contextual information available for a given effect. As such, there is no way to say that a effect is, for example, an "invulnerability" effect (paladin bubble, priest shield, etc.), or if it's a DoT, or anything like that. That's a hard limit on what we can filter right now. You also can only determine if an effect is one that your class can cast. There's no way to ask if a given effect is castable by some other class.

Well, it'd sure be nice...
Yeah, it would. Basically what I would need to do is create a library of every effect in the game to let me add tags and info about the spells to allow for better filters. There are still some hurdles to clear for that, such as collecting all that information and getting it right. Not a small job. The fact that there is no easy way for SBF to know the ID of a spell also makes it difficult (but not impossible). I have some thoughts on compiling that information, but need to get the time to start working on it. I do hope to get it done at some point.