Register

Leafkiller's 5.04 Feral/Guardian Ovale Script

Face-rippin fun.

Moderator: Forum Administrators

Honored
Posts: 125
Joined: Wed Mar 31, 2010 6:51 pm

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Dabeasty » Fri Sep 07, 2012 2:53 pm

Certainly looks like they nerfed rake on live as it hits for much less than shred now for me. Dunno if they buffed anything to compensate - probably not (sigh)

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Tinderhoof » Fri Sep 07, 2012 4:17 pm

Mangle and Shred were both buffed.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Fri Sep 07, 2012 9:13 pm

5.4.20 posted. This is a Shred filler rotation which incorporates general improvements we made while working on the Rake filler script. This script also includes a predictive box that has fillers, Rip Shreds and TF/Berserk removed so you can get an idea of what the next major talent is likely to be. You can hide the predictive box by clicking on the Ovale display and selecting the "Hide predictive box" selection.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Sat Sep 08, 2012 5:09 am

Jeshu wrote:There was a change to Ovale with the patch release that made all buff/debuff checks default to the old "mine=1" condition. The way that you now check for a buff/debuff that can be applied by anyone is to use the new condition "any=1", e.g., target.DebuffStacks(weakened_armor any=1) < 3.


I didn't think about this enough when you posted it. This is why FF is being requested too often in the Feral script and is also an issue in the Guardian script. I will correct that tomorrow, along with removing all the "mine=1" arguments since they are not needed. I also need to add spellinfo to the Guardian defines. (Using this as a ToDo list).

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Sat Sep 08, 2012 5:39 am

@Jeshu

Sidoine responded to me in ticket 135 with the following:
LastSpellDamageMultiplier(rake) <DamageMultiplier(rake) can be used for 2. ATM, these are not complete, they do not use all the buffs. I must update them.


Do you happen to know what buffs are missing? This will be important for the MoP rotation. I want to be able to express something like the following:
rake,buff.dream_of_cenarius_damage.up&(dot.rake.multiplier<=tick_multiplier)&!prev.rake

if BuffPresent(dream_of_cenarius_damage) and LastSpellDamageMultiplier(rake) <DamageMultiplier(rake) and PreviousSpell(rake) Spell(rake)

I may also do something like the following to cast a Healing Touch in order to activate the DoC damage buff

Code: Select all
if BuffPresent(predatory_swiftness) and Talented(dream_of_cenarius)  and BuffRemains(dream_of_cenarius_damage)  <= 0 {
    if TargetDebuffRemains(rake)  <= 0 or { TargetDebuffRemains(rake)  > 0 and TargetDebuffRemains(rake)  < 21 and
        LastSpellDamageMultiplier(rake) <{DamageMultiplier(rake)  * 1.25} } Spell(healing_touch)
}


As you can see, these conditionals are depending on the accuracy of the damage multipliers. This still has a hole in it since the rake would not be cast until after the healing touch gcd and the damage multiplier might change during that time, so it would be useful to be able to calculate what the damage multiplier would be a few seconds into the future.

For anyone who saw listened to the Podcast tonight, this post is reflective of why I don't like DoC...

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Sat Sep 08, 2012 7:05 pm

5.4.21 posted.

It fixes the issue with FF spamming when other people overwrite the buff (so it should be safe to enable FF in the rotation now).

I also moved the main rotation into a series of functions. This allows the code to be shared between the main rotation box and the predictive rotation box. I used to copy/paste between them, which required making changes in two places. This is only of interest to those who look at the code and/or modify it for their own use.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Sat Sep 08, 2012 8:24 pm

Leafkiller wrote:@Jeshu

Sidoine responded to me in ticket 135 with the following:
LastSpellDamageMultiplier(rake) <DamageMultiplier(rake) can be used for 2. ATM, these are not complete, they do not use all the buffs. I must update them.


Do you happen to know what buffs are missing? This will be important for the MoP rotation.


Give me a day or two to look over that part of the Ovale code and I'll let you know what buffs are currently taken into account. Then we can figure out what's missing and get it added in.

Honored
Posts: 143
Joined: Thu Mar 18, 2010 12:33 am
Location: Melbourne, Australia

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Grenache » Sat Sep 08, 2012 11:37 pm

