SpellActivationOverlay

SpellActivationOverlay

3M Downloads

Effect Rework

ennvina opened this issue ยท 1 comments

commented

The current aura system makes life difficult to add new effects. This system was probably well suited for the early days of the addon, but the introduction of new functionalities over time has made more and more complex to add new effects.

A rework will pave the future of the addon, hopefully helping for the imminent release of Cataclysm, where there are a lot of effect to add, update, or exclude to Cataclysm players.

The main idea is to introduce an 'effect' object that describes an effect:

  • basic information, such as name, spell ID or talent
  • list of spell alerts
  • list of glowing buttons
  • flag to tell if the effect is a counter
  • automatic option addition (e.g. a glowing button will have a glowing option)
  • project bitfield e.g. "Wrath or Cataclysm"

(the list may not be exhaustive)

This object will serve many purposes, such as:

  • centralizing an effect in a single place (currently an effect may have code scattered all over the class)
  • avoid the need to copy/paste spell IDs (e.g. between register and options) or aura name (for counters)
  • simplify project selection e.g. if SAO.isWrath() which currently makes to code hard to maintain

Please note: the goal is not to remove all existing auras overnight. The current system will still exist. As a matter of fact, the current system may still hold the basement, and will be used by complex code such as handlers.

commented

First implementation in #245.
Improved many times afterwards, especially in #259, #271 and #273.
It can still be (and will be) improved. The issue can be closed, as the main functionality is there.
Some documentation is available at https://github.com/ennvina/spellactivationoverlay/wiki/Overlay#High-level