One of the things you mentioned on WoWInterface is the different
cases. To expound a little:
Spell with no Buff or Debuff (Heal)
Spell with Buff - non - stacking (Blessing of Wisdom)
Spell with buff stacking (renew)
Spell with Debuff non stacking (IE the ones where isspellusable is
broken - PowerWord shield, Divine Protection etc)
Spell with Debuff stacking (not sure there is such a thing).
I think you hit it right on the head in that we should support these
independently and the place to do it is in a ui. The issue is that we
want to avoid impacting existing users if at all possible. This
implies that the default behavior is to treat a button as a non-
stacking buff with the buff name the same as the spell (IE dims if the
buff is on the player). We add a new custom button type called
SimpleCast that avoids the buff checking altogether. IF you have
performance problems in large raids you can convert from the default
behavior by creating a custom button of type Simple cast.
Added extras could be:
Maintain a list of spells and what their default behavior should be.
Add in logic to maintain the stacking buff spells i have cast (perhaps
this is already covered in the is spell usable function)
Add a ui to hide the generic creation of button / groups / profiles
(need to find a developer who can do this).
Drome