File Details
v1.3.0
- R
- May 4, 2026
- 304.74 KB
- 45
- 12.0.5
- Retail
File Name
GOBIGnINTERRUPT-v1.3.0.zip
Supported Versions
- 12.0.5
GOBIGnINTERRUPT
v1.3.0 (2026-05-04)
Full Changelog Previous Releases
- v1.3.0 - LibSpecialization integration + class/spec talent defaults
Inspired by InterruptTrack v3.2.1's IT_Talents.lua. Talent data now
flows through three sources, in priority order:
1. LibSpecialization callback - any group member running a LibSpec-
aware addon (MiniCC, FrameSort, InterruptTrack, GBI v1.3.0+)
broadcasts their talent string when joining or speccing. We
decode it into a per-player map.
2. Class + spec defaults - assumed talent picks per class (e.g. AMS
Barrier on every DK) and per spec (e.g. Whirling Stars on Balance
Druid, Kindling on Fire Mage). Fallback when no real talent data
is available. Most M+ players take the same major-CDR talents;
defaults beat treating peers as fully untalented.
3. Local player's actual talents - read via C_Traits at PLAYER_LOGIN
and after spec / talent change events. Same decoder as the
LibSpec path, so local and peer data are symmetric.
Compatibility: the existing CDComm "T;<nodeID,...>" message handler
still works for v1.2.x peers; SetTalents converts the node-set into a
rank-1 map. v1.3.0+ peers communicate via LibSpec instead.
Changes:- libs/LibStub/LibStub.lua and libs/LibSpecialization/LibSpecialization.lua
embedded (LibSpec is the broker for cross-addon talent string sync).
.toc loads them first, before any module that uses LibStub. - TalentSync.lua rewritten:
- ClassDefaults / SpecDefaults tables (~30 entries, copied from
IT_Talents.lua). - getEffectiveRanks() returns real ranks if known, else merges class
- spec defaults.
- Public API: HasTalent, GetTalentRank, GetTalents.
- SetTalents converts node-set to ranks for back-compat with v1.2.x
CDComm "T" messages. - decodeTalentString() handles the standard WoW export-string format
(logic adapted from IT_Talents.lua, attribution noted in comments). - LibSpec callback registered on PLAYER_LOGIN.
- updateLocalPlayer() generates local export string and decodes it,
so the local player benefits from the same code path as peers. - Expanded MODS table with ~20 entries (was 5) covering Druid, Pal,
Mage, Hunter, DK, Shaman, DH, Evoker, Monk, Priest talent CDRs.
- ClassDefaults / SpecDefaults tables (~30 entries, copied from
- AdjustCD now iterates ranks (previous code iterated a node set).
rank > 0 triggers the mod. Brain.OnCast already calls AdjustCD; no
changes needed there.
Net effect for non-addon peers: their class + spec talent defaults
now apply, so a Fire Mage's Combustion shows ~60s reduced from base
even when we have no real talent data. Real data (when available via
LibSpec) overrides defaults seamlessly.
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com
- libs/LibStub/LibStub.lua and libs/LibSpecialization/LibSpecialization.lua

