mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-30 19:19:59 +00:00
433 lines
20 KiB
Markdown
433 lines
20 KiB
Markdown
# pfUI - Turtle WoW Edition
|
|
|
|
[](https://github.com/me0wg4ming/pfUI)
|
|
[](https://turtlecraft.gg/)
|
|
[](https://github.com/balakethelock/SuperWoW)
|
|
[](https://gitea.com/avitasia/nampower)
|
|
[](https://codeberg.org/konaka/UnitXP_SP3)
|
|
|
|
**A pfUI fork specifically optimized for [Turtle WoW](https://turtlecraft.gg/) with full SuperWoW, Nampower, and UnitXP_SP3 DLL integration.**
|
|
|
|
This version includes significant performance improvements, DLL-enhanced features, and TBC spell indicators that work with Turtle WoW's expanded spell library.
|
|
|
|
> **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.2 (January 10, 2026)
|
|
|
|
### 🎯 Failed Spell Detection (libdebuff.lua)
|
|
|
|
- ✅ **Resist/Miss/Dodge/Parry Detection** - Spells that fail to land no longer create or update timers
|
|
- Detects: Miss, Resist, Dodge, Parry, Evade, Deflect, Reflect, Block, Absorb, Immune
|
|
- Timer is either blocked before creation or reverted if fail event arrives late
|
|
- ✅ **Public API: `libdebuff:DidSpellFail(spell)`** - Other modules can check if a spell recently failed
|
|
- Returns true if spell failed within the last 1 second
|
|
- Used by turtle-wow.lua for refresh mechanics
|
|
|
|
### 🐱 Druid/Warlock Refresh Fixes (turtle-wow.lua)
|
|
|
|
- ✅ **Ferocious Bite Refresh Fix** - Rip/Rake timers only refresh when Ferocious Bite actually hits
|
|
- Previously: Timer refreshed even on dodge/parry/miss
|
|
- Now: Uses `DidSpellFail()` to verify hit before refreshing
|
|
- ✅ **Conflagrate Refresh Fix** - Immolate duration only reduced when Conflagrate actually hits
|
|
- ✅ **Caster Inheritance** - Refresh mechanics preserve existing caster info when not explicitly provided
|
|
|
|
### ⚡ SuperWoW Compatibility (superwow.lua)
|
|
|
|
- ✅ **Removed UNIT_CASTEVENT for DoT Timers** - SuperWoW's instant event fires before resist/miss detection
|
|
- DoT timers now use standard hook-based fallback (compatible with resist detection)
|
|
- HoT timers (Rejuvenation, Renew, etc.) still use SuperWoW for instant detection (buffs can't be resisted)
|
|
|
|
---
|
|
|
|
## What's New in Version 6.2.1 (January 10, 2026)
|
|
|
|
### 🎯 Debuff Timer Protection System (libdebuff.lua)
|
|
|
|
- ✅ **Spell Rank Tracking** - Tracks spell rank for all your DoTs/debuffs
|
|
- Uses `lastCastRanks` table to preserve rank information across multiple event sources
|
|
- Fixes race condition where SuperWoW UNIT_CASTEVENT fired before QueueFunction processed pending data
|
|
- ✅ **Lower Rank Protection** - Lower rank spells cannot overwrite higher rank timers
|
|
- Example: If Moonfire Rank 10 is active, casting Rank 5 will be blocked
|
|
- ✅ **Other Player Protection** - Other players' casts cannot overwrite your debuff timers
|
|
- Your DoTs are tracked separately from other players' DoTs
|
|
- Multiple players can have their own Moonfire/Corruption on the same target
|
|
- ✅ **Shared Debuff Whitelist** - Debuffs that are shared by all players update correctly:
|
|
- Warrior: Sunder Armor, Demoralizing Shout, Thunder Clap
|
|
- Rogue: Expose Armor
|
|
- Druid: Faerie Fire, Faerie Fire (Feral)
|
|
- Hunter: Hunter's Mark
|
|
- Warlock: Curse of Weakness/Recklessness/Elements/Shadow/Tongues/Exhaustion
|
|
- Priest: Shadow Weaving
|
|
- Mage: Winter's Chill
|
|
- Paladin: All Judgements
|
|
|
|
---
|
|
|
|
## What's New in Version 6.2.0 (January 10, 2026)
|
|
|
|
### 🔮 HoT Timer System (libpredict.lua)
|
|
|
|
- ✅ **Regrowth Duration Fix** - Corrected duration from 21 to 20 seconds (matching actual Turtle WoW spell duration)
|
|
- ✅ **GetTime() Synchronization** - All timing calls now use `pfUI.uf.now or GetTime()` for consistent timing across all UI elements
|
|
- ✅ **Instant-HoT Detection Fix** - Fixed Rejuvenation/Renew not being detected when cast quickly after Regrowth
|
|
- Problem: `spell_queue` was overwritten before processing
|
|
- Solution: Instant HoTs now processed immediately at cast hooks with `current_cast` tracking
|
|
- ✅ **SuperWoW UNIT_CASTEVENT Support** - Precise Instant-HoT detection using UNIT_CASTEVENT
|
|
- Only fires on successful casts (not attempts), eliminating false triggers from GCD/range failures
|
|
- Graceful fallback to hook-based detection for players without SuperWoW
|
|
- ✅ **HealComm Compatibility** - Full compatibility with standalone HealComm addon users
|
|
- 0.3s delay compensation for Regrowth messages
|
|
- Duplicate detection (0.5s window) prevents double timers
|
|
- ✅ **PARTY Channel Support** - HoT messages now sent to PARTY channel for 5-man dungeons
|
|
|
|
### 🎯 Nameplate Improvements (nameplates.lua)
|
|
|
|
- ✅ **Target Castbar Zoom Fix** - Fixed current target castbar not showing when zoom factor is enabled
|
|
- Multi-method target detection: alpha check, `istarget` flag, and `zoomed` state
|
|
- Proper GUID lookup for target castbar info (was incorrectly using string "target")
|
|
- ✅ **Flicker/Vibration Fix** - Eliminated nameplate flicker near zoom boundaries
|
|
- Alpha check changed from `== 1` to `>= 0.99` (floating-point fix)
|
|
- Zoom tolerance changed from `>= w` to `> w + 0.5` (prevents oscillation)
|
|
- ✅ **libdebuff Nil-Checks** - Added safety checks to prevent errors when libdebuff data is unavailable
|
|
|
|
### ⚡ Spell Queue (nampower.lua)
|
|
|
|
- ✅ **Error Handling** - Added pcall wrapper for `GetSpellNameAndRankForId` to prevent error spam when spell ID not found
|
|
|
|
### 🐱 Druid Improvements
|
|
|
|
- ✅ **Rip Duration** (libdebuff.lua) - Now dynamically calculated based on combo points (10/12/14/16/18 seconds for 1-5 CP)
|
|
- ✅ **Ferocious Bite Refresh** (turtle-wow.lua) - Now refreshes both Rip AND Rake (previously only Rip), preserving existing duration
|
|
|
|
### ⚡ Energy Tick (energytick.lua)
|
|
|
|
- ✅ **Talent/Buff Energy Filter** - Ignores energy gains from talents/buffs (e.g., Ancient Brutality and Tiger's Fury) to prevent tick timer reset from non-natural energy gains
|
|
|
|
---
|
|
|
|
## What's New in Version 6.1.1 (January 8, 2026)
|
|
|
|
### 🐛 Bugfixes
|
|
|
|
- ✅ **Chat Level Display Fix** - Fixed targeting high-level players overwriting known level with -1. Now shows "??" for unknown levels instead of -1
|
|
- ✅ **Nameplate Level Fix** - Nameplates now use stored level from database after reload instead of showing "??"
|
|
- ✅ **Nameplate Level Color** - Level color now correctly uses difficulty color when loaded from database
|
|
|
|
### ⚙️ Config Changes
|
|
|
|
- ✅ **Chat Player Levels** - Now disabled by default (was enabled)
|
|
|
|
---
|
|
|
|
## What's New in Version 6.1.0 (January 8, 2026)
|
|
|
|
### 🐛 Bugfixes
|
|
|
|
- ✅ **40-Yard Range Check Fix** - Fixed range check not working for raid/party frames due to throttle variable conflict (`this.tick` vs `this.throttleTick`)
|
|
- ✅ **Aggro Indicator Fix** - Fixed aggro indicator not displaying properly on raid/party frames (same throttle issue)
|
|
- ✅ **Aggro Detection Cache** - Improved aggro cache to only cache positive results, allowing instant detection when aggro changes while maintaining performance
|
|
- ✅ **Raid Frames with Group Display** - Fixed HP/Mana not updating when "Use Raid Frames to display group members" was enabled without being in a raid
|
|
- ✅ **SuperWoW nil-check** - Added nil-check for `SpellInfo` in superwow.lua to prevent errors when SuperWoW is not installed
|
|
- ✅ **Missing Event Registration** - Added missing events for raid/party frames: `PARTY_MEMBER_ENABLE`, `PARTY_MEMBER_DISABLE`, `PLAYER_UPDATE_RESTING`
|
|
|
|
### 🎨 UI Improvements
|
|
|
|
- ✅ **Share Button Warning** - Shows message when Share module is disabled instead of doing nothing
|
|
- ✅ **Hoverbind Button Warning** - Shows message when Hoverbind module is disabled instead of doing nothing
|
|
|
|
---
|
|
|
|
## What's New in Version 6.0.0 (January 5, 2026)
|
|
|
|
### 🚀 Major Performance Improvements
|
|
|
|
- ✅ **Central Raid/Party Event Handler** - Replaced per-frame event registration with a centralized system using O(1) unitmap lookups instead of O(n) iteration. Reduces event processing from ~5,760 calls/sec to ~400 calls/sec in 40-man raids (97.5% improvement)
|
|
- ✅ **Raid HP/Mana Update Fix** - Fixed race condition where unitmap wasn't rebuilt after frame IDs were reassigned, causing HP/Mana bars to not update when players swap positions
|
|
- ✅ **OnUpdate Throttling** - Added configurable throttles to reduce CPU usage:
|
|
- Nameplates: 0.1s throttle (target updates remain instant)
|
|
- Tooltip cursor following: 0.1s throttle
|
|
- Chat tab mouseover: 0.1s throttle
|
|
- Panel alignment: 0.2s throttle
|
|
- Autohide hover check: 0.05s throttle
|
|
- Libpredict cleanup: 0.1s throttle
|
|
|
|
### 🔧 Castbar & Pushback System
|
|
|
|
- ✅ **Pushback Fix** - Fixed spell pushback calculation: now correctly adds delay to `casttime` instead of `start` time, matching actual WoW behavior
|
|
- ✅ **Player GUID Caching** - Caches player GUID on PLAYER_ENTERING_WORLD for efficient self-cast detection
|
|
- ✅ **Hybrid Detection System** - Uses libcast.db for player casts (handles SPELLCAST_DELAYED events) and SuperWoW's UNIT_CASTEVENT for NPC/other player casts
|
|
- ✅ **2-Decimal Precision** - Castbar timer now displays with 2 decimal places (e.g., "1.45 / 2.50") for more precise timing
|
|
|
|
### 🐱 Druid Stealth Detection
|
|
|
|
- ✅ **Event-Based Detection** - Replaced polling-based stealth detection with event-driven system using UNIT_CASTEVENT and PLAYER_AURAS_CHANGED
|
|
- ✅ **Instant Cat Form Detection** - Detects Cat Form via UNIT_CASTEVENT (spell ID 768) for immediate actionbar page switch
|
|
- ✅ **Smart Buff Scanning** - Only scans buffs when actually needed (entering Cat Form), eliminates 31-buff scan every frame
|
|
- ✅ **Cached Variables** - Caches stealth state to prevent redundant checks
|
|
|
|
### 🎯 Nameplate Improvements
|
|
|
|
- ✅ **Friendly Player Classification** - Fixed friendly players being classified as FRIENDLY_NPC, now correctly uses FRIENDLY_PLAYER for proper nameplate coloring and behavior
|
|
- ✅ **Performance Throttle** - 0.1s update throttle for non-target nameplates while keeping target nameplate updates instant
|
|
|
|
### 🆕 New Modules
|
|
|
|
*Modules by [jrc13245](https://github.com/jrc13245/)*
|
|
|
|
- ✅ **nampower.lua** - Nampower DLL integration module:
|
|
- Spell Queue Indicator (shows queued spell icon near castbar)
|
|
- GCD Indicator
|
|
- Reactive Spell Indicator
|
|
- Enhanced buff tracking
|
|
- Requires [Nampower DLL](https://gitea.com/avitasia/nampower)
|
|
|
|
- ✅ **unitxp.lua** - UnitXP_SP3 DLL integration module:
|
|
- Line of Sight Indicator on target frame
|
|
- Behind Indicator on target frame
|
|
- OS Notifications for combat events
|
|
- Distance-based features
|
|
- Requires [UnitXP_SP3 DLL](https://codeberg.org/konaka/UnitXP_SP3)
|
|
|
|
- ✅ **bgscore.lua** - Battleground Score frame positioning:
|
|
- Movable BG score frame
|
|
- Position saving across sessions
|
|
|
|
### 🛠️ DLL Detection & API Helpers
|
|
|
|
- ✅ **HasSuperWoW()** - Detects SuperWoW DLL presence
|
|
- ✅ **HasUnitXP()** - Detects UnitXP_SP3 DLL presence
|
|
- ✅ **HasNampower()** - Detects Nampower DLL presence
|
|
- ✅ **GetUnitDistance(unit1, unit2)** - Returns distance using best available method (UnitXP or SuperWoW)
|
|
- ✅ **UnitInLineOfSight(unit1, unit2)** - Line of sight check via UnitXP
|
|
- ✅ **UnitIsBehind(unit1, unit2)** - Behind check via UnitXP
|
|
|
|
### 📝 New Slash Commands
|
|
|
|
- ✅ **/pfdll** - Shows DLL status for SuperWoW, Nampower, and UnitXP with detailed diagnostics
|
|
- ✅ **/pfbehind** - Test command for Behind/LOS detection on current target
|
|
|
|
### 🎮 SuperWoW API Wrappers
|
|
|
|
- ✅ **TrackUnit API** - Track group members on minimap (configurable)
|
|
- ✅ **Raid Marker Targeting** - Target units by raid marker ("mark1" to "mark8")
|
|
- ✅ **GetUnitOwner** - Get owner of pets/totems using "owner" suffix
|
|
- ✅ **Enhanced SpellInfo** - Wrapper returning structured spell data
|
|
- ✅ **Clickthrough API** - Toggle clicking through corpses
|
|
- ✅ **Autoloot API** - Control autoloot setting
|
|
- ✅ **GetPlayerBuffSpellId** - Get spell ID from buff index
|
|
- ✅ **LogToCombatLog** - Add custom entries to combat log
|
|
- ✅ **SetLocalRaidTarget** - Set raid markers only visible to self
|
|
- ✅ **GetItemCharges** - Get item charges (SuperWoW returns as negative)
|
|
- ✅ **GetUnitWeaponEnchants** - Get weapon enchant info on any unit
|
|
|
|
### 💬 Chat Enhancements
|
|
|
|
- ✅ **Player Level Display** - Shows player level next to names in chat (color-coded by difficulty)
|
|
- ✅ **Tab Mouseover Throttle** - 0.1s throttle for chat tab hover effects
|
|
|
|
### ⚙️ New Configuration Options
|
|
|
|
All new features are configurable via `/pfui`:
|
|
|
|
**Unit Frames → SuperWoW Settings:**
|
|
- Track Group on Minimap
|
|
|
|
**Unit Frames → Nampower Settings:**
|
|
- Show Spell Queue Indicator
|
|
- Spell Queue Icon Size
|
|
- Show Reactive Spell Indicator
|
|
- Reactive Indicator Size
|
|
- Enhanced Buff Tracking
|
|
|
|
**Unit Frames → UnitXP Settings:**
|
|
- Show Line of Sight Indicator
|
|
- Show Behind Indicator
|
|
- Enable OS Notifications
|
|
|
|
**Chat → Text:**
|
|
- Enable Player Levels
|
|
|
|
### 🐛 Bugfixes
|
|
|
|
- ✅ **superwow_active Variable** - Fixed inconsistent SuperWoW detection across modules (nameplates, castbar, librange, unitframes)
|
|
- ✅ **Unitmap Race Condition** - Fixed HP/Mana not updating when raid members swap positions
|
|
- ✅ **Friendly Nameplate Color** - Fixed friendly players using NPC color instead of player color
|
|
|
|
### 🐢 Turtle WoW TBC Spell Indicators
|
|
|
|
Turtle WoW includes TBC spells in the Vanilla client. This version includes all TBC buff indicators:
|
|
- ✅ Commanding Shout indicator
|
|
- ✅ Misdirection indicator
|
|
- ✅ Earth Shield indicator
|
|
- ✅ Prayer of Mending indicator
|
|
|
|
---
|
|
|
|
**Version:** 6.2.0
|
|
**Release Date:** January 10, 2026
|
|
**Compatibility:** Turtle WoW 1.18.0
|
|
**Optional DLLs:** SuperWoW, Nampower, UnitXP_SP3 (enhanced features when available)
|
|
|
|
---
|
|
|
|
## Installation
|
|
1. Download **[Latest Version](https://github.com/me0wg4ming/pfUI/archive/master.zip)**
|
|
2. Unpack the Zip file
|
|
3. Rename the folder "pfUI-master" to "pfUI"
|
|
4. Copy "pfUI" into Wow-Directory\Interface\AddOns
|
|
5. Restart Wow
|
|
|
|
## Optional DLL Enhancements
|
|
|
|
pfUI 6.0.0 includes optional integrations with client-side DLLs for enhanced functionality. These DLLs are fully supported on Turtle WoW:
|
|
|
|
### SuperWoW
|
|
**Repository:** [https://github.com/balakethelock/SuperWoW](https://github.com/balakethelock/SuperWoW)
|
|
|
|
Provides:
|
|
- Enhanced castbar detection via UNIT_CASTEVENT
|
|
- UnitPosition for distance calculations
|
|
- SetMouseoverUnit for improved targeting
|
|
- SpellInfo for spell data queries
|
|
|
|
### Nampower
|
|
**Repository:** [https://gitea.com/avitasia/nampower](https://gitea.com/avitasia/nampower)
|
|
|
|
Provides:
|
|
- Spell queue indicator
|
|
- GCD indicator
|
|
- Reactive spell detection
|
|
- Enhanced cast information
|
|
|
|
### UnitXP_SP3
|
|
**Repository:** [https://codeberg.org/konaka/UnitXP_SP3](https://codeberg.org/konaka/UnitXP_SP3)
|
|
|
|
Provides:
|
|
- Line of Sight detection
|
|
- Behind detection
|
|
- Accurate distance calculations
|
|
- OS notifications
|
|
|
|
Use `/pfdll` in-game to check which DLLs are detected.
|
|
|
|
## Commands
|
|
|
|
/pfui Open the configuration GUI
|
|
/pfdll Show DLL detection status (SuperWoW, Nampower, UnitXP)
|
|
/pfbehind Test Behind/LOS detection on current target
|
|
/clickthrough Toggle clickthrough mode (or /ct)
|
|
/share Open the configuration import/export dialog
|
|
/gm Open the ticket Dialog
|
|
/rl Reload the whole UI
|
|
/farm Toggles the Farm-Mode
|
|
/pfcast Same as /cast but for mouseover units
|
|
/focus Creates a Focus-Frame for the current target
|
|
/castfocus Same as /cast but for focus frame
|
|
/clearfocus Clears the Focus-Frame
|
|
/swapfocus Toggle Focus and Target-Frame
|
|
/pftest Toggle pfUI Unitframe Test Mode
|
|
/abp Addon Button Panel
|
|
|
|
## Languages
|
|
pfUI supports and contains language specific code for the following gameclients.
|
|
* English (enUS)
|
|
* Korean (koKR)
|
|
* French (frFR)
|
|
* German (deDE)
|
|
* Chinese (zhCN)
|
|
* Spanish (esES)
|
|
* Russian (ruRU)
|
|
|
|
## Recommended Addons
|
|
* [pfQuest](https://shagu.org/pfQuest) A simple database and quest helper
|
|
* [WIM (continued)](https://github.com/me0wg4ming/WIM/) Give whispers an instant messenger feel
|
|
|
|
## Plugins
|
|
* [pfUI-eliteoverlay](https://shagu.org/pfUI-eliteoverlay) Add elite dragons to unitframes
|
|
* [pfUI-fonts](https://shagu.org/pfUI-fonts) Additional fonts for pfUI
|
|
* [pfUI-CustomMedia](https://github.com/mrrosh/pfUI-CustomMedia) Additional textures for pfUI
|
|
* [pfUI-Gryphons](https://github.com/mrrosh/pfUI-Gryphons) Add back the gryphons to your actionbars
|
|
|
|
## FAQ
|
|
**What does "pfUI" stand for?**
|
|
The term "*pfui!*" is german and simply stands for "*pooh!*", because I'm not a
|
|
big fan of creating configuration UI's, especially not via the Wow-API
|
|
(you might have noticed that in ShaguUI).
|
|
|
|
**How can I donate?**
|
|
You can donate via [GitHub](https://github.com/sponsors/shagu) or [Ko-fi](https://ko-fi.com/shagu)
|
|
|
|
**How do I report a Bug?**
|
|
Please provide as much information as possible in the [Bugtracker](https://github.com/me0wg4ming/pfUI/issues).
|
|
If there is an error message, provide the full content of it. Just telling that "there is an error" won't help any of us.
|
|
Please consider adding additional information such as: since when did you got the error,
|
|
does it still happen using a clean configuration, what other addons are loaded and which version you're running.
|
|
When playing with a non-english client, the language might be relevant too. If possible, explain how people can reproduce the issue.
|
|
|
|
**How can I contribute?**
|
|
Report errors and issues in the [Bugtracker](https://github.com/me0wg4ming/pfUI/issues).
|
|
Please make sure to have the latest version installed and check for conflicting addons beforehand.
|
|
|
|
**I have bad performance, what can I do?**
|
|
Version 6.0.0 includes significant performance optimizations. If you still experience issues:
|
|
1. Disable "Frame Shadows" in Settings → Appearance → Enable Frame Shadows
|
|
2. Check `/pfdll` to see which DLLs are active (some features require DLLs)
|
|
3. Disable all AddOns but pfUI and enable one-by-one to identify conflicts
|
|
4. Report issues via the [Bugtracker](https://github.com/me0wg4ming/pfUI/issues)
|
|
|
|
**Where is the happiness indicator for pets?**
|
|
The pet happiness is shown as the color of your pet's frame. Depending on your skin, this can either be the text or the background color of your pet's healthbar:
|
|
|
|
- Green = Happy
|
|
- Yellow = Content
|
|
- Red = Unhappy
|
|
|
|
Since version 4.0.7 there is also an additional icon that can be enabled from the pet unit frame options.
|
|
|
|
**Can I use Clique with pfUI?**
|
|
This addon already includes support for clickcasting. If you still want to make use of clique, all pfUI's unitframes are already compatible to Clique-TBC. For Vanilla, a pfUI compatible version can be found [Here](https://github.com/shagu/Clique/archive/master.zip). If you want to keep your current version of Clique, you'll have to apply this [Patch](https://github.com/shagu/Clique/commit/a5ee56c3f803afbdda07bae9cd330e0d4a75d75a).
|
|
|
|
**Where is the Experience Bar?**
|
|
The experience bar shows up on mouseover and whenever you gain experience, next to left chatframe by default. There's also an option to make it stay visible all the time.
|
|
|
|
**How do I show the Damage- and Threatmeter Dock?**
|
|
If you enabled the "dock"-feature for your external (third-party) meters such as DPSMate or KTM, then you'll be able to toggle between them and the Right Chat by clicking on the ">" symbol on the bottom-right panel.
|
|
|
|
**Why is my chat always resetting to only 3 lines of text?**
|
|
This happens if "Simple Chat" is enabled in blizzards interface settings (Advanced Options).
|
|
Paste the following command into your chat to disable that option: `/run SIMPLE_CHAT="0"; pfUI.chat.SetupPositions(); ReloadUI()`
|
|
|
|
**How can I enable mouseover cast?**
|
|
On Vanilla, create a macro with "/pfcast SPELLNAME". If you also want to see the cooldown, You might want to add "/run if nil then CastSpellByName("SPELLNAME") end" on top of the macro.
|
|
|
|
**Everything from scratch?! Are you insane?**
|
|
Most probably, yes.
|
|
|
|
---
|
|
|
|
## 🤝 Credits & Acknowledgments
|
|
|
|
- **Shagu** - Original pfUI creator ([https://github.com/shagu/pfUI](https://github.com/shagu/pfUI))
|
|
- **me0wg4ming** - pfUI fork maintainer and Turtle WoW enhancements
|
|
- **jrc13245** - Nampower, UnitXP, and BGScore module integration ([https://github.com/jrc13245/](https://github.com/jrc13245/))
|
|
- **SuperWoW Team** - SuperWoW framework development
|
|
- **avitasia** - Nampower DLL development
|
|
- **konaka** - UnitXP_SP3 DLL development
|
|
- **Turtle WoW Team** - For the amazing Vanilla+ experience
|
|
- **Community** - Bug reports, feature suggestions, and testing
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
Same as original pfUI - free to use and modify.
|
|
|
|
---
|
|
|
|
**Version:** 6.2.2
|
|
**Release Date:** January 10, 2026
|
|
**Compatibility:** Turtle WoW 1.18.0
|
|
**Status:** Stable
|