Jump to content


Photo

Visualising the optimal cat rotation ingame


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

#41 Ironhyde

Ironhyde

    Glass Joe

  • Members
  • 9 posts

Posted 19 December 2009 - 03:21 PM

I was running ICC last night and ran into a problem. There were 2 other ferals in the raid and it kept reading thier RIP's as my own. Anyone else have this problem? I was using the latest version that has been posted.

#42 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 19 December 2009 - 03:31 PM

I always run with another feral and never had that Problem.

I just cleaned up my script again and posted another version with a few small tweaks. Will test bkim's script tomorrow.

#43 chetal

chetal

    Von Kaiser

  • Members
  • 38 posts

Posted 19 December 2009 - 06:07 PM

Has anyone figured out a way to add a timer for the internal cooldown of trinkets as a small side window?

Such as for death's choice and runestone (both have a 45? second internal cooldown on their procs.) This is about the only thing my custom script is missing.

#44 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 19 December 2009 - 06:36 PM

I doubt this is possible without a lot of effort as libinternalcooldowns isn't in the ovale package. I guess for now the best solution would be to use a different addon like InternalCooldowns - Addons - Curse

If you want to do it only with ovale maybe this part of the documentation helps in creating "custom timers"
Ovale - Documentation - WoW AddOns - CurseForge.com

I'm curious if you have a rational set of rules to modify your rotation when watching the ICDs.
And feel free to post your custom scripts here, too, if it adds anything to the table maybe I'll include it in the OP.

However, I won't be online for about a week from Monday on.

#45 chetal

chetal

    Von Kaiser

  • Members
  • 38 posts

Posted 19 December 2009 - 07:13 PM

I don't really change my rotation based on my procs, but i do like to match my berserks so that they overlap with my trinket procs to get the most out of both.

#46 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 19 December 2009 - 07:19 PM

Version 1.7 up, significantly increased Rip uptime. Should really be the final update before Christmas.

#47 bkim

bkim

    Glass Joe

  • Members
  • 22 posts

Posted 19 December 2009 - 10:08 PM

Has anyone figured out a way to add a timer for the internal cooldown of trinkets as a small side window?

Such as for death's choice and runestone (both have a 45? second internal cooldown on their procs.) This is about the only thing my custom script is missing.


Try this out:

Define(MJOLNIR 65019)
Define(DCNORM 67702)
Define(DCHEROIC 67771)
AddIcon help=cd size=small nocd=1 {
	if Stance(3) {
		unless BuffPresent(MJOLNIR) if BuffGain(MJOLNIR 45) Item(Trinket0Slot);
	}
}
AddIcon help=cd size=small nocd=1 {
	if Stance(3) {
		unless BuffPresent(DCNORM) if BuffGain(DCNORM 45) Item(Trinket1Slot);
		unless BuffPresent(DCHEROIC) if BuffGain(DCHEROIC 45) Item(Trinket1Slot);
	}
}


I haven't test it because I don't have either trinket. It adds two icons, one for each trinket slot. What I'm thinking it will do is display a icon of the trinket once it has past the 45 sec timer. This assumes you have the runestone in the 1st trinket slot and the DC in the 2nd. You can modify the code if that's not the case. Let me know if this works and I can add it to my script as an option.

EDIT: Was thinking, instead of showing when the internal CD has expired, wouldn't you just wanna know when the buff is active? That would be a lot easier to implement.

EDIT #2: Doesn't quite work the way I wanted it to.

#48 coldbear

coldbear

    Piston Honda

  • Members
  • 115 posts

Posted 19 December 2009 - 11:54 PM

Version 1.7 up, significantly increased Rip uptime. Should really be the final update before Christmas.


Ran a 5p and you script was suggesting Rake when it was already up. Unable to reproduce on a dummy... had a DK tank, Ret pally, Mage, Holy pally in the group if that's any help.

@bkim - thanks for putting up your version. I personally much prefer having TF included in the suggestions, and the options you've included are great. Kinda wish there was an easy way to have both your and Furion's versions up easily accessible.

#49 funnyginman

funnyginman

    Glass Joe

  • Members
  • 6 posts

Posted 20 December 2009 - 06:14 AM

The only major issue I have with bkim's script is that if SR is about to drop soon, it doesn't suggest to reup it until it has ~1 second left. Several times I've had Rip waiting to be used without enough energy to actually use it, then right as I used Rip it switches to SR which IMO should have been a higher priority. Isn't the goal to never let SR drop whatsoever?

#50 Bearcowcat

Bearcowcat

    Glass Joe

  • Members
  • 14 posts

Posted 20 December 2009 - 07:50 AM

