With the next release of ElvUI (v10.60) there will be some major changes to NamePlates and UnitFrames. Simpy has done some amazing work with the new systems that have been added to these two modules. The two new systems are:
- Style Filters - This is the old nameplate filter system now on steroids.
- Aura Filtering - This is the new and enhanced nameplate and unitframe aura filtering system (also on steroids).
Style filters can be configured in the new "Style Filter" sub-category of the NamePlates section of the config. A style filter consists of a series of triggers and actions. In order for the actions to take effect, all of the active trigger conditions will need to be met. See the following images for the currently available triggers and actions:
The new way to filter auras for both nameplates and unitframes is a major improvement over the old one. The new filtering system is much more advanced and should hopefully allow you to create any kind of filtering setup that you may require. The old filtering system relied on several hardcoded checks which would be processed in a specific order. This setup imposed restrictions on the kind of filtering you could do with it. The new filtering system no longer relies on any hardcoded order, instead it has a single "Filter Priority" list which is customized ingame and will dictate the order filters are processed in.
Special Filter Types
How it works:Whitelists: Personal, nonPersonal, Boss, CastByUnit, notCastByUnit, Dispellable (includes steal-able), CastByPlayers
Blacklists: blockNonPersonal, blockNoDuration, blockCastByPlayers
A blacklist filter is only effective against filters that come after it in the priority list. It will not block anything from the filters before it.
Boss: Auras (debuffs only?) cast by a boss unit.
Personal: Auras cast by yourself.
nonPersonal: Auras cast by anyone other than yourself.
CastByUnit: Auras cast by the unit of the unitframe or nameplate (so on target frame it only shows auras cast by the target unit).
notCastByUnit: Auras cast by anyone other than the unit of the unitframe or nameplate.
Dispellable: Auras you can either dispel or spellsteal.
CastByPlayers: Auras cast by any player-controlled unit (so no NPCs).
blockCastByPlayers: Blocks any aura that is cast by player-controlled units (so will only show auras cast by NPCs).
blockNoDuration: Blocks any aura without a duration.
blockNonPersonal: Blocks any aura that is not cast by yourself.
If the Filter Priority list is empty, then all auras will be allowed through. As soon as you add a filter to the priority list then it will start by blocking all auras, and then only allow an aura through if it passes the filter condition, assuming the filter is a whitelist. If you have 2 filters in your priority list, a blacklist and a whitelist, and the blacklist has a higher priority (is listed before whitelist), then an aura will not be allowed if it is in the blacklist filter, even if it is also in the whitelist filter. If an aura is matched against a filter, then it will stop there and not try to match against any of the remaining filters. This gives you full control over what filters you consider the most important in any type of situation (raiding, pvp etc.).
Arranging priority list:
You use drag&drop to rearrange the order of the filters, and you can right-click a filter to remove it completely from the list. See the following images for a visual representation.
Default Filter Priority - Player Buffs
As you can see in the image above there are 7 filters added to the priority list for player buffs. Some of them are regular filters, the ones you can modify in the "Filters" section of the config, while others are "special filters". The special filters are stuff like "Personal", "Boss", "blockNoDuration" and "nonPersonal". These filters use code to check if an aura matches a specific condition. The regular filters use a list of spells that the user provides (if not already included with ElvUI).
Dragging A Filter To Rearrange Priority
In the image above you can see me dragging the "blockNoDuration" filter to a different spot in order to change its priority.
Dropping A Filter Into A New Priority Slot
In the above image I have dropped the "blockNoDuration" filter on top of the "Boss" filter, which assigns the priority the "Boss" filter previously had to the "blockNoDuration" filter. The rest of the list with a higher number is "shifted" so that their priority number is 1 higher than before.
Darth Predator made the following video which goes over the new settings.
There will no doubt be a bit of confusion for some users, but it is our hope that the new systems will prove much more user friendly and customizable once you have had some time to play around with the new settings. We plan to release a video soon (courtesy of Darth Predator) which will go over these new systems. Hopefully they will help explain the new systems in more depth.
If you would like to test the new systems before release then you can get a test version here. (BACKUP YOUR WTF FOLDER FIRST!!!)
Simpy edit: I just want to thank everyone for all the nice comments here and on Discord. I wanted to make something everyone would enjoy and I may have done it! I can't wait for this to launch and see the reactions. I'm extremely excited and also, slightly nervous. I don't want it to cause any confusion but thankfully, I have Blaze and the other developers helping me get that all sorted out, so thanks to them too! Shout out to Elv as well. he did the initial work on the Style Filter and gave me something to start with!