nugsCooldownPulse-0.10.0.zip
What's new
# Changelog
## 0.10.0
- Renamed to **nugsCooldownPulse**. Folder, .toc, window titles, frame names, the
Masque group and the Blizzard settings entry all carry the name now.
- `/cdp` still works, and so do `/ncdp`, `/nugscooldownpulse` and `/cooldownpulse`.
- The saved-variable names inside the files are deliberately unchanged. WoW names
saved-variable files after the addon folder, so the rename orphans the old ones;
copying them across only preserves your settings if the variables inside still
have the names the file was written with.
## 0.9.0
- **Priority list.** When several cooldowns come back together - a macro firing two
at once, or haste lining three up - the one you ranked highest is shown first.
`/cdp priority`, or the button under Layout. Ranks are per character.
- **Row mode.** The display can now show several icons at once instead of one at a
time, growing centered, left, right, up or down, up to a configurable maximum.
Single-icon mode is still the default.
- Pulses wait a fraction of a second before appearing so a batch can be sorted by
priority. Two cooldowns fired by one macro do not come back in the same frame, and
without the pause the one noticed first would win regardless of the ranking.
- When the queue overflows it now drops the lowest-ranked cooldown rather than the
oldest, and the queue cap was raised from 5 to 8.
- One sound cue per batch rather than one per icon.
## 0.8.0
First public build. Packaging only - no behaviour changes.
- Added LICENSE (All Rights Reserved) and copyright headers.
- Addon list icon, and author/copyright/license metadata in the .toc.
- README rewritten for release, including a known-issues note: abilities that
transform into a second ability can still miss a pulse.
## 0.7.0
- General, racial and profession abilities are no longer in the picker at all.
"Include general/racial/profession" puts them back for anyone who wants them.
- The minimum cooldown length is now the first setting under Behaviour, with a note
explaining what it does - it decides how much of the spellbook gets picked up.
- Ability name text is configurable: font, outline and size. The font list is the
four stock game fonts, plus everything from LibSharedMedia when another addon has
loaded it. Picking one shows a preview list drawn in each font.
- Masque support. If Masque is installed the icon is registered to the group
"nugsCooldownPulse" and the skin draws the border; without it the plain border is
used as before. Toggleable, needs a `/reload` to change.
## 0.6.0
- **Cooldowns are now picked up whenever they become visible, not only at the
instant of the cast.** Arming on the cast assumes the cooldown is queryable right
then, and for a transforming ability it is not: while Wake of Ashes is Hammer of
Light, its cooldown reads as the replacement's, which is none - and by the time it
reverts, the cast is long gone. A once-a-second sweep now retries anything that is
not already counting, which also catches cooldowns no cast of ours started.
- Added a way to ask whether a hidden timer is actually counting: a cleared cooldown
reports a plain zero, a running one reports a secret value, and "the client
refuses to show me this" is itself the answer. That replaces most of the timing
guesswork - idle timers are released immediately instead of after a grace window,
and a timer that stops without reporting done is recognised as an early reset.
- Watchdog: no timer can stay armed for longer than twice its own cooldown, so a
misread can never block an ability permanently.
- `/cdp diag` reports whether timer state is readable; `/cdp find` lists each
timer and whether it is counting.
## 0.5.0
- **Root cause of the transforming-ability failures.** The spellbook reports
`spellID` as whatever an ability is transformed into *right now* - press Wake of
Ashes and the slot becomes Hammer of Light. The addon keyed everything on that,
so the catalog re-keyed itself mid-cooldown, which destroyed the running timer
and lost the selection. Identity is now taken from `actionID` (the ability
itself) and normalized through `C_Spell.GetBaseSpell`, so a transform no longer
changes anything the addon has hold of.
- Rebuilds reuse the existing entry table for an ability instead of replacing it,
so running timers keep pointing at something real.
- Timers that are still counting are never torn down by a rebuild.
- Casting the transformed ability arms the ability it came from.
- General, racial and profession abilities are no longer selected automatically -
only the class and active-spec tabs are. They stay listed in the picker, and
"Include general/racial/profession" turns the old behaviour back on.
## 0.4.0
- **Fixed: abilities that transform were never pulsing.** Wake of Ashes becoming
Hammer of Light meant the cooldown was reported under an id the timer was not
watching. Timers are now keyed per ability *and* per spell id, both the base and
the current override get one, cast ids that no longer match the spellbook are
resolved against the watch list, and a transforming ability is re-armed shortly
after the cast (it has not swapped yet at the instant it goes off).
- **Fixed: a probe timer against an ability that was already up stayed "armed"
forever**, which blocked every later arm of that ability.
- Pulses re-check that the ability is still selected at the moment they fire, so a
timer cannot outlive the tick that created it.
- Raised the default minimum cooldown from 5s to 20s. At 5s, rotational abilities
(a 12s Judgment) were auto-selected alongside the real cooldowns. Existing
profiles keep their saved value - change it with `/cdp min 30`.
- Added `/cdp find <name>`: says whether an ability is tracked, whether that was
automatic or your choice, its base cooldown, what it is currently transformed
into, and how many of its timers are running.
## 0.3.0
- **Fixed for real: combat tracking.** Midnight's Secret Values system hands addons
opaque cooldown data in combat; any arithmetic on it raises a Lua error, so the
polling engine died on its first comparison every tick of every fight.
- Every combat number now goes through a `Plain()` guard that returns nil rather
than something illegal to compute with. The numeric engine simply stands down
when it is not allowed to look.
- Added a second, sanctioned tracking path that does not read numbers at all: one
invisible `Cooldown` widget per ability, driven by the `DurationObject` from
`C_Spell.GetSpellCooldownDuration(spellID, ignoreGCD)`, pulsing on the widget's
own `OnCooldownDone`. Timers are armed from `UNIT_SPELLCAST_SUCCEEDED`.
- Length filtering in combat falls back to base cooldown (static spell data)
since actual durations are unreadable.
- Added `/cdp diag`: reports what the client is letting the addon see - useful in
combat, where the answers differ.
- Repeat-pulse guard so the two tracking paths cannot double up on one ability.
## 0.2.0
- **Fixed: no pulses during combat.** Every `SPELLS_CHANGED` opened a two-second
quiet window, and that event fires constantly mid-fight (spell overrides, form
swaps, proc-granted abilities), so the addon spent whole fights muted. Quiet
windows are now only used where every cooldown really does change at once:
login, loading screens, and spec/talent swaps.
- **Fixed:** the first `/cdp` after logging in closed the options window instead of
opening it, because a freshly created frame starts shown.
- Added `/cdp debug`: logs every pulse and every pulse that was held back, with the
reason. Useful for confirming tracking works in a live fight.
- Spellbook rebuilds throttled from 0.5s to 1s, since they walk the whole spellbook.
## 0.1.0
- Initial build: spellbook/trinket cooldown tracking, single pulsing icon on a
movable anchor, options window and slash commands.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects