Skip to content

About

Retail-like personal cooldown bars for OctoWoW / Vanilla WoW 1.12

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

OctoCooldowns

Personal cooldown and reactive ability bars for OctoWoW and Vanilla WoW 1.12.

Compatibility

  • OctoWoW / Vanilla WoW 1.12 (Interface: 11200)
  • Lua 5.0 and the legacy WoW API
  • No dependencies or OmniCC required

Install With GitAddonsManager

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.

Manual Git Install

Run this command from <WoW>/Interface/AddOns:

git clone https://github.com/hneis/OctoCooldowns.git

Use GitAddonsManager or git pull to install future updates, then restart the game or reload the UI.

Basic Workflow

  1. Run /ocd unlock.
  2. Drag a spell from the spellbook or an item from your bags onto +.
  3. Drag the panel to position it.
  4. Shift-right-click an icon to remove it.
  5. Run /ocd lock when 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.

Multiple Bars

/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.

Reactive Abilities

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.

Toggle Auras

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.

Additional Timed Auras

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.

Quick Mode Editing

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.

Build Changes And Passive Auras

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 list marks 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.

Commands

/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.

Behavior

  • 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.20 for lower overhead.
  • Timer font size is configured per bar. For example, select Procs and run /ocd timerfont 20; use /ocd timerfont reset to restore the standard ARIALN size of 14.
  • Unlocked bars show 12.3 when 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.

Changelog

0.10.0

  • 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, and hide visibility 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.

0.9.1

  • 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_SELF and AURA_CAST_ON_SELF scheduling hints.
  • Made aura retries and 0.50-second safety scans independent from /ocd update.
  • Added aura scheduler counters to /ocd procdebug status.

0.9.0

  • Added synthetic Relentless Strikes aura tracking with timer and stack count.
  • Added synthetic Taste for Blood aura tracking with its live duration.
  • Generalized /ocd addbuff for 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.

0.8.0

  • 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 list status.

0.7.0

  • Added Alt + Left Click to toggle supported spells between aura and cooldown modes.
  • Added unlocked mode markers: A, A/CD, P, and CD.
  • Preserve the previous aura mode and Ghostly Strike OOC setting across toggles.
  • Prevent Alt-drag operations from triggering an accidental mode change.

0.6.0

  • 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.

0.5.4

  • Render every configured timer size from one fixed size-32 raster.
  • Use SetTextHeight for both smaller and larger timer sizes for consistent reload behavior.

0.5.3

  • 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.

0.5.2

  • Reapply timer font scaling after every timer text change on Vanilla.
  • Fixed large font sizes for previews, aura timers, procs, and cooldowns.

0.5.1

  • 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|show and list status output.

0.5.0

  • 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 14278 fallback.

0.4.4

  • Fixed timer sizes above the Vanilla runtime font raster limit.
  • Use SetTextHeight so values from 33 through 100 visibly scale.

0.4.3

  • Increased the maximum per-bar timer font size from 40 to 100.

0.4.2

  • Made timer fonts independent from inherited NumberFontNormal rendering.
  • Added a 12.3 timer preview while bars are unlocked.
  • Made reset reliably restore ARIALN, size 14, with an outline.

0.4.1

  • Added per-bar numeric timer font sizes through /ocd timerfont.
  • Added reset support that restores the original NumberFontNormal font.

0.4.0

  • 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 aura overrides.
  • Added immediate aura-event updates with periodic scanning as a fallback.

0.3.1

  • Added per-bar red and hide behavior 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 IsUsableSpell failures and combat exit as proc-clearing conditions.
  • Added localized incoming-parry fallback and /ocd procdebug diagnostics.

0.3.0

  • 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 proc overrides.
  • Added dynamic locked-bar layout with no gaps from inactive reactive entries.

0.2.1

  • 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.

0.2.0

  • 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.

License

OctoCooldowns is available under the MIT License.

About

Retail-like personal cooldown bars for OctoWoW / Vanilla WoW 1.12

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages