Register

Leafkiller's 5.04 Feral/Guardian Ovale Script

Face-rippin fun.

Moderator: Forum Administrators

Honored
Posts: 188
Joined: Tue Dec 14, 2010 5:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Sun Sep 16, 2012 9:44 pm

Leafkiller wrote:From now on, depending on the rotation, I am going to need to know the damage coefficients for all three DoTs...Thrash, Rip and Rake.

There is a problem with computing the correct amount of Rip damage that I've noted in Ovale ticket 161.

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Mon Sep 17, 2012 12:38 am

@Jeshu
Since BitW does not snapshot stats on FBs, we are trying to make sure we have an optimized Rip (TF and DoC) to carry through the last 25%. Here is an example line from simc:

actions+=/natures_swiftness,if=combo_points>=5&$(ttBitW)<16&buff.tigers_fury.up&buff.dream_of_cenarius_damage.down&buff.predatory_swiftness.down

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

I also need to make sure that time to die is large enough that I know this is not an add - and probably make a checkbox to disable this for fights with lots of target swaps...


Edit: We took the lines that tried to anticipate BiTW ahead of time out of the script so don't worry about my question and certainly don't try to code anything for it.

Honored
Posts: 188
Joined: Tue Dec 14, 2010 5:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Mon Sep 17, 2012 11:57 am

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.

Time until health is 25% = (25 * TTD / H) seconds

Posts: 4
Joined: Mon Mar 22, 2010 9:25 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Alcowhorlick » Mon Sep 17, 2012 12:41 pm

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.

Exalted
User avatar
Posts: 1593
Joined: Mon May 24, 2010 10:21 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Tinderhoof » Mon Sep 17, 2012 1:09 pm

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.

Posts: 3
Joined: Mon Sep 17, 2012 10:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby bando » Mon Sep 17, 2012 10:47 pm

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.

Posts: 3
Joined: Mon Sep 17, 2012 10:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby bando » Mon Sep 17, 2012 10:49 pm

So if I am understanding how the script works correctly it looks like the Define for SAVAGEROAR is incorrect.

the default script uses a different value --
Code: Select all
Define(savage_roar 52610)
  SpellInfo(savage_roar duration=12 combo=0 energy=25 )
  SpellAddBuff(savage_roar savage_roar=1)


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

Honored
Posts: 188
Joined: Tue Dec 14, 2010 5:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Mon Sep 17, 2012 11:27 pm

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:
    Code: Select all
    Define(savage_roar ...)
        SpellInfo(savage_roar combo=0)
        SpellInfo(savage_roar combo=-5 glyph=glyph_of_savagery)
    Define(glyph_of_savagery ...)
    The second SpellInfo() will overwrite any matching parameters that were set in the first SpellInfo().
  • Use the Damage(id) and LastSpellEstimatedDamage(id) conditions. For example, you can add SpellInfo() for Rip that looks like:
    Code: Select all
    Define(dream_of_cenarius_damage 108381)
        SpellInfo(dream_of_cenarius_damage duration=30)
    Define(rip 1079)
        SpellInfo(rip duration=16 energy=30 tick=2 combo=0)
        SpellInfo(rip base=113 bonuscp=320 bonusapcp=0.3872) # damage coefficients
        SpellAddTargetDebuff(rip rip=1)
        SpellDamageBuff(rip dream_of_cenarius_damage=1.25)
    With the above information, you can use Damage(rip) as a script condition returning a number that's computed as:
    Code: Select all
    Damage(rip) == { 113 + (320 * CP) + (0.3872 * AP * CP) } * DamageMultiplier(rip)
    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.

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Tue Sep 18, 2012 1:44 am

bando wrote:So if I am understanding how the script works correctly it looks like the Define for SAVAGEROAR is incorrect.

the default script uses a different value --
Code: Select all
Define(savage_roar 52610)
  SpellInfo(savage_roar duration=12 combo=0 energy=25 )
  SpellAddBuff(savage_roar savage_roar=1)


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.

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Tue Sep 18, 2012 1:49 am

@Jeshu

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

Exalted
User avatar
Posts: 1593
Joined: Mon May 24, 2010 10:21 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Tinderhoof » Tue Sep 18, 2012 3:24 am

