Jump to content


Photo

Visualising the optimal cat rotation ingame


  • This topic is locked This topic is locked
375 replies to this topic

#361 Mihir

Mihir

    Piston Honda

  • Members
  • 131 posts

Posted 20 October 2010 - 09:29 PM

They are some stuff I was experimenting with, or moved to another box. Updated my script btw, I put it on The Fluid Druid - View topic - Mihir's Feral DPS Ovale Script

Featuring smart energy pooling to maximize energy spent on FB relative to energy spent on shred, optional cower warnings, some fixes, usage of combopoints on targets other than your current target by savage roar, and an extra buffer for blood in the water so rip doesnt fall off (due to the rip duration bug).

If i enable the kitty charge line, ovale starts spamming lua errors, so left that out for now.

#362 Guest_alarge_*

Guest_alarge_*
  • Guests

Posted 21 October 2010 - 12:47 AM

They are some stuff I was experimenting with, or moved to another box. Updated my script btw, I put it on The Fluid Druid - View topic - Mihir's Feral DPS Ovale Script

Featuring smart energy pooling to maximize energy spent on FB relative to energy spent on shred, optional cower warnings, some fixes, usage of combopoints on targets other than your current target by savage roar, and an extra buffer for blood in the water so rip doesnt fall off (due to the rip duration bug).

If i enable the kitty charge line, ovale starts spamming lua errors, so left that out for now.


Looked through your script and there are a couple of things that are confusing me:

1) Your initial savage roar seems to be predicated on ComboPoints(less 1). How can you ever roar under those conditions? Isn't that just a NOOP?

2) I think there's a built-in shortcut for "bleed effects" now, so it shouldn't be necessary for you to check for all the debuffs that cause bleeds.

3) The last two lines confuse me. You seem to be saying that you will only shred if the target will last at least 15 more seconds or if there *isn't* a rip on the target. Now maybe the default shred case is covered earlier and I'm just missing it, but shouldn't we still be treating shred as our "filler"?

4) Related to the previous comment, I've notice that you seem to prioritize a 4-point bite over shred at the end of the fight. Do you have some data to support that a 4-point bite will always outperform a shred? (I'm wondering particularly for cases like mine where I'm running with the FB glyph).

#363 Leafkiller

Leafkiller

    Piston Honda

  • Members
  • 134 posts

Posted 22 October 2010 - 08:32 PM

I have posted the Ovale script I developed for the 4.01 patch here: The Fluid Druid - View topic - Leafkiller's 4.01 Feral Ovale Script

Additionally, in the second post in that thread I have posted the Mew script that mirrors this Ovale script and is used to model new features before including them in the Ovale script.

========================

Version 1.0.6 is the most recent version with these changes:

Cleans up the interface - there is now a checkbox to toggle display for the cooldowns on the left side and a checkbox to toggle display for the cooldowns on the right.

The trinket cooldowns (for bears) have been merged into the right cooldown boxes - and can be hidden.

The emergency FB for Blood in the Water now looks for 2.1 seconds on Rip due to the bug where Rip drops off (2 dps loss in sim).

Also, disabled the Savagee Roar desync code during Blood in the Water phase to preserve combo points (this is dps neutral).

Added checkbox for two levels of ferocious bite (taken from Alaron's pre patch script) for later use (predicting at level 85 with lower crit rates we will want to FB less - still needs to be tested and optimized in a sim).

#364 Mihir

Mihir

    Piston Honda

  • Members
  • 131 posts

Posted 23 October 2010 - 12:14 AM

Looked through your script and there are a couple of things that are confusing me:

1) Your initial savage roar seems to be predicated on ComboPoints(less 1). How can you ever roar under those conditions? Isn't that just a NOOP?

2) I think there's a built-in shortcut for "bleed effects" now, so it shouldn't be necessary for you to check for all the debuffs that cause bleeds.

3) The last two lines confuse me. You seem to be saying that you will only shred if the target will last at least 15 more seconds or if there *isn't* a rip on the target. Now maybe the default shred case is covered earlier and I'm just missing it, but shouldn't we still be treating shred as our "filler"?

