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 based on SimulationCraft. You may also customize the default script to suit your needs (see [Documentation][]) or use scripts made by other users. Tank scripts based on guides from Icy Veins are maintained by the Ovale_TankScripts addon.
Please use the Discord Server to submit scripts or discuss them. If you want to report bugs, use the ticket manager. You may contribute code on our Github project or help with translation.
See the video of a survival hunter using Ovale during Wrath of the Lich King.
Features
- Tracks DoTs, buffs, debuffs, cooldowns, combo points, runes, mana -- everything that a player would need to decide what to do.
- Adapts to your equipment and talents.
- 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.
- Uses LibButtonGlow-1.0 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. The currently supported action bars are the default UI and Dominos.
Why don't my abilities flash on my action bars?
You may be running an action bar addon, e.g., Bartender4, etc., that does not use the Blizzard action bar frames. The currently supported action bars are the default UI and Dominos.
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. 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.
LOSS_OF_CONTROL_ACTIVE_INDEX = 1
.....
self.tracer:Debug("GetEventInfo:", eventIndex , C_LossOfControl.GetActiveLossOfControlData(LOSS_OF_CONTROL_ACTIVE_INDEX))
local data = C_LossOfControl.GetActiveLossOfControlData(LOSS_OF_CONTROL_ACTIVE_INDEX)
Seriously People, unless you installed the game in the last 30 days, you should be aware by now that it takes a lot of work and effort for these guys to unbreak these addons with each patch. Especially during Pre-Patch and the new Expansion. Expect the addon to not work also the day Shadowlands drops. If it does, feel grateful. Stop being weirdos wondering why addons aren't working, it's been a simple fact for the past decade.
Great Job guys on the work you do. Keep it up.
When they state they have a working addon up and running, then report bugs. It could be a simple coding issue that resolves it once it goes live. That way actual bug reports don't get fixed because they are wasting time looking for issues that will self-address once they have the code updated.
In reply to Soulsmacka:
meh
I keep getting this after the current patch update.
I think it's supposed to be summon_demonic_tyrant, but I've been wrong before. Thanks for the update and all that you do for us!
from chat box after login:
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
OvaleCompile: Error: Unknown spell list dummon_demonic_tyrant in spellcooldown(dummon_demonic_tyrant).
For what it's worth, I'd probably would have quit the game if it wasn't for this add-on. Can't wait for the update + donated.
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
Ovale: runeforge.dashing_scoundrel.equipped is not implemented
Ovale: animacharged_cp is not implemented
Ovale: level is not implemented
Ovale: runeforge.mark_of_the_master_assassin.equipped is not implemented
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
AAP Loaded
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
OvaleCompile: Error: Unknown spell list flagellation_cleanse in spell(flagellation_cleanse).
Getting some of these errors in chat everytime i login.
p_fragment in spell(pick_up_fragment).
Ovale: conduit.serrated_glaive.enabled is not implemented
Ovale: desired_targets is not implemented
Ovale: demon_soul_fragments is not implemented
OvaleCompile: Error: Unknown spell list metamorphosis_havoc in spellcooldown(metamorphosis_havoc).
OvaleCompile: Error: Unknown spell list metamorphosis_havoc in spellcooldown(metamorphosis_havoc).
OvaleCompile: Error: Unknown spell list metamorphosis_havoc in spellcooldown(metamorphosis_havoc).
OvaleCompile: Error: Unknown spell list metamorphosis_havoc in spellcooldown(metamorphosis_havoc).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
OvaleCompile: Error: Unknown spell list pick_up_fragment in spell(pick_up_fragment).
addon not usable after patch which is a real downer, been using this on all chars for years, I've made the switch to hekili until it's fixed.
In reply to merdips: patch just came out, give it a couple days.
thanks for this great Addon, but spellflash is not funktionally.
The links for SpellFlash and SpellFlashCore redirect offsite.
my oval is posting in chat and not showing correct spell priorityhas been doing it since 9.0.0
showing kill shot on hunter when it's not useable
In reply to merdips:
Same for me. also showing lots of errors like for Sidoine
Another finding: when using the simc addon to import into SimulationCraft, after we copy the lines from the simc_gui.simc file and paste them into Ovale -> SimulationCraft -> Input, the Output does not complete.
From simc addon:
# Flossbolt - Fire - 2020-01-27 12:05 - US/Area 52
# SimC Addon 1.12.5
# Requires SimulationCraft 820-01 or newer
mage="Flossbolt"
level=120
race=blood_elf
region=us
server=area_52
role=spell
talents=1211223
spec=fire
head=,id=167754,bonus_id=6296/6300/1472/4786/5414,azerite_powers=
neck=,id=158075,bonus_id=4932/4933/4935/1484,context=11,azerite_level=7
shoulder=,id=167756,bonus_id=6296/6300/1472/4786/5415,azerite_powers=
back=,id=169488,bonus_id=6288/6300
chest=,id=167779,bonus_id=6296/6300/1472/4786/5413,azerite_powers=
wrist=,id=170123,bonus_id=6288/6300
hands=,id=170333,bonus_id=6288/6300
waist=,id=167757,bonus_id=6288/6300/43
legs=,id=170107,bonus_id=6288/6300
feet=,id=170140,bonus_id=6288/6300
finger1=,id=155455,bonus_id=4787,drop_level=119,context=11
finger2=,id=128169,bonus_id=5805
trinket1=,id=122362,bonus_id=5805
trinket2=,id=122362,bonus_id=5805
main_hand=,id=163872,bonus_id=1562/4786,context=30
### Gear from Bags
#
# Mountainsage Medallion (176)
# neck=,id=153815
#
# Mantle of the Champion (285)
# shoulder=,id=160921,bonus_id=4775,context=11,azerite_powers=82/87/13
#
# Lastwind Robes (280)
# chest=,id=155404,bonus_id=1452/4785,context=25,azerite_powers=170/15
#
# Festive Black Pant Suit (1)
# chest=,id=21541,context=14
#
# Lastwind Wristguards (294)
# wrist=,id=161269,bonus_id=4790/4791,drop_level=119,context=11
#
# Loa Speaker's Handwraps (245)
# hands=,id=158985,bonus_id=4793,drop_level=114,context=11
#
# Loa Speaker's Cincture (263)
# waist=,id=159035,bonus_id=4793,drop_level=116,context=11
#
# Tattered Dreadmist Leggings (284)
# legs=,id=122256,bonus_id=5805
#
# Lastwind Sandals (272)
# feet=,id=155389,bonus_id=4787,drop_level=118,context=11
#
# Mountainsage Ring of Destruction (176)
# finger1=,id=153818
#
# Mountainsage Band of Destruction (176)
# finger1=,id=153817
#
# Mountainsage Idol of Destruction (176)
# trinket1=,id=153816
#
# Mountainsage Stone of Destruction (176)
# trinket1=,id=153819
#
# Dignified Headmaster's Charge (284)
# main_hand=,id=122353,bonus_id=5805
#
# Rivermarsh Machete of the Fireflash (266)
# main_hand=,id=159596,bonus_id=4796/1694,drop_level=119
#
# Overflowing Purple Brewfest Stein (5)
# main_hand=,id=56836,context=11
Pasting lines from file to Ovale -> Input produces these results in Output:
# Based on SimulationCraft profile "Flossbolt".
# class=mage
# spec=fire
# talents=1211223
Include(ovale_common)
Include(ovale_trinkets_mop)
Include(ovale_trinkets_wod)
Include(ovale_mage_spells)
### Fire icons.
AddCheckBox(opt_mage_fire_aoe l(aoe) default specialization=fire)
^ This is all it places in the output. Can this be resolved?
Not really sure how best to describe it, but I run Ovale and Ovale Tank Scripts, when I updated to 8.3.1-beta whenever I joined any Party or raid it freezes my game out.
I downgraded to 8.30 and it works fine
In reply to Forge_User_49870489:
I take it back, not working for 8.30 either
Hello,
First, at all, I want to thank you for an outstanding addon.
Is there any option (or anyone knows how to do) attach or tie buttons (spell's iconsl) to the target's nameplate?
Ovale is freezing my game and I have to restart (I click on the icon near my minimap and then my game freezes)
Thank you for an otherwise awesome addon!
Thx Sidoine for solving the "Recursive call is not supported" issue ! at least on github repository :)