Get an Epic Experience with Premium

Ovale Spell Priority

Buffs & Debuffs Login to Add Favorites
  • World of Warcraft
  • 74,302 Monthly Downloads
  • Supports: 6.0.3
  • 1,770,204 Total Downloads
  • Updated 10/31/2014
  • Created 08/17/2008
  • 700 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: MIT License
  • Newest File: 6.0.4

About Ovale Spell Priority

Ovale Spell Priority is a rotation-helper addon that shows you what spell or ability you should use in order to maximize your damage.

It displays one or more icons that show the cooldown of an action. The action is conditionally defined through a user-defined script, e.g. you may display either Corruption if the DoT is not on your target or Shadow Bolt if the Corruption DoT is already on your target.

The [current release] of Ovale provides default scripts for the following classes for Warlords of Draenor:

  • Death Knight: Blood, Frost, Unholy
  • Druid: Feral, Guardian (Balance is NOT currently supported)
  • Hunter: Beast Mastery, Marksmanship, Survival
  • Mage: Arcane, Fire, Frost
  • Monk: Brewmaster, Windwalker
  • Paladin: Protection, Retribution
  • Priest: Shadow
  • Rogue: Assassination, Combat, Subtlety
  • Shaman: Elemental, Enhancement
  • Warlock: Affliction, Demonology, Destruction
  • Warrior: Arms, Fury, Protection

Default scripts are based on SimulationCraft. You may also customize the default script to suit your needs (see Documentation) or use scripts made by other users.

See the video of a survival hunter using Ovale during Wrath of the Lich King.

Please use the forums to submit scripts or discuss them. If you want to report bugs, use the ticket manager.


  • Tracks DoTs, buffs, debuffs, cooldowns, combo points, runes, mana -- everything that a player would need to decide what to do.
  • Adapts to your talent points and glyphs.
  • 100% configurable: everything is in an easy-to-understand script that you can modify and test in real-time without reloading your UI.
  • Compatible with the action icon skinning library Masque.
  • Use SpellFlashCore to flash abilities on action bars in addition, or as an alternative, to displaying the ability icons.


Why does it not work for me?

Try to reset your Profile in the Ovale settings.

Why is the key binding displayed for an action wrong?

You may be running an action bar addon, e.g., Bartender4, etc., that does not use the Blizzard action bar frames.

Why is the icon sometimes red?

The cooldown that is displayed in an icon is not always the true action cooldown. If this cooldown is longer than the action cooldown, then the icon is red. In most cases, it means that if you use this action too soon, then you will overwrite or clip a DoT, which may not be what you want.

Why can't I click on the icon to cast the spell?

Blizzard does not allow this. Only a predefined sequence of spells can be bound to an action icon and this sequence can not change in combat.

How do I make the spells flash on the action bar?

Simply install SpellFlashCore (included if you install SpellFlash) and Ovale will use it to flash the spell to cast on the action bar in addition to displaying the spell in the Ovale icon bar.

On my low-level character, there is nothing at all.

You need to reach level 10 and choose a specialization.

tag 6.0.4
Johnny C. Lam <>
2014-10-31 02:34:19 -0400

Tagging as 6.0.4 release.


Johnny C. Lam:
    - Remove spurious brackets from the README file.
    - Move OvaleOptions slash commands into their related modules.
    - Make the version string nicer if using a development version of Ovale.
    - Change frame positioning to be offsets relative to screen's center.
    Add two controls on the layout settings to set the horizontal and vertical
    offsets from the center.  This makes Ovale's frame positiioning more
    consistent when changing screen resolutions or screen sizes.
    This change unfortunately resets the position of the Ovale icon frame for
    - Sort default options alphabetically by group.
    - Register debug options with OvaleDebug module.
    - Factor out the debugging and trace code into an OvaleDebug module.
    - Merge two Ovale settings that had identical meanings.
    "/ovale show|hide" now toggles the "Enabled" state of the Ovale icon bar.