4) Related to the previous comment, I've notice that you seem to prioritize a 4-point bite over shred at the end of the fight. Do you have some data to support that a 4-point bite will always outperform a shred? (I'm wondering particularly for cases like mine where I'm running with the FB glyph).


1) Since SR will take combo points from any living or dead target within 100 yards (not necessarily on your current target), I found this a good way to suggest to use those. It will show SR if you got 0 combopoints on your current target but SR is usable (which means there's a mob other than your current target that has combo points within 100 yards).

2) Wasn't sure it worked for Tendon Rip (as I got 1 of our hunters to get a hyena) and it was like this in the script i started from, so left it like this for the moment.

3) The filler shreds are in the sidebox, the only shreds that will show in the main box are the clearcasting ones, the ones you need to get rip up, and the ones you're gonna do when the boss is about to die. I prefer this setup 'cause it doesn't clutter the showing of your main rotation abilities by shreds all the time.

4) Haven't really checked over glyph of FB setups yet no, as i don't use that glyph. So if you want to adapt the script for glyph of FB situations you might have to make some adjustments. (like taking out the energy pooling-on-FB parts)

#365 Kintoun

Kintoun

    Glass Joe

  • Members
  • 21 posts

Posted 02 November 2010 - 09:39 AM

nightcrowler I did some testing with FbN version 4.02 for cat form. Here is some feedback.

FbN is still prioritizing SR over Rip. From recent 4.0.1 WLK research Rip and Rake should be higher priority than SR. SR now only applies to white damage. Also there is (a bug?) where Tiger's Roar buffs the damage done by Rip for Rips full duration. So ideally FbN would suggest a TR right before a Rip when the cooldowns are close to each other. Ah also I wasn't able to check this but when a target is below 25% health FB refreshes Rip. Not sure if FbN takes this into account. Other than that it looks great man! Thanks for keeping up the support!

One question that I have is what is now the optimal Berserk rotation? Is it still to spam Shred regardless of CPs (as long as Rip is up)? What if you have the FB glyph? What about keeping Rake up? It seems for Berserk rotations Mangle Debuff>Rip>Rake>5cp FB>Shred

NOTE: I also tried playing with the cycle options but it didn't see to affect Rip or SR suggestions.

#366 Bashui

Bashui

    Von Kaiser

  • Members
  • 52 posts

Posted 02 November 2010 - 09:40 PM

For those interested, here's a cataclysm-ready version of FBNLite: FBNLite-CataclysmBeta

It currently works in beta but I have no clue whether it works on live 4.0.1 (EU servers are still down). I am going to merge that into the main repository of FBNLite once I see that it is working.

It still uses the same WotLK suggestion logic which I'm planning to replace once there is a consensus on what the ability priorities look like. I am going to implement Rip refreshing by FBs later this week.


I am also working on an addon spawned by FBN which I started working on before I found out nightcrowler was planning to update FBN.

I started working with the buff/debuff frames and in its current incarnation it plays very nicely with FBNLite. I've been mostly working solo against a target dummy an hoping to get in some raid testing this week, but if anyone has a chance to check it out, please let me know what you think.

I am aiming to make this addon super optimized for speed and am keeping a careful eye on the cpu profiler to make sure I am keeping things tight.

Phlobotomiser

#367 Pyrates

Pyrates

    Piston Honda

  • Members
  • 139 posts

Posted 02 November 2010 - 10:56 PM

Seems like you've only uploaded the .toc file. I'd surely like to test it out though.

#368 Bashui

Bashui

    Von Kaiser

  • Members
  • 52 posts

Posted 03 November 2010 - 07:10 PM

Seems like you've only uploaded the .toc file. I'd surely like to test it out though.

I had some problems setting up the curse packager, but I think they should be resolved now.

#369 Torzak

Torzak

    Von Kaiser

  • Members
  • 26 posts

Posted 04 November 2010 - 10:05 PM

@Mihir

unless {TargetDebuffPresent(MANGLE) or TargetDebuffPresent(MANGLEB) or TargetDebuffPresent(TRAUMA) or TargetDebuffPresent(HEMO)} Spell(MANGLE)

can be changed to:

unless TargetDebuffPresent(bleed) Spell(MANGLE)


Next there's this:
if BuffPresent(STAMPEDE) and Mana(less 53) unless BuffPresent(TIGER) Spell(SHRED)

