Get an Epic Experience with Premium

Ovale Spell Priority

Buffs & Debuffs Login to Add Favorites
  • World of Warcraft
  • 19,176 Monthly Downloads
  • Supports: 5.4.8
  • 1,690,995 Total Downloads
  • Updated 09/05/2014
  • Created 08/17/2008
  • 677 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 2 (GPLv2)
  • Newest File: 5.4.34

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.

Default scripts are available for all dps classes and specializations, 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.


  • Default scripts for every DPS class and talent specialization.
  • Tracks DoTs, buffs, debuffs, cooldowns, combo points, runes, mana, everything that a player would need to choose what to do.
  • Adapts to your talent points and glyphs.
  • Change quickly the configuration at any time with configurable checkboxes and drop-down lists that can be shown/hidden by clicking on the icons, e.g. switching between single and multi-target damage, setting the curse to cast.
  • Multi-target DoT tracking: remember which target had a DoT and when the DoT will expire, allowing the script author to support multi-target dotting.
  • Compatible with the action icon skinning library Masque.
  • 100% configurable: everything is in an easy-to-understand script that you can modify and test in real-time without reloading your UI.
  • Can be used to track crowd-control spells on your focus.
  • Scoring system: evaluate how well you followed the script. Add a new Ovale panel in Recount and Skada, with a score between 0 (very bad) and 1000 (perfect).
  • Up to two-spells-ahead accuracy with some classes.


Why does it not work for me?

Try to reset your Profile in the Ovale settings. Most problems come from faulty scripts.

Why is the key binding displayed for an action wrong?

The action may be in several action bars, e.g., the bars that you can cycle through or the bars that appear in special cases like Shadowform or Cat Form.

Why is the key binding not displayed at all?

The action must be in your standard Blizzard action bar in order for Ovale to know which key binding is used.

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.

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

You need to reach level 10 and choose a specialization.

There is no bane or curse (or whatever) in the rotation.

Click the icon and select the bane or curse that you want to use from the dropdown menu list.

tag 5.4.34
Johnny C. Lam <>
2014-08-18 17:49:05 -0400

Tagging as 5.4.34 release.


Johnny C. Lam:
    - Druid: Increase ratio threshold before refreshing Balance DoTs early.
    The latest SimulationCraft uses 30% increase as the threshold so match it
    in the default script.
    - Information that's queried with GetItemInfo() might not be available.
    Wait for the GET_ITEM_INFO_RECEIVED event and query again for meta-gem and
    weapon information.
    This fixes ticket 403 by @Dhanir.
    - Rogue: Premeditation requires stealth.
    - Death Knight: Fix Dark Transformation usage.
    Dark Transformation requires 5 stacks of Shadow Infusion on the player and
    applies a buff to the pet.
    This fixes ticket 379 by @bamabandit.
    - Allow specifying a cooldown time for buffs.
    This cooldown time is how long to expect between when the buff is gained
    and can be used to note the internal cooldown of a trinket that applies a
    Decorate trinket buffs with approximate internal cooldown times.  The
    syntax is "buff_cd=N" where N is the number of seconds.
    Add a BuffCooldown(id) script condition to return the remaining time
    before the buff can be gained again.
    - Add additional spells used in SimulationCraft action lists.
    - Add haste buff from legendary caster meta-gem.
    - Allow setting and getting variables within the simulator from the script.
    This feature can be used to keep state from the script.
        SetState(name, value) sets the named variable to the given value.
        GetState(name) gets the value of the named variable or 0 if missing.
    Internally, a new action "SetState" was added that always returns true.
    This new state action has no output.
    OvaleFrame has been adjusted to avoid flickering if a state action is the
    best action.
    - Fix debuff spell list names used in GetAura.
    - Rename *Remains() script conditions to *Remaining() for readability.
    The old names are still usable as aliases of the recommended condition
    - Put all script condition definitions into a single file.
    This reverses a design decision to split up conditions into smaller files
    that ended up making this addon harder to update for users.  Keeping all
    conditions in a single file reduces the likelihood of files being added or
    removed, which allows for updating the addon without needing a full
    restart of the WoW client.
    This does make the conditions.lua file harder to maintain, but a clean
    internal code layout should alleviate this concern.
    - Rename TicksRemain() to TicksRemaining() for better readability.
    - Add PrimaryResource() script condition for the current power level.
    PrimaryResource(id) returns the current amount of the player's primary
    resource for the given spell.
    - When unparsing Ovale ASTs into scripts, avoid unnecessary whitespace.
    - Teach OvaleAST unparser to automatically insert parentheses as needed.
    The AST structure implies that parentheses are needed when unparsing
    expressions, based on the relative precedence of the operators involved.
    Any existing parentheses that are extraneous due to precedence are
    ignored when unparsing.
    - Fix operator precedence bug with "and" and "or".
    "And" binds more tightly than "or" in most logical operator precedence
    - Add ExecuteTime() script condition to match SimC's "execute_time".
    This condition returns the larger of a spell's cast time or the GCD.
    - Add "amplified" buff from the Amplification trinkets.
    - Add "stealthed_buff" spell list for common rogue and druid stealth buffs.
    - Add "_buff" and "_debuff" to the default raid buff names for consistency.
    - Rogue: Fix spell information to add to the correct spell IDs.
    The spell information for the Crimson Tempest DoT wasn't correctly being
    added due to the wrong name reference being used.
    - Warrior: Fix rage cost of Impending Victory after landing a killing blow.
    - Druid: Don't cast bear Berserk with Incarnation is active.
    The name of the buff referenced in the script was incorrectly
    "son_of_ursoc" instead of "son_of_ursoc_buff".  Fix by @Wiljo.


