promotional bannermobile promotional banner

Horde Down Under Talent Helper

Smart talent guide for TBC Classic — auto-highlights optimal builds, auto-applies talents on level up, and unlocks spell rotation guides at 70.

File Details

HDU Talent Helper — v1.9.0

  • R
  • Mar 11, 2026
  • 85.04 KB
  • 31
  • 2.5.5
  • Classic TBC

File Name

HDU_TalentHelper.zip

Supported Versions

  • 2.5.5

v1.9.0 — Critical Bugfixes, Localization Support & SpellFlash Reliability

Special thanks to zeachiean on CurseForge for the detailed bug report and code suggestions that made this release possible.

Bugfix: GetTotalSpentPoints() crashing / returning wrong values

  • GetTalentTabInfo(tab) does not return spent points as a number on Anniversary servers — it returns a string
  • Rewrote GetTotalSpentPoints() to iterate through every talent using GetTalentInfo(tab, talent) and sum the 5th return value, with tonumber() safety conversion
  • Rewrote GetUnspentTalentPoints() fallback to use the same per-talent iteration
  • Added GetTabSpentPoints(tabIndex) helper for per-tree point counting
  • Added tonumber() safety to GetTalentCurrentPoints() and GetNextRecommendedTalent()
  • Impact: Fixes the "Points: X/Y Free: 0" line never displaying, spec auto-detection failing, and talent highlights not showing correct remaining points

Bugfix: Spec auto-detection using broken API

  • The dominant-tree detection code (for auto-suggesting roles) was also using GetTalentTabInfo() for point counting
  • Now uses the corrected GetTabSpentPoints() function

New: Locale-Independent Talent Matching (Non-English WoW Support)

  • Created TalentMap.lua — a comprehensive English talent name → {tab, tier, column} position map for all 9 TBC classes, all 3 trees per class
  • New BuildTalentCache() function scans all talents at runtime and builds position-to-index and name-to-index lookup tables
  • Replaced FindTalentByName() with FindTalent() which uses a 3-tier matching strategy:
    1. Direct localized name match (instant on English clients)
    2. Position-based lookup via TalentMap (works on German, French, Spanish, Russian, Korean, Chinese, and all other locales)
    3. Fuzzy partial name match (fallback for edge cases)
  • All talent overlays, auto-apply, and build recommendations now work regardless of WoW client language
  • Data files remain human-readable with English talent names — the position mapping handles translation at runtime

Bugfix: Spell Flash not activating for some players

  • Hardened IsSpellKnown() with 4 detection methods:
    1. GetSpellInfo(name) existence check
    2. Spellbook scan via both GetSpellBookItemName() and GetSpellName() (handles API differences between Classic/Anniversary)
    3. IsPlayerSpell(spellID) check (when available)
    4. IsUsableSpell(name) fallback
  • Added safety limit to spellbook iteration (prevents infinite loop on edge cases)
  • Impact: Spell Flash now reliably detects known spells on Anniversary Classic servers

Bugfix: Rotation Guide accessibility

  • Rotation Guide was blocked for some players due to the level detection bug (playerLevel stuck at 0 from v1.8.0)
  • Combined with the v1.8.1 level detection fix, Rotation Guide now correctly unlocks at level 10+

Files Added

  • TalentMap.lua (365 lines) — English talent position map for all 9 classes

🔮 Coming in v2.0.0: Phase 3 (Hyjal/BT) BiS gear data, talent import/export strings, and guild build sharing.