The only major issue I have with bkim's script is that if SR is about to drop soon, it doesn't suggest to reup it until it has ~1 second left. Several times I've had Rip waiting to be used without enough energy to actually use it, then right as I used Rip it switches to SR which IMO should have been a higher priority. Isn't the goal to never let SR drop whatsoever?


This is most likely the correct sequence. If Rip has already expired, and Savage Roar is about to expire, and you're low on energy, you're in a tight spot. The best you can do is make sure that the Rip you throw up is boosted by Savage Roar, then pull a quick single combo point Savage Roar.

This way, you're only losing 33% extra damage on a few auto-attacks and one special, whereas if you refreshed Savage Roar first, and you were tight for energy, it would take ages to get a five combo point Rip up again.

It all comes down to you being able to Savage Roar at one combo point without undue ill effects.

#51 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 20 December 2009 - 08:30 AM

Ran a 5p and you script was suggesting Rake when it was already up. Unable to reproduce on a dummy...


Not sure why that's the case. Changed the logic in my script a bit. I'll test it in my raid today.

#52 bkim

bkim

    Glass Joe

  • Members
  • 22 posts

Posted 20 December 2009 - 02:37 PM

@bkim - thanks for putting up your version. I personally much prefer having TF included in the suggestions, and the options you've included are great. Kinda wish there was an easy way to have both your and Furion's versions up easily accessible.


I had originally created a new thread because mine and Furion's are quite different approaches to the Ovale script, but the moderator moved it into this thread. I'm thinking of other way to have it accessible.

EDIT: I have created a google group to host the script. You can always find it here: WoW Feral DPS Ovale Script | Google Groups . Please no discussions in the google group. Leave the discussions in EJ.

#53 coldbear

coldbear

    Piston Honda

  • Members
  • 115 posts

Posted 20 December 2009 - 02:53 PM

If Rip has already expired, and Savage Roar is about to expire, and you're low on energy, you're in a tight spot. The best you can do is make sure that the Rip you throw up is boosted by Savage Roar, then pull a quick single combo point Savage Roar.


Agreed. These scripts will never be able to completely account for difficult situations like these, e.g.:
* 3+ targets in 5yd range & in 90 degree frontal arc
* SR & Rip synchronized with < ~10 seconds left
* 5CP and Rip and Mangle about to drop off within 1 second of each other right before SR and you get a dodge/parry/miss

Best practice for these scripts going forward would really be to keep making minor adjustments for a good, solid single-target dps algorithm with options to include short CDs like TF, leave Berserk out of it since its use is the most fight-specific decision we have to make, but possibly include an option to recommend Mangle (wtb more Trauma warriors pst) a second before it drops off - which would lose personal dps efficiency but make sure you have at least one other chance to not get a dodge/parry/miss on putting up a debuff that a significant amount of raid dps'ers depend on. I don't see anyone being able to get even remotely effective with these scripts without using a timer addon as well.

#54 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 20 December 2009 - 03:36 PM

Apart from your swipe scenario I don't see why a simple script couldn't give the optimal recommendation in those situations (I actually claim that the script should already give pretty good suggestions in those cases) but I seriously think this is derailing the discussion.
If you think the script gives you a wrong suggestion in a single target situation then describe the problem here and make sure to include what the script wrongly suggested and what it should have rightly suggested (and even better if you can explain why it was wrong or how to fix it).

#55 moz

moz

    Get off my lawn.

  • Moderators
  • 4,272 posts

Posted 20 December 2009 - 06:40 PM

I edited in bkim's link to Google Groups at the end of the original post. Furion, if you want to edit the OP to more clearly reflect both scripts then that may be helpful as you can keep this the thread about all things Ovale. That way people have access to both via the first post. Thanks to you both for providing an intelligent discussion on this stuff and making your work accessible.

Personally, I find these things interesting but in raid situations there are many variables that aren't taken into account (mostly encounter-specific) and if you know what you're doing you'll always outdo a script like this (and others like fbn, facemauler etc.). That said, the models are pretty good (especially the SimCraft-based stuff) and gets you a lot of the way there. At the very least if you're new, it helps you understand how things work till you can drive yourself.

#56 NaturesVoice

NaturesVoice

    Von Kaiser

  • Members
  • 25 posts

Posted 20 December 2009 - 07:04 PM

The latest script hardly ever suggests Ferocious Bite. I think the Savage Roar suggestion isn't working correctly now, suggesting to refresh way too early.

Edit: I'm not really sure what the reason is to be honest I just hardly ever get Bite suggested and I have a feeling the roar is refreshed too early many times.

#57 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 20 December 2009 - 07:55 PM

