UnbunkUtility

Combat utility addon tracking healer range, tank/healer/DPS deaths, Bloodlust, Power Infusion, potions, trinkets, and more — with full sound, icon, font, and profile customization

File Details

v2.0.5

  • R
  • May 27, 2026
  • 6.94 MB
  • 10
  • 12.0.5
  • Retail

File Name

UnbunkUtility-v2.0.5.zip

Supported Versions

  • 12.0.5

tag 7363665fadde3b50df59b355dd3ccdaf253f0d80 v2.0.5
Author:    Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:    Wed May 27 16:21:02 2026 +0200

v2.0.5

commit d9fcad6ea6ffd6352c8c0544e0965454647c32ce
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 16:21:02 2026 +0200

    Bump version to 2.0.5 (match le tag)

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit f96cfe8b194e52b18157b1123f1ae5c8105d8276
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 16:11:33 2026 +0200

    Migration ns: DeathAlert -> ns.DeathAlert

    DeathAlertCfg_*/PlaySound/Apply*/Get*/Is*/Set* (tank/healer/dps) ->
    ns.DeathAlert.*. Met a jour le reset de GeneralSettings (derniere ligne).
    Les PE par prefixe (_G[DeathAlert_PE_..prefix]), les frames nommees et
    DeathAlertDB restent inchanges.

    Dernier des 7 modules : l'API globale specifique aux modules est entierement
    migree vers ns. Restent volontairement globaux : UnbunkProfiles_*, les widgets
    partages (Unbunk_*/HealerRange_Create*) et les SavedVariables *DB.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit b7475ea37f3a5b1f6daec962d7c1c1c3d407d1a4
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 16:06:43 2026 +0200

    Migration ns: TrinketTracker -> ns.TrinketTracker

    TrinketTrackerCfg_*/PlaySound/ApplyAll/GetTracker1/GetTracker2 ->
    ns.TrinketTracker.*. Met a jour le reset de GeneralSettings.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit a171ac3f096b6fe0de03ab8d31b48d7b83b59aad
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 16:04:12 2026 +0200

    Migration ns: PotionTracker -> ns.PotionTracker

    PotionTrackerCfg_*/PotionTracker_PlaySound/ApplyAll/GetHealthTracker/
    GetCombatTracker -> ns.PotionTracker.*. Met a jour le reset de GeneralSettings.
    Le PE par prefixe (_G[PotionTracker_PE_..prefix]) et PotionTrackerDB
    restent inchanges.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit 49a19f4bfc18f580403f014b2703830084072536
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 15:56:56 2026 +0200

    Migration ns: HealerRange -> ns.HealerRange

    HealerRangeCfg_*/HealerRangePlaySound/HealerRangeAlert_*/HealerRangePE/
    HealerRange_HasCombatProbe -> ns.HealerRange.*. Touche aussi SlashCommands,
    GeneralSettings (reset) et les fallbacks HealerRange de SoundPicker/FontPicker.
    Les widgets partages (HealerRange_Create*) et HealerRangeDB restent globaux.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit e4b18899757427e5b9a4301f6d360d1503751b6e
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 15:50:52 2026 +0200

    chore: untrack .claude/settings.local.json (local settings)

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit 2b358c967986104fea8cbd056a9d131801df15a0
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 15:50:27 2026 +0200

    Migration ns: BLTracker -> ns.BLTracker

    BLTrackerCfg_*/BLTracker_*/ApplyVisuals_BL/BLTrackerPE -> ns.BLTracker.*.
    Met a jour l'appel CfgInit dans le reset de GeneralSettings. BLTrackerDB
    (SavedVariable) reste global.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit eada17ca4a253060cb9570eced125e8713d8820d
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 15:30:35 2026 +0200

    Migration ns: PITracker -> ns.PITracker

    PITrackerCfg_*/PITracker_*/ApplyVisuals_PI/PITrackerPE -> ns.PITracker.*.
    Met a jour l'appel CfgInit dans le reset de GeneralSettings. PITrackerDB
    (SavedVariable) reste global.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit 4795db2601ba077fb3c305cbba78da3c1950d028
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 15:27:17 2026 +0200

    Migration ns: PlayerDeathAnimation -> ns.PlayerDeath

    Premier module migre vers la table de namespace partagee. Les fonctions
    globales PlayerDeathCfg_*/PlayerDeath_*/PlayerDeathAnim_* et PlayerDeathPE
    deviennent ns.PlayerDeath.*. PlayerDeathDB (SavedVariable) reste global.

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

commit 27371a2e77b98abdb22c1cd42cc39e74dfcd5902
Author: Geoffroy ADANT <geoffroy.adant@condorcet.be>
Date:   Wed May 27 02:51:08 2026 +0200

    Code review fixes: deps, perf, secret-values, security & refactor

    Dependances / packaging:
    - Charge LibSharedMedia-3.0 (bundlee) via le TOC, corrige Version/Author

    Bugs:
    - BLTracker: ne plus indexer BL_SPELLS avec un spellId d'une autre unite
      (secret value -> crash). Detection via auras du joueur, son sur buff acquis
    - PITracker: ApplyVisuals_PI rendue globale (appelee depuis le ConfigWindow)
    - TrinketTracker: utilise le slot configure au lieu de 13/14 codes
    - PlayerDeathAnimation: animTimer via C_Timer.NewTimer (annulable)

    Performance:
    - DeathAlert: traite l'unit recu au lieu de boucler tout le groupe a chaque tick
    - Auras en O(1) via C_UnitAuras.GetPlayerAuraBySpellID (fini les scans 1..40 + pcall)
    - Tickers trackers: early-out si module desactive
    - AlertFrame: redimensionnement au changement de texte/police, plus a chaque frame

    Securite:
    - Import de profil sandboxe (setfenv vide + validation table)

    Refactor / robustesse:
    - Namespace partage ns (Core/Shared.lua): IsActiveInInstance, ResolveFontPath, hooks
    - IsActiveInCurrentInstance factorise dans les 6 modules
    - UnbunkProfiles_ReloadAll pilote par un registre de hooks
    - Police par defaut resolue via LSM (fini le fallback FRIZQT silencieux)
    - C_Item.GetItemCooldown au lieu du global deprecie
    - XxxDB = XxxDB or {} dans les Config, suppression du print de chargement

    Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>