Hi guys, I just tested 5.21 on some dummys and it works great (FF every 30 secs etc). I notice it is suggesting Thrash on a lot of the clearcasts. Is this intentional?

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Sun Sep 09, 2012 12:32 am

Yes, assuming you don't have something more important than a filler to use (like Rip, for example) Thrash is a very high damage over time ability that overall does more damage than 1 shred.
Image

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Sun Sep 09, 2012 12:55 am

@Leafkiller: Regarding DamageMultiplier() in Ovale

Currently, the only buff that is tracked is Tiger's Fury. The way that the code is currently structured, it is somewhat difficult to add more buffs to the DamageMultiplier tracking, so it's not something I have carte blanche to fix. For things that involve restructuring the code, Sidoine wants to handle that personally, so you will need to wait for him to return from his vacation/hiatus. I will work on a solution anyway and attach it to your ticket for Sidoine to review.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Sun Sep 09, 2012 2:50 am

@Jeshu Thanks for looking into that :)

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Leafkiller » Sun Sep 09, 2012 3:14 am

@Jeshu - Btw, do you have access to the Simulationcraft Google Group? There is a thread there where I asked what simc was doing to calculate tick_multiplier. Unfortunately it is not taking into account AP.

One of the challenges right now is that aggixx has been focusing on the scripts but doing very little work on the simc code itself, and I have not even set up a development environment for simc (between Ovale and the startup I am working on, it is something I have been avoiding). There are several things that we cannot currently sim, including the number of Rip Shreds that have occurred and a complete value for tick_multiplier.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Mon Sep 10, 2012 5:38 am

Might want to take out the "THIS ASSUMES GLYPH OF SHRED" warning, especially now that GoShred is a significant DPS loss.
Image

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Mon Sep 10, 2012 10:47 am

Leafkiller wrote:@Jeshu - Btw, do you have access to the Simulationcraft Google Group? There is a thread there where I asked what simc was doing to calculate tick_multiplier. Unfortunately it is not taking into account AP.


I recently joined and read through that thread.

As it impacts Ovale, what I'm trying to do is to figure out how to not inject a whole lot of hardcoded spell information into Ovale. Specifically, I'm talking about AP coefficients for various spells, etc.

Having a "tick_multiplier" that takes into account AP seems like an odd idea because you'd need to establish a base value of AP that current values of AP are scaled against. At least for Ovale, it doesn't make sense because there's no snapshotting of your stats. This seems to be really more about comparing two things against each other, a past Rake and a future Rake, so instead of an absolute "tick_multiplier" value, it would be enough to compare two things relative to each other.

What I think Ovale could provide is the following bits of information at the time a spell was cast:
  • Damage multiplier from buffs (not reflected in character sheet information)
  • Attack Power
  • Mastery
With those bits of information, you should be able to figure out how you'd like to compare past and present casts of Rake to determine if it's worthwhile. It's possible we might need to keep track of the buffs present when the spell was cast for special buffs like DoC that affect "the next two melee attacks". I'm not certain I really understand the mechanics of it yet, either, so it's hard for me to say how exactly Ovale would need to be extended.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Mon Sep 10, 2012 11:37 am

If you know the following (either at the time of the current rake being applied, or at the current moment), you can calculate the exact damage of the dot:

  • TF up/down?
  • DoC up/down?
  • NV up/down?
  • AP
  • Mastery %
  • Crit chance, if you want to factor that in

You'd also need to know the base damage and AP coefficient of the rake, of course, although that is not dynamic.

Jeshu wrote:It's possible we might need to keep track of the buffs present when the spell was cast for special buffs like DoC that affect "the next two melee attacks".

As opposed to what? Checking immediately after the execution of the spell?
Image

Posts: 13
Joined: Mon Sep 10, 2012 11:42 am

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby averter » Mon Sep 10, 2012 11:59 am

Damage modifier % can be easy to get with wow api - UnitDamage("unit"). Percent value like 1.15 (TF)*1.30(SF)*1.25(DoC) etc
My question is about rake base damage and AP coefficient - how to get these? This is needed for comparing AP/agi procs vs modifiers or their weight to each other.

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 10, 2012 1:20 pm

