buffwatch: add option to only track own debuffs

This commit is contained in:
shagu
2025-07-21 16:33:12 +02:00
parent e86ea7f05d
commit 7b41df16a6
4 changed files with 11 additions and 3 deletions
+1
View File
@@ -119,6 +119,7 @@ function pfUI:LoadConfig()
pfUI:UpdateConfig("buffbar", "tdebuff", "colorstacks", "0")
pfUI:UpdateConfig("buffbar", "tdebuff", "width", "-1")
pfUI:UpdateConfig("buffbar", "tdebuff", "height", "20")
pfUI:UpdateConfig("buffbar", "tdebuff", "selfdebuff", "0")
pfUI:UpdateConfig("buffbar", "tdebuff", "filter", "blacklist")
pfUI:UpdateConfig("buffbar", "tdebuff", "threshold", "120")
pfUI:UpdateConfig("buffbar", "tdebuff", "whitelist", "")
+1
View File
@@ -433,6 +433,7 @@ local slim = {
["tdebuff"] = {
["enable"] = "1",
["height"] = "14",
["selfdebuff"] = "1",
},
},
["chat"] = {
+8 -3
View File
@@ -74,7 +74,7 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
return anchor
end
local function GetBuffData(unit, id, type, skipTooltip)
local function GetBuffData(unit, id, type, selfdebuff)
if unit == "player" then
local bid = GetPlayerBuff(PLAYER_BUFF_START_ID+id, type)
local stacks = GetPlayerBuffApplications(bid)
@@ -82,12 +82,15 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local texture = GetPlayerBuffTexture(bid)
local name
if not skipTooltip and texture then
if texture then
scanner:SetPlayerBuff(bid)
name = scanner:Line(1)
end
return remaining, texture, name, stacks
elseif libdebuff and selfdebuff then
local name, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitOwnDebuff(unit, id)
return timeleft, texture, name, stacks
elseif libdebuff then
local name, rank, texture, stacks, dtype, duration, timeleft = libdebuff:UnitDebuff(unit, id)
return timeleft, texture, name, stacks
@@ -228,8 +231,10 @@ pfUI:RegisterModule("buffwatch", "vanilla:tbc", function ()
local function RefreshBuffBarFrame(frame)
-- reinitialize all active buffs
local selfdebuff = frame.config.selfdebuff == "1"
for i=1,32 do
local timeleft, texture, name, stacks = GetBuffData(frame.unit, i, frame.type)
local timeleft, texture, name, stacks = GetBuffData(frame.unit, i, frame.type, selfdebuff)
timeleft = timeleft or 0
if texture and name and name ~= "" and BuffIsVisible(frame.config, name) then
+1
View File
@@ -1990,6 +1990,7 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
CreateConfig(nil, T["Color Debuff Stacks"], C.buffbar.tdebuff, "colorstacks", "checkbox")
CreateConfig(nil, T["Buffbar Width"], C.buffbar.tdebuff, "width")
CreateConfig(nil, T["Buffbar Height"], C.buffbar.tdebuff, "height")
CreateConfig(nil, T["Only Show Own Debuffs (|cffffaaaaExperimental|r)"], C.buffbar.tdebuff, "selfdebuff", "checkbox")
CreateConfig(nil, T["Filter Mode"], C.buffbar.tdebuff, "filter", "dropdown", pfUI.gui.dropdowns.buffbarfilter)
CreateConfig(nil, T["Time Threshold"], C.buffbar.tdebuff, "threshold")
CreateConfig(nil, T["Whitelist"], C.buffbar.tdebuff, "whitelist", "list")