I have been really MIA the last week due to work ramping up for a ship cycle and some general burn out. I will be around this week a bit more and ready to help you test.

Exalted
User avatar
Posts: 1201
Joined: Fri Nov 25, 2011 7:49 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Tue Sep 18, 2012 9:24 am

It should be possible to test a DoC script at level 85 with some strategic edits so that it acts like you do have DoC and that spells that are cast when you have DoC up are actually empowered.
Image

Posts: 3
Joined: Mon Sep 17, 2012 10:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby bando » Tue Sep 18, 2012 7:39 pm

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.

edit: where do you find all the spell ID's?

Exalted
User avatar
Posts: 1201
Joined: Fri Nov 25, 2011 7:49 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Tue Sep 18, 2012 7:41 pm

bando wrote:
edit: where do you find all the spell ID's?

For the most part, search the name of the spell on Wowhead and then look at the URL. Some spells can be a little tricky though!
Image

Honored
Posts: 188
Joined: Tue Dec 14, 2010 5:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Tue Sep 18, 2012 8:32 pm

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:
Code: Select all
Define(glyph_of_savagery 127540)
Define(savage_roar 127538)
    SpellInfo(savage_roar duration=18 combo=0 energy=25)
    SpellAddBuff(savage_roar savage_roar=1)
Define(savage_roar_glyphed 52610)
    SpellInfo(savage_roar_glyphed duration=12 combo=-5 energy=25)
    SpellAddBuff(savage_roar_glyphed savage_roar_glyphed=1)
SpellList(savage_roar_buff 52610 127538)

AddFunction SavageRoar
{
    if Glyph(glyph_of_savagery) Spell(savage_roar_glyphed)
    if Glyph(glyph_of_savagery no) and ComboPoints(more 0) Spell(savage_roar)
}
And then where you check for the Savage Roar buff, e.g., BuffRemains(savage_roar), you would use savage_roar_buff and where you would do Spell(savage_roar) you would do instead SavageRoar().

Edit1: glyphed SR needs combo=-5, not combo=0.
Edit2: Add CP check in non-glyphed SR case.
Last edited by Jeshu on Tue Sep 18, 2012 9:59 pm, edited 2 times in total.

Exalted
User avatar
Posts: 1201
Joined: Fri Nov 25, 2011 7:49 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Tue Sep 18, 2012 8:41 pm

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.
Do I get a cookie?
Image

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Tue Sep 18, 2012 9:22 pm

In addition to what Jeshu wrote we would have to change the first SR conditional in the script since it does not check for combo points > 0.

Honored
Posts: 188
Joined: Tue Dec 14, 2010 5:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Tue Sep 18, 2012 10:00 pm

I tweaked the example code in my previous post to make SavageRoar()work a bit more seamlessly as a drop-in replacement for Spell(savage_roar).

Honored
Posts: 166
Joined: Mon Aug 01, 2011 6:20 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Sorcerer » Wed Sep 19, 2012 1:30 pm

Was the time to die part of the script introduced already?

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.

Exalted
User avatar
Posts: 1145
Joined: Fri Jun 04, 2010 4:28 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Wed Sep 19, 2012 2:12 pm

Time to die is not in the script currently. It will be for level 90.

The Rip/SR desync code will be improved significantly in the next rev.

Honored
Posts: 166
Joined: Mon Aug 01, 2011 6:20 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Sorcerer » Wed Sep 19, 2012 2:16 pm

For entire nite the code looked really solid beside those little things that will hopefully get fixed. Awsome work.

Posts: 8
Joined: Thu Feb 10, 2011 12:23 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Димонтий » Tue Oct 23, 2012 6:58 pm

Ovale error: Image

Honored
Posts: 188
Joined: Tue Dec 14, 2010 5:34 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Wed Oct 24, 2012 9:55 am

This is fixed in Nerien's Ovale Scripts version 2.0.18.

Also, please post in Leafkiller's MoP thread regarding the current Ovale script. This is an older, abandoned thread.

Exalted
User avatar
Posts: 1593
Joined: Mon May 24, 2010 10:21 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Tinderhoof » Wed Oct 24, 2012 1:58 pm

Locking to prevent further necros.

Previous

Return to Kitty DPS

Who is online

Users browsing this forum: No registered users and 4 guests