v1.1.0
What's new
tag 5bda7130cd3fb1be208cf7abce312cc1b43aac9f v1.1.0
Author: ray929 <pager9@outlook.com>
Date: Mon Sep 21 10:34:03 2026 +0800
Release v1.1.0
Port the battle-tested CDM detection core from BloodDeathKnightHelper.
- Three-state aura reading (known / up): "unreadable" no longer counts as "absent",
so pool rebuilds stop producing false alerts
- Down-edge debounce (1.0s) plus a per-aura absence grace (3s); Bone Shield and
Ossuary paths are now decoupled
- Frame discovery recurses through GetChildren(), so buff-hidden cooldown frames
are still found
- Refresh whitelist (Marrowrend / Death's Caress / Bone Collector) with a 0.8s
alert suppression window to cover CDM frame update lag
- Talent gates: Dancing Rune Weapon requires Insatiable Blade (377637); Death Grip,
Gorefiend's Grasp and Abomination Limb require Bone Collector (458572).
Fails open when talent data cannot be read
- CDM icon pulses a red mask (0.7s period), cleared on refresh or window reset
- All three alert kinds share one voice file per language; Sichuan dialect removed
- Fix: ApplyLang resolved a nil global DB, so /bsr lang only changed the printed
label and never switched text or voice
commit 9ac173bfbdd198bb98dba7604429c629f47a574b
Author: ray929 <pager9@outlook.com>
Date: Mon Sep 21 10:02:36 2026 +0800
fix(core): port the CDM detection core from BloodDeathKnightHelper
This file was an earlier, weaker build of BloodDeathKnightHelper/BoneShield.lua.
Port the fixes that version paid for, keeping the addon single-file with /bsr:
- frame discovery: add GetChildren() recursion. GetItemFrames() equals
GetLayoutChildren() and only returns IsShown() children, while the CDM hides
the icon exactly when the aura goes inactive - so the frame vanished at the
one moment it had something to say, and a dropped Bone Shield went unseen.
- three-state readings (known/up): "cannot be read" no longer means "not
there". Pool rebuilds and decoy frames used to invent a refresh alert.
- proven-frame table: only a frame seen lit may report "absent".
- down edge: DOWN_GRACE 1.0s, well above the 0.5s driver tick.
- per-aura absence (BsMissing / OssMissing) instead of one shared check:
Ossuary is a passive talent effect, so if it cannot be tracked the addon used
to stall behind a permanent yellow notice. Countdown and the "Bone Shield
down" alert now work regardless of it.
- frame flag: try method IsActive(), then fields IsActive / isActive.
- setup notice: says which entry is missing, and re-renders when that changes.
REFRESH_IDS: drop 439843 (no such spell, it was a guess), add 49576 and
1263569, and gate the pull / burst skills behind their talents (Insatiable
Blade 377637, Bone Collector 458572) so an untalented cast no longer resets the
window silently. Abomination Limb gets its 12s continuous window.
Add the pulsing red mask over the CDM Bone Shield icon, /bsr flash on|off,
/bsr test 1|2|3, and the gate check table printed on login / talent change.
Fix ApplyLang reading a global DB: the module-level local DB was declared after
it, so /bsr lang switched only the printed label - the alert text and the voice
file never changed.
Remove the Sichuan voice: option, command and Sounds/voice-sichuan.mp3.
This mod has no additional files