mirror of
https://github.com/brues-code/pfUI.git
synced 2026-10-18 10:40:48 +00:00
small update
Please read the readme to see what has been changed.
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# pfUI - Turtle WoW Edition
|
# pfUI - Turtle WoW Edition
|
||||||
|
|
||||||
[](https://github.com/me0wg4ming/pfUI)
|
[](https://github.com/me0wg4ming/pfUI)
|
||||||
[](https://turtlecraft.gg/)
|
[](https://turtlecraft.gg/)
|
||||||
[](https://github.com/balakethelock/SuperWoW)
|
[](https://github.com/balakethelock/SuperWoW)
|
||||||
[](https://gitea.com/avitasia/nampower)
|
[](https://gitea.com/avitasia/nampower)
|
||||||
@@ -12,6 +12,32 @@ This version includes significant performance improvements, DLL-enhanced feature
|
|||||||
|
|
||||||
> **Looking for TBC support?** Visit the original pfUI by Shagu: [https://github.com/shagu/pfUI](https://github.com/shagu/pfUI)
|
> **Looking for TBC support?** Visit the original pfUI by Shagu: [https://github.com/shagu/pfUI](https://github.com/shagu/pfUI)
|
||||||
|
|
||||||
|
---
|
||||||
|
## What's New in Version 6.2.6 (January 27, 2026)
|
||||||
|
|
||||||
|
### 🎯 Nameplate Debuff Timer Improvements
|
||||||
|
|
||||||
|
- ✅ **New Option: Enable Debuff Timers** - Toggle for debuff timer display on nameplates
|
||||||
|
- Moved from hidden location (Appearance → Cooldown → "Display Debuff Durations") to Nameplates → Debuffs
|
||||||
|
- All timer-related options are now grouped together for better discoverability
|
||||||
|
- ✅ **New Option: Show Timer Text** - Toggle the countdown text (e.g., "12s") on debuff icons
|
||||||
|
- Previously always shown, now configurable
|
||||||
|
- ✅ **Show Timer Animation** - Existing pie-chart animation option, now properly grouped with other timer options
|
||||||
|
|
||||||
|
### 🖼️ Unitframe Timer Config Fix (unitframes.lua)
|
||||||
|
|
||||||
|
- ✅ **Live Config Updates** - "Show Timer Animation" and "Show Timer Text" now update immediately
|
||||||
|
- Previously: Changes only applied after buffs/debuffs were refreshed
|
||||||
|
- Now: Toggling the option instantly shows/hides the animation and text on existing buffs/debuffs
|
||||||
|
|
||||||
|
### 🐱 Combo Point Ability Fixes (libdebuff.lua)
|
||||||
|
|
||||||
|
- ✅ **Rogue & Druid Combo Point Tracking** - Fixed duration calculation for combo point abilities
|
||||||
|
- Rupture, Kidney Shot, and Rip now correctly calculate duration based on combo points spent
|
||||||
|
- Added `PLAYER_COMBO_POINTS` event tracking for both Rogues AND Druids
|
||||||
|
- Stores combo points before they're consumed, ensuring accurate duration calculation
|
||||||
|
- Fixes issue where abilities showed incorrect duration when combo points were already spent at cast time
|
||||||
|
|
||||||
---
|
---
|
||||||
## What's New in Version 6.2.5 (January 21, 2026)
|
## What's New in Version 6.2.5 (January 21, 2026)
|
||||||
|
|
||||||
@@ -450,7 +476,7 @@ Same as original pfUI - free to use and modify.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**Version:** 6.2.5
|
**Version:** 6.2.6
|
||||||
**Release Date:** January 21, 2026
|
**Release Date:** January 27, 2026
|
||||||
**Compatibility:** Turtle WoW 1.18.0
|
**Compatibility:** Turtle WoW 1.18.0
|
||||||
**Status:** Stable
|
**Status:** Stable
|
||||||
+2
-1
@@ -148,7 +148,6 @@ function pfUI:LoadConfig()
|
|||||||
pfUI:UpdateConfig("appearance", "cd", "font_size", "12")
|
pfUI:UpdateConfig("appearance", "cd", "font_size", "12")
|
||||||
pfUI:UpdateConfig("appearance", "cd", "font_size_blizz", "12")
|
pfUI:UpdateConfig("appearance", "cd", "font_size_blizz", "12")
|
||||||
pfUI:UpdateConfig("appearance", "cd", "font_size_foreign","12")
|
pfUI:UpdateConfig("appearance", "cd", "font_size_foreign","12")
|
||||||
pfUI:UpdateConfig("appearance", "cd", "debuffs", "1")
|
|
||||||
pfUI:UpdateConfig("appearance", "cd", "blizzard", "1")
|
pfUI:UpdateConfig("appearance", "cd", "blizzard", "1")
|
||||||
pfUI:UpdateConfig("appearance", "cd", "foreign", "0")
|
pfUI:UpdateConfig("appearance", "cd", "foreign", "0")
|
||||||
pfUI:UpdateConfig("appearance", "cd", "milliseconds", "1")
|
pfUI:UpdateConfig("appearance", "cd", "milliseconds", "1")
|
||||||
@@ -837,6 +836,8 @@ function pfUI:LoadConfig()
|
|||||||
pfUI:UpdateConfig("nameplates", "debuffs", "blacklist", "")
|
pfUI:UpdateConfig("nameplates", "debuffs", "blacklist", "")
|
||||||
pfUI:UpdateConfig("nameplates", "debuffs", "showstacks", "0")
|
pfUI:UpdateConfig("nameplates", "debuffs", "showstacks", "0")
|
||||||
pfUI:UpdateConfig("nameplates", "debuffs", "position", "BOTTOM")
|
pfUI:UpdateConfig("nameplates", "debuffs", "position", "BOTTOM")
|
||||||
|
pfUI:UpdateConfig("nameplates", nil, "debufftimers", "1")
|
||||||
|
pfUI:UpdateConfig("nameplates", nil, "debufftext", "1")
|
||||||
pfUI:UpdateConfig("nameplates", nil, "debuffanim", "0")
|
pfUI:UpdateConfig("nameplates", nil, "debuffanim", "0")
|
||||||
|
|
||||||
pfUI:UpdateConfig("abuttons", nil, "enable", "1")
|
pfUI:UpdateConfig("abuttons", nil, "enable", "1")
|
||||||
|
|||||||
@@ -758,6 +758,17 @@ function pfUI.uf:UpdateConfig()
|
|||||||
f.buffs[i].cd.pfCooldownType = "ALL"
|
f.buffs[i].cd.pfCooldownType = "ALL"
|
||||||
f.buffs[i].cd.pfCooldownStyleText = cooldown_text
|
f.buffs[i].cd.pfCooldownStyleText = cooldown_text
|
||||||
f.buffs[i].cd.pfCooldownStyleAnimation = cooldown_anim
|
f.buffs[i].cd.pfCooldownStyleAnimation = cooldown_anim
|
||||||
|
f.buffs[i].cd:SetAlpha(cooldown_anim == 1 and 1 or 0)
|
||||||
|
|
||||||
|
-- immediately show/hide existing cooldown text
|
||||||
|
if f.buffs[i].cd.pfCooldownText then
|
||||||
|
if cooldown_text == 1 then
|
||||||
|
f.buffs[i].cd.pfCooldownText:Show()
|
||||||
|
else
|
||||||
|
f.buffs[i].cd.pfCooldownText:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
f.buffs[i].id = i
|
f.buffs[i].id = i
|
||||||
f.buffs[i]:Hide()
|
f.buffs[i]:Hide()
|
||||||
|
|
||||||
@@ -850,6 +861,17 @@ function pfUI.uf:UpdateConfig()
|
|||||||
f.debuffs[i].cd.pfCooldownType = "ALL"
|
f.debuffs[i].cd.pfCooldownType = "ALL"
|
||||||
f.debuffs[i].cd.pfCooldownStyleText = cooldown_text
|
f.debuffs[i].cd.pfCooldownStyleText = cooldown_text
|
||||||
f.debuffs[i].cd.pfCooldownStyleAnimation = cooldown_anim
|
f.debuffs[i].cd.pfCooldownStyleAnimation = cooldown_anim
|
||||||
|
f.debuffs[i].cd:SetAlpha(cooldown_anim == 1 and 1 or 0)
|
||||||
|
|
||||||
|
-- immediately show/hide existing cooldown text
|
||||||
|
if f.debuffs[i].cd.pfCooldownText then
|
||||||
|
if cooldown_text == 1 then
|
||||||
|
f.debuffs[i].cd.pfCooldownText:Show()
|
||||||
|
else
|
||||||
|
f.debuffs[i].cd.pfCooldownText:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
f.debuffs[i].id = i
|
f.debuffs[i].id = i
|
||||||
f.debuffs[i]:Hide()
|
f.debuffs[i]:Hide()
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1590,7 +1590,6 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
|
|||||||
CreateConfig(nil, T["Cooldown Text Font Size (Blizzard Frames)"], C.appearance.cd, "font_size_blizz")
|
CreateConfig(nil, T["Cooldown Text Font Size (Blizzard Frames)"], C.appearance.cd, "font_size_blizz")
|
||||||
CreateConfig(nil, T["Cooldown Text Font Size (Foreign Frames)"], C.appearance.cd, "font_size_foreign")
|
CreateConfig(nil, T["Cooldown Text Font Size (Foreign Frames)"], C.appearance.cd, "font_size_foreign")
|
||||||
CreateConfig(nil, T["Cooldown Text Time Threshold"], C.appearance.cd, "threshold")
|
CreateConfig(nil, T["Cooldown Text Time Threshold"], C.appearance.cd, "threshold")
|
||||||
CreateConfig(nil, T["Display Debuff Durations"], C.appearance.cd, "debuffs", "checkbox")
|
|
||||||
CreateConfig(nil, T["Enable Durations On Blizzard Frames"], C.appearance.cd, "blizzard", "checkbox")
|
CreateConfig(nil, T["Enable Durations On Blizzard Frames"], C.appearance.cd, "blizzard", "checkbox")
|
||||||
CreateConfig(nil, T["Enable Durations On Foreign Frames"], C.appearance.cd, "foreign", "checkbox")
|
CreateConfig(nil, T["Enable Durations On Foreign Frames"], C.appearance.cd, "foreign", "checkbox")
|
||||||
CreateConfig(nil, T["Hide Foreign Cooldown Animations"], C.appearance.cd, "hideanim", "checkbox")
|
CreateConfig(nil, T["Hide Foreign Cooldown Animations"], C.appearance.cd, "hideanim", "checkbox")
|
||||||
@@ -2356,6 +2355,8 @@ pfUI:RegisterModule("gui", "vanilla:tbc", function ()
|
|||||||
CreateConfig(U["nameplates"], T["Debuff Icon Size"], C.nameplates, "debuffsize")
|
CreateConfig(U["nameplates"], T["Debuff Icon Size"], C.nameplates, "debuffsize")
|
||||||
CreateConfig(U["nameplates"], T["Estimate Debuffs"], C.nameplates, "guessdebuffs", "checkbox")
|
CreateConfig(U["nameplates"], T["Estimate Debuffs"], C.nameplates, "guessdebuffs", "checkbox")
|
||||||
CreateConfig(U["nameplates"], T["Show Debuff Stacks"], C.nameplates.debuffs, "showstacks", "checkbox")
|
CreateConfig(U["nameplates"], T["Show Debuff Stacks"], C.nameplates.debuffs, "showstacks", "checkbox")
|
||||||
|
CreateConfig(U["nameplates"], T["Enable Debuff Timers"], C.nameplates, "debufftimers", "checkbox")
|
||||||
|
CreateConfig(U["nameplates"], T["Show Timer Text"], C.nameplates, "debufftext", "checkbox")
|
||||||
CreateConfig(U["nameplates"], T["Show Timer Animation"], C.nameplates, "debuffanim", "checkbox")
|
CreateConfig(U["nameplates"], T["Show Timer Animation"], C.nameplates, "debuffanim", "checkbox")
|
||||||
CreateConfig(U["nameplates"], T["Only Show Own Debuffs (|cffffaaaaExperimental|r)"], C.nameplates, "selfdebuff", "checkbox")
|
CreateConfig(U["nameplates"], T["Only Show Own Debuffs (|cffffaaaaExperimental|r)"], C.nameplates, "selfdebuff", "checkbox")
|
||||||
CreateConfig(U["nameplates"], T["Filter Mode"], C.nameplates.debuffs, "filter", "dropdown", pfUI.gui.dropdowns.buffbarfilter)
|
CreateConfig(U["nameplates"], T["Filter Mode"], C.nameplates.debuffs, "filter", "dropdown", pfUI.gui.dropdowns.buffbarfilter)
|
||||||
|
|||||||
@@ -66,8 +66,6 @@ pfUI:RegisterModule("nameplates", "vanilla", function ()
|
|||||||
local parentcount = 0
|
local parentcount = 0
|
||||||
local platecount = 0
|
local platecount = 0
|
||||||
local registry = {}
|
local registry = {}
|
||||||
local debuffdurations = C.appearance.cd.debuffs == "1" and true or nil
|
|
||||||
|
|
||||||
-- NEW: Cast event cache like Overhead.lua
|
-- NEW: Cast event cache like Overhead.lua
|
||||||
local CastEvents = {}
|
local CastEvents = {}
|
||||||
local _, PlayerGUID = UnitExists("player")
|
local _, PlayerGUID = UnitExists("player")
|
||||||
@@ -300,8 +298,9 @@ pfUI:RegisterModule("nameplates", "vanilla", function ()
|
|||||||
plate.debuffs[index].stacks:SetJustifyV("BOTTOM")
|
plate.debuffs[index].stacks:SetJustifyV("BOTTOM")
|
||||||
plate.debuffs[index].stacks:SetTextColor(1,1,0)
|
plate.debuffs[index].stacks:SetTextColor(1,1,0)
|
||||||
|
|
||||||
-- Read config for cooldown animation
|
-- Read config for cooldown animation and text
|
||||||
local cooldown_anim = tonumber(C.nameplates.debuffanim) or 0
|
local cooldown_anim = tonumber(C.nameplates.debuffanim) or 0
|
||||||
|
local cooldown_text = tonumber(C.nameplates.debufftext) or 1
|
||||||
|
|
||||||
if pfUI.client <= 11200 then
|
if pfUI.client <= 11200 then
|
||||||
-- Use Model frame with CooldownFrameTemplate for proper pie animation in Vanilla
|
-- Use Model frame with CooldownFrameTemplate for proper pie animation in Vanilla
|
||||||
@@ -313,6 +312,7 @@ pfUI:RegisterModule("nameplates", "vanilla", function ()
|
|||||||
end
|
end
|
||||||
|
|
||||||
plate.debuffs[index].cd.pfCooldownStyleAnimation = cooldown_anim
|
plate.debuffs[index].cd.pfCooldownStyleAnimation = cooldown_anim
|
||||||
|
plate.debuffs[index].cd.pfCooldownStyleText = cooldown_text
|
||||||
plate.debuffs[index].cd.pfCooldownType = "ALL"
|
plate.debuffs[index].cd.pfCooldownType = "ALL"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -999,8 +999,11 @@ pfUI:RegisterModule("nameplates", "vanilla", function ()
|
|||||||
plate.debuffs[index].stacks:Hide()
|
plate.debuffs[index].stacks:Hide()
|
||||||
end
|
end
|
||||||
|
|
||||||
if duration and timeleft and debuffdurations then
|
if duration and timeleft and C.nameplates.debufftimers == "1" then
|
||||||
local cooldown_anim = tonumber(C.nameplates.debuffanim) or 0
|
local cooldown_anim = tonumber(C.nameplates.debuffanim) or 0
|
||||||
|
local cooldown_text = tonumber(C.nameplates.debufftext) or 1
|
||||||
|
plate.debuffs[index].cd.pfCooldownStyleAnimation = cooldown_anim
|
||||||
|
plate.debuffs[index].cd.pfCooldownStyleText = cooldown_text
|
||||||
plate.debuffs[index].cd:SetAlpha(cooldown_anim == 1 and 1 or 0)
|
plate.debuffs[index].cd:SetAlpha(cooldown_anim == 1 and 1 or 0)
|
||||||
plate.debuffs[index].cd:Show()
|
plate.debuffs[index].cd:Show()
|
||||||
CooldownFrame_SetTimer(plate.debuffs[index].cd, GetTime() + timeleft - duration, duration, 1)
|
CooldownFrame_SetTimer(plate.debuffs[index].cd, GetTime() + timeleft - duration, duration, 1)
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
## Author: Shagu
|
## Author: Shagu
|
||||||
## Notes: A complete user interface replacement.
|
## Notes: A complete user interface replacement.
|
||||||
## Notes-ruRU: Полная замена пользовательского интерфейса.
|
## Notes-ruRU: Полная замена пользовательского интерфейса.
|
||||||
## Version: 6.2.5
|
## Version: 6.2.6
|
||||||
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache
|
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache
|
||||||
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
|
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
## Author: Shagu
|
## Author: Shagu
|
||||||
## Notes: A complete user interface replacement.
|
## Notes: A complete user interface replacement.
|
||||||
## Notes-ruRU: Полная замена пользовательского интерфейса.
|
## Notes-ruRU: Полная замена пользовательского интерфейса.
|
||||||
## Version: 6.2.5
|
## Version: 6.2.6
|
||||||
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache
|
## SavedVariables: pfUI_profiles, pfUI_addon_profiles, pfUI_cache
|
||||||
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
|
## SavedVariablesPerCharacter: pfUI_config, pfUI_init, pfUI_playerDB
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user