Typically, you want to pool energy and not shred below 53 Energy unless:
1) clear cast is up
2) you've not shred x3 for the current Rip that's up and Rip is about to expire
3) Tiger's Fury will be available within a moment (~2secs)
4) You have zero combo points and Roar will wear off soon.

I'm confused by what's meant to be accomplished here. Breaking it down: Stampede buff is up because you just recently charged in, and you want to shred, but only if your energy is below 53 and only if Tiger's Fury buff isn't currently up. I don't understand why.


Next this one:
if CheckBoxOn(Manglebot) and TargetDebuffExpires (MANGLE 1) Spell(MANGLE)

If anyone checks the Manglebot option, and you have a bear tank, trauma warrior, or hemo rogue, you're going to have issues.

This line is only checking to see if Mangle Cat is going to wear off in 1 or less seconds, and if it is, it will tell you to Mangle. The problem that comes in to play, is that if a Bear tank overwrites your Mangle, with Mangleb, or a Rogue overwrites your Mangle with a Hemo, or a Warrior with Trauma, then at that point in time, Mangle Cat will match the conditions of Mangle Cat expiring in 1 or less seconds since someone else just overwrote it (Mangle Cat will match a zero second duration during this check). That means every time someone else applies Trauma, or Hemo for example, it's going to tell you to Mangle. I think you're better off just changing the line to read as:

if CheckBoxOn(Manglebot) and TargetDebuffExpires (bleed 1) Spell(MANGLE)

With this, you can just check to see if any of the 30% bleed enhancements are going to wear off within the next 1 second, and if they will, then tell you to Mangle just before, or as the debuff is wearing off.


Next up:

if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 1) Spell(RAVAGE)

If you're already in the midst of the global just as your Stampede buff is getting ready to expire...
Example:
Stampede buff wears off in 1.2secs and you're applying Rake right this moment. The global ends 1second later and you have .2secs where you'll be suggested to Ravage, and you need to use it. I would recommend bumping the time requirement for your "catch all/use it or lose it" Ravage.

This scenario likely wouldn't be an issue on a typical stand still fight, but in the event that you charge in after an air phase or run away phase ended, and then immediately got a debuff that required you to run from the rest of the raid for a brief moment, it could come up. I'd suggest BuffExpires(STAMPEDE 1.5) or perhaps even 2.


Next:

if ComboPoints(more 4) and TargetDeadIn(more 6) and TargetDebuffExpires(RIP 2 mine=1) unless BuffPresent(OMEN)
    {
     #   if BuffPresent(TIGER) Spell(RIP)
        unless 2s before Spell(TIGER) Spell(RIP)
    }

    if TargetDeadIn(more 15) and TargetDebuffExpires(RAKE 3 mine=1)
    {
    #    if BuffPresent(TIGER) Spell(RAKE)
        unless 3s before Spell(TIGER) Spell(RAKE)
    }

Rake ticks once per 3secs. Average Shred Crits in BiS are around 17k damage. That's not an actual average of what Shred will do, that's just a crit average. Two non Crit Rake Ticks will approach this kind of damage for less energy and only requires 6secs. Things can get to moving a little fast in the last 25% of a target's health, and things might fluctuate quickly on a Trash target as far as determining how long the target has to live once you transition below 25% target health, but I think 15secs requirement before using Rake is a bit much, especially since you clip the last 3secs of the old Rake to put up a new one, and consider too, the last 25% of a boss target is going to last long enough that the timetolive will adjust enough to have a decent idea of how long the target will actually still be alive.

Another thing I was curious about, is your timing on Tiger's Fury before using Rip or Rake. You've chosen not to Rip if Tiger's is available within 2secs, and not to Rake if Tiger's is available within 3secs. If anything, I'd imagine it should be the other way around.

If Tiger's enhances the bleed damage by 15%, then it should be effective to make your attempt to line them up as long as you don't have more than 15% down time of the bleed you're trying to line up. Rip lasts 22secs and 15% of 22 is 3.3 secs while 15% of Rake's duration of 15 is 2.25 secs. It would seem to me that you would have more waiting room to line up Tiger's with Rip than you would with Rake and Tiger's.


