Get an Epic Experience with Premium

Ovale Spell Priority

Buffs & Debuffs Login to Add Favorites
  • 49 Likes
  • World of Warcraft
  • 76,191 Monthly Downloads
  • Supports: 6.2.0
  • 2,453,609 Total Downloads
  • Updated 06/30/2015
  • Created 08/17/2008
  • 806 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: MIT License
  • Newest File: 6.2.7
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.2.7

Changes from version 6.2.6:

  • Mage: Avoid suggesting the "end of fight" burn phase altogether.

    Let the player figure out when it's okay to keep casting Arcane Blast near
    the end of a fight. The DPS difference is minimal.

Changes from version 6.2.5:

  • Regenerate scripts based on SimulationCraft profiles from 2015-06-30.

    Add Shatterlance buff from the Archimonde trinket to the mage spell
    database to support the latest frost mage profile.

  • Merge branch 'simulationcraft'.

    Pull in changes from SimulationCraft git master from 2015-06-30.

  • Import Tier18M profiles from SimulationCraft git master from 2015-06-30.

  • Mage: Only do "end of fight" burn as arcane if there is one enemy.

  • Strictly filter for actions to or against friendly group members.

    Add a function to determine whether a mob is a friendly group member and
    use it to filter out CLEU actions. This fixes situations where a
    player-controlled unit that was outside the group was triggering enemies
    being added or removed.

    Also check for a proper GUID and name for the source and destination GUIDs
    in the CLEU handler. This filters out environmental damage as well as
    damage from unattackable mobs.

    Add checks for other CLEU events that are triggered by a unit dying so the
    enemy count is reduced more quickly.

    Only track events that cause tagging by either the enemy or your group,
    but filter out ticking DoT damage from triggering enemy updates. Ticking
    DoT damage causes false positives after the casting mob has died. Filter
    out these events from triggering the update of the enemy count.

    This is potentially wrong in the scenario where you join a raid group or
    get in range of a friendly group member who has an existing DoT ticking on
    them and the caster is no longer being attacked or casts any other
    dangerous spells. In this case, it's likely that the caster is no longer
    a threat, so arguably not counting that caster makes sense.

    These changes improve the accuracy of the count of the number of enemies
    on the battlefield.

Comments

