SwangThang
Melee and ranged swing timer for World of Warcraft: TBC Classic.
SwangThang tracks your white-hit swing timers across all attack slots — main hand, off hand, and ranged — giving every physical DPS class the precise timing feedback needed to maximize damage. It handles all the quirks of TBC melee: NMA abilities, dual-wield desync, parry haste, extra attack suppression, haste rescaling, and Druid form shifts.
Key Features
- All Melee Classes — Warrior, Rogue, Paladin, Shaman, Druid, and Hunter all get accurate swing bars tuned to their class mechanics
- Hunter Auto Shot — 0.5s cast window visualization, movement penalty retry logic, and latency compensation
- Dual-Wield Tracking — Independent MH and OH timers with correct isOffHand routing; OH bar anchors below MH automatically
- NMA Detection — Heroic Strike, Cleave, Maul, and Raptor Strike reset the MH timer on cast
- Haste Rescaling — Remaining time rescales proportionally when weapon speed changes mid-swing (Slice and Dice, Rapid Fire, haste procs)
- Parry Haste — Incoming parries reduce your MH remaining time by 40% of weapon speed (floored at 20%)
- Extra Attack Suppression — Sword Spec and Windfury Weapon extra attacks are absorbed cleanly without desyncing the timer
- Druid Forms — Form shifts reset the MH timer; bar label shows current form (Cat, Bear, DireBear, Caster)
- Seal Twist Zone — Ret Paladins get a cyan overlay marking the 0.4s window before each MH swing for seal-twisting timing
- Customizable — /swang opens a config panel to resize bars and change bar/overlay colors
Installation
Install from CurseForge or download from GitHub Releases. Place the SwangThang folder in your AddOns directory and log in.
Usage
Bars appear automatically when you enter combat. The ranged bar (Hunter) also appears when auto-shot mode starts. A spark indicator shows current progress. Left-click drag to reposition any bar — positions persist across sessions.
Bar types:
- Ranged — Black during Auto Shot cooldown (safe to move), red during cast window (do not move)
- Main Hand — MH swing cooldown
- Off Hand — OH swing cooldown
All bar colors are customizable via /swang.
Class Support
- Hunter — Ranged + MH bars. 0.5s cast window, movement clipping, latency compensation
- Warrior — MH + OH bars. Heroic Strike, Cleave, and Slam NMA detection
- Rogue — MH + OH bars. Full dual-wield tracking
- Paladin — MH bar. Cyan seal-twist zone overlay
- Enhancement Shaman — MH + OH bars. Full dual-wield tracking
- Feral Druid — MH bar. Form-label bar, timer reset on shift
- Mage / Priest / Warlock — No bars (no auto-attack rotation)
Configuration
Type /swang in chat to open the config panel. All settings save automatically.
Commands:
- /swang — Open/close the config panel
- /swang reset — Restore all settings to defaults
- /swang help — Print available commands
Config panel options:
- Bar width (100–400 px, default 200)
- Bar height (10–40 px, default 20)
- Main Hand color (default black)
- Off Hand color (default black)
- Ranged color (default black)
- Seal-Twist overlay color (Paladin only, default cyan)
Feedback
Found a bug? Have an idea? Open an issue on GitHub Issues — bug reports and feature requests are welcome.
Changelog
2.1 (Latest)
- NEW: /swang config panel — customize bar width, height, and colors
- FIX: Seal-twist overlay invisible on MH bar (now cyan instead of gold-on-gold)
- FIX: Bar fill not rendering due to border texture covering the fill layer
- Slash commands: /swang, /swang reset, /swang help
2.0
- NEW: Full melee swing timer for all physical DPS classes
- NEW: Dual-wield MH + OH independent tracking
- NEW: NMA ability detection (Heroic Strike, Cleave, Maul, Raptor Strike, Slam)
- NEW: Extra attack suppression (Sword Spec, Windfury Weapon)
- NEW: Parry haste support
- NEW: Haste rescaling for all melee bars
- NEW: Druid form-shift reset with form label
- NEW: Ret Paladin seal-twist zone overlay
- SavedVariables migrated to SwangThangDB (nested positions)
1.1.1
- Updated README with standard formatting and installation path
- NEW: CI release workflow (GitHub + CurseForge)
1.1
- NEW: Initial public release — Hunter Auto Shot timer
- NEW: Dynamic swing timer with haste proc support
- NEW: 0.5s cast window visualization
- NEW: Movement penalty and TBC retry mechanic simulation
- NEW: Latency compensation via GetNetStats
- NEW: Draggable frame with persistent position storage

