Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019W3rwutyoLNHxXPycYWSMc
TargetFrameBuff
Shows up to 32 buffs and 16 debuffs on the default target frame of a 1.12 client (tested target: Turtle WoW 1.18.1). Buffs sit above the frame in rows of 5-11-11-5, debuffs below it in rows of 4-4-8.
With the optional ClassicAPI client mod it also adds countdown text, stack counts, debuff-type borders, a gold border on enemy buffs you can remove, optional cooldown sweeps, and accurate tooltips. Without ClassicAPI it behaves like the original: more icons, no timers.
Installation
- Copy the
TargetFrameBufffolder intoInterface/AddOns, replacing any older copy. - Restart the client (or
/reload). - Optional: install ClassicAPI.
ClassicAPI
| Version | What you get |
|---|---|
| none | 32 buffs and 16 debuffs, no timers, borders or sweeps |
| 1.17.x | Timers, stack counts, borders; auras are re-read every 0.5 s |
| 1.17.10+ | Event-driven updates (UNIT_AURA_DELTA), no polling |
| 1.17.11+ | Recommended. Fixes the reverse sweep briefly showing a bright icon just before an aura ends |
Harmful auras beyond the first 16 use free buff-row slots (only while the debuff limit is 16; the buff limit still applies). ClassicAPI decides aura order and lists your own auras first.
Settings
/tfb opens the AddOn Options panel (or prints help if the client has none).
| Command | Action | Default |
|---|---|---|
/tfb timers [on|off] |
Countdown text | on |
/tfb highlight [on|off] |
Gold border on removable enemy buffs | on |
/tfb sweeps [on|off] |
Reverse cooldown sweeps | off |
/tfb size 6-20 |
Countdown font size | 9 |
/tfb warning 0-30 |
Seconds left at which text turns red | 5 |
/tfb buffs 0-32 |
Most buffs shown | 32 |
/tfb debuffs 0-16 |
Most debuffs shown. Below 16, extra debuffs are hidden rather than moved into the buff row. | 16 |
/tfb test [buffs debuffs] |
Fake auras on your target for checking layout (default 32 and 16; 0-32 each). Run again or /tfb test off to stop. |
off |
/tfb reset |
Restore defaults |
Settings are saved and kept even while ClassicAPI is absent.
Test mode fills the target frame with fake buffs and debuffs so you can check
layout, borders, stack counts and, with ClassicAPI, timers, sweeps and the
red warning. It targets you if you have no target, restarts expiring fake auras
so timers keep running, and is not saved; /reload turns it off. Debuffs past 16
spill into the buff row, as real ones do. The options panel has a matching button.
Compatibility with ShaguTweaks
Checked against the upstream ShaguTweaks source.
| ShaguTweaks option | Effect | What to do |
|---|---|---|
| Unit Frames > Debuff Timer | Conflict. Adds its own timer text, sweep and green stack count to debuffs 1-16, on top of ours. It ignores overflow debuffs in the buff row. | Disable it. TargetFrameBuff prints a warning in chat if it detects it. Alternatively use /tfb timers off and /tfb sweeps off. |
| Cooldown Numbers | No conflict found. It only hooks CooldownFrame_SetTimer; our sweeps use SetCooldown. |
Keep. |
| Dark UI Elements | Adds a dark border to every TargetFrameBuff* button. Ours draws above it, so the gold removable-buff border should stay visible. |
Not verified in-game. |
| Target Castbar | Positions the castbar from debuff 7 and 11 being shown. With the 4-4-8 layout it can sit over the second and third debuff rows. | Disable it or move the castbar if it overlaps. |
| Move Unit Frames | Buff and debuff buttons are children of TargetFrame, so they follow it. |
Keep. |
Notes
- Timings from ClassicAPI are best effort. Unobserved applications and some max-stack refreshes have unknown expiration; their timer and sweep stay hidden while the icon remains.
- This is not a live WoW test. See VALIDATION.md for what was simulated and what to check in-game, and CHANGELOG.md for history.
Development
Tests simulate the WoW API under Lua 5.1: pip install lupa, then python3 tests/test_addon.py.
Credits
Based on project-949. Original author lua@lumpn.de; modified.