if ComboPoints(more 4) and TargetDeadIn(more 9) and TargetDebuffExpires([B]RIP 12[/B] mine=1) and at most [B]3s from[/B] TargetDebuffExpires(RIP mine=1) until BuffExpires(ROAR) Spell(ROAR)

The scene:
You're at 5 combo points, the boss target is at 50% health and Rip has 11 seconds remaining and Roar has 11+3 secs remaining (14secs), you want to Roar and clip 14secs of an already existing Roar?

When I consider your Bite portion:
if ComboPoints(more 4) [B]unless TargetDebuffExpires(RIP 8 mine=1)[/B] or BuffExpires(ROAR 8) Spell(BITE)

You, just like me, seem to like Rip to have ~8 or so secs as a requirement to using Bite (not counting BloodWater conditions).

A worst case scenario that can come out of this:
Rip is at 11.5secs (TargetDebuffExpires(RIP 12), and Roar is at 14.5 (at most 3s from TargetDebuffExpires(RIP mine=1) until BuffExpires(ROAR))...

you could Bite(1sec GCD), have ~10secs to build for the next Rip, and then have 3secs after you apply the Rip to get SR renewed just as it's wearing off or perhaps a sec late (SR isn't that big of a deal to let slip now and again for a brief moment), but instead, you Roar and clip ~14secs of an existing Roar. It's really an edge case, and most likely won't come quite that close to extreme, but there's still a lot of breathing room to get a bite in there instead of renewing the Roar and clipping so much of an existing Roar.

It would seem to me that you're using the Roar upkeep concept that we used before 4.0, though tweaked, when it comes to Rip and Roar duration interaction in your combo points more 4 portion to use Roar, but discarded that mentality every where else in the script. I think this portion of your script for Roar suggestion needs a rethink.

#370 Mihir

Mihir

    Piston Honda

  • Members
  • 131 posts

Posted 07 November 2010 - 08:48 PM

Thanks for looking over my script :) I'll try to explain some of the issues you mentioned. Tho it looks like you've been testing an outdated version; the current version of the script on The Fluid Druid - View topic - Mihir's Feral DPS Ovale Script looks a bit different.

@Mihir

unless {TargetDebuffPresent(MANGLE) or TargetDebuffPresent(MANGLEB) or TargetDebuffPresent(TRAUMA) or TargetDebuffPresent(HEMO)} Spell(MANGLE)

can be changed to:

unless TargetDebuffPresent(bleed) Spell(MANGLE)


Correct. Think I already posted this somewhere, but the script I based mine on had it coded this way, and since I wasn't sure the bleed conditional checked tendon rip as well I left it in this way.

Next there's this:

if BuffPresent(STAMPEDE) and Mana(less 53) unless BuffPresent(TIGER) Spell(SHRED)

Typically, you want to pool energy and not shred below 53 Energy unless:
1) clear cast is up
2) you've not shred x3 for the current Rip that's up and Rip is about to expire
3) Tiger's Fury will be available within a moment (~2secs)
4) You have zero combo points and Roar will wear off soon.

I'm confused by what's meant to be accomplished here. Breaking it down: Stampede buff is up because you just recently charged in, and you want to shred, but only if your energy is below 53 and only if Tiger's Fury buff isn't currently up. I don't understand why.


This line pretty much forces you to get rid of some energy at the start, so you have less chance of capping energy with TF. With this line the suggested opening will be mangle - SR - shred - TF - rake - ravage - rip. If you remove the line the script will suggest some stupid stuff cause TF is ready to be used, but you got too much energy and rip/rake aren't on the target yet.

Next this one:

if CheckBoxOn(Manglebot) and TargetDebuffExpires (MANGLE 1) Spell(MANGLE)

If anyone checks the Manglebot option, and you have a bear tank, trauma warrior, or hemo rogue, you're going to have issues.

This line is only checking to see if Mangle Cat is going to wear off in 1 or less seconds, and if it is, it will tell you to Mangle. The problem that comes in to play, is that if a Bear tank overwrites your Mangle, with Mangleb, or a Rogue overwrites your Mangle with a Hemo, or a Warrior with Trauma, then at that point in time, Mangle Cat will match the conditions of Mangle Cat expiring in 1 or less seconds since someone else just overwrote it (Mangle Cat will match a zero second duration during this check). That means every time someone else applies Trauma, or Hemo for example, it's going to tell you to Mangle. I think you're better off just changing the line to read as:

