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 28, 2026
  • 6.94 MB
  • 10
  • 12.0.5
  • Retail

File Name

UnbunkUtility-v2.0.5.zip

Supported Versions

  • 12.0.5

tag d45df070dd52fe1d06ea0ca449d95c886bb49f82 v2.0.5
Author:    Unbunk <34401183+Unbunk@users.noreply.github.com>
Date:    Thu May 28 11:52:23 2026 +0200

v2.0.5

commit 1c279eacaa3ddc311150ec0252e608163cbb20d6
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 76edf93f2aba821172944e31ea20ba911f44a793
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
Date:   Thu May 28 11:40:01 2026 +0200

    ..

commit 441a67d9be847eb77a8abf51ca08b86df69d9e0d
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
Date:   Thu May 28 11:38:27 2026 +0200

    .

commit bc0da1528101168767d226ff129dd9072a7b868c
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
Date:   Thu May 28 11:27:42 2026 +0200

    HealerRange: duration du test inline a droite du bouton Test

    Remplace la section Alert duration separee par des controles compacts
    (label Duration / -/input/+ / sec) juste a droite du bouton Test Alert,
    puisque alertDuration ne pilote plus que la duree d'affichage du test.

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

commit b49e193131cb3fac82439cbccf9de18b4221e7fb
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
Date:   Thu May 28 11:08:12 2026 +0200

    fix(HealerRange): alerte visible en continu hors-range, son une seule fois

    Avant: l'alerte etait masquee apres alertDuration puis re-affichee+re-jouait
    le son si toujours hors-range -> cycle de re-alertes. Maintenant: l'alerte
    reste affichee tant qu'on est hors-range, le son joue uniquement a la
    transition. alertDuration ne sert plus qu'au bouton Test.

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

commit 0d46f6ad5fb97e1261f73d12e59399923b23da0a
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
Date:   Thu May 28 10:58:24 2026 +0200

    fix: boutons Test respectent la duree configuree

    DeathAlert (tank/healer/dps) et /ubu test (HealerRange) utilisaient
    C_Timer.After(5, ...) code en dur. Ils lisent maintenant
    tank/healer/dpsAlertDuration et alertDuration respectivement.

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

commit 6276e2cdc641a4d75b46f5c10e8665f39ad278af
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 02efe1cdb86a7673774b91b2d718ccb76bc3a00f
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 affdc5846db302ab249c6f0d1e2539c0cdda8d65
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 e8d87af6aa2fe1f0c98a189ffc0c3850666117d1
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 c0f13de762af1dbdadc89bbdc275d27f0fc4c288
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 0f1120010c75dcbcab9ddc8eb7ec13c26b94ed08
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 496226013f91bb474ab6b61fcace693e1b62f3b3
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 54d75fc2733210be6c0e32bd9924716ed8a2c9db
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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 cb80c2f1a912b8b958d7fc70b6b2be4d9256a053
Author: Unbunk <34401183+Unbunk@users.noreply.github.com>
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>