unitframes: option to show up to 32 buffs

This commit is contained in:
shagu
2017-06-02 18:01:50 +02:00
parent 1fb55fa433
commit b16d47f1ce
3 changed files with 57 additions and 19 deletions
+20
View File
@@ -103,8 +103,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "player", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "player", "buffs", "top")
pfUI:UpdateConfig("unitframes", "player", "buffsize", "20") -- TODO migrate uf.buffsize
pfUI:UpdateConfig("unitframes", "player", "bufflimit", "32")
pfUI:UpdateConfig("unitframes", "player", "debuffs", "top")
pfUI:UpdateConfig("unitframes", "player", "debuffsize", "20") -- TODO migrate uf.debuffsize
pfUI:UpdateConfig("unitframes", "player", "debufflimit", "32")
pfUI:UpdateConfig("unitframes", "player", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "player", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "player", "debuff_indicator", "0")
@@ -126,8 +128,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "target", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "target", "buffs", "top")
pfUI:UpdateConfig("unitframes", "target", "buffsize", "20") -- TODO migrate uf.buffsize
pfUI:UpdateConfig("unitframes", "target", "bufflimit", "32")
pfUI:UpdateConfig("unitframes", "target", "debuffs", "top")
pfUI:UpdateConfig("unitframes", "target", "debuffsize", "20") -- TODO migrate uf.debuffsize
pfUI:UpdateConfig("unitframes", "target", "debufflimit", "32")
pfUI:UpdateConfig("unitframes", "target", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "target", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "target", "debuff_indicator", "0")
@@ -146,8 +150,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "focus", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "focus", "buffs", "top")
pfUI:UpdateConfig("unitframes", "focus", "buffsize", "12")
pfUI:UpdateConfig("unitframes", "focus", "bufflimit", "32")
pfUI:UpdateConfig("unitframes", "focus", "debuffs", "top")
pfUI:UpdateConfig("unitframes", "focus", "debuffsize", "12")
pfUI:UpdateConfig("unitframes", "focus", "debufflimit", "32")
pfUI:UpdateConfig("unitframes", "focus", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "focus", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "focus", "debuff_indicator", "0")
@@ -165,8 +171,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "group", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "group", "buffs", "bottom")
pfUI:UpdateConfig("unitframes", "group", "buffsize", "8")
pfUI:UpdateConfig("unitframes", "group", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "group", "debuffs", "bottom")
pfUI:UpdateConfig("unitframes", "group", "debuffsize", "8")
pfUI:UpdateConfig("unitframes", "group", "debufflimit", "8")
pfUI:UpdateConfig("unitframes", "group", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "group", "buff_indicator", "1")
pfUI:UpdateConfig("unitframes", "group", "debuff_indicator", "1")
@@ -185,8 +193,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "grouptarget", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "grouptarget", "buffs", "off")
pfUI:UpdateConfig("unitframes", "grouptarget", "buffsize", "16")
pfUI:UpdateConfig("unitframes", "grouptarget", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "grouptarget", "debuffs", "off")
pfUI:UpdateConfig("unitframes", "grouptarget", "debuffsize", "16")
pfUI:UpdateConfig("unitframes", "grouptarget", "debufflimit", "16")
pfUI:UpdateConfig("unitframes", "grouptarget", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "grouptarget", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "grouptarget", "debuff_indicator", "0")
@@ -204,8 +214,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "grouppet", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "grouppet", "buffs", "off")
pfUI:UpdateConfig("unitframes", "grouppet", "buffsize", "16")
pfUI:UpdateConfig("unitframes", "grouppet", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "grouppet", "debuffs", "off")
pfUI:UpdateConfig("unitframes", "grouppet", "debuffsize", "16")
pfUI:UpdateConfig("unitframes", "grouppet", "debufflimit", "16")
pfUI:UpdateConfig("unitframes", "grouppet", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "grouppet", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "grouppet", "debuff_indicator", "0")
@@ -223,8 +235,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "raid", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "raid", "buffs", "off")
pfUI:UpdateConfig("unitframes", "raid", "buffsize", "16")
pfUI:UpdateConfig("unitframes", "raid", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "raid", "debuffs", "off")
pfUI:UpdateConfig("unitframes", "raid", "debuffsize", "16")
pfUI:UpdateConfig("unitframes", "raid", "debufflimit", "16")
pfUI:UpdateConfig("unitframes", "raid", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "raid", "buff_indicator", "1")
pfUI:UpdateConfig("unitframes", "raid", "debuff_indicator", "1")
@@ -242,8 +256,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "ttarget", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "ttarget", "buffs", "off")
pfUI:UpdateConfig("unitframes", "ttarget", "buffsize", "16")
pfUI:UpdateConfig("unitframes", "ttarget", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "ttarget", "debuffs", "off")
pfUI:UpdateConfig("unitframes", "ttarget", "debuffsize", "16")
pfUI:UpdateConfig("unitframes", "ttarget", "debufflimit", "16")
pfUI:UpdateConfig("unitframes", "ttarget", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "ttarget", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "ttarget", "debuff_indicator", "0")
@@ -261,8 +277,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "pet", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "pet", "buffs", "off")
pfUI:UpdateConfig("unitframes", "pet", "buffsize", "12")
pfUI:UpdateConfig("unitframes", "pet", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "pet", "debuffs", "off")
pfUI:UpdateConfig("unitframes", "pet", "debuffsize", "12")
pfUI:UpdateConfig("unitframes", "pet", "debufflimit", "16")
pfUI:UpdateConfig("unitframes", "pet", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "pet", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "pet", "debuff_indicator", "0")
@@ -280,8 +298,10 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("unitframes", "fallback", "pspace", "-3")
pfUI:UpdateConfig("unitframes", "fallback", "buffs", "top")
pfUI:UpdateConfig("unitframes", "fallback", "buffsize", "20")
pfUI:UpdateConfig("unitframes", "fallback", "bufflimit", "16")
pfUI:UpdateConfig("unitframes", "fallback", "debuffs", "top")
pfUI:UpdateConfig("unitframes", "fallback", "debuffsize", "20")
pfUI:UpdateConfig("unitframes", "fallback", "debufflimit", "16")
pfUI:UpdateConfig("unitframes", "fallback", "invert_healthbar", "0")
pfUI:UpdateConfig("unitframes", "fallback", "buff_indicator", "0")
pfUI:UpdateConfig("unitframes", "fallback", "debuff_indicator", "0")
+14 -15
View File
@@ -332,10 +332,9 @@ function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
if f.config.buffs ~= "off" then
f.buffs = {}
for i=1, 16 do
for i=1, f.config.bufflimit do
local id = i
local row = 0
if i <= 8 then row = 0 else row = 1 end
local row = floor((i-1) / 8)
f.buffs[i] = CreateFrame("Button", "pfUIPlayerBuff" .. i, f)
f.buffs[i]:SetID(i)
@@ -370,7 +369,7 @@ function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
end
f.buffs[i]:SetPoint(af, f, as,
(i-1-8*row)*((2*default_border) + f.config.buffsize + 1),
(i-1-row*8)*((2*default_border) + f.config.buffsize + 1),
invert * (row)*((2*default_border) + f.config.buffsize + 1) + invert*(2*default_border + 1))
f.buffs[i]:SetWidth(f.config.buffsize)
@@ -424,7 +423,7 @@ function pfUI.uf:CreateUnitFrame(unit, id, config, tick)
if f.config.debuffs ~= "off" then
f.debuffs = {}
for i=1, 16 do
for i=1, f.config.debufflimit do
local id = i
f.debuffs[i] = CreateFrame("Button", "pfUIPlayerDebuff" .. i, f)
f.debuffs[i]:SetID(i)
@@ -610,7 +609,7 @@ function pfUI.uf:RefreshUnit(unit, component)
-- Buffs
if unit.buffs and ( component == "all" or component == "aura" ) then
for i=1, 16 do
for i=1, unit.config.bufflimit do
local texture, stacks
if unit.label == "player" then
stacks = GetPlayerBuffApplications(GetPlayerBuff(i-1,"HELPFUL"))
@@ -640,14 +639,15 @@ function pfUI.uf:RefreshUnit(unit, component)
-- Debuffs
if unit.debuffs and ( component == "all" or component == "aura" ) then
for i=1, 16 do
local row = 0
local top = 0
if i > 8 then row = 1 end
for i=1, unit.config.debufflimit do
local row = floor((i-1) / 8)
local buffrow = 0
if unit.config.buffs == unit.config.debuffs then
if unit.buffs[1]:IsShown() then top = top + 1 end
if unit.buffs[9]:IsShown() then top = top + 1 end
if unit.buffs[1] and unit.buffs[1]:IsShown() then buffrow = buffrow + 1 end
if unit.buffs[9] and unit.buffs[9]:IsShown() then buffrow = buffrow + 1 end
if unit.buffs[17] and unit.buffs[17]:IsShown() then buffrow = buffrow + 1 end
if unit.buffs[25] and unit.buffs[25]:IsShown() then buffrow = buffrow + 1 end
end
local invert, af, as
@@ -662,9 +662,8 @@ function pfUI.uf:RefreshUnit(unit, component)
end
unit.debuffs[i]:SetPoint(af, unit, as,
(i-1-8*row)*((2*default_border) + unit.config.debuffsize + 1),
invert * (top)*((2*default_border) + unit.config.buffsize + 1) +
invert * (row)*((2*default_border) + unit.config.debuffsize + 1) + invert*(2*default_border + 1))
(i-1-(row)*8)*((2*default_border) + unit.config.debuffsize + 1),
invert * (row+buffrow)*((2*default_border) + unit.config.debuffsize + 1) + invert*(2*default_border + 1))
local texture, stacks, dtype
if unit.label == "player" then