Register

Mihir's Feral DPS Ovale Script

Face-rippin fun.

Moderator: Forum Administrators

Honored
Posts: 80
Joined: Wed Jun 09, 2010 12:22 pm

Mihir's Feral DPS Ovale Script

Postby Mihir » Wed Oct 20, 2010 4:29 pm

My script is a bit outdated, i can recommend using leafkiller's script in the mean time.















Updated my script with the following:

- smart energy pooling for bigger FBs when possible
- when you're switching to a new target when and got combopoints left on your old target, will suggest savage roar first (since savage roar will automatically use combopoints from any nearby target) (can be disabled by checkbox)
- accounted for bugged rip duration on <25% FBs
- FBs try to use tiger's fury
- cower instead of berserk when threat > 90% (can be disabled with checkbox)
- cleaned up code

Code: Select all
#Project: Visualising the optimal cat rotation ingame
#Script Version: 3.1
Define(FFF 16857)
    SpellAddTargetDebuff(FFF FFDEBUFF=300)
Define(FF 770)
    SpellAddTargetDebuff(FF FFDEBUFF=300)
Define(FFDEBUFF 91565)
Define(RIP 1079)
    SpellInfo(RIP combo=-5 duration=16)
    SpellInfo(RIP glyph=GLYPHOFSHRED addduration=6)
    SpellAddTargetDebuff(RIP RIP=16)
Define(MANGLE 33876)
    SpellInfo(MANGLE combo=1)
    SpellAddTargetDebuff(MANGLE MANGLE=60)
Define(SHRED 5221)
    SpellInfo(SHRED combo=1)
Define(TIGER 5217)
    SpellInfo(TIGER cd=30)
    SpellInfo(TIGER glyph=GLYPHOFTIGER addcd=-3)
    SpellAddBuff(TIGER TIGER=6)
Define(RAKE 1822)
    SpellInfo(RAKE duration=15)
    SpellAddTargetDebuff(RAKE RAKE=15)
Define(ROAR 52610)
    SpellInfo(ROAR combo=-5)
    SpellAddBuff(ROAR ROAR=22)
Define(BITE 22568)
    SpellInfo(BITE combo=-5 mana=70)
Define(BERSERK 50334)
    SpellInfo(BERSERK duration=15 cd=180)
Define(OMEN 16870)
    SpellInfo(OMEN duration=8)
Define(TRAUMA 46857)
    SpellInfo(TRAUMA duration=60)
Define(MANGLEB 33878)
    SpellInfo(MANGLEB duration=60)
Define(HEMO 16511)
    SpellInfo(HEMO duration=60)
Define(TENDON 50271)
    SpellInfo(TENDON duration=15)
Define(STAMPEDE 81022)
    SpellInfo(STAMPEDE duration=10)
Define(RAVAGE 6785)
    SpellInfo(RAVAGE combo=1)
Define(CHARGE 49376)
    SpellInfo(CHARGE cd=30)
    SpellInfo(CHARGE glyph=GLYPHOFCHARGE addcd=-2)
    SpellAddBuff(CHARGE STAMPEDE=10)
Define(COWER 8998)
    SpellInfo(COWER cd=10)
Define(PULVERIZE 80313)
Define(PULVERIZEBUFF 80951)
Define(LACERATE 33745)
    SpellInfo(LACERATE duration=15)
    SpellAddTargetDebuff(LACERATE LACERATE=15)

Define(GLYPHOFSHRED 54815)
Define(GLYPHOFTIGER 94390)
Define(GLYPHOFCHARGE 94388)

SpellInfo(RIP resetcounter=ripshreds)
SpellInfo(SHRED inccounter=ripshreds)
AddCheckBox(Manglebot "Manglebot" default)
AddCheckBox(StartRoar "Start with SR if possible" default)
AddCheckBox(Cower "Cower when threat > 90%" default)

AddIcon help=main
{
if Stance(1) # bear
    {
        if BuffPresent(BERSERK) Spell(MANGLEB)   
   Spell(MANGLEB)   
   unless TargetDebuffPresent(FFDEBUFF stacks=3) Spell(FFF)
   if TargetDebuffExpires(LACERATE 4 stacks=3) Spell(LACERATE)   
   unless BuffPresent(PULVERIZEBUFF) Spell(PULVERIZE)
   Spell(SWIPE)
        Spell(LACERATE)
    }
if Stance(3) # cat
    {
    if Mana(less 31) unless BuffPresent(OMEN) or BuffPresent(BERSERK) Spell(TIGER)
    if ComboPoints(less 1) and CheckBoxOn(StartRoar) Spell(ROAR usable=1)
    if CheckBoxOn(Manglebot) and TargetDebuffExpires (MANGLE 1) Spell(MANGLE)
    unless {TargetDebuffPresent(MANGLE) or TargetDebuffPresent(MANGLEB) or TargetDebuffPresent(TENDON) or TargetDebuffPresent(TRAUMA) or TargetDebuffPresent(HEMO)} Spell(MANGLE)
    if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 1) Spell(RAVAGE)
    if TargetLifePercent(less 25) and ComboPoints(more 0) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 2.1 mine=1) Spell(BITE)
    if TargetLifePercent(less 25) and ComboPoints(more 4) and TargetDebuffPresent(RIP 2.1 mine=1) and {{Mana(more 53) and BuffPresent(BERSERK)} or BuffExpires(TIGER 1) or Mana(more 70) or TargetDebuffExpires(RIP 2.1 mine=1)} Spell(BITE)
    if BuffPresent(OMEN) Spell(SHRED)

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

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

    if TargetDeadIn(more 15) and TargetDebuffExpires(RAKE 3 mine=1) unless 2.9s before Spell(TIGER) Spell(RAKE)

    if ComboPoints(more 0) and {ComboPoints(less 5) or TargetDebuffPresent(RIP 8 mine=1)} and BuffExpires(ROAR 1) Spell(ROAR)
    if ComboPoints(more 4) and TargetDeadIn(more 9) and TargetDebuffExpires(RIP 12 mine=1) and at most 3s from TargetDebuffExpires(RIP mine=1) until BuffExpires(ROAR) Spell(ROAR)

    if ComboPoints(more 4) and TargetDeadIn(less 4) Spell(BITE)
    if ComboPoints(more 3) and TargetDeadIn(less 1) Spell(BITE)

    if ComboPoints(more 4) and {Mana(more 70) or {Mana(more 53) and BuffPresent(BERSERK)} or BuffExpires(TIGER 1)} unless TargetDebuffExpires(RIP 10 mine=1) or BuffExpires(ROAR 10) Spell(BITE)
    if {TargetDebuffExpires(RIP 10 mine=1) or BuffExpires(ROAR 10)} and ComboPoints(more 4) and {Mana(more 53) or {Mana(more 36) and BuffPresent(BERSERK)} or BuffExpires(TIGER 1)} unless TargetDebuffExpires(RIP 9 mine=1) or BuffExpires(ROAR 9) Spell(BITE)
    if {TargetDebuffExpires(RIP 9 mine=1) or BuffExpires(ROAR 9)} and ComboPoints(more 4) unless TargetDebuffExpires(RIP 8 mine=1) or BuffExpires(ROAR 8) Spell(BITE)

    if TargetLifePercent(more 25) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and Counter(ripshreds less 3) Spell(SHRED)

    if BuffPresent(STAMPEDE) and BuffPresent(TIGER) unless BuffPresent(OMEN) Spell(RAVAGE)

    if TargetDeadIn(less 15) Spell(SHRED)
    unless TargetDebuffPresent(RIP mine=1) Spell(SHRED)
    }
}

AddIcon help=main size=small nocd=3
{
if Stance(3) # cat
    {
        {
            if {TargetDebuffPresent(MANGLE 0.6) or TargetDebuffPresent(TENDON 0.6) or TargetDebuffPresent(MANGLEB 0.6) or TargetDebuffPresent(TRAUMA 0.6)} and { Mana(more 82) or {{ComboPoints(less 5) or {TargetDebuffPresent(RIP 0.6 mine=1) and TargetDebuffPresent(RAKE 0.6 mine=1)}} and {if Mana(more 70) or {BuffPresent(BERSERK) and Mana(more 35)} or 3s before Spell(TIGER) Spell(SHRED)}} or {ComboPoints(less 1) and {BuffExpires(ROAR 2) or TargetDebuffExpires(RAKE 2 mine=1)}}} Spell(SHRED)
        }
    unless {BuffPresent(BERSERK) or 4s before Spell(TIGER) or Mana(more 32)}
        {
            unless TargetDebuffPresent(FFDEBUFF stacks=3) Spell(FFF priority=2)
        }
    }
}

AddIcon help=cd size=small nocd=3
{
if Stance(3) # cat
    {
        Spell(TIGER)
    }
}

AddIcon help=cd size=small nocd=5
{
if Stance(3) # cat
    {
        if CheckBoxOn(Cower) and Threat(more 90) Spell(COWER)
        unless 15s before Spell(TIGER) Spell(BERSERK)
    }
}
Last edited by Mihir on Thu Dec 23, 2010 1:39 pm, edited 7 times in total.

Posts: 5
Joined: Wed Oct 20, 2010 4:38 pm

Re: Mihir's Feral DPS Ovale Script

Postby rebbel » Wed Oct 20, 2010 4:40 pm

Hey, just grabbed your script to test. It seems the icons are overlapping quite a bit. It's easy enough to fix but wanted to let you know.

Attached is the layout I get.
Attachments
Screen shot 2010-10-20 at 3.37.49 PM.png
Screen shot 2010-10-20 at 3.37.49 PM.png (53.46 KiB) Viewed 15088 times