The latest script hardly ever suggests Ferocious Bite. I think the Savage Roar suggestion isn't working correctly now, suggesting to refresh way too early.

Edit: I'm not really sure what the reason is to be honest I just hardly ever get Bite suggested and I have a feeling the roar is refreshed too early many times.


It increases Rip uptime which is a tradeoff but overall should lead to higher dps. Working as intended.

I edited in bkim's link to Google Groups at the end of the original post

Actually that was unnecessary as I already linked to it in my OP. However I will make a more clear distinction today, hopefully, but unfortunately I didnt have much time today and will be away in the coming days.

Edit: 1.7b up rake should really be fixed now. If more people prefer the old version which puts less priority on Rip I might put it up as an alternative again.

#58 NaturesVoice

NaturesVoice

    Von Kaiser

  • Members
  • 25 posts

Posted 20 December 2009 - 08:46 PM

It increases Rip uptime which is a tradeoff but overall should lead to higher dps. Working as intended.


No no no you misunderstood. It's not Rip pushing Bite away it's Roar. I did some testing and Roar is already suggested when there are still 6 seconds left. How can that ever be a dps increase?
So Bite can only happen if Roar has more than 6 (!!!) seconds left and Rip still have enough time as well.

Like someone else said, why not do the Bite and follow up with a lower combo point Roar.

Please explain to me because this can in no way be a dps increase.

#59 Odas

Odas

    Von Kaiser

  • Members
  • 86 posts

Posted 20 December 2009 - 08:50 PM

I believe this could help with desynchronizing rip and roar timers.

"n"s between "node1" and "node2"
The difference between the remaining time of "node1" and the remaining time of "node2" must be at most "n" seconds. If it is the case, the node remaining time is 0, otherwise it is infinite.


From Ovale Documentation

#60 Furion

Furion

    Don Flamenco

  • Members
  • 270 posts

Posted 20 December 2009 - 09:01 PM

No no no you misunderstood. It's not Rip pushing Bite away it's Roar. I did some testing and Roar is already suggested when there are still 6 seconds left. How can that ever be a dps increase?


It's to desynchronize roar and rip and the only way to do it is to roar early. Imagine something like a 1:1 rip/roar ratio with both being up almost 100% of the time (that's not exactly what the script does it's just to give you an idea). On static fights refreshing roar early to increase rip uptime should be a DPS increase. However in some other fights things might look a bit differently. With maxed passive arp things might also look differently. I think some more feedback on this issue couldn't hurt.
If you don't like it you can still use an older Version.

Define(FFF 16857)
Define(FF 770)
Define(RIP 1079)
Define(MANGLE 33876)
Define(SHRED 5221)
Define(TIGER 5217)
Define(RAKE 59886)
Define(ROAR 52610)
Define(BITE 22568)
Define(BERSERK 50334)
Define(OMEN 16870)
Define(TRAUMA 46857)
Define(MANGLEB 33878)

AddIcon help=main
{
if Stance(3) # cat
    {
    	if ComboPoints(more 0) and BuffExpires(ROAR 1) Spell(ROAR)
	if ComboPoints(more 4)
		{
        	unless BuffExpires(ROAR 6)
            	{
            	unless TargetDebuffExpires(RIP 9 mine=1)
                		{
                		unless BuffPresent(BERSERK) Spell(BITE)
                		if BuffPresent(BERSERK) and Mana(less 20) Spell(BITE)
                		}
			}
		if TargetDeadIn(less 7) Spell(BITE)
	  	unless BuffExpires(ROAR 3) {unless TargetDebuffPresent(RIP mine=1) Spell(RIP)}
		}
	unless {TargetDebuffPresent(MANGLE) or TargetDebuffPresent(MANGLEB) or TargetDebuffPresent(TRAUMA)} Spell(MANGLE)    	if TargetDebuffExpires(RAKE 0 mine=1) {unless TargetDeadIn(less 9) Spell(RAKE)}
	if {TargetDebuffPresent(MANGLE) or TargetDebuffPresent(MANGLEB) or TargetDebuffPresent(TRAUMA)}
		{
		if ComboPoints(less 5) Spell(SHRED priority=2)
		if BuffPresent(OMEN) Spell(SHRED priority=2)
        	if BuffPresent(BERSERK) Spell(SHRED priority=2)
	 	if Mana(more 70) Spell(SHRED priority=2)
		if TargetDeadIn(less 9) Spell(SHRED)
       	}
    unless {TargetDebuffPresent(FFF) or TargetDebuffPresent(FF)} Spell(FFF priority=1)
    }
}
AddIcon help=cd size=small nocd=1
{
if Stance(3) # cat
    {
    Spell(TIGER)
    Spell(BERSERK)
    }
}






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users