First Previous Page 17 of 67 Next Last
  • #786

    Is there anyway I can change what the addon shows, dont want it to show buffs etc only spells?

  • #785

    Please enter some Druid Skills ..Scarecrow hit him ..Skill does not appear on the screen.

  • #783

    Ovale buttons are not showing up on my prot pally. I already tried resetting but still nothing.


  • #784

    Protection paladin is not implemented in the default scripts at this time.  Please see the top line of the description above.

  • #782

    When is the issue with Ovale going to be resolved in regards to eating up memory and killing FPS? Anytime I get into combat and use "Tiger's Fury" for example, my fps drops from 50-60 down to 3-7. Ovale addon usage goes from around 780 kb to nearly 10 mb and stays there even after leaving combat.. I am using the latest versions of both Ovale and Nerien's Script.

  • #781

    Add cascada? :)) Seems like its really good now!

    Where can i find the best Spriest script?

    wht am i doing wrong?

    Define(halo_damage 120517)
    SpellInfo(halo_damage cd=40 )
    Define(cascade_damage 127628)
    SpellInfo(cascade_damage cd=25 )


    Last edited by lupqt on 10/17/2012 7:31:28 AM
  • #780

    druid skill plz ...Cry

  • #779

    Regarding bugs in the default class scripts:

    The Ovale default scripts are generated directly from the SimulationCraft T14H profiles by a parser that Sidoine wrote for the MoP release.  Bugs in the scripts indicate bugs in the parser that should be fixed, and tickets should be opened for those issues.  Right now, Sidoine is on a bit of a break due to work, so those issues might take some time before they are completely resolved.

    if you are looking for working scripts, there are scripts for some classes that can be used directly from the Nerien's Ovale Scripts addon, and additional scripts may be found in the Ovale forums.

  • #778

    I've been away from WoW for a few months now and I have upgraded to the latest Ovale and want to use LeafKiller's latest scripts. I have downloaded Nerien's scripts and they are sitting in my addon folder and I went into the /ovale code screen and reset the code to default.

    Now the problem is, how do I select Leafkiller's scripts as the one I want to use? I don't see an option anyway to do this.

    Edit: LoL after I posted this I found out how to select different scripts. The problem is/was that Nerien's scripts is not listed alphabetically for some reason and it is found at the very bottom of the Interface/Addons list in WoW. So for those of you who cannot find it, scroll to the very bottom of the addons list.

    Last edited by nToxiK on 9/30/2012 11:23:18 PM
  • #777

    druid skill plz ...Cry

  • #776

    I still can not get this to work properly with my feral druid. I tried downloading a script but it did nothing. Would it be possible for you to explain what I should try? Or if you are aware of whats happening with the feral druid rotation?

  • #772

    Hello, sorry if this seems a really simple question, but I have logged on today, and Ovale has gone right off my screen to the left, I have made it as big as possible but the Grab bar to move it is out of reach, is there a command to center the addon back onto the screen as as of now I can't see it without making it as big as possible ( but still can't get the relocate bar to trigger )


    thanks in advance

  • #773

    You can reset the profile to restore the Ovale default settings.  That will put your Ovale icons back to the middle of the screen.  If you have a custom script, you should copy it so it doesn't get lost in the reset.

  • #771

    I'm noticing that something is wrong with the Elemental Shaman rotation as it never tells me to use Earth Shock even when I have 7 stacks of lightning shield...


    if BuffStacks(lightning_shield) ==0 Spell(earth_shock)
    if BuffStacks(lightning_shield) >3 and target.DebuffRemains(flame_shock) >SpellCooldown(earth_shock) and target.DebuffRemains(flame_shock) <SpellCooldown(earth_shock) +TickTime(flame_shock) Spell(earth_shock)

    isn't triggering.

  • #770

    Not sure if this is an Ovale WITH Nerien issue, but:

    6x Ovale-5.0.6\OvaleCompile.lua:525: script ran too long Ovale-5.0.6\OvaleCompile.lua:525: in function "CompileInputs" Ovale-5.0.6\OvaleCompile.lua:570: in function "Compile" Ovale\Ovale-5.0.6.lua:78: in function "CompileAll" Ovale-5.0.6\OvaleFrame.lua:147: in function "OnUpdate" Ovale-5.0.6\OvaleFrame.lua:67: in function <Ovale\OvaleFrame.lua:66>

    Locals: self = <table> {  Compile = <func> @Ovale\OvaleCompile.lua:530  DebugNode = <func> @Ovale\OvaleCompile.lua:598  CompileInputs = <func> @Ovale\OvaleCompile.lua:521 } text = " SpellList(COMBATMIND 107970 109793 109795) SpellList(VELOCITY 107982 109787 109789) SpellList(SPELLPOWERTRINKETBUFF 73551 84968 90889 91019 91135 91136 92225 95875 97007 97008 99712 99741 102437 105134 107948) SpellList(HASTETRINKETBUFF 91041 92328) SpellList(MASTERYTRINKETBUFF 100403) SpellList(CORRUPTIONDEBUFF 172 87389) Spellinfo(980 duration=24) AddCheckBox(shadowandflame SpellName(17801) default) AddListItem(curse none "None") AddListItem(curse elements "Curse of the Elements" default) AddListItem(curse tongues SpellName(1714)) AddListItem(curse weakness SpellName(702)) AddListItem(bane none "None") AddListItem(bane agony "Agony") AddListItem(bane doom "Doom" default) AddListItem(bane havoc "Havoc" mastery=3) AddCheckBox(potions "Volcanic Potion" default) AddCheckBox(lightweave SpellName(75170)) AddCheckBox(powertorrent "Power Torrent") AddCheckBox(trinketdmcv "DMC: Volcano") AddCheckBox(trinketfoul "Foul Gift of the Demon Lord" mastery=2) AddCheckBox(trinketiotcm "Insignia of the Corrupted Minnode = <table> {} defines = <table> {  EMPOWEREDIMP = "47283"  LIFETAP = "1454"  RITUALOFSOULS = "29893"  IMPROVEDSOULFIRETALENT = "10940"  BANEOFHAVOC = "80240"  IMMOLATE = "348"  GLYPHOFLASHOFPAIN = "70947"  SOULHARVEST = "79268"  CORRUPTION = "172"  PETAXETOSS = "89766"  DEMONARMOR = "687"  SOULFIRE = "6353"  IMPROVEDSOULFIREBUFF = "85383"  HEALTHSTONE = "5512"  PETPURSUIT = "30151"  CREATEHEALTHSTONE = "6201"  DEMONSOULFELGUARD = "79462"  SHADOWANDFLAMETALENT = "10936"  POWERTORRENT = "74241"  SHADOWANDFLAMEDEBUFF = "17800"  CURSEOFWEAKNESS = "702"  BANETALENT = "10938"  VOLCANICPOWER = "79476"  ARCANETORRENTMANA = "28730"  VOLCANICPOTIONSPELL = "80481"  HAUNT = "48181"  BANEOFDOOM = "603"  VOLCANICPOTION = "58091"  PETSUCCUBUS = "Succubus"  BERSERKING = "26297"  SUMMONINFERNAL = "1122"  UNSTABLEAFFLICTION = "30108"  STONEFORM = "20594"  DEMONSOULIMP = "79459"  FELSPARK = "89937"  CHAOSBOLT = "50796"  DEMONSOULVOIDWALKER = "79464"  EMBERSTORMTALENT = "11181"  LIFEBLOOD = "55503"  SUMMONFELGUARD = "30146"  DEMONICEMPOWERMENT = "47193"  FELARMOR = "28176"  BLOODFURY = "33697"  PETSINGEMAGIC = "89808"  PETLEGIONSTRIKE = "30213"  DEMONSOULFELHUNTER = "79460"  BANEOFAGONY = "980"  SHADOWBOLT = "686"  METAMORPHOSISTALENT = "11044"  PETFELSTORM = "89751"  FELFLAME = "77799"  INCINERATE = "29722"  GLYPHOFMETAMORPHOSIS = "64318"  SOULSTONE = "5232"  DRAINSOUL = "1120"  SUMMONSUCCUBUS = "712"  SUMMONIMP = "688"  DEMONSOUL = "77801"  SUMMONFELHUNTER = "691"  GLYPHOFIMP = "56248"  CONFLAGRATE = "17962"  PETFELGUARD = "Felguard"  DEATHCOIL = "6789"  DARKINTENTBUFF = "85768"  SHADOWANDFLAMESPELL = "17801"  SUMMONDOOMGUARD = "18540"  SOULBURN = "74434"  SHADOWFLAME = "47897"  NETHERWARD = "91711"  MOLTENCORE = "71165"  SEARINGPAIN = "5676"  SOULSIPHONTALENT = "11112"  SHADOWBURN = "17877"  SHADOWTRANCE = "17941"  VOLCANICDESTRUCTION = "89091"  METAMORPHOSIS = "47241"  CURSEOFTONGUES = "1714"  LIGHTWEAVE = "75170"  PETIMP = "Imp"  PETFELHUNTER = "Felhunter"  DEMONSOULSUCCUBUS = "79463"  IMMOLATIONAURA = "50589"  DECIMATION = "63167"  HANDOFGULDAN = "71521"  SEEDOFCORRUPTION = "27243"  FOULGIFT = "102662"  DRAINLIFE = "689"  DARKINTENTTARGETBUFF = "85767"  JINXELEMENTSDEBUFF = "86105"  DARKINTENT = "80398"  CURSEOFTHEELEMENTS = "1490"  CREATESOULSTONE = "693" } unknownSpellNodes = <table> {} ParseDefine = <func> @Ovale\OvaleCompile.lua:396 subtest = <func> @Ovale\OvaleCompile.lua:353 ParseSpellName = <func> @Ovale\OvaleCompile.lua:505 ParseL = <func> @Ovale\OvaleCompile.lua:515 ParseCanStopChannelling = <func> @Ovale\OvaleCompile.lua:495 ParseSpellAddBuff = <func> @Ovale\OvaleCompile.lua:198 ParseSpellAddDebuf


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

Destiny Customization Contest