if CheckBoxOn(Manglebot) and TargetDebuffExpires (bleed 1) Spell(MANGLE)

With this, you can just check to see if any of the 30% bleed enhancements are going to wear off within the next 1 second, and if they will, then tell you to Mangle just before, or as the debuff is wearing off.


Sounds about right yeah. I've not really looked at this line much since I've been the only source of the mangle debuff in my guild's raids for over a year now :P

Next up:

if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 1) Spell(RAVAGE)

If you're already in the midst of the global just as your Stampede buff is getting ready to expire...
Example:
Stampede buff wears off in 1.2secs and you're applying Rake right this moment. The global ends 1second later and you have .2secs where you'll be suggested to Ravage, and you need to use it. I would recommend bumping the time requirement for your "catch all/use it or lose it" Ravage.

This scenario likely wouldn't be an issue on a typical stand still fight, but in the event that you charge in after an air phase or run away phase ended, and then immediately got a debuff that required you to run from the rest of the raid for a brief moment, it could come up. I'd suggest BuffExpires(STAMPEDE 1.5) or perhaps even 2.


Yep sounds like a nice fix.

Next:

if ComboPoints(more 4) and TargetDeadIn(more 6) and TargetDebuffExpires(RIP 2 mine=1) unless BuffPresent(OMEN)
    {
     #   if BuffPresent(TIGER) Spell(RIP)
        unless 2s before Spell(TIGER) Spell(RIP)
    }

    if TargetDeadIn(more 15) and TargetDebuffExpires(RAKE 3 mine=1)
    {
    #    if BuffPresent(TIGER) Spell(RAKE)
        unless 3s before Spell(TIGER) Spell(RAKE)
    }

Rake ticks once per 3secs. Average Shred Crits in BiS are around 17k damage. That's not an actual average of what Shred will do, that's just a crit average. Two non Crit Rake Ticks will approach this kind of damage for less energy and only requires 6secs. Things can get to moving a little fast in the last 25% of a target's health, and things might fluctuate quickly on a Trash target as far as determining how long the target has to live once you transition below 25% target health, but I think 15secs requirement before using Rake is a bit much, especially since you clip the last 3secs of the old Rake to put up a new one, and consider too, the last 25% of a boss target is going to last long enough that the timetolive will adjust enough to have a decent idea of how long the target will actually still be alive.


Agreed. I'd already discovered in my aoe bleed spreadsheet that even 1 tick of rake usually outperforms a shred already, so this could safely be lowered to 3-6sec as well, just haven't gotten around to updating my ovale script yet.

Another thing I was curious about, is your timing on Tiger's Fury before using Rip or Rake. You've chosen not to Rip if Tiger's is available within 2secs, and not to Rake if Tiger's is available within 3secs. If anything, I'd imagine it should be the other way around.

If Tiger's enhances the bleed damage by 15%, then it should be effective to make your attempt to line them up as long as you don't have more than 15% down time of the bleed you're trying to line up. Rip lasts 22secs and 15% of 22 is 3.3 secs while 15% of Rake's duration of 15 is 2.25 secs. It would seem to me that you would have more waiting room to line up Tiger's with Rip than you would with Rake and Tiger's.


I pretty much based these times on how much dmg is lost per second of delay (so the DPS of the abilties by themselves) vs the damage gained by the +15%.

if ComboPoints(more 4) and TargetDeadIn(more 9) and TargetDebuffExpires([B]RIP 12[/B] mine=1) and at most [B]3s from[/B] TargetDebuffExpires(RIP mine=1) until BuffExpires(ROAR) Spell(ROAR)

The scene:
You're at 5 combo points, the boss target is at 50% health and Rip has 11 seconds remaining and Roar has 11+3 secs remaining (14secs), you want to Roar and clip 14secs of an already existing Roar?

When I consider your Bite portion:
if ComboPoints(more 4) [B]unless TargetDebuffExpires(RIP 8 mine=1)[/B] or BuffExpires(ROAR 8) Spell(BITE)

