promotional bannermobile promotional banner

Data Broker Skills TBC

DataBroker plugin showing your character’s Skills & Professions with an LibQTip tooltip, clickable professions, and grouped show/hide options.

File Details

DataBroker_Skills_1.0.5.zip

  • R
  • Feb 2, 2026
  • 1.78 MB
  • 105
  • 2.5.5
  • Classic TBC

File Name

DataBroker_Skills_1.0.5.zip

Supported Versions

  • 2.5.5
# CHANGELOG

All notable changes to DataBroker_Skills are documented in this file.

# v1.0.5 — 2026-02-01

### Added
- Class talent specializations (e.g., Arms, Fury, Protection) now display in the tooltip when "Show Class Skills" is enabled.
- Talent specs appear alongside professions and other skills with appropriate icons.
- Armor proficiency aliases for Mail Armor and Plate Mail (icons and proficiency handling).

### Changed
- Rebuilt from v1.0.4 to eliminate code bloat and taint issues. Removed all unnecessary UI elements (old dropdown frames, extra tooltip logic).
- Focused on core functionality: skill display via LibDataBroker/LibQTip, clickable professions, and configuration options.
- Cleaner codebase: removed ~500 lines of unused/problematic code while maintaining all user-facing features.
- Improved skill sorting: professions → secondary → weapon → armor → class → languages.
- Profession icons now use the actual spellbook icon in TBC (with fallback to static icons).
- Class spec icons updated: Retribution uses Aura of Light; Protection shows Devotion Aura for Paladins and Shield for Warriors.
- Options UI reorganized into clear sections: display filters list and appearance sliders.
- Removed the "Show Tooltip On Hover" option; tooltip always shows on hover.

### Fixed
- **MAJOR:** Resolved Blizzard frame taint that was causing logout and UI exit errors. Removed all direct Blizzard frame manipulation and protected function calls.
- Resolved memory leaks from unreleased frames and tooltip objects.
- Removed taint-causing protected function calls from old dropdown implementation.
- Fixed nil-reference errors in talent detection fallback logic.
- Improved tooltip display lifecycle with proper LibQTip acquisition/release patterns.

### Removed
- Removed old dropdown frame system entirely (was causing taint and protected function errors on logout/exit).
- Removed `DISABLE_TALENTS` debug flag and related dead code.
- Removed unused frame creation functions.

---

# v1.0.4b — 2026-01-29

### Changed
- The addon now uses only Ace3 for all functionality. All dependencies on LibQTip and LibDataBroker have been removed.

### Notes
- This change eliminates all taint and protected function errors related to tooltip and broker libraries. Only Ace3 is now required (must be installed separately).

---

## v1.0.4 — 2026-01-27

### Fixed
- "Shadow Magic" is now correctly treated as a class skill and will be hidden when class skills are hidden, so it no longer appears when all skill categories are hidden.
- Ensured version numbers are synchronized across .toc, README, and changelog for release clarity.

### Changed
- Updated documentation and versioning for consistency.

### Notes
- If you previously saw "Shadow Magic" when all skill categories were hidden, this update resolves the issue. Please reload your UI after updating.

---

## v1.0.3 — 2026-01-25

### Added
- Saved-variables sanitization and a reset option to safely clear corrupted or tainted settings and recover a broken addon state.
- Runtime diagnostic helpers to inspect visible frames, GameTooltip owners, LibQTip tooltips, and other UI objects that can block logout; includes a recovery function to force-hide or release blocking frames.
- `PLAYER_LOGOUT` cleanup: release LibQTip tooltips, hide dropdowns, clear cursor state and unregister callbacks to avoid protected-frame taint during logout.
- Case-insensitive and fuzzy profession detection: `FindProfessionIcon` now matches profession names case-insensitively and by substring (handles variants like "Enchanting (Trainer)").

### Changed
- Profession/icon handling: added `IsExplicitProfession(name)` helper and migrated profession checks to it so only explicitly-listed professions are treated as professions (prevents secondary skills with icons from being classified as professions).
- Added/adjusted profession icons: `Riding` mapping added; `Enchanting` updated to `Interface/Icons/trade_engraving`.
- Class icons and talent detection: `Balance` now uses a Moon/Starfall icon (`spell_nature_starfall`); `Feral Combat` uses the cat-form icon (`ability_druid_catform`).
- Defense is now classified under Weapon Skills (so it hides with weapon skills) to match UI expectations.
- Secondary skills: `Cooking` and other secondaries properly appear under the Secondary Skills toggle (removed from profession lists where applicable).
- Talent aliasing and detection expanded: `talentNameAliases` enlarged with a comprehensive set of canonical spec names and common aliases; alias lookup is now case-insensitive and normalized to reduce future manual additions.
- Clickable profession detection and dropdown/tooltip behavior switched to use `FindProfessionIcon`/`IsExplicitProfession` consistently to ensure icons, click handlers, and coloring are accurate.
- Removed intrusive runtime fallback helpers and global slash commands added during diagnostics (per user preference); kept lightweight diagnostics and safe fixes only.