averter wrote:Damage modifier % can be easy to get with wow api - UnitDamage("unit"). Percent value like 1.15 (TF)*1.30(SF)*1.25(DoC) etc
My question is about rake base damage and AP coefficient - how to get these? This is needed for comparing AP/agi procs vs modifiers or their weight to each other.


We can enter AP coefficients and base damage via SpellInfo.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby aggixx » Mon Sep 10, 2012 1:24 pm

averter wrote:Damage modifier % can be easy to get with wow api - UnitDamage("unit"). Percent value like 1.15 (TF)*1.30(SF)*1.25(DoC) etc
My question is about rake base damage and AP coefficient - how to get these? This is needed for comparing AP/agi procs vs modifiers or their weight to each other.

I'm not convinced that buff like DoC would be included like that, it's not a flat bonus to all damage done.

You can't retrieve those values with the API, you have to get them from datamining. Like Leaf said, they would be coded into the script.
Image

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Mon Sep 10, 2012 6:56 pm

So how exactly does Dream of Cenarius work? Does it buff all of the ticks of Rake if Rake is applied when the buff is up? What other attacks are also buffed by DoC?

I'm just trying to figure out the best way to handle this generically in Ovale.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Tinderhoof » Mon Sep 10, 2012 7:13 pm

DoC will buff the two next physical attacks by 25%. If either Rake or Rip is applied with DoC active all ticks will be buffed as well.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Mon Sep 10, 2012 9:14 pm

How does this present itself on the beta? The talent description says:
Wrath, Starfire, Starsurge, and melee abilities increase healing done by your next healing spell by 30%. Tranquility is not affected.

Nourish, Healing Touch, and Regrowth increase the damage done by your next 2 Moonfire or Sunfire casts by 65% or by your next 2 melee abilities by 25%.

Each of these bonuses lasts 30 sec.

Does that mean you gain a buff with 2 stacks when you do the appropriate action? Looking through spell IDs on Wowhead shows two IDs (08381, 108382) that could possibly be those buffs. Are those buff stacks consumed one-by-one as you do the secondary actions (either healing or doing damage)?

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 10, 2012 9:22 pm

There are separate buffs for healing and damage. The healing buff is up almost continuously, so any time a feral casts a healing will be with the 30% buff. We will use either Predator's Swiftness or Natire's Swiftness to cast an instant Healing Touch in order to get the damage DoC buff. That buff has two charges which apply to the next two damaging attacks (white damage does not trigger it). The strategy is two use it as much as possible for Rip and Rake.

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Tue Sep 11, 2012 11:05 am

How about the following proposed new script statement SpellBuffIncreasedDamage() for Ovale scripts?
Code: Select all
Define(dream_of_cenarius_damage 108381)
    SpellInfo(dream_of_cenarius_damage duration=30)
Define(rake 1822)
    SpellInfo(rake combo=1 duration=15 energy=35 tick=3)
    SpellBuffIncreasedDamage(rake dream_of_cenarius_damage=25)

It would take a list of buff ID/percent increase pairs. Ovale could use this information to check if the any of the named buffs are active when the named spell is cast and to track the correct damage multiplier accordingly.

This seems like an approach that is generic enough to work across multiple classes or specs. For example, for a moonkin script, we would have:
Code: Select all
Define(moonfire 8921)
    SpellInfo(moonfire duration=14 tick=2)
    SpellBuffIncreasedDamage(moonfire dream_of_cenarius_damage=65)

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 11, 2012 12:54 pm

How would we factor in things like potions and Engineering/weapon/trinket procs?

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

Re: Leafkiller's 5.04 Feral/Guardian Ovale Script

Postby Jeshu » Tue Sep 11, 2012 1:09 pm

Leafkiller wrote:How would we factor in things like potions and Engineering/weapon/trinket procs?

Potions and trinket procs are usually reflected on the character sheet, so you can pull the information using AttackPower()/LastSpellAttackPower(id) or Mastery()/LastSpellMastery(id) to do a full comparison.

PreviousNext

Return to Kitty DPS

Who is online

Users browsing this forum: No registered users and 2 guests