Get an Epic Experience with Premium

Ovale Spell Priority

Buffs & Debuffs Login to Add Favorites
  • 27 Likes
  • World of Warcraft
  • 31,321 Monthly Downloads
  • Supports: 5.4.8
  • 1,681,173 Total Downloads
  • Updated 08/18/2014
  • Created 08/17/2008
  • 675 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 2 (GPLv2)
  • Newest File: 5.4.34
or

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.

Features

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

FAQ

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
78cb8e0a5fa4712cff259de36cdbd27d58dc0ef0
Johnny C. Lam <jlam88@gmail.com>
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
    buff.
    
    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
    names.
    - 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
    systems.
    - 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.

Comments

First Previous Page 23 of 67 Next Last
  • #686

    How about right now, for the beta?

    Smile

  • #682

    I just installed this addon today and it's working wonderfully on my druid, warrior, priest, and hunter but I'm leveling a mage and it's level 81 at the moment and it's frost. The problem I'm having is that it's telling me to put up molten armor constantly and I play with mage armor to keep my mana up in dungeons or frost armor when I quest. I'm a frost mage too so it's not like I'm a fire mage and it's telling me to put up the respective armor for my talents. For some reason I can't click on it and have list open up on the side like I can with all of my other characters. I've checked all the settings and the "ignore mouse clicks" isn't checked. I can click the icons and they do the mouse down graphic, but nothing else happens. It's driving me nuts because no matter what spell I cast the molten armor doesn't change. 

    Last edited by Invisinak on 7/16/2012 11:49:28 AM
  • #683

    You'll have to edit that part of the code yourself with something like:

    unless InCombat() if BuffExpires(MAGEARMOR 400) and BuffExpires(MOLTENARMOR 400) and BuffExpires(ICEARMOR 400) Spell(MAGEARMOR)

  • #679

    Installed this today and it works great, except that I can't move it at all.  The "Lcok Position" setting is not checked.

  • #678

    Mage 4.3.21 https://sites.google.com/site/wownerien/ovale/mage

    150x Ovale-4.3.11\Condition.lua:807: attempt to index global "element" (a nil value)
    Ovale-4.3.11\Condition.lua:807: in function "classe"
    Ovale\Ovale-4.3.11.lua:2075: in function "CalculerMeilleureAction"
    Ovale\Ovale-4.3.11.lua:2251: in function <Ovale\Ovale.lua:1973>
    (tail call): ?
    Ovale\Ovale-4.3.11.lua:2181: in function "CalculerMeilleureAction"
    Ovale\Ovale-4.3.11.lua:2172: in function "CalculerMeilleureAction"
    Ovale\Ovale-4.3.11.lua:2172: in function "CalculerMeilleureAction"
    Ovale\Ovale-4.3.11.lua:2376: in function "CalculerMeilleureAction"
    Ovale\Ovale-4.3.11.lua:2181: in function "CalculerMeilleureAction"
    Ovale\Ovale-4.3.11.lua:2376: in function "CalculerMeilleureAction"
    Ovale-4.3.11\OvaleFrame.lua:160: in function "OnUpdate"
    Ovale-4.3.11\OvaleFrame.lua:62: in function <Ovale\OvaleFrame.lua:61>

    Locals:
    self = <table> {
    defaultCheck = <table> {}
    InitCalculerMeilleureAction = <func> @..\Ovale.lua:1720
    UNIT_SPELLCAST_CHANNEL_START = <func> @..\Ovale.lua:1227
    modules = <table> {}
    counter = <table> {}
    casesACocher = <table> {}
    AddSpellToStack = <func> @..\Ovale.lua:1493
    PLAYER_REGEN_DISABLED = <func> @..\Ovale.lua:1271
    lastSpell = <table> {}
    state = <table> {}
    IsEnabled = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:467
    AddEclipse = <func> @..\Ovale.lua:1480
    RegisterMessage = <func> @Atlas\Libs\..\CallbackHandler-1.0.lua:118
    GLYPH_UPDATED = <func> @..\Ovale.lua:1073
    ToggleCheckBox = <func> @..\Ovale.lua:2600
    meleeHaste = 1.1005019950867
    db = <table> {}
    selfDamageBuff = <table> {}
    FillSpellList = <func> @..\Ovale.lua:1346
    spellList = <table> {}
    DebugListAura = <func> @..\Ovale.lua:675
    RemplirListeTalents = <func> @..\Ovale.lua:1370
    buffSpellList = <table> {}
    RemoveSpellFromList = <func> @..\Ovale.lua:1084
    IsChecked = <func> @..\Ovale.lua:2563
    spellDamage = <table> {}
    buff = <table> {}
    OnInitialize = <func> @..\Ovale.lua:687
    NewModule = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:256
    enemies = <table> {}
    ACTIONBAR_PAGE_CHANGED = <func> @..\Ovale.lua:845
    trace = false
    enCombat = true
    UpdateFrame = <func> @..\Ovale.lua:2521
    GetName = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:300
    GetCounterValue = <func> @..\Ovale.lua:1217
    lastSpellSP = <table> {}
    name = "Ovale"
    AceConfigDialog = <table> {}
    Disable = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:330
    AddSpellToList = <func> @..\Ovale.lua:1144
    needCompile = false
    firstInit = true
    Print = <func> @Broker_RaidFinder\Libs\..\AceConsole-3.0.lua:54
    selfHasteBuff = <table> {}
    GetAura = <func> @..\Ovale.lua:1408
    CompileAll = <func> @..\Ovale.lua:714
    listeTalentsRemplie = true
    Debug = <func> @..\Ovale.lua:671
    talentIdToName = <table> {}
    Compile = <func> @..\OvaleCompile.lua:456
    HandleProfileChanges = <func> @..\Ovale.lua:723
    PLAYER_TALENT_UPDATE = <func> @..\Ovale.lua:854
    UNIT_SPELLCAST_CHANNEL_STOP = <func> @..\Ovale.lua:1236
    conditions = <table> {}
    UnregisterEvent = <func> @Atlas\Libs\..\CallbackHandler-1.0.lua:181
    gcd = 1.3630143395441
    SetDefaultModuleLibraries = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:383
    EnableModule = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:348
    defaut = <table> {}
    GetSpellInfoOrNil = <func> @..\Ovale.lua:1313
    IterateEmbeds = <func> @Bazooka\libs\Ace3\..\AceAddon-3.0.lua:458
    GLYPH_ADDED = <func> @..\Ovale.lua:1067
    playerGuid = "0x04000000054F02D6"
    Printf = <func> @Broker_RaidFinder\Libs\..\AceConsole-3.0.lua:69
    InitAllActions = <func> @..\Ovale.lua:1715
    UnregisterMessage = <func> @Atlas\Libs\..\CallbackHandler-1.0.

  • #674

    With my new Rogue I just started I seem to only get the outline of the box showing up, but without the pictures suggesting which move I make. I get no error though and the addon seems to be up to date. It only seems to be my Rogue doing it.

    Any suggestions?

  • #675

    The only explanation I can think of is that your rogue might be below level 10, in which case ovale wouldn't be working for that toon yet. Otherwise I'm not sure, I use ovale for my rogue, so I know it works with the class. You might try disabling other addons to see if it works when its the only addon running. 

  • #681

    Things I can think of with you being 13 Sub: You don't have backstab or hemo yet, which are your main fillers. I've leveled a Sub rogue since the lastest update back in May and if I remember correctly, I just had no suggestions show up until those skills were learned. It works perfectly fine for me raiding at 85, and nearly 100% certain it was working as I leveled.

  • #677

    Oddly enough the pictures show up when I am stealthed but after that is goes back to blank.

    EDIT: I dropped Sub to test out the other specs and they work, it is just Sub for me that is not working with ovale.

    Last edited by Vailwolf on 4/22/2012 11:38:04 PM
  • #676

    Im higher than Level ten, I disabled all addons and it's still doing it. I'll try reinstalling it I guess.

    EDIT: Didnt work... Do you have any other ideas? Right at this moment I am a level 13 Sub Worgen Rogue. If that means anything.

    Last edited by Vailwolf on 4/22/2012 7:00:00 PM
  • #673

    Hello, and gz for the nice addon!I use  it on my warrior for a long time and it worked nearly perfect when i was fury!I recently decided to play arms using macros for stance dance also!Does it work properly for arms pve warriors??I rarely see (not to mention never) heroic strike (i changed rage @ >75) and also in execute phase (20% and below) there is never an execute to apply the 5 stacks and then continue rotation! Is there sth wrong with the addon or am i missing sth?Keep up the good work ;)

  • #671

    ERROR using: priest-4.3.7.txt https://sites.google.com/site/wownerien/ovale/priest

      Date: 2012-03-05 16:38:21 ID: 1 Error occured in: Global Count: 1 Message: ..\AddOns\Ovale\Ovale.lua line 1166: attempt to compare number with string Debug: (tail call): ? Ovale\Ovale.lua:1166: AddSpellToList() Ovale\Ovale.lua:1251: ?() ...ist\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147: ...ist\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147 [string "safecall Dispatcher[6]"]:4: [string "safecall Dispatcher[6]"]:4 [C]: ? [string "safecall Dispatcher[6]"]:13: ?() ...ist\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire() ...s\AckisRecipeList\libs\AceEvent-3.0\AceEvent-3.0.lua:120: ...s\AckisRecipeList\libs\AceEvent-3.0\AceEvent-3.0.lua:119   ------------------------------------------------------------------- Date: 2012-03-05 16:38:21 ID: 2 Error occured in: Global Count: 12 Message: ..\AddOns\Ovale\Ovale.lua line 1672: attempt to compare number with string Debug: [C]: ? Ovale\Ovale.lua:1672: AddSpellToStack() Ovale\Ovale.lua:1765: InitCalculerMeilleureAction() Ovale\OvaleFrame.lua:159: OnUpdate() Ovale\OvaleFrame.lua:62: Ovale\OvaleFrame.lua:61
    Last edited by sapolau on 3/5/2012 4:16:53 PM
  • #672

    I'll take a look in the next day or so.

  • #668

    So  does this command "target.debuffTick(CORRUPTION)" calculates time between ticks from spell info that we must provide to addon (like example you have shown SpellInfo(CORRUPTION duration=18 tick=3)) and current haste (which is wrong method to calculate tick duration) or does it just pull this number from debuff tool-tip.

    Does commands like "castTime(SOULFIRE)" work this way too, or those can pull this info from tool-tip of appropriate spell?

  • #669

    All of the things that relate to spell times, either casting or the DoT tick, use the current value of haste.  For castTime() that is reasonably accurate for the decisions that have to be made, but for debuffTick(), it won't be quite right.  It would be nice to use the value of the haste when the DoT was applied, but unfortunately, there is no way to get that information from the WoW API after the fact from examining debuffs on the target.

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

Minecontest - Win a 2013 Minecon Cape!