Honored
Posts: 80
Joined: Wed Jun 09, 2010 12:22 pm

Re: Mihir's Feral DPS Ovale Script

Postby Mihir » Wed Oct 20, 2010 4:43 pm

Looks like your small icon height/width settings might be off; check /ovale config

I also just fixed a bug with the display of cower, so you might want to grab my script again :P

Posts: 5
Joined: Wed Oct 20, 2010 4:38 pm

Re: Mihir's Feral DPS Ovale Script

Postby rebbel » Wed Oct 20, 2010 5:23 pm

A quick relog fixed the issue. Must have been something with Ovale.

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

Re: Mihir's Feral DPS Ovale Script

Postby Leafkiller » Wed Oct 20, 2010 5:35 pm

To fix your Shred on OOC in the 4.0.11 Ovale change:
if BuffPresent(OMEN) Spell(Shred)

to:
if BuffPresent(OMEN) Spell(SHRED)

apparently case matters in 4.0.11 - I had the same issue in my script with Maul/MAUL.

Honored
Posts: 80
Joined: Wed Jun 09, 2010 12:22 pm

Re: Mihir's Feral DPS Ovale Script

Postby Mihir » Wed Oct 20, 2010 5:46 pm

Ah, thanks.

Posts: 6
Joined: Wed Oct 20, 2010 1:35 pm

Re: Mihir's Feral DPS Ovale Script

Postby Achnom » Wed Oct 20, 2010 5:53 pm

Mihir:

I just finished a couple 5 minute tests of your script.

I really like the way you have TF and Rake are working together, so that every other Rake gets the buff.

I noticed Rip falling off, maybe it's intended because TF is about to come up, although this line could probably be refined a bit to de-prioritize Savage Roar.

if ComboPoints(more 0) and BuffExpires(ROAR 0) Spell(ROAR)

Maybe something like the following to make sure Rip never falls off.

if {ComboPoints(more 0) and BuffExpires(ROAR 1) and TargetDebuffPresent(RIP [X] mine=1)} Spell(ROAR)

This wouldn't be an issue, but the de-syncing of Roar and Rip doesn't always work.

Honored
Posts: 80
Joined: Wed Jun 09, 2010 12:22 pm

Re: Mihir's Feral DPS Ovale Script

Postby Mihir » Wed Oct 20, 2010 6:07 pm

If i add it like that, it will never suggest SR in the opening anymore until rip is on the target which is not what i want.
trying it like this now:

if ComboPoints(more 0) and {ComboPoints(less 5) or TargetDebuffPresent(RIP 8 mine=1)} and BuffExpires(ROAR 1) Spell(ROAR)

Honored
Posts: 80
Joined: Wed Jun 09, 2010 12:22 pm

Re: Mihir's Feral DPS Ovale Script

Postby Mihir » Fri Oct 22, 2010 5:28 am

One more issue I came across during yesterday's raid: if you berserk out of sync of TF (so TF comes off cd during berserk) due to encounter mechanics, the script will delay rip/rake till after the berserk is over and you can TF again.

Posts: 1
Joined: Wed Dec 22, 2010 5:14 am

Re: Mihir's Feral DPS Ovale Script

Postby Neoma » Wed Dec 22, 2010 5:22 am

Very awesome script. Just respec'd to kitty after being a tank for a while and was having issues with my rotation, but this definitely helped me out.

One thing I did notice, however is that the mangle priority will pretty much nullify the entire script if you have a fellow druid tanking. Even if I ignored the fact that he already had mangle up, unless I re-applied my own mangle, I would constantly receive the suggestion to apply my mangle repeatedly (as he would override mine almost immediately after I put my own up).

I have very little programming/script writing knowledge, but would there be a way to implement a way to watch other's buffs, such as Faerie Fire and Mangle? Also, if there were an arms warrior, or subtlety rogue in the group for example, would there be a way for the script to have their bleed buffs take precedence over our own?

Cheers,
Neoma

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

Re: Mihir's Feral DPS Ovale Script

Postby Leafkiller » Wed Dec 22, 2010 2:45 pm

Neoma - turn off the manglebot option. Looking through Mihir's script, he has two separate checks for mangle - one where he tests for all of different sources of the "mangle" debuff and one where he looks only for the presence of your debuff on the target - and that one is controlled by the manglebot option. Keep in mind Mihir has not updated his script since June and does not have support in it for the tier 11 4 piece set bonus.

Honored
Posts: 80
Joined: Wed Jun 09, 2010 12:22 pm

Re: Mihir's Feral DPS Ovale Script

Postby Mihir » Thu Dec 23, 2010 1:38 pm

I can recommend using leafkiller's script instead, it's much more up to date.

Return to Kitty DPS

Who is online

Users browsing this forum: Asashdor and 5 guests