### Fixed
- Addressed a runtime syntax error (mismatched `if/elseif/end`) that could cause load failures.
- Fixed cases where secondary skills with icons were incorrectly hidden under Professions by making profession membership explicit rather than inferred from available icons.
- Ensured Enchanting and other professions reliably show their icons even when the UI reports variant names (e.g., trainer suffixes).

### Notes
- After updating, reload the UI (`/reload`) and verify: tooltip interactivity, profession click behavior, icons for Enchanting/Riding/Balance/Feral, and that `Defense` hides with weapon skills.
- If logout/taint issues persist, try resetting the addon's saved-variables (backup first) or run the diagnostic helpers to identify blocking frames.

---

## v1.0.2 — 2026-01-25

### Added
- Implemented AddOn list icon support and icon assets:
  - Added `images/data_broker_skills.png` and `images/data_broker_skills.tga`.
  - Updated `DataBroker_Skills.toc` with `## IconTexture:`, `## Icon:`, and `## X-Icon:` pointing to the TGA asset.
  - Added conversion helper scripts (`convert_png_to_tga.py`, `fix_tga.py`) to produce a proper 64×64 uncompressed TGA and aid BLP conversion for Classic clients.

### Notes
- For Classic compatibility, convert the TGA to a 64×64 uncompressed BLP (`data_broker_skills.blp`) and update the TOC to reference the BLP.

---

## v1.0.1 — 2026-01-25

### Fixed
- Detect `Shadow Magic` class skill for Priests (restored detection after accidental overwrite).
- Added dynamic specialization detection to future-proof class skill recognition.

---

## v1.0 — 2026-01-01

### Added
- Persistent, interactive LibQTip tooltip that remains when moving the cursor between the broker and tooltip.
- Clickable profession lines: opening profession UIs directly from the tooltip.
---

  - Fishing uses the fishing ability where available.

  - Mining clicks open Smelting when applicable.
- Grouped show/hide options for skill categories: Class Skills, Professions, Secondary Skills, Weapon Skills, Armor Proficiencies (Shields follow Armor), and Languages.
- Left-click the broker to open the Skills tab; right-click to open addon options.
- Tooltip appearance options: icon size and tooltip alpha; added "Reset to Defaults" option.

### Fixed
- Removed duplicate entries and stray artifact lines (e.g., buckler/shield artifacts) by consolidating shields under Armor Proficiencies and improving name matching.
- Resolved Lua syntax issues and stray 'end' errors causing load/runtime failures.
- Replaced fragile tooltip hooks with the ElkFriends-style LibQTip auto-hide pattern to ensure tooltip persistence and interactivity.
- Fixed runtime nil-method and tooltip lifecycle errors.

### Changed
- User-facing defaults: Professions, Secondary Skills, and Weapon Skills are shown by default.
- Cleaner, more stable skill scanning and icon assignment for professions and weapon skills.

### Removed
- Unused embedded `CallbackHandler-1.0` entry removed from `DataBroker_Skills.toc`.
- Duplicate top-level `LibDataBroker-1.1` files removed; canonical copy retained in `libs/libdatabroker-1-1/`.

### Dependencies
- This addon requires `Ace3` to be installed separately (see `DataBroker_Skills.toc`).
- Embedded libraries retained: `LibStub`, `LibDataBroker-1.1` (in `libs/libdatabroker-1-1/`), and `LibQTip-1.0`.

### Notes
- In-client testing recommended: reload UI and verify tooltip interactivity, profession clicks, and option toggles. Report any remaining Lua errors or unexpected behavior.

---

## License
- This project is released under the MIT License. See the `LICENSE` file for full terms.

## Credits
- Addon author: Kiaos.
- LibDataBroker-1.1 author: Tekkub.
- LibQTip-1.0 authors: Torhal, Adirelle, Elkano, Tristanian (with initial design input by Kaelten).
- Ace3 authors and maintainers.
- Development assistance: GitHub Copilot (AI pair programmer).
- Editor: Visual Studio Code.