First Previous Page 44 of 77 Next Last
  • #520
    Type /ovale code
  • #513
    Worked like a charm. Thanks sir!
  • #504
    Sidoine, you implemented a warlock affliction rotation that uses Soulfire. That spec went out about a patch ago, and the current priority is back to:

    * Haunt
    * Bane of Doom
    * Corruption
    * Unstable Affliction
    * Drain Soul (below 25%)
    * Shadowflame
    * Demon Soul
    * Shadow Bolt or Drain Life

    Change it baaack! Although I did notice it was nice to have the Life Tap ability added in, and I liked the addition of the Inferno in the GCD...
  • #510
    I use the latest simulationcraft script as a base for the default scripts. It was too much work to keep tracks independently of the theorycraft of each the dps specs in the game. If you see a problem in the default script it can be either an error on my side (I made a mistake when I converted SC scripts to Ovale scripts) or an error in the SC script. In this case, I checked and the SC script uses soulfire.
  • #502
    Yep MM hunter rotation is still Aim shot, Steady shot only...
  • #503
    Even bellow 80%?
  • #507
    Only tested on a dummy then just re-download v.4.0.24 which still works fine for MM.
  • #508
    Same thing I had to do.
  • #512
    Well, it's your choice :) It's a dps loss to cast anything but aimed shot and steady shot above 80%.
  • #500

    MM hunter :serpent sting & chimera shoot not working

  • #501
    You should not cast them above 80%.
  • #497
    Love the mod, I've done heavy min/maxing on scripts for feral druid, marksmanship and survival hunter and balance druid. There are a few things that would have made my life much easier, and allow for better scripts:

    1. The ability to test if a spell is currently "in the air" (i.e. has been cast but has not reached the target yet). This would cut down on the amount of code I need to look ahead in the balance and hunter rotations, to account for changes in eclipse/focus. Using SpellInfo to update internal eclipse/energy predictors for wrath/steady shot is kind of clunky and causes problems with the rotations sometimes.

    2. A PreviousCast() test.

    3. A way to save conditions, and re-use them. I use a lot of the same conditions over and over in my scripts and it'd be nice to clean the code up a lot.

    4. A way to get haste, crit, energy/mana/whatever regen rate and similar values, and be able to plug them into formulas. I tune all my scripts for my gear, and I have to re-tune them slightly when it changes. It also makes my scripts a lot less useful for others.
  • #499
    1. Eclipse should change as the missile reaches its target as of 4.0.27. About focus, I don't know why you want to know that. Could you explain?
    2. You shouldn't need this function. I do my best to keep the scripts stateless. In which case do you need this?
    3. You're right, I must add this in the next release.
    4. Idem. It will be in the next release.
  • #505
    In my marksmanship script I use pretty complex logic for predicting the next shot as far ahead of time as possible, because without it the I end up queuing the wrong ability if I slavishly follow the suggestions, unless I wait until the absolute last moment to hit the button.

    The most obvious example of where this would be useful is in going from "if at most 0.4s Casting(STEADYSHOT) and BuffPresent(MASTERMARKSMAN stacks=4) Spell(AIMEDSHOT)" to "if SpellInAirOrWhatever(STEADYSHOT) or Casting(STEADYSHOT) and BuffPresent(MASTERMARKSMAN stacks=4) Spell(AIMEDSHOT)".

    80% and refreshes it at the last possible moment (without breaking up ss pairs if possible) since it is only a very minor dps loss in stationary fights, and a significant dps increase if movement is involved or you are likely to have to interrupt an aimed shot cast. The fact that the focus gets updated via the spellinfo immediately but the projectile has a travel time caused problems with serpent sting falling off due to insufficient focus for chimera shot in the required time window. I "fixed" this by removing the spellinfo focus change, and adding "and at most 0.3s Casting(STEADYSHOT)" to a lot of checks I use for minimum focus values. This seems to help but is kind of buggy. I previously just checked to see if I was casting steady shot, but that caused the next predicted ability to change near the end of the steady shot cast which was distracting.

    Another case is for balance druids, if you get a shooting stars proc and cast it immediately after a wrath, both spells will be in the air at the same time, and if your eclipse is below -74, you can start casting a starfire. I tune my script so I will queue a wrath/starfire/etc will be cast at the earliest possible opportunity to take advantage of the eclipse buff, and a test to see if there is a spell of a certain type "in the air" would be very useful to simplify the logic.

    I understand the desire to minimize state information, having a last cast seemed a little less cumbersome than keeping track of counters in some circumstances (like the improved steady shot buff, for instance).
  • #496
    Updated this morning. Not getting any errors but it's not working for Arms warriors. I go in combat and it's telling me to switch to berserking stance for fury set up...
  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

VIP trip to SMITE World Championship