First Previous Page 40 of 90 Next Last
  • #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...

    So:

    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

     

  • #764

    Pretty annoying when you are notified to recast buffs that you already have just because somebody else of your class casts that buff (Power Word: Fortitude, Shadowform). Is there a fix for this?

  • #763

    Getting the following error upon logging characters in with the latest version. Keep up the great work on this Addon, feel naked without it  :)

     

    Date: 2012-09-21 10:57:01
    ID: 1
    Error occured in: Global
    Count: ∞
    Message: ..\AddOns\Ovale\OvaleCondition.lua line 1271:
       attempt to perform arithmetic on global 'duration' (a nil value)
    Debug:
       [C]: ?
       Ovale\OvaleCondition.lua:1271: classe()
       Ovale\OvaleBestAction.lua:304: Compute()
       Ovale\OvaleBestAction.lua:493:
          Ovale\OvaleBestAction.lua:203
       (tail call): ?
       Ovale\OvaleBestAction.lua:493: Compute()
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:401:
          Ovale\OvaleBestAction.lua:203
       (tail call): ?
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:471:
          Ovale\OvaleBestAction.lua:203
       (tail call): ?
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:401: Compute()
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:401: Compute()
       Ovale\OvaleBestAction.lua:671: Compute()
       Ovale\OvaleFrame.lua:171: OnUpdate()
       Ovale\OvaleFrame.lua:67:
          Ovale\OvaleFrame.lua:66
    Locals:

    AddOns:
      Swatter, v4.0.3 (<%codename%>)
      NPCScanOverlay, v5.0.0.1
      AckisRecipeList, v2.4
      Altoholic, v5.0.001d
      AtlasLootLoader, vv7.00.01
      Auctionator, v3.0.5
      Babylonian, v5.1.DEV.332(/embedded)
      BadBoy, v11.100
      BagBrother, v
      Bagnon, v5.0.4
      Castbars, v
      Configator, v5.1.DEV.335(/embedded)
      DataStore, v5.0.001
      DataStoreAchievements, v5.0.001
      DataStoreAgenda, v5.0.001
      DataStoreAuctions, v5.0.001
      DataStoreCharacters, v5.0.001
      DataStoreContainers, v5.0.001
      DataStoreCrafts, v5.0.001
      DataStoreCurrencies, v5.0.001
      DataStoreInventory, v5.0.001
      DataStoreMails, v5.0.001
      DataStorePets, v5.0.001
      DataStoreQuests, v5.0.001
      DataStoreReputations, v5.0.001
      DataStoreSpells, v5.0.001
      DataStoreStats, v5.0.001
      DataStoreTalents, v5.0.001
      DBMCore, v
      DBMLDB, v
      Decursive, v2.7.1.1
      Gatherer, v4.0.3
      GTFO, v4.14.2
      IceHUD, v1.8.8 (Revision: 916)
      InFlightLoad, v5.0.001
      MikScrollingBattleText, v5.7.122
      MogIt, v3.0.5
      OmniCC, v5.0.3
      Ovale, v5.0.1
      Postal, v3.5.0
      QuestGuru, v2.2.13-50001
      QuestGuruTracker, v1.5.14-50001
      Recount, v
      sellgrey, v5.0.4 (01 sept 2012)
      SilverDragon, vv3.0
      SlideBar, v4.0.3 (<%codename%>)
      TargetPercent, v2.01
      Titan, v5.1.5.50001
      TitanBag, v5.1.5.50001
      TitanClock, v5.1.5.50001
      TitanGold, v5.1.5.50001
      TitanLocation, v5.1.5.50001
      TitanLootType, v5.1.5.50001
      TitanPerformance, v5.1.5.50001
      TitanRepair, v5.1.5.50001
      TitanVolume, v5.1.5.50001
      TitanXP, v5.1.5.50001
      VuhDo, v3.5
      VuhDoOptions, v3.5
      XLoot10, vz32-release
      XPBarNone, vv1.5.10
      BlizRuntimeLib_enUS v5.0.5.50001 <eu>
      (ck=634)

  • #765

    Please test r538 and let me know if that fixes the problem.  I think it only affected warlocks since their default script used the offending Ticks() condition.

  • #769

    Yes, latest version has now sorted the login error problem  :)  thank you very much for the speedy responses.

  • #767

    I've made a fix in r539 that hopefully clears this error.

  • #766

    Downloaded r538 but getting this on login now, and yeah it does appear to be Locks that are bugging out. Hope this helps.

     

    Date: 2012-09-21 15:27:10
    ID: 1
    Error occured in: Global
    Count: ∞
    Message: ..\AddOns\Ovale\OvaleCondition.lua line 1266:
       attempt to index field 'state' (a nil value)
    Debug:
       [C]: ?
       Ovale\OvaleCondition.lua:1266: classe()
       Ovale\OvaleBestAction.lua:304: Compute()
       Ovale\OvaleBestAction.lua:493:
          Ovale\OvaleBestAction.lua:203
       (tail call): ?
       Ovale\OvaleBestAction.lua:493: Compute()
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:401:
          Ovale\OvaleBestAction.lua:203
       (tail call): ?
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:471:
          Ovale\OvaleBestAction.lua:203
       (tail call): ?
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:401: Compute()
       Ovale\OvaleBestAction.lua:194: ComputeBool()
       Ovale\OvaleBestAction.lua:401: Compute()
       Ovale\OvaleBestAction.lua:671: Compute()
       Ovale\OvaleFrame.lua:171: OnUpdate()
       Ovale\OvaleFrame.lua:67:
          Ovale\OvaleFrame.lua:66



  • #762

    I asked this before to see if we could get a latency gold thing around the buttons.  Normal action buttons do this so you know if you're getting lagged or not.  This becomes a big problem when I click my ability and ovale starts cooling it down, only to have it snap back 300 or so MS later.  Regular action buttons don't do this.

    Ovale is pretty close to an actionbar mod without changing your UI to do it.  But this one thing always becomes a huge issue when the server gets lagged.

     

    Also how do you change the frame strata of the bar?

     

    Last edited by Galvin on 9/20/2012 6:33:56 PM
  • 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 »

Gamepedia Free-shirt Giveaway