Leafkiller wrote:How would I calculate "(time until health is 25%) < 16 seconds"?

Let TTD = TargetTimeToDie() and H = TargetHealthPercent(). At any given time, Ovale estimates that it takes TTD seconds to remove H amount of health from the target, which means the rate of damage is H/TTD health per second.

I had a go at tanking with the script over the weekend and Savage Defence didn't seem to be working as I'd expected it to. It was asking me to refresh Savage Defence before the 6 second buff had finished on a very regular basis, to the extent that I started to ignore it. I didn't have time to try and see if I could spot anything that might have caused this odd behaviour unfortunately, but thought I'd bring it up.

What you are seeing is expected. When you hit Savage Defense with the buff still up it is just extended by 6 seconds. Spamming SD like this won't hurt your uptime at all. Also remember that the script is just letting you know you have enough rage for SD and that SD is available. If you don't want to use SD because you know you need to save it for a big hit you can an ignore the suggestion and spend it on something else (Maul, FR). Be aware now that we are swimming in rage (85 only) so you will be able to cap out on SD max uptime VERY easy.

I apologize if this is simply not the place for reporting the problem. Please let me know. I didn't see an obvious post dictating where bugs should be reported.

I'm seeing an issue with SavageRoar always appearing in ovale. I reset ovale to the default script to make sure it wasn't a bug with ovale. From what I can tell, it appears to work properly. Which means there must be an issue with ovale in conjunction with Leafkiller's script.

A) is anyone else seeing this issue or is it something on my end? (haven't done the "clear wtf files" bit yet.)

B) is there something up with how BuffRemains() is working? or is the SAVAGEROAR define somehow incorrect now? Just doing some initial guesswork as to what might be wrong.

I've just tagged Ovale 5.0.4. This version should makes things a bit easier for writing druid scripts.

The changes for Ferals:

For finishers that consume all of their combo points, you should use combo=0 instead of combo=-5 in the SpellInfo() for that finisher. The only exception is Savage Roar if Glyph of Savagery is present. Usually, you can't do a finisher with 0 CPs and Ovale assumes that is always true. So, for Savage Roar, you can do:

You can also use LastSpellEstimatedDamage(rip) to get the snapshotted damage estimate of the last Rip. Note that these estimates won't include the damage multipliers for mastery effects.

The changes for Guardians:

SpellCharges(id) can be used to get the remaining number of charges on Savage Defense.

SpellChargeCooldown(id) can be used to get the remaining cooldown before gaining another charge of the spell.

target.IsAggroed() can be used to to check if the target's primary target is the player. This will return true even if the target looks at someone else to cast a spell on him before turning back to the tank. Basically, this condition lets you know if you're tanking the target or not, and can be used on boss fights with a tank swap to suggest using Maul over Savage Defense.

I changed the value in leafkiller's to 52610 and that seemed to fix it. Please tell me if this is incorrect in anyway.

Ok, I just did a test. If I remove the glyph of Savagery, the spell ID for the Savage Roar buff is 52610. If I have the Glyph of Savagery, regardless of the number of combo points used for the Savage Roar, the spell ID for the Savage Roar is 127538. So I am 99% sure your issue is that you are not using the Glyph of Savagery.

I can change the script to detect the presence/absence of the Glyph of Savagery, but the script (and the simulationcraft rotation) are based on this Glyph being present.

I am going to be working on the level 90 script over the next week. I want something ready before MoP, but I am somewhat dependent on getting the rest of the talents optimized in the simc script (some combination of time spent by myself and aggixx).

I am anticipating coming back to you with questions along the way. I am not sure what I will be able to get tested over the next week though. Depends on beta availability and also having Tinder around since I don't have a level 90 on Beta...so it may wait until I hit 90 on live in a couple of weeks...

Ok, I just did a test. If I remove the glyph of Savagery, the spell ID for the Savage Roar buff is 52610. If I have the Glyph of Savagery, regardless of the number of combo points used for the Savage Roar, the spell ID for the Savage Roar is 127538. So I am 99% sure your issue is that you are not using the Glyph of Savagery.

I can change the script to detect the presence/absence of the Glyph of Savagery, but the script (and the simulationcraft rotation) are based on this Glyph being present.

Ahh, that makes sense. Thank you for the heads up. I'm going to give a shot at making a function to check for that. I may use you as a baseline of how well I'm learning the language.

Leafkiller wrote:Ok, I just did a test. If I remove the glyph of Savagery, the spell ID for the Savage Roar buff is 52610. If I have the Glyph of Savagery, regardless of the number of combo points used for the Savage Roar, the spell ID for the Savage Roar is 127538. So I am 99% sure your issue is that you are not using the Glyph of Savagery.

I just looked at it as well. It's not just the buff that changes IDs, it's the spell itself. You can handle it with:

aggixx wrote:If I remember correctly from my messing around on beta, savage roar is still the same ID as it is on live, but Savagery has it's own spell ID that's probably the 127 number you listed. I could be wrong.

If so, it does not seem to work properly. Rake is being suggested at <1% on zon'ooz. Further testing right now.

SR code still seem to me way too much favored compared to rip, especially in the begining of the fight where we start with 0 CP SR from glyph and are able to RIP quite fast. I guess if it was possible to get the script act a bit more different at the fight start to go with 0 CP SR than with 5 CP rip regardless what happens pretty much couse we are pretty guaranteed to have that 5 CP in 12sec no matter what.