Personal cooldown and reactive ability bars for OctoWoW and Vanilla WoW 1.12.
- OctoWoW / Vanilla WoW 1.12 (
Interface: 11200) - Lua 5.0 and the legacy WoW API
- No dependencies or OmniCC required
Add this repository using its HTTPS clone URL:
https://github.com/hneis/OctoCooldowns.git
GitAddonsManager should clone it to:
<WoW>/Interface/AddOns/OctoCooldowns
The final path to the addon manifest must be
<WoW>/Interface/AddOns/OctoCooldowns/OctoCooldowns.toc.
If OctoCooldowns was installed manually, remove or rename the old addon folder
before cloning it through GitAddonsManager. Character settings are stored under
WoW's WTF directory and are not removed with the addon folder.
Run this command from <WoW>/Interface/AddOns:
git clone https://github.com/hneis/OctoCooldowns.gitUse GitAddonsManager or git pull to install future updates, then restart the
game or reload the UI.
- Run
/ocd unlock. - Drag a spell from the spellbook or an item from your bags onto
+. - Drag the panel to position it.
- Shift-right-click an icon to remove it.
- Run
/ocd lockwhen finished.
While a bar is unlocked, drag one tracked icon onto another to swap them. This
also works between two unlocked bars. Drag an icon onto another bar's + to
move it to the end of that bar.
Use /ocd center to center the active bar horizontally without changing its
vertical position.
/ocd new Utility Create a new bar and make it active.
/ocd new Burst Create another bar.
/ocd bars Show all bars; * marks the active one.
/ocd bar 1 Select a bar by number.
/ocd bar Utility Select a bar by exact name.
/ocd rename Defensives Rename the active bar.
/ocd delbar Delete the active bar.
/ocd delbar 2 Delete bar 2.
Each bar is configured independently. Commands such as add, cols, size,
gap, lock, clear, and center affect only the active bar.
Drag Riposte or Surprise Attack from the spellbook onto a bar as usual.
Their English and Russian names are recognized automatically.
- In edit mode, reactive abilities remain visible but dimmed.
- In locked mode, they are completely hidden until their condition occurs.
- Riposte appears for 4 seconds after you parry an incoming attack.
- Surprise Attack appears for 4 seconds after your attack is dodged.
- Surprise Attack is shown only while targeting the enemy that dodged.
- Active reactive abilities use a gold border and show tenths during the configured final timer threshold.
- A proc that is still on ability cooldown uses a red border and a dimmed icon.
- Empty locked bars are hidden and mixed bars close gaps left by inactive procs.
Use /ocd list to find an entry number. If automatic recognition is not
available for the client locale, configure the spell manually:
/ocd proc <entry> riposte
/ocd proc <entry> surprise
/ocd proc <entry> off
Each bar controls how active procs on ability cooldown are displayed:
/ocd procstyle red Show the proc with a red border until the cooldown ends.
/ocd procstyle hide Hide it until the cooldown ends.
The proc-window timer remains active in either mode. If the ability becomes ready before the four-second window expires, the icon appears or changes from red to gold with the remaining proc time.
Nampower and SuperWoW events are used automatically when available. The addon also supports the standard localized Vanilla 1.12 combat log and does not require either extension. On older Nampower versions the addon enables the required event CVars and prints a one-time request to reload the UI.
OctoWoW's Blade Flurry can be placed on any bar, including the Procs bar.
Its English and Russian (Шквал клинков) names are recognized automatically.
- While the bar is locked, the icon is hidden when Blade Flurry is off.
- When Blade Flurry is on, the icon appears at full brightness with a blue border.
- While editing, the inactive icon remains visible but dimmed.
- The four-second re-enable cooldown is intentionally not displayed because the active toggle can still be disabled immediately.
- The actual player buff is the source of truth, so login, reload, and missed events are corrected by aura scanning.
For another locale or a renamed custom spell, configure the tracked entry manually:
/ocd aura <entry> bladeflurry
/ocd aura <entry> off
Ghostly Strike (Призрачный удар) is recognized automatically and defaults
to combined mode. Its aura duration is read from the active player buff rather
than assumed to be a fixed number of seconds. Combined Ghostly Strike entries
hide their fully ready state by default.
/ocd aura <entry> ghostlystrike
Aura-only mode hides the icon while the buff is inactive and shows a blue border with the remaining aura duration while active.
/ocd aura <entry> ghostlystrike-combined
Combined mode uses one icon for the complete cycle:
- active Ghostly Strike aura: blue border and aura time remaining;
- aura expired while the spell is still cooling down: dimmed icon and spell cooldown remaining;
- ready spell: hidden by default, or displayed according to
/ocd ready.
Flourish is also recognized automatically and new entries default to the same combined lifecycle. Its actual player-buff duration is displayed for every combo-point duration, followed by the spell cooldown. The fully ready state is hidden by default.
/ocd aura <entry> flourish
/ocd aura <entry> flourish-combined
Existing Flourish entries keep their previous normal cooldown behavior after
updating. Use flourish-combined to opt them into combined tracking.
The same spell can be tracked in separate bars with different modes. Use
/ocd aura <entry> off for normal cooldown-only behavior.
Configure the fully ready state of any combined aura entry independently:
/ocd ready <entry> always Show the ready state everywhere.
/ocd ready <entry> combat Show it only while in combat.
/ocd ready <entry> hide Always hide the ready state.
Only the ready, inactive state is hidden. An active aura or running cooldown
remains visible outside combat. Unlocked bars always show the entry for editing.
The legacy /ocd ooc <entry> hide|show command remains available as an alias
for combat|always.
Evasion (Ускользание) and Sprint (Спринт) remain normal cooldown entries
when added. To track their active buffs separately, add another copy on an aura
bar and configure it:
/ocd aura <entry> evasion
/ocd aura <entry> sprint
The aura copy is hidden while inactive and shows a blue border with the actual buff time remaining. The normal copy continues to show the ability cooldown.
New Slice and Dice (Мясорубка) entries default to aura-only because the
ability has no separate cooldown worth displaying:
/ocd aura <entry> sliceanddice
Aliases slice-and-dice, slicedice, slice, and snd are also accepted.
Existing Evasion, Sprint, and Slice and Dice entries keep their previous normal
cooldown behavior after updating. Use /ocd aura <entry> off to return any aura
entry to normal cooldown tracking.
While a bar is unlocked, Alt + Left Click on a supported spell toggles between
its aura mode and normal cooldown mode. The previous aura mode is remembered,
including combined/aura-only mode and ready visibility.
Unlocked icons show their mode in the top-left corner:
A aura-only
A/CD combined aura and cooldown
P reactive proc
CD normal cooldown or item
Mode markers and Alt-click configuration are disabled while the bar is locked. Alt-dragging an icon does not toggle its mode after the drop. Mode markers are hidden for icon sizes below 32 or when the configured timer font leaves too little space, avoiding overlaps with timer and item-count text. Alt-click configuration remains available.
Tracked spells that are no longer learned after changing talents are preserved:
- locked bars hide unavailable entries;
- unlocked bars show them dimmed with their cached or catalog icon;
/ocd listmarks them unavailable;- returning to the old build restores them automatically after
SPELLS_CHANGED.
Remorseless Attacks is tracked as a synthetic aura because the active buff is
named Remorseless (Беспощадность) and the passive talent cannot be dragged
reliably from the Vanilla talent frame:
/ocd addbuff remorseless
The entry is hidden while inactive and shows its actual OctoWoW buff time when triggered after an XP or honor kill.
New Envenom (Отравление) entries default to aura-only and show the actual
self-buff duration for the combo points used:
/ocd add Envenom
/ocd aura <entry> envenom
Existing Envenom entries keep their previous mode. Use /ocd aura <entry> off
to return to normal tracking.
Relentless Strikes and Taste for Blood use the same synthetic aura registry:
/ocd addbuff relentless
/ocd addbuff tasteforblood
Relentless Strikes shows its actual aura timer and stack count in the lower right corner. Taste for Blood shows only its actual aura timer because the OctoWoW buff has no stack count. Remorseless remains available through:
/ocd addbuff remorseless
Hover tooltips are disabled for all tracked icons. The addon keeps only its private hidden tooltip used internally for localized aura scanning.
/ocd Toggle lock/edit mode on the active bar.
/ocd unlock Unlock the active bar.
/ocd lock Lock the active bar.
/ocd unlockall Unlock all bars.
/ocd lockall Lock all bars.
/ocd center Horizontally center the active bar, keeping its Y.
/ocd centerall Horizontally center all bars, keeping each Y.
/ocd add <name> Add a spell by exact spellbook name.
/ocd addbuff <name> Add Remorseless, Relentless, or Taste for Blood.
/ocd item <itemID> Add an item by numeric item ID.
/ocd proc <n> <mode> Set riposte, surprise, or off for spell entry n.
/ocd aura <n> <mode> Set a supported aura mode or return it to normal.
/ocd ready <n> <mode> Set ready visibility to always, combat, or hide.
/ocd ooc <n> <mode> Legacy alias mapping hide/show to combat/always.
/ocd procstyle <mode> Set red or hide for the active bar.
/ocd procdebug <mode> Enable, disable, or show proc diagnostics.
/ocd timerfont <8-100> Set timer font size for the active bar.
/ocd timerfont reset Restore the default timer font size.
/ocd timerthreshold Show the active bar's final-timer threshold.
/ocd timerthreshold <n> Set the threshold from 0.1 to 10 seconds.
/ocd timerthreshold off Disable red tenths and use white non-decimal timers.
/ocd timerthreshold reset Restore the default two-second threshold.
/ocd remove <n> Remove entry n.
/ocd move <a> <b> Move entry a to position b.
/ocd cols <1-12> Set columns for the active bar.
/ocd size <20-80> Set icon size for the active bar.
/ocd gap <0-20> Set icon gap for the active bar.
/ocd update Show the cooldown refresh interval.
/ocd update <0.05-1.00> Set the cooldown refresh interval in seconds.
/ocd list List entries in the active bar.
/ocd clear Clear the active bar.
/ocd reset Reset the active bar, keeping its name.
/ocd resetall Delete all bars and settings, then start fresh.
/ocd help Show in-game help.
- Tracked icons remain visible when ready.
- Ready abilities use full brightness.
- Abilities on cooldown are dimmed and show the remaining time.
- Global cooldowns of 1.8 seconds or less are ignored.
- Items show their bag count in the bottom-right corner.
- Item counts update on bag changes rather than every frame.
- Cooldowns are polled every 0.10 seconds by default. Use
/ocd update 0.20for lower overhead. - Timer font size is configured per bar. For example, select
Procsand run/ocd timerfont 20; use/ocd timerfont resetto restore the standardARIALNsize of 14. - Unlocked bars show
12.3when no real timer is active, making font-size changes immediately visible. The preview is always white and disappears when the bar is locked. - Each bar has a two-second timer threshold by default. Below one minute,
timers above it use white whole seconds; at or below it, they use red tenths.
Longer timers keep the compact minute/hour format. Configure the threshold
with
/ocd timerthreshold, or disable it with/ocd timerthreshold off. - Settings are stored per character in
OctoCooldownsDB. - Dragging is the safest way to add localized spell names.
- Added Flourish aura-only and combined aura/cooldown tracking.
- Made new Flourish entries default to combined mode without changing existing Flourish entries.
- Added per-entry
always,combat, andhidevisibility for the ready state of combined aura entries. - Hide ready combined Ghostly Strike and Flourish entries by default while keeping active auras and cooldowns visible.
- Added a per-bar final timer threshold for red tenths, defaulting to two
seconds and supporting
off.
- Deferred aura scans out of event callbacks to avoid stale Vanilla API data.
- Added bounded aura scan retries on the next frame, at 0.10 s, and at 0.30 s.
- Added
BUFF_UPDATE_DURATION_SELFandAURA_CAST_ON_SELFscheduling hints. - Made aura retries and 0.50-second safety scans independent from
/ocd update. - Added aura scheduler counters to
/ocd procdebug status.
- Added synthetic Relentless Strikes aura tracking with timer and stack count.
- Added synthetic Taste for Blood aura tracking with its live duration.
- Generalized
/ocd addbufffor Remorseless, Relentless, and Taste for Blood. - Added aura stack data from Vanilla and extended client APIs.
- Removed all hover tooltips from tracked icons while preserving drag targets.
- Preserve and hide unavailable spells after talent-build changes.
- Cache the last valid spell icon and restore entries when spells are learned again.
- Added synthetic Remorseless aura tracking with live buff duration.
- Added Envenom aura-only tracking for OctoWoW's combo-point buff.
- Added unavailable tooltip and
/ocd liststatus.
- Added
Alt + Left Clickto toggle supported spells between aura and cooldown modes. - Added unlocked mode markers:
A,A/CD,P, andCD. - Preserve the previous aura mode and Ghostly Strike OOC setting across toggles.
- Prevent Alt-drag operations from triggering an accidental mode change.
- Added timed-aura modes for Evasion, Sprint, and Slice and Dice.
- Keep new Evasion and Sprint entries as normal cooldowns by default.
- Make new Slice and Dice entries aura-only by default.
- Preserve all existing Evasion, Sprint, and Slice and Dice entry modes.
- Added English/Russian names and all relevant Vanilla rank IDs.
- Render every configured timer size from one fixed size-32 raster.
- Use
SetTextHeightfor both smaller and larger timer sizes for consistent reload behavior.
- Made timer font rendering deterministic after reload for sizes 8 through 100.
- Apply font raster before text and scale only sizes above Vanilla's native limit.
- Force current timer text through the render path when the configured size changes.
- Reapply timer font scaling after every timer text change on Vanilla.
- Fixed large font sizes for previews, aura timers, procs, and cooldowns.
- Added per-entry hiding of ready combined Ghostly Strike outside combat.
- Keep active aura and cooldown states visible outside combat.
- Added
/ocd ooc <entry> hide|showand list status output.
- Added timed-aura tracking for Ghostly Strike using the actual player buff.
- Added aura-only and combined Ghostly Strike display modes.
- In combined mode, switch from aura duration to spell cooldown automatically.
- Added English/Russian recognition and spell ID
14278fallback.
- Fixed timer sizes above the Vanilla runtime font raster limit.
- Use
SetTextHeightso values from 33 through 100 visibly scale.
- Increased the maximum per-bar timer font size from 40 to 100.
- Made timer fonts independent from inherited
NumberFontNormalrendering. - Added a
12.3timer preview while bars are unlocked. - Made reset reliably restore
ARIALN, size 14, with an outline.
- Added per-bar numeric timer font sizes through
/ocd timerfont. - Added reset support that restores the original
NumberFontNormalfont.
- Added persistent toggle-aura tracking for OctoWoW Blade Flurry.
- Hide Blade Flurry while off and show it with a blue border while active.
- Detect active state from the actual player buff instead of spell cooldown.
- Added English/Russian automatic recognition and
/ocd auraoverrides. - Added immediate aura-event updates with periodic scanning as a fallback.
- Added per-bar
redandhidebehavior for procs during ability cooldowns. - Added red cooldown borders with dimmed icons and automatic gold transitions.
- Added drag-and-drop swaps within and between unlocked bars.
- Added moving entries to another bar by dropping them onto its
+. - Prevented Nampower,
UNIT_COMBAT, and combat-log duplicates from shifting proc timers or resurrecting consumed procs. - Added support for both known
SPELL_MISS_*Nampower argument layouts. - Removed transient
IsUsableSpellfailures and combat exit as proc-clearing conditions. - Added localized incoming-parry fallback and
/ocd procdebugdiagnostics.
- Added temporary reactive icons for Riposte and Surprise Attack.
- Added four-second proc countdowns and gold active borders.
- Added target-aware Surprise Attack tracking.
- Added automatic Nampower/SuperWoW integration with a localized Vanilla combat-log fallback.
- Added automatic English/Russian spell recognition and
/ocd procoverrides. - Added dynamic locked-bar layout with no gaps from inactive reactive entries.
- Stopped rescanning item stack counts every 0.10 seconds.
- Scan bags only on
BAG_UPDATE, login, and tracked item addition. - Added a configurable cooldown polling interval through
/ocd update.
- Added multiple independent cooldown bars.
- Added per-bar entries, columns, icon size, gap, lock state, and position.
- Added horizontal centering for the active bar.
- Added automatic migration of 0.1.x settings into the first bar.
OctoCooldowns is available under the MIT License.