File Details
v12.0.24
- R
- May 9, 2026
- 4.84 MB
- 1.5K
- 12.0.5+1
- Retail
File Name
v12.0.24.zip
Supported Versions
- 12.0.5
- 12.0.1
## v12.0.24 — May 9, 2026 ### All Warlock Specs — "Summon Demon" / "Demon Died" False Alerts In Combat The "SUMMON DEMON" and "DEMON DIED" alerts no longer fire incorrectly during combat when you are talented into Grimoire of Sacrifice. Previously both alerts could lock on for the rest of the fight in Mythic+, battlegrounds, arenas, or open-world combat — even though the Sacrifice buff was active. The "DEMON DIED" alert specifically fired every time you sacrificed your demon mid-pull, since the brief dead-state during sacrifice was being treated as a real pet death. Both alerts now stay silent during combat, and for 1.5 seconds afterward to give the buff state time to settle. The alert state then re-evaluates automatically at 1.5s and 2.5s after combat ends without polling anything in between. The "Sacrifice Demon" alert (the one telling you to sacrifice when you have the talent but no buff yet) is unaffected and still fires the same way out of combat. **What changed under the hood:** in restricted execution contexts (M+ combat, rated PvP, and certain open-world combat scenarios) the WoW engine masks the Sacrifice buff's spell ID as a secret value, making the buff invisible to addons regardless of which aura API they use — the index walk and `C_UnitAuras.GetPlayerAuraBySpellID` both return as if the buff weren't there. Since direct buff inspection cannot work in those contexts, the talent branches in each Warlock spec's `GetHighestPriorityAlert` (both the no-pet path and the dead-pet path) and the `sacSuppressed` check in `PreEvaluate` now treat any active combat as "buff present" for a Grimoire-of-Sacrifice warlock. A new `state.sacGraceUntil` field, set to `GetTime() + 1.5` on `PLAYER_REGEN_ENABLED` (only when the talent is taken), extends that suppression for 1.5 seconds after combat ends; two `C_Timer.After` one-shots at 1.5s and 2.5s force re-evaluation once the engine has uncovered the aura, so the alert state catches up promptly without any polling. As a small secondary win, the buff scan now tries `GetPlayerAuraBySpellID` as a fast path before falling back to the 40-aura index walk in unrestricted contexts. Applied identically to Affliction, Demonology, and Destruction. ### Options Panel — Brought Up To Suite Standards The options panel has been rebuilt to match the canonical Nem: Alerts suite layout. Most of these changes are layout polish, but one — the removal of the Alert Text Scale slider — will be visible if you customized it. - **Alert Text Scale slider removed.** The Display section now controls alert text sizing with the **Font Size** slider alone, matching the rest of the suite. If you previously had Alert Text Scale set to anything other than the default (1.0), your alert text will appear at a different size on first login after this update — adjust **Font Size** up or down to compensate. Your saved scale value is cleared automatically. - **Alert Font dropdown moved.** The font selector now lives in the **Display** section (right column, beneath the Font Size slider) instead of in Alert Options. Same dropdown, same fonts — just a more sensible home. - **Sounds section alignment.** The sound dropdown next to each row was sitting 40px too far right. It now lines up with the dropdowns in the other Nem: Alerts addons. - **Alerts grid spacing.** The alert checkboxes were a few pixels off in column position and a few pixels tight in row spacing. Both now match the suite standard, so the section feels less cramped. - **Heal Pet Threshold reformatting.** The input is now labeled "Heal Pet Threshold (%)" with the percent baked into the label — the separate "%" suffix is gone. Functionality is unchanged. - **Alert Options spacing.** Closed the oversized gap between the Heal Pet Threshold row and the eight alert text edit boxes underneath it. The block now sits at the same tightness as the equivalent section in Nem: Healer Alerts. - **Class-colored text inputs.** Every text input on the options panel — the Heal Pet Threshold field and all eight alert text override boxes in Alert Options — now renders its text in your active spec's class color, matching the slider value field, section borders, and scrollbar thumb. Switching specs retints them automatically. - **Pixel-level alignment polish.** The Font Size slider and Alert Font dropdown in the Display section nudged a few pixels right so they sit directly above the right column of alert checkboxes. The alert text override boxes in Alert Options shifted similarly so each box's left edge lines up with the checkbox icon directly above it. Nothing functional — the panel just looks cleaner now. - **Scrollbar bottom flush with Alert Options.** When scrolled all the way down, the bottom of the Alert Options section box now lines up exactly with the bottom of the scrollbar track — the previous ~16px of empty padding below the box is gone. Top edge alignment is unchanged. **What changed under the hood:** the panel now exposes the canonical `specHelpers` contract (`MakeCheckbox`, `MakeCheckboxAt`, `MakeCheckboxRow`, `MakeCheckboxWithNumeric`, `MakeNumericInput`, `Spacer`) and calls `mod:BuildAlertOptions(box, db, specHelpers)` on the active module, matching the rest of the Nem: Alerts suite. Each pet spec now declares its own `BuildAlertOptions` block that registers the heal pet threshold via `helpers:MakeNumericInput`. The Alert Font dropdown is created once at panel-init time (parented to `displayBox` so hide/show propagates) instead of being rebuilt on every spec change. Saved variables bumped to `ver=3`; one-shot migration scrubs the stale `db.scale` field. ---