You, just like me, seem to like Rip to have ~8 or so secs as a requirement to using Bite (not counting BloodWater conditions).

A worst case scenario that can come out of this:
Rip is at 11.5secs (TargetDebuffExpires(RIP 12), and Roar is at 14.5 (at most 3s from TargetDebuffExpires(RIP mine=1) until BuffExpires(ROAR))...

you could Bite(1sec GCD), have ~10secs to build for the next Rip, and then have 3secs after you apply the Rip to get SR renewed just as it's wearing off or perhaps a sec late (SR isn't that big of a deal to let slip now and again for a brief moment), but instead, you Roar and clip ~14secs of an existing Roar. It's really an edge case, and most likely won't come quite that close to extreme, but there's still a lot of breathing room to get a bite in there instead of renewing the Roar and clipping so much of an existing Roar.

It would seem to me that you're using the Roar upkeep concept that we used before 4.0, though tweaked, when it comes to Rip and Roar duration interaction in your combo points more 4 portion to use Roar, but discarded that mentality every where else in the script. I think this portion of your script for Roar suggestion needs a rethink.


I had it a few seconds lower at first, but since the duration of rip is bugged sometimes and shows 2sec more duration that it actually has, I upped a bit. Still having some issues with SR falling off while delaying Rip a few seconds for a TF as well, haven't found a good solution for that yet besides not blindly following the script in those cases :P

#371 Torzak

Torzak

    Von Kaiser

  • Members
  • 26 posts

Posted 08 November 2010 - 03:00 PM

and since I wasn't sure the bleed conditional checked tendon rip as well I left it in this way.


I looked through the addon lua and it does not check for tendon. I'll submit a ticket.

bleed=
	{
		33876, --Mangle cat
		33878, --Mangle bear
		46856, -- Trauma rank 1
		46857, -- Trauma rank 2
		16511 --Hemorrhage


#372 Bashui

Bashui

    Von Kaiser

  • Members
  • 52 posts

Posted 11 November 2010 - 03:53 PM

if ComboPoints(less 1) and CheckBoxOn(StartRoar) Spell(ROAR usable=1)
I like this idea, but I would be concerned that this might actually suggest overwriting a long duration SR with a short duration one. You might want to suggest it only if there is less than 14 seconds remaining on your SR.

As far as I can tell there isn't any API to find out how many CPs SR will be using, so the only option would be to keep track of it. Does anyone know how long the CPs last on a dead target?

#373 Mihir

Mihir

    Piston Honda

  • Members
  • 131 posts

Posted 17 November 2010 - 05:55 PM

more than 30 minutes, as long as the corpse doesn't despawn :)

#374 Bashui

Bashui

    Von Kaiser

  • Members
  • 52 posts

Posted 18 November 2010 - 05:55 AM

more than 30 minutes, as long as the corpse doesn't despawn :)

On our icc run tonight it seemed to last 5-12 seconds after getting out of combat. There seemed to be a large variation, and I didn't notice a change with the number of CPs or how long before the mob died they were sitting there.
Phlebotomiser: make 'em bleed

#375 cystacae

cystacae

    Glass Joe

  • Members
  • 5 posts

Posted 19 November 2010 - 09:36 PM

I am continuing Face Mauler and am in the current works of adding changes based upon Mihir's work and several Mew scripts to change it and bring it into alignment of the current status quo. I am also adding some features to it that will make handling a bit more dynamic as it will poll for data instead of having set values. Eventually, Face Mauler will undergo an overhaul of code as I plan. These changes are just to help the novice and tide the public over until the recode.

#376 Carebare

Carebare

    ::stare::

  • Moderators
  • 5,200 posts

Posted 07 December 2010 - 02:07 AM

I am closing this thread for now. If a new one gets opened later that's fine.

i miss raiding with carebare :< she makes me feel like i am not the only person that hates everyone
Aldriana: I am an asshole, it just so happens that some of my colleagues are even *bigger* assholes.
[R] [85:Neux:2]: i hear if you die on Good Friday they are going to make it where you can't get rezzed until easter sunday
Khazal: Yeah, I don't know about Magic Rainbow Unicorn Land, but here in Reality, Rhyolith is the worst encounter Blizzard has ever designed.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users