609 - Enhancement: Generalize aura statuses into aura groups
Generalize the aura statuses into statuses for aura groups.
Each status now corresponds to an aura group instead of a single aura. The group is specified by listing the matching auras by name or by spell ID, or if not specified the group name itself is used as the aura name.
An aura may be listed in multiple groups, and if a match to an existing unit aura is found, then every status associated with that aura will be updated.
The aura list is an advanced option, so new users aren't exposed to it right away and the default user setup and usage matches the traditional one.
Examples:
- A buff group for druid healers called "Swiftmendable HoT" that lists "Rejuvenation, Regrowth" and don't check "Show only if mine". This buff group can be used in addition to other "Rejuvenation" and "Regrowth" statuses that are "Show only if mine".
- Two debuff groups, one called "Deep Corruption Timer" with aura list "105171, 108220" and another called "Deep Corruption Stack" with aura list "103628, 109389". These two track the timer debuff and the stacking debuff in the Yor'sahj fight.
Changes:
- Consistently use "group" instead of "name" where appropriate to refer to the status name.
- Introduce an "auras" list for each status that may contain either buff/debuff names or spell IDs, separated by commas. The status matches if any of the listed auras appears on the unit.
- Note the performance penalty for using spell IDs in a buff group (but not in a debuff group).
- Make it clear that there are separate code blocks depending on whether there are buff groups using spell IDs or not. If no spell IDs are found in buff groups, then a much faster code path is used.
- Introduce new data tables to be updated by UpdateAuraScanList() for efficient aura matching later in ScanUnitAuras().
| Name | Size | MD5 |
|---|---|---|
| 0001-Generalize-the-aura-statuses-into-statuses-for-aura-.patch | 17.6 KiB | bb3fc14a16c8... |
| GridStatusAuras.lua | 49.9 KiB | 8036a46c3979... |
| User | When | Change |
|---|---|---|
| jlam | Jun 07, 2012 at 20:04 UTC | Added attachment GridStatusAuras.lua |
| jlam | Jun 07, 2012 at 20:04 UTC | Added attachment 0001-Generalize-the-aura-statuses-into-statuses-for-aura-.patch |
| jlam | Jun 07, 2012 at 20:03 UTC | Deleted attachment GridStatusAuras.lua: Will upload new patch relative to r1478. |
| jlam | Jun 07, 2012 at 20:03 UTC | Deleted attachment aura-groups.patch: Will upload new patch against r1478. |
| jlam | May 28, 2012 at 12:23 UTC | Added attachment GridStatusAuras.lua |
| jlam | May 28, 2012 at 12:21 UTC | Added attachment aura-groups.patch |
| jlam | May 28, 2012 at 12:20 UTC | Create |
- 2 comments
- 2 comments
Facts
- Last updated
- Jun 07, 2012
- Reported
- May 28, 2012
- Status
- New - Issue has not had initial review yet.
- Type
- Patch - Source code patch for review
- Priority
- Medium - Normal priority.
- Votes
- 0
- Reply
- #2
jlam Jun 07, 2012 at 20:05 UTC - 0 likesI've updated the patch and the file to be relative to r1478.
- Reply
- #1
jlam May 28, 2012 at 12:27 UTC - 0 likesI've uploaded both a diff (ignoring whitespace changes) and a full GridStatusAuras.lua file containing the changes.
I'm not pushing for these changes to be in the Grid core. This ticket is mostly here for code review purposes and to show what an implementation of the features that it introduces might look like.