File Details
AsylumCompagnon_0.34.9.zip
- B
- Jul 10, 2026
- 2.15 MB
- 6
- 12.0.7
- Retail
File Name
AsylumCompagnon_0.34.9.zip
Supported Versions
- 12.0.7
- **0.34.9** — **Overlay lock ↔ menu checkbox linked, faster sync.** The **padlock on the Kick/Cooldown overlay title bar is now bidirectionally linked** to the "Verrouiller le cadre" checkbox in each menu: `Kicks.SetLocked`/`CD.SetLocked` call back into both the overlay padlock (`_syncLock`) and the menu checkbox (new `NS._syncKickMenuLock` / `NS._syncCDMenuLock`, the latter returned by `MakeCDToggle`), and the checkboxes re-sync in `UpdateKicksPage`/`UpdateCDPage` on open — so locking via the padlock ticks the box and vice-versa. **Sync sped up ~3×**: `HEARTBEAT` 30→10s, `OFFLINE_AFTER` 90→40s, offline sweep 20→15s. On top of the periodic hello, buff/consumable changes now **broadcast immediately** — a debounced (0.7s) `UNIT_AURA` watcher on the player recomputes `Buffs.SelfFlags()` and, only if the flask/food/oil/raid-buff flags actually changed, updates `myProfile.flags` and re-sends the hello (group + guild), so eating or applying an oil/enchant reaches friends in ~1s instead of up to 30s. Receivers refresh the buffs grid / dashboard live via the new `NS.RefreshBuffsUI`, called from `Sync.OnHello`. The change-gate means combat aura spam produces no extra traffic (prep flags are stable in combat).
- **0.34.8** — **Kick hit/miss fixed, friends' addon versions, Paladin Rite oil.** **Kick success detection reworked**: hits were credited only if the combat-log `SPELL_INTERRUPT` arrived *while a kick was pending*, but `UNIT_SPELLCAST_SUCCEEDED` (which starts the pending state) and the combat-log event fire in an **undefined order** — when the interrupt event landed first, `CreditMyKickHit` found nothing and the 0.6s timer then marked the kick **missed**, so successful kicks showed as misses in the end-of-run recap. Now `StartKick` records the cast time and, after `HIT_DECIDE` (0.8s), decides hit/miss by checking whether a successful interrupt of *mine* happened within that window of the cast (`lastMyInterruptAt`, set in the combat-log handler) — **order-independent**. `CreditMyKickHit` still credits instantly for live overlay feedback (and bumps `gen` so the timer no-ops), avoiding double counting. **Friends online (dashboard)** now shows each online friend's **addon version** in parentheses, colored **green** (up to date / newer), **orange** (one version behind) or **red** (older) versus your own `NS.VERSION` (version was already broadcast as `p.ver` in the hello). The **offline count line was removed** (not useful). **Paladin oil**: with Rite of Sanctification (a max-level self-imbue), any weapon enchant on a Paladin now counts as green (`OilLevel` returns 2 for class `PALADIN`) instead of the orange "lower quality" dot.
- **0.34.7** — **Full Midnight secret-value / taint purge (fixes buff check AND sync).** The Bloodlust fix in 0.34.6 only covered the Lust scan; `Buffs.lua` still read `aura.name`/`aura.points` in `HasAuraNameHint` and `FlaskLevel`, which in Midnight are **secret values** — comparing them throws (`attempt to compare local 'nm' … secret string value`) **and taints the whole addon's execution**, which is what was silently breaking sync (kick/cooldown broadcasts on a tainted path get dropped). Rewrote all aura reads to be **spellID-only**: `HasAnyAura` now queries the player via `C_UnitAuras.GetPlayerAuraBySpellID(sid)` (presence only, never reads name/value); `HasAuraNameHint` is a safe stub (name matching is impossible now); `FlaskLevel` checks presence by spellID. **Flask quality is no longer readable** (its aura *value* is secret) — flask is now green=present / red=absent like food; the orange "lower quality" dot survives **only for oil** (read via non-secret enchant ID). The `/asylum auras` debug print no longer reads `aura.name` (prints spellID only). **Note for users seeing these errors:** the crash traceback references pre-0.34.6 code (`Stats.lua:731` with `LUST_NAME_HINTS`, `Toolbox.lua:200 CheckLowHP` with `NS.VERSION 0.22.0`) — that means an **old/duplicate copy of the addon is still installed**; delete any stale `AsylumCompagnon` folder and reinstall the current files (a taint cascade from old code, plus the pre-0.27 `INSTANCE_CHAT` bug, is why kicks didn't sync in M+).
- **0.34.6** — **Midnight taint fixes, overlay lock button, food check, inventory title.** **Bloodlust detection no longer errors** (was spamming `Stats.lua:731 attempt to compare local 'nm' (a secret string value…)` ×100+): in Midnight, reading an aura's `name`/`spellId` from addon code returns a *secret* value that throws on any comparison. `PlayerHasLust` no longer scans the aura list by name — it queries each known Lust by spellID via `C_UnitAuras.GetPlayerAuraBySpellID(sid)` (a value we supply, not secret) and only tests presence; `LUST_NAME_HINTS` removed. **ADDON_ACTION_BLOCKED fixed at the root**: the Toolbox "auto-accept queues" (`AcceptProposal` / `CompleteLFGRoleCheck`) was throwing a blocked-action taint — but those functions are **not** protected (Leatrix Plus and others auto-accept fine). The real cause was **taint propagation**: reading the secret Bloodlust aura value tainted the whole addon's execution, so the subsequent `AcceptProposal` call got blocked (other addons don't have that aura bug, and pre-Midnight the secret-value protection didn't exist — which is why it used to work). Fixing the Lust scan removes the taint source, so the LFG auto-accepts are **kept** and should work again. **Overlay lock button**: the Kicks and Cooldowns overlays now have a small **padlock on the title bar** (top-right) to lock/unlock the frame without opening the menu — `MakeOverlayChrome` gained an optional `lockApi` (`get`/`set`) and builds a raised-frame-level `Button` (so the drag handler doesn't swallow the click) using `LockButton-Locked-Up`/`-Unlocked-Up`; `Kicks.SetLocked`/`CD.SetLocked` call back into `_syncLock` so the icon stays in sync with the menu toggle. **Food check simplified**: any Well Fed buff now counts as a green ✓ (`FoodLevel` returns 2 for any food aura, 0 for none) — the orange "lower quality" dot is now **only** for flasks and oils, as intended. **Inventory**: removed the "Who has: …" / "All characters" title above the right panel (`invRightTitle` cleared).