Get an Epic Experience with Premium

Ovale Spell Priority

Buffs & Debuffs Login to Add Favorites
  • 48 Likes
  • World of Warcraft
  • 17,364 Monthly Downloads
  • Supports: 6.1.0
  • 2,362,382 Total Downloads
  • Updated 02/25/2015
  • Created 08/17/2008
  • 787 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: MIT License
  • Newest File: 6.1.2
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.

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

  • Death Knight: Blood, Frost, Unholy
  • Druid: Feral, Guardian, Restoration (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, Restoration
  • 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.

Features

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

FAQ

How closely are the default scripts based on SimulationCraft?

The SimulationCraft APL language and the Ovale script language are functionally very similar and concepts from one can be translated into the other in a very direct and mechanical way. For all intents and purposes, the default scripts are the SimulationCraft APLs imported into the game and displayed visually.

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.

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.

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. However, be aware that the default Ovale scripts are tuned for max-level characters and you may be missing key abilities at low levels that are assumed to exist. If the default script is not working for you, you will need to find or write a script more appropriate for your character's level.

Ovale Spell Priority 6.1.2

Changes from version 6.1.1:

  • Hunter: Fix spell ID of Kill Shot after gaining Enhanced Kill Shot perk.

Changes from version 6.1.0:

  • Druid: Update restoration script for WoD.

    • Properly detect Omen of Clarity if talented into Moment of Clarity.

    • Rejuvenation (Germination) is a Swiftmend-able HoT.

    • Add restrictions for casting Swiftmend on a target.

    • Wild Mushroom is a more expensive spell nowadays, so no longer maintain
      it as the top priority.

    • Use the correct Arcane Torrent (for when Blizzard decides to allow Blood
      Elf druids.

  • Regenerate scripts based on SimulationCraft profiles from release-610-02.

  • Merge branch 'simulationcraft'.

    Pull in changes from SimulationCraft release-610-02.

  • Only prefix the pet ability with the pet name if it's not "pet_<name>".

  • Simplify some SimulationCraft translations after aura ownership change.

    A pet-applied buff is now considered to belong to the player as well, so
    simplify some translations to drop "any=1" and handle Beast Cleave in a
    simpler way.

  • Import Tier17M profiles from SimulationCraft tag "release-610-02".

  • Consider auras applied by the player's pet to belong to the player, too.

    Fixes ticket 569 by @LunaEclipse.

  • Add requirement handlers to check for auras applied by anyone.

    The requirement handlers are:

    • buff_any
    • debuff_any
    • target_buff_any
    • target_debuff_any

    These check for buffs and debuffs on the player or the target that are
    cast by anyone, not restricted to the player.

  • Shaman: The spell IDs for Ascendance have changed in patch 6.1.

    Fixes ticket 571 by @Leafkillr.

  • Remove attempted loading of LibDispellable-1.0, which was removed.

Comments

First Previous Page 36 of 89 Next Last
  • #820

    Ovale is losing icon graphics it seems... It will hold the graphics shortly after an action bar reload, but afterwords shows only the bindings...

    EDIT: NVM, it was the ELVUI skin package causing issues... if you disable the skin it works fine...

    Last edited by pottsy710 on 3/5/2013 6:33:02 PM
  • #817

    Is there a way to make only the main attack button show?

  • #818

    No, the default scripts are designed to show at least two buttons, one for main attacks and another for cooldowns.  There are also often off-gcd icons and such, but they cannot be disabled.

  • #815

    ok, I'm not sure if this should be posted here or under the script addon one. 

    I'm having a minor bug on my brewmaster monk. 2 abilities (blackout kick and tiger palm) are showing up with the incorrect hotkey button on them.

    Here is were it gets complicated.  I leveled up as wildwalker and those buttons were on 2 and 3 on my hotbar. I made my brewmaster spec and on the new ox stance they are now on 3 and 4 instead. the problem is the labels in ovale still show them as 2 and 3. Which just adds time when they come up making sure to remember the numbers are wrong

    I have completely removed them from the fierce tiger stance bar and the numbers still show 2 and 3.If i put the abilities back on the fierce tiger stance bar i can then manualy move them to 3 and 4 and it does updae on ovale. the problem is the next time i log off and back on it revets back to 2 and 3.

     

    I have tried reseting my profile, and i've tried deleting the profile. nothing seems to fix it.

  • #816

    This sounds like an Ovale bug.  Can you file a ticket with this information?

  • #814

    I've released a 5.1.7 beta version of Ovale that has a few fixes and some updated default scripts from the latest SimC profiles.  Note that these default scripts are mechanically generated by a program and may have bugs.  If you find any, please report via the ticket system.

  • #813

    Your simcraft importing link seems to be broken. Any alternatives or eta on fix?

  • #819

    I don't have direct access to the server running the SimC importer, so I can't test fixes to it.  It will have to wait until I can set up something locally.

  • #811

    Would you be able to help me, I keep getting this error when using Ovale:

    Date: 2013-01-02 16:50:05
    ID: 2
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\Ovale\OvaleBestAction.lua line 118:
    attempt to compare number with nil
    Debug:
    Ovale\OvaleBestAction.lua:118: GetActionInfo()
    Ovale\OvaleBestAction.lua:218: Compute()
    Ovale\OvaleBestAction.lua:414: Compute()
    Ovale\OvaleBestAction.lua:683: Compute()
    Ovale\OvaleFrame.lua:174: OnUpdate()
    Ovale\OvaleFrame.lua:70:
    Ovale\OvaleFrame.lua:69
    Locals:
    self = <table> {
    GetActionInfo = <function> defined @Interface\AddOns\Ovale\OvaleBestAction.lua:78
    Compute = <function> defined @Interface\AddOns\Ovale\OvaleBestAction.lua:204
    ComputeBool = <function> defined @Interface\AddOns\Ovale\OvaleBestAction.lua:194
    StartNewAction = <function> defined @Interface\AddOns\Ovale\OvaleBestAction.lua:73
    }
    element = <table> {
    type = "function"
    castTime = 0
    nodeId = 18
    func = "spell"
    params = <table> {
    }
    }
    spellId = 49998
    action = nil
    actionTexture = nil
    actionInRange = nil
    actionCooldownStart = 3712.019
    actionCooldownDuration = 1.5
    actionUsable = nil
    actionShortcut = nil
    actionIsCurrent = nil
    actionEnable = 1
    target = "target"
    si = <table> {
    1 = 49998
    xxx = 0
    frost = 1
    aura = <table> {
    }
    runicpower = -200
    damageAura = <table> {
    }
    unholy = 1
    }
    runecd = nil
    (*temporary) = 3713.519
    (*temporary) = nil
    (*temporary) = 1
    (*temporary) = 1
    (*temporary) = nil
    (*temporary) = false
    (*temporary) = 0
    (*temporary) = 0
    (*temporary) = 0
    (*temporary) = 3
    (*temporary) = "attempt to compare number with nil"
    pairs = <function> defined =[C]:-1
    GetSpellInfo = <function> defined =[C]:-1
    GetSpellTexture = <function> defined =[C]:-1
    IsSpellInRange = <function> defined =[C]:-1
    IsUsableSpell = <function> defined =[C]:-1
    GetActionTexture = <function> defined =[C]:-1
    IsActionInRange = <function> defined =[C]:-1
    GetActionCooldown = <function> defined =[C]:-1
    IsUsableAction = <function> defined =[C]:-1
    IsCurrentAction = <function> defined =[C]:-1
    strfind = <function> defined =[C]:-1
    GetInventorySlotInfo = <function> defined =[C]:-1
    tonumber = <function> defined =[C]:-1
    tostring = <function> defined =[C]:-1
    GetItemSpell = <function> defined =[C]:-1
    GetItemIcon = <function> defined =[C]:-1
    IsItemInRange = <function> defined =[C]:-1
    GetItemCooldown = <function> defined =[C]:-1

    AddOns:
    Swatter, v5.15.5383 (LikeableLyrebird)
    NPCScan, v5.0.0.5
    NPCScanOverlay, v5.0.0.3
    ACP, v3.4.1
    AtlasLootLoader, vv7.04.01
    AucAdvanced, v5.15.5383 (LikeableLyrebird)
    AucFilterBasic, v5.15.5383 (LikeableLyrebird)
    AucFilterOutlier, v5.15.5383.5381(5.15/embedded)
    AucMatchUndercut, v5.15.5383.5381(5.15/embedded)
    AucScanData, v5.15.5383 (LikeableLyrebird)
    AucStatHistogram, v5.15.5383 (LikeableLyrebird)
    AucStatiLevel, v5.15.5383 (LikeableLyrebird)
    AucStatPurchased, v5.15.5383 (LikeableLyrebird)
    AucStatSales, v5.15.5383.5381(5.15/embedded)
    AucStatSimple, v5.15.5383 (LikeableLyrebird)
    AucStatStdDev, v5.15.5383 (LikeableLyrebird)
    AucStatWOWEcon, v5.15.5383.5323(5.15/embedded)
    AucUtilAHWindowControl, v5.15.5383.5381(5.15/embedded)
    AucUtilAppraiser, v5.15.5383.5381(5.15/embedded)
    AucUtilAskPrice, v5.15.5383.5381(5.15/embedded)
    AucUtilAutoMagic, v5.15.5383.5381(5.15/embedded)
    AucUtilCompactUI, v5.15.5383.5381(5.15/embedded)
    AucUtilEasyBuyout, v5.15.5383.5381(5.15/embedded)
    AucUtilFixAH, v5.15.5383 (LikeableLyrebird)
    AucUtilItemSuggest, v5.15.5383.5381(5.15/embedded)
    AucUtilPriceLevel, v5.15.5383.5381(5.15/embedded)
    AucUtilScanButton, v5.15.5383.5320(5.15/embedded)
    AucUtilScanFinish, v5.15.5383.5381(5.15/embedded)
    AucUtilScanProgress, v5.15.5383.4979(5.15/embedded)
    AucUtilScanStart, v5.15.5383.5381(5.15/embedded)
    AucUtilSearchUI, v5.15.5383.5381(5.15/embedded)
    AucUtilSimpleAuction, v5.15.5383.5381(5.15/embedded)
    AucUtilVendMarkup, v5.15.5383.4828(5.15/embedded)
    Babylonian, v5.1.DEV.332(/embedded)
    BeanCounter, v5.15.5383 (LikeableLyrebird)
    Configator, v5.1.DEV.344(/embedded)
    DBMCore, v
    DebugLib, v5.1.DEV.337(/embedded)
    ElvUI, v5.16
    Enchantrix, v5.15.5383 (LikeableLyrebird)
    EnchantrixBarker, v5.15.5383 (LikeableLyrebird)
    GatherMate2, v1.23.1
    GTFO, v4.18.1
    Informant, v5.15.5383 (LikeableLyrebird)
    LibAboutPanel, v1.6.0
    LibExtraTip, v5.12.DEV.342(/embedded)
    MikScrollingBattleText, v5.7.125
    MogIt, v3.0.6
    NerienOvaleScripts, v2.1.11
    OmniCC, v5.1.3
    Ovale, v5.1.6
    Overachiever, v0.70
    Postal, v3.5.1
    RaidAchieveFilter, v1.6
    RaidAchievement, v1.110
    RaidAchievementAchieveReminder, v
    Recount, v
    Routes, vv1.4.2-4-gafa7d39
    SharedMediaAdditionalFonts, v1.0.13
    SlideBar, v5.15.5383 (LikeableLyrebird)
    Stubby, v5.15.5383 (LikeableLyrebird)
    TidyPlates, v6.8.2 (R559)
    TidyPlatesGraphite, v
    TidyPlatesGrey, v
    TidyPlatesNeon, v
    TidyPlatesQuatre, v
    TidyPlatesThreatPlates, v6.008
    TidyPlatesHub, v
    TidyPlatesWidgets, v
    TipHelper, v5.12.DEV.343(/embedded)
    ZygorGuidesViewer, v4.0
    BlizRuntimeLib_enUS v5.1.0.50100 <us>
    (ck=a63)

     

     

  • #810

    Where is the ability to choose another script to use?

    when I type "/ovale config", I get the options window, but there is absolutely NO button or anythign that I can identify to choose another script.  I've read that its' at the bottom of the config window, but it's NOT there.

    Please help, thanks. :)

  • #812

    type: /ovale code

  • #809

    Very usefull to learn a rotation for a new class :) or after 2 years without playing :)

    Thanks

  • #808

    When I log onto my Monk Ovale just doesn't seem to show up, no matter what command I type in or w/e options I mess with. Is the Monk simply not available yet for Ovale?

  • #807

    Error:  (I use it with Nerien's Ovale Scripts)

    1x Ovale-5.1.4\OvaleCompile.lua:457: script ran too long
    Ovale-5.1.4\OvaleCompile.lua:457: in function <Ovale\OvaleCompile.lua:439>
    Ovale-5.1.4\OvaleCompile.lua:619: in function "Compile"
    Ovale\Ovale-5.1.4.lua:94: in function "CompileAll"
    Ovale-5.1.4\OvaleFrame.lua:150: in function "OnUpdate"
    Ovale-5.1.4\OvaleFrame.lua:70: in function <Ovale\OvaleFrame.lua:69>

    Locals:
    self = <table> {
    CompileComments = <func> @Ovale\OvaleCompile.lua:554
    CompileDeclarations = <func> @Ovale\OvaleCompile.lua:569
    CompileInputs = <func> @Ovale\OvaleCompile.lua:560
    Compile = <func> @Ovale\OvaleCompile.lua:599
    DebugNode = <func> @Ovale\OvaleCompile.lua:644
    }
    text = " SpellList(savage_roar_buff 52610 127538) AddFunction FFF { if TalentPoints(7) Spell(102355) if not TalentPoints(7) Spell(770) } AddFunction SavageRoar { if Glyph(127540) Spell(127538) if Glyph(127540 no) and ComboPoints(more 0) Spell(52610) } AddFunction TimeUntilTargetIsDead { target.TimeToDie() } AddFunction MinRatioForRipOverwrite { if {TimeUntilTargetIsDead() >120} 112 if {TimeUntilTargetIsDead() <=120} {{0.002*{180.00-TimeUntilTargetIsDead()}} + 1.00} * 100 } AddFunction RakeTickDamage { Damage(1822) * {1 + Mastery()/100} } AddFunction LastRakeTickDamage { LastSpellEstimatedDamage(1822) * {1 + LastSpellMastery(1822)/100} } AddFunction RakeTickDamageRatio { if TargetDebuffPresent(1822) {100 * RakeTickDamage()/LastRakeTickDamage()} unless TargetDebuffPresent(1822) 100.0 } AddFunction RipTickDamage { Damage(1079) * {1 + Mastery()/100} } AddFunction LastRipTickDamage { LastSpellEstimatedDamage(1079) * {1 + LastSpellMastery(1079)/100} } AddFunction RipTickDamageRatio { if TargetDebuffPresent(for generator) = <func> =[C]:-1
    (for state) = nil
    (for control) = "MainRotation"
    p = "MainRotation"
    t = "{ if BITWRange() and ComboPoints(more 0) and TargetDebuffPresent(1079) and TargetDebuffExpires(1079 2.9) Spell(22568) if CheckBoxOn(lucioles) and target.DebuffStacks(113746 any=1) <3 FFF() if TimeUntilTargetIsDead() >=6 and BuffPresent(135700) and TargetDebuffExpires(106830 3) and BuffExpires(108381) Spell(106830) if BITWRange() { if BuffRemains(savage_roar_buff) <=3 and ComboPoints(more 0) and BuffExpires(108381) SavageRoar() if TalentPoints(17) and BuffExpires(108381) and BuffExpires(69369) and ComboPoints() >=5 Spell(132158) if ComboPoints() >=5 and TimeUntilTargetIsDead() >30 and RipTickDamageRatio() >=114 Spell(1079) if TargetDebuffPresent(1079) and ComboPoints() >=5 Spell(22568) } if BuffPresent(108381) and ComboPoints() >=5 and TimeUntilTargetIsDead() >6 and {TargetDebuffExpires(1079 2) or {TargetDebuffExpires(1079 6) and RipTickDamageRatio() >=100 and not BITWRange()}} Spell(1079) if BuffRemains(savage_roar_buff) <=3 and ComboPoints(more 0) and BuffExpires(108381) and TalentPoints(17) SavageRoarnode = <table> {
    1 = <table> {}
    2 = <table> {}
    3 = <table> {}
    4 = <table> {}
    5 = <table> {}
    6 = <table> {}
    7 = <table> {}
    8 = <table> {}
    9 = <table> {}
    10 = <table> {}
    11 = <table> {}
    12 = <table> {}
    13 = <table> {}
    14 = <table> {}
    15 = <table> {}
    16 = <table> {}
    17 = <table> {}
    18 = <table> {}
    19 = <table> {}
    20 = <table> {}
    21 = <table> {}
    22 = <table> {}
    23 = <table> {}
    24 = <table> {}
    25 = <table> {}
    26 = <table> {}
    27 = <table> {}
    28 = <table> {}
    29 = <table> {}
    30 = <table> {}
    31 = <table> {}
    32 = <table> {}
    33 = <table> {}
    34 = <table> {}
    35 = <table> {}
    36 = <table> {}
    37 = <table> {}
    38 = <table> {}
    39 = <table> {}
    40 = <table> {}
    41 = <table> {}
    42 = <table> {}
    43 = <table> {}
    44 = <table> {}
    45 = <table> {}
    46 = <table> {}
    47 = <table> {}
    48 = <table> {}
    49 = <table> {}
    50 = <table> {}
    51 = <table> {}
    52 = <table> {}
    53 = <table> {}
    54 = <table> {}
    55 = <table> {}
    56 = <table> {}
    57 = <table> {}
    58 = <table> {}
    59 = <table> {}
    60 = <table> {}
    61 = <table> {}
    62 = <table> {}
    63 = <table> {}
    64 = <table> {}
    65 = <table> {}
    66 = <table> {}
    67 = <table> {}
    68 = <table> {}
    69 = <table> {}
    70 = <table> {}
    71 = <table> {}
    72 = <table> {}
    73 = <table> {}
    74 = <table> {}
    75 = <table> {}
    76 = <table> {}
    77 = <table> {}
    78 = <table> {}
    79 = <table> {}
    80 =

    Last edited by Aisenfaire on 12/7/2012 10:41:18 PM
  • #805

    Since Ovale doesn't have a dual profile option, is there a macro that can be made that switches the Ovale profile on command?

    For ex, I like having Ovale on in my secondary feral cat form, but don't want it on when im tanking. But I'd like if when I hit my macro that switches to my primary bear spec (which also switches a few things that I have built in like switching gear manager), I could also switch Ovale profiles at the same time.

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

Legends of Hoenn Tin Giveaway