I've added some code to my personal oUF auras.lua file to enable as many auras/buffs/debuffs element groups as a person wants per unit frame. In addition, I've added an option to allow "reverse fill" on the cooldown spiral.
Relevant code changes:
In the opening ## Options list:
Lua Code:
--.reverse - Reverse fills the cooldown swirl overlay; only works if .disableCooldown is nil or false (boolean)
In the createAuraIcon function:
Lua Code:
local cd = CreateFrame('Cooldown', '$parentCooldown', button, 'CooldownFrameTemplate')
cd:SetAllPoints()
if element.reverse then
cd:SetReverse(true)
end
In the UpdateAuras, Update, and Enable functions:
Lua Code:
if (self.Auras or self.multiAuras) then
for i = 1, (self.Auras and 1) or (self.multiAuras and #self.multiAuras) do
local auras = (self.multiAuras and self.multiAuras[i]) or self.Auras
if(auras) then ...
Lua Code:
if (self.Buffs or self.multiBuffs) then
for i = 1, (self.Buffs and 1) or (self.multiBuffs and #self.multiBuffs) do
local buffs = (self.multiBuffs and self.multiBuffs[i]) or self.Buffs
if(buffs) then ...
Lua Code:
if (self.Debuffs or self.multiDebuffs) then
for i = 1, (self.Debuffs and 1) or (self.multiDebuffs and #self.multiDebuffs) do
local debuffs = (self.multiDebuffs and self.multiDebuffs[i]) or self.Debuffs
if(debuffs) then ...
In case you want to compare the full file, here is a pastebin link:
https://pastebin.com/pLRBZ37q
Two things: if there is a better way to achieve what I want, that is the ability to add many different auras/buffs/debuffs elements per unit as well as the reverse cooldown fill, I'd greatly appreciate the feedback. If this is arguably the most efficient, then I'd like to go about inquiring how to submit it for review and addition to the oUF addon release.
The way I've written it should allow for anyone who uses oUF to not have to update how they make their buff, debuff, and aura tables. They can either use self.Buffs = Buffs or they can use self.multiBuffs = Buffs[n]
Thank you!