File Details
SpellTrackHelper 1.2 MoP Classic
- R
- Apr 8, 2026
- 73.19 KB
- 15
- 5.5.3
- MoP Classic
File Name
SpellTrackHelper_1_2_MoP_Classic.zip
Supported Versions
- 5.5.3
SpellTrackHelper — Version History
v1.2.0 — Classic Compatibility & Improvements
🆕 New File: Core/Compat.lua
A compatibility shim layer was added to polyfill all Retail-only APIs for WoW Classic. This file is loaded first in the TOC.
| Retail API | Classic Equivalent |
|---|---|
C_Spell.GetSpellInfo(id) |
GetSpellInfo() → wrapped into a data object |
C_Spell.IsSpellUsable(id) |
IsUsableSpell() |
C_Spell.GetSpellCooldown(id) |
GetSpellCooldown() → returns a table |
C_UnitAuras.GetAuraDataByIndex() |
UnitBuff() / UnitDebuff() → same data structure |
UnitGetTotalAbsorbs() |
Returns 0 on Classic Era (no absorb mechanic) |
issecretvalue() |
Always returns false |
SpellTrackHelper.toc
- Interface version updated from
120000to11504(Classic Era 1.15.x) Core\Compat.luaadded as the first loaded file
Core/Constants.lua
ACTION_BAR_PREFIXESconverted from a flat string list to{ prefix, count }format- ElvUI action bar prefixes added:
ElvUI_Bar1Button—ElvUI_Bar10Button(10 bars × 12 buttons each)ElvUI_PetBarButton
scanAfterCombatflag added toSTH.State
Modules/EventHandler.lua
UNIT_ABSORB_AMOUNT_CHANGEDevent removed — not available in Classic; absorb changes are covered byUNIT_AURAPLAYER_REGEN_DISABLED: Action bar scan on combat entry removed — touching protected frames during combat causedADDON_ACTION_BLOCKEDerrorsPLAYER_REGEN_ENABLED: Now checks thescanAfterCombatflag and triggers any deferred scan on combat exit
Modules/ActionBarScanner.lua
- Updated to use the new
{ prefix, count }format fromACTION_BAR_PREFIXES RequestScan: Scan is now deferred during combat (scanAfterCombat = true) and executed after combat ends- Added
._state_actionfallback support for ElvUI buttons
Modules/GlowEffects.lua
ActionButton_ShowOverlayGlowandActionButton_HideOverlayGlowcalls are now guarded withInCombatLockdown()— calling these functions during combat could triggerADDON_ACTION_BLOCKEDerrors
Core/Init.lua
- Removed the automatic
OnAddonLoaded()call on file load — theADDON_LOADEDevent inEventHandleralready handles this, preventing double initialization
Modules/AbsorbTracker.lua
UnitGetTotalAbsorbsis now provided viaCompat.lua- Returns
0on Classic Era (no absorb mechanic); works natively on WotLK Classic and later
Utils/SlashCommands.lua
/sth debugcommand updated to use the new{ prefix, count }format fromACTION_BAR_PREFIXES
UI/FontSettings.lua
- Removed the
UIDropDownMenu-based font selector entirely - Replaced with a custom scrollable popup (
STH_FontPickerPopup):- Wrapped in
UIPanelScrollFrameTemplate, scrollable via mouse wheel and scroll bar - Each font is previewed using its own typeface in the list
- On open, the currently selected font is automatically scrolled into view
- If there is insufficient screen space below the button, the popup opens upward
- Automatic horizontal position correction to prevent overflow off the right edge of the screen
- Clicking the same button again closes the popup; also closeable with ESC
- All font pickers share a single popup instance (memory efficient)
- Wrapped in
- Anchor dropdown was left unchanged (only 9 entries, no overflow issue)
Modules/BuffTracker.lua
- Frame edge margin (
margin) is now a fixed value based onstaticSpace, independent of thebuffTrackerSpacinguser setting - The
buffTrackerSpacingslider now only affects the spacing between icons - Affected functions:
CreateAbsorbIcon,CreateBuffIcon,UpdateFrameSize
Modules/TargetBuffTracker.lua
- Same margin/spacing fix applied as in
BuffTracker - Affected functions:
CreateBuffIcon,RebuildIcons,ShowEditModeFrame,CreatePlaceholderIcon