Register

Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Release]

Face-rippin fun.

Moderator: Forum Administrators

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Release]

Postby Spritzup » Sun Feb 20, 2011 2:30 pm

Hi All,

So after spending the last few weeks playing around with Ovale, I have decided to release my Druid script for it. It encompasses all 4 feral specs within it, though I haven't had a chance to test the Reso portion. For the feral portion, I'm using (with permission) mostly Leafkillers script with a few minor alterations.

I had 3 reasons for coming up with my own Ovale script. The first was that I wasn't crazy about how some of the other scripts were displaying data. The next was that I couldn't find a decent balance script to save my life, and the final reason was that none of the scripts took advantage of the utility a druid provides. The last reason is why I enjoy playing a druid, so I decided to attempt to remedy the situation.

My initial design layout was to use 3 primary buttons that would correspond with how I always looked at our abilities. The first button is our main rotation, the second button was our cooldown abilities, and the third button would be our utility abilities. Obviously these abilities would vary from spec to spec, but the general idea would remain the same. After some testing, people suggested that I have a predictor button in place. Also, after my own testing, I decided that I wanted to have a separate button for FF live. After further testing, I expanded the FF button to encompass what I called Long Cooldowns (ie - berserk, tree of life, force of nature). I decided because I wanted to keep it clean, that I would allow the user to enable or disable these buttons. After further feedback, some people found the utility button unnecessary and requested that it be removed. Instead of that, I added an option to disable it.

In many ways, this is a much more simplified script, by offering the end user fewer options. At most, the end user has 4 check boxes to choose from (Feral Charge, Utility Button, Long Cooldown Button, and Predictor Box). I have tried to add comments, so that users could easily make modifications.

I also assume a level of comfort with ones spec. With the addition of the Utility button especially, following the script blindly would be a mistake. Think of this more as cue cards... you should know what you're doing, but if you get lost, this will put you back on track.

Also, I'm still trying to figure out how to verify my balance numbers in Simulationcraft, but I haven't had any luck so far. If somebody is handy with that program, I would appreciate any help that they could provide.

As always, feedback is both welcome and appreciated. If people seem to like what I have done here, I will continue to update the script and take suggestions.

Shield = Less than 50% health, suggest using a survival CD
Blood = Less than 30% health, suggest healing yourself
Dash = Out of range
Clock = Ready, but not the optimal time to use the ability
Hoof = Prepare to Feral Charge (only if box checked)


**CHANGELOG**
Release 4.2.1 - Beta release 4.2.. still has Lunar shower bugs. Please find at the bottom of this thread.
Release 1.6.1 - Added suggestion to use Maul on OOC procs
Release 1.6 - Changed the logic flow for the Balance portion of the script
- Added check for Blood in the Water
- Commented out the Bloodlust portion, as their seems to be some debate as to whether or not this is a DPS gain.
- Moved maul out of the main bear rotation
- Minor formatting tweaks
- Apparently got the versioning out of whack
Release 1.2 - Fixed an issue with Ferocious Bite not being in the rotation
- Tweaked the calls for the utility box
- Changed the health warnings to *SHIELD* (use a defensive cooldown) and *FIRST AID* (heal yourself)
- A few other minor optimizations
Release 1.1 - Missed a bug. Fixed the typo in the bloodlust balance portion of the script. It should now be working as anticipated.
Release 1.0 - Lets hope I got all the bugs out
Last edited by Spritzup on Mon Jul 25, 2011 5:39 pm, edited 6 times in total.

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Skarnu Ovale Druid Script - All PvE Specs --> Beta Release

Postby Spritzup » Tue Feb 22, 2011 12:23 am

1.6.2-Beta

I have tweaked the bear tanking code to attempt to maximize threat on an initial pull, and then to maximize survivability. I've only been able to test it on the training dummy, but it seems to scale well depending on the rage available. I'll have to do further testing under real conditions and see how it works.

Also, I was going to have a move suggestor similar to the balance and feral kitty portion, but I think the rotation may be to reactionary for it to be effective. I would appreciate any thoughts you may have. The other option is to have that spot show you what survival CD's are available... or just show you the CD on barkskin.

Code: Select all
#Druid Ovale script for all PvE specs
#Credit for the feral portion goes to Leafkiller and Alaron.  I used their script extensively with just some minor alterations
#For more info on the feral portion of the script, please check out http://fluiddruid.net/forum/index.php
#I'd also like to thank the people who tested the balance portion of the script for me -->
#Gabrielz from http://wow.curseforge.com/addons/ovale/forum/ who was a wealth of info
#shinryu from http://fluiddruid.net/forum/index.php who gave some great feedback and help shape the way that info is displayed
#Erdluf from http://themoonkinrepository.com who simmed a bunch of my balance numbers and confirmed that I was on the right track
#Alot of the script wouldn't have been possible without the work of our favorite jerks over at http://elitistjerks.com/forums.php
#especially Hamlet for his fantastic work writeup on the balance spec
#I have to give credit to Sidoine for creating Ovale, and his continual feedback and improvements that he makes.
#Finally I have to thank all my guild members for having the patience with me as I continually logged on and off to test changes.
#I look forward to hearing any and all feedback
#Skarnu, dr00d4life, Agamaggan - Orc Splitters Local 101
#PS - If I missed anyone, I apologize
[[
######################################################################################################################################################
#Balance Spells
#DPS Spells
Define(INSECTSWARM 5570)   #DoT
Define(MOONFIRE 8921)      #Direct Damage Arcane spell with a powerful DoT component
Define(STARFIRE 2912)      #Arcane DD spell
    SpellInfo(STARFIRE eclipse=20)
Define(STARSURGE 78674)      #Powerful DD spell with 15 second CD
    SpellInfo(STARSURGE starsurge=15)
Define(SUNFIRE 93402)      #Direct Damage Nature spell with a powerful DoT component
Define(WRATH 5176)      #Nature DD spell
    SpellInfo(WRATH eclipse=-13)

#CD Abilities
Define(FAERIEFIRE 770)      #I know this is also a utility ability, but that section was more crowded
Define(FORCEOFNATURE 33831)   #Balance long cooldown ability
Define(STARFALL 48505)      #Poweful Balance AoE, and Single Target CD

#Utility Abilities
Define(SOLARBEAM 78675)      #An AoE talented silence ability

#Self Buffs
Define(ECLIPSELUNAR 48518)   #Increase Arcane Damage
Define(ECLIPSESOLAR 48517)   #Increase Nature Damage
Define(SHOOTINGSTARS 93400)   #Instant Starsurge

######################################################################################################################################################
#Feral Bear
#Threat Abilities
Define(MANGLEBEAR 33878)   #Increase bleed damage and put outs alot of threat
Define(LACERATE 33745)      #Bleed DoT, can proc instant Mangles
Define(MAUL 6807)      #Rage Dump
Define(SWIPEBEAR 779)      #AoE ability with a 6-second cooldown
Define(THRASH 77758)      #AoE ability with a 6-second cooldown and a bleed component
Define(PULVERIZE 80313)      #Talented ability that does damage and increases your crit chance
Define(DEMOROAR 99)      #Reduces incoming damage

#CD Abilities
Define(SURVIVALINSTINCTS 61336)   #Reduces all damage taken by 50%
Define(FRENZIEDREGEN 22842)   #Increases your health and healing received
Define(GROWL 6795)      #Bear Taunt
Define(CHALLENGINGROAR 5209)   #Bear AoE taunt
Define(FERALCHARGEBEAR 16979)   #Charge with a stun component
Define(BERSERK 50334)      #Long CD ability, eliminates the CD on mangle and allows mangle to hit multiple targets

#Utility Abilities
Define(BASH 5211)      #Interrupt
Define(SKULLBASHBEAR 80964)   #Interrupt
Define(STAMPEDINGROARBEAR 77761)
Define(FFF 16857)      #Reduce the armor of the target, does a small amount of threat

#Self Buffs
Define(PULVERIZEBUFF 80951)

#Talents
Define(PULVERIZETALENT 8319)   #Checks to see if this has been talented, as it affects the bear rotation

######################################################################################################################################################
#Feral Cat
#DPS Abilities
Define(MANGLECAT 33876)      #Increases bleed damage
   SpellInfo(MANGLECAT combo=1)
Define(SHRED 5221)      #combo point builder
   SpellInfo(inccounter=ripshreds)
   SpellInfo(SHRED combo=1)
Define(RAKE 1822)      #Combo point builder that puts a DoT on the target
   SpellInfo(RAKE combo=1)
Define(RIP 1079)      #Finishing move, puts a powerful bleed on the target
   SpellInfo(resetcounter=ripshreds)
   SpellInfo(RIP glyph=GLYPHOFSHRED addduration=6)
   SpellInfo(RIP combo=-5)
Define(RAVAGE 6785)      #Powerful opener, adds one combo point
   SpellInfo(RAVAGE combo=1)
Define(SAVAGEROAR 52610)   #Increases our white damage
   SpellInfo(SAVAGEROAR combo=-5)
Define(FEROCIOUSBITE 22568)   #Cat Finisher when mob below 25%
   SpellInfo(FEROCIOUSBITE combo=-5 mana=70)
Define(FERALCHARGECAT 49376)   #Charge with a stun
Define(TIGERSFURY 5217)      #Increases our damage and grants us energy

#Utility Abilities
Define(MAIM 22570)      #Finishing move that stuns the enemy and does a small amount of damage
   SpellInfo(MAIM combo=-5)
Define(SKULLBASHCAT 80965)   #Interrupt
Define(STAMPEDINGROARCAT 77764)
Define(COWER 8998)      #Threat Dump

#Glyphs
Define(GLYPHOFSHRED 54815)
Define(GLYPHOFRIP 54818)
Define(GLYPHOFBERSERK 62969)

#Self Buffs
Define(PANTHER 90166)      #Our T11 Bonus
Define(STAMPEDE 81022)
Define(PREDATORYSWIFTNESS 69369)

#Talents
Define(BITW 8341)      #Checks to see if Blood in the Water has been talented

######################################################################################################################################################
#Resto Druid
#Heals
Define(REGROWTH 8936)      #High Mana cost, fast heal
Define(WILDGROWTH 48438)   #AoE Heal

#CD
Define(SWIFTMEND 18562)      #Consumes a HoT for an instant heal
Define(NATURESWIFTNESS 17116)   #Makes our next spell instant
Define(TOL 65139)      #Long coolddown, greatly increases our healing

######################################################################################################################################################
#Shared Abilities
#Utility Abilities
Define(BARKSKIN 22812)      #Reduces damage taken
Define(HEALINGTOUCH 5185)   #High mana cost, long heal
Define(SOOTHE 2908)      #Removes enrage type affects
Define(ROOTS 339)      #Roots a target in place
Define(NATURESGRASP 16689)   #Roots any target that strikes the caster
Define(HIBERNATE 2637)      #Puts an animal to sleep
Define(INNERVATE 29166)      #Increases mana regen by the a % of the casters mana
Define(SHADOWMELD 58984)   #Removes all threat until canceled

#Healing Buffs
Define(REJUVENATION 774)
Define(RENEW 139)
Define(LIFEBLOOM 33763)
Define(RIPTIDE 61295)

#Self Buffs
Define(CLEARCASTING 16870)

#Relevant Mob Debuffs
Define(SUNDERARMOR 58567)
Define(FF 91565)
Define(EXPOSEARMOR 8647)

#Group Similar Buffs Together
SpellList(bloodlust 2825 80353 32182 90355)
SpellList(hot 774 139 33763 61295)
######################################################################################################################################################

AddCheckBox(Utility "Utility Button" default)
AddCheckBox(LCD "Long Cooldown Button" default)
AddCheckBox(Predictor "Predictor" default)
AddCheckBox(FC SpellName(FERALCHARGECAT) mastery=2)

###############################################################BALANCE_PORTION########################################################################
#This is a very simple predictor for the balance spec.  It basically tells you what phase of your rotation you should be in
AddIcon help=Predictor mastery=1 size=small
{
   if CheckBoxOn(Predictor)
   {
      if BuffPresent(ECLIPSESOLAR) or Eclipse(equal 100)
      {
         Spell(WRATH)
      }
      if BuffPresent(ECLIPSELUNAR) or Eclipse(equal -100)
      {
         Spell(STARFIRE)
      }
      if Eclipse(more 0) or Eclipse(equal 0)
      {
         Spell(STARFIRE)
      }
      if Eclipse(less 0)
      {
         Spell(WRATH)
      }
   }
}

AddIcon help=main mastery=1
{
#This checks to see if the player is moving and suggests only instant cast abilities.
   if Speed(target=player more 0)
   {
      if BuffPresent(SHOOTINGSTARS) unless BuffPresent(ECLIPSESOLAR) and Eclipse(less 16)
      {
         Spell(STARSURGE)
      }
      if TargetDebuffExpires(INSECTSWARM 1.9 mine=1) and TargetDeadIn(more 8)
      {
         Spell(INSECTSWARM)
      }
      if BuffPresent(ECLIPSESOLAR)
      {
         Spell(SUNFIRE)
      }
      Spell(MOONFIRE)
      }

#Check to see if Bloodlust (or similar) is present.  If yes, we refresh or DoTs to get the benefit of the haste
#   if BuffPresent(bloodlust) and BuffGain(bloodlust 5) or BuffPresent(bloodlust) and BuffExpires(bloodlust 5)
#   {
#      if TargetDebuffExpires(INSECTSWARM 12 mine=1)
#      {
#         Spell(INSECTSWARM)
#      }
#      if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
#      {
#         if BuffPresent(ECLIPSESOLAR)
#         {
#            Spell(SUNFIRE)
#         }
#         Spell(MOONFIRE)
#      }
#   }

#Logic to delay casting of DoTs and Starsurge until Eclipse state.
   if Eclipse(more 79) unless BuffPresent(ECLIPSESOLAR)
   {
      if Casting(STARFIRE) and Eclipse(more 99)
      {
         Spell(WRATH)
      }
      Spell(STARFIRE)
   }
   if Eclipse(less -86) unless BuffPresent(ECLIPSELUNAR)
   {
      if Casting(WRATH) and Eclipse(more 99)
      {
         Spell(STARFIRE)
      }
      Spell(WRATH)
   }

#Keep our DoTs up
   if TargetDebuffExpires(INSECTSWARM 1.9 mine=1) and TargetDeadIn(more 8)
   {
      Spell(INSECTSWARM)
   }
   if TargetDebuffExpires(MOONFIRE 1.9 mine=1) and TargetDebuffExpires(SUNFIRE 1.9 mine=1) and TargetDeadIn(more 8)
   {
      if BuffPresent(ECLIPSESOLAR)
      {
         Spell(SUNFIRE)
      }
      Spell(MOONFIRE)
   }

#Logic for Leaving an Eclipse State.  Will clip the dots to get the benefit of the eclipse state
   if TargetDebuffExpires(INSECTSWARM 4 mine=1) and TargetDeadIn(more 8) and BuffPresent(ECLIPSESOLAR)
   {
      if Eclipse(less 27) and Casting(WRATH) or Casting(STARSURGE)
      {
         Spell(INSECTSWARM)
      }
      if Eclipse(less 14)
      {
      Spell(INSECTSWARM)
      }
   }
   if TargetDebuffExpires(MOONFIRE 4 mine=1) and TargetDebuffExpires(SUNFIRE 4 mine=1) and TargetDeadIn(more 8)
   {
      if BuffPresent(ECLIPSESOLAR)
      {
         if Eclipse(less 27) and Casting(WRATH) or Casting(STARSURGE)
         {
            Spell(SUNFIRE)
         }
         if Eclipse(less 14)
         {
            Spell(SUNFIRE)
         }
      }
      if BuffPresent(ECLIPSELUNAR)
      {
         if Eclipse(more -41) and Casting(STARFIRE)
         {
            Spell(MOONFIRE)
         }
         if Eclipse(more -21)
         {
            Spell(MOONFIRE)
         }
      }
   }

#Logic for Starsurge
   if 0s before Spell(STARSURGE) or BuffPresent(SHOOTINGSTARS)
   {
      Spell(STARSURGE)
   }

#Our main nukes when everything else is taken care of
   if BuffPresent(ECLIPSESOLAR) or Eclipse(equal 100)
   {
      Spell(WRATH)
   }   
   if BuffPresent(ECLIPSELUNAR) or Eclipse(equal -100)
   {
      Spell(STARFIRE)
   }
   if Eclipse(more 0) or Eclipse(equal 0)
   {
      Spell(STARFIRE)
   }
   if Eclipse(less 0)
   {
      Spell(WRATH)
   }
}

AddIcon help=CD mastery=1
{
   if TargetIsCasting(yes) and TargetIsInterruptible(yes)
   {
      Spell(SOLARBEAM)
   }
#This will delay casting Starfall if you're about the enter a lunar eclipse state.
   if Eclipse (more -73) or BuffPresent(ECLIPSESOLAR) or BuffPresent(ECLIPSELUNAR)
   {
      Spell(STARFALL)
   }
   if 0s before Spell(STARFALL)
   {
      Texture(Spell_nature_timestop)
   }
   Item(Trinket0Slot usable=1)
   Item(Trinket1Slot usable=1)
}

AddIcon help=Utility mastery=1
{
#This section will suggest abilities that don't directly increase your DPS, but may increase your survivability and/or raid utility.
   if CheckBoxOn(Utility)
   {
      if LifePercent(less 30) unless BuffPresent(hot)
      {
         Texture(Spell_holy_sealofsacrifice)
      }
      if LifePercent(less 50) and LifePercent(more 31) unless BuffPresent(hot)
      {
         Texture(Ability_warrior_shieldmastery)
      }
      if ManaPercent(less 15) unless BuffPresent(INNERVATE)
      {
         Spell(INNERVATE)
      }
#I have yet to find a list of dispellable rage type affects for Cata.  If anyone knows, please let me know
#      if TargetDebuffPresent(SOMEKINDOFRAGE)
#      {
#      Spell(SOOTHE)
#      }
#This is our CC section.  Please note that currently we can't check to see if it's possible to CC a mob
      if TargetTargetIsPlayer(yes) and Speed(Target=Player more 0) unless TargetClassification(worldboss)
      {
         Spell(NATURESGRASP)
      }
      if TargetCreatureType(Beast) or TargetCreatureType(Dragonkin) unless TargetClassification(worldboss)
      {
         Spell(HIBERNATE)
      }
      if Speed(Target=Player equal 0)    unless TargetClassification(worldboss)
      {
         Spell(ROOTS)
      }
   }
}


############################################################FERAL_PORTION##############################################################################
AddIcon help=Predictor mastery=2 size=small
{
#Predictor portion for feral, this has everything but shreds in it (as shreds are filler)
   if CheckBoxOn(Predictor)
   {
      if BuffPresent(CLEARCASTING) unless TargetDebuffExpires(bleed 1)
      {
         Spell(MAUL)
      }
      if TalentPoints(PULVERIZETALENT more 0) and TargetDebuffPresent(LACERATE stacks=3) and BuffExpires(PULVERIZEBUFF 1)
      {
         Spell(PULVERIZE)
      }
      if 1s before Spell(MANGLEBEAR)
      {
         Spell(MANGLEBEAR)
      }
      if TargetDebuffExpires(lowerphysicaldamage 4)
      {
         Spell(DEMOROAR)
      }
      if 1s before Spell(THRASH)
      {
         Spell(THRASH)
      }
      unless TargetDebuffPresent(LACERATE stacks=1 mine=1)
      {
         Spell(LACERATE)
      }
      unless TargetDebuffPresent(LACERATE stacks=3)
      {
         Spell(LACERATE)
      }
   }
      if Stance(3)    #Cat Form
      {
#Prioritizes using TF at the most opportune time, so as not to waste the bonus energy
         unless BuffPresent(BERSERK) or BuffPresent(CLEARCASTING)
         {
            if Mana(less 36)
            {
               Spell(TIGERSFURY)
            }
         }
         unless TargetInRange(MANGLECAT)
         {
            Texture(Ability_druid_dash)
         }
#Check to see if the 4pc T11 is present
      if ArmorSetParts(T11 more 3) and BuffPresent(PANTHER)
      {
         if BuffExpires(PANTHER 4)
         {
            Spell(MANGLECAT)
         }
      }
      if TargetDebuffExpires(bleed 1)
      {
         Spell(MANGLECAT)
      }
#Checks to see if it's possible to ravage, and waits until the buff is about to fall off
      if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 3)
      {
         Spell(RAVAGE)
      }
#The ferocious bite logic for the blood in the water phase
      if TalentPoints(BITW more 1) and ComboPoints(more 0) and TargetDebuffExpires(RIP 2.1 mine=1) and TargetLifePercent(less 25) and TargetDebuffPresent(RIP mine=1)
      {
         Spell(FEROCIOUSBITE)
      }
      if TalentPoints(BITW more 1) and ComboPoints(more 4) and TargetLifePercent(less 25) and TargetDebuffPresent(RIP mine=1)
      {
         Spell(FEROCIOUSBITE)
      }
#Keeps rip refreshed with the glyph of shred
      if Glyph(GLYPHOFSHRED) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and Counter(ripshreds less 3)
      {
         Spell(SHRED)
      }
#Uses FB on low health mobs.  This becomes  a judgement call, as if you're going to move onto another mob immediately, you may want to throw up SR
      if ComboPoints(more 4) and TargetDeadIn(less 7)
      {
         Spell(FEROCIOUSBITE)
      }
#Puts up RIP
      if ComboPoints(more 4) and TargetDeadIn(more 6)
      {
         if TargetDebuffExpires(RIP 1.9 mine=1)
         {
            Spell(RIP)
         }
      }
#The rake logic.  It will suggesting clipping rake if TF is present
      if TargetDebuffExpires(RAKE 8.9 mine=1) and TargetDeadIn(more 8.4) and BuffPresent(TIGERSFURY)
      {
         Spell(RAKE)
      }
      if TargetDebuffExpires(RAKE 2.9 mine=1) and TargetDeadIn(more 8.4)
      {
         Spell(RAKE)
      }
#Use excess combopoints for SR if it's not already present
      if ComboPoints(more 0) and BuffExpires(SAVAGEROAR 1) and TargetDebuffPresent(RIP 6 mine=1)
      {
         Spell(SAVAGEROAR)
      }
#Use ravage early if you have TF buff up
      if BuffPresent(STAMPEDE) and BuffPresent(TIGERSFURY) unless BuffPresent(CLEARCASTING)
      {
         Spell(RAVAGE)
      }
#Keep your T11 (panther) buff active
      if ArmorSetParts(T11 more 3) unless BuffPresent(PANTHER stacks=3)
      {
         Spell(MANGLECAT)
      }
   }
}

AddIcon help=Main mastery=2
{
#Not much to say for the bear portion of this.  This is the bear rotation, use it, love it.
   if Stance(1)    #Bear Form
   {
      unless TargetInRange(MANGLEBEAR)
      {
         Texture(Ability_druid_dash)
      }
      if BuffPresent(CLEARCASTING) unless TargetDebuffExpires(bleed 1)
      {
         Spell(MAUL)
      }
      if TalentPoints(PULVERIZETALENT more 0) and TargetDebuffPresent(LACERATE stacks=3) and BuffExpires(PULVERIZEBUFF 1)
      {
         Spell(PULVERIZE)
      }
      if 1s before Spell(MANGLEBEAR)
      {
         Spell(MANGLEBEAR)
      }
      if TargetDebuffExpires(lowerphysicaldamage 4)
      {
         Spell(DEMOROAR)
      }
      if 1s before Spell(THRASH)
      {
         Spell(THRASH)
      }
      unless TargetDebuffPresent(LACERATE stacks=1 mine=1)
      {
         Spell(LACERATE)
      }
      unless TargetDebuffPresent(LACERATE stacks=3)
      {
         Spell(LACERATE)
      }
      if TargetDebuffPresent(LACERATE stacks=3)
      {
         if Mana(more 70) unless TargetDebuffExpires(LACERATE 3)
         {
            unless BuffExpires(PULVERIZEBUFF 2)
            {
            Spell(MAUL)
            }
         }
      }
      Spell(LACERATE)
   }
   if Stance(3)
   {
      unless BuffPresent(BERSERK) or BuffPresent(CLEARCASTING)
      {
         if Mana(less 36)
         {
            Spell(TIGERSFURY)
         }
      }
      unless TargetInRange(MANGLECAT)
      {
         Texture(Ability_druid_dash)
      }
      if ArmorSetParts(T11 more 3) and BuffPresent(PANTHER)
      {
         if BuffExpires(PANTHER 4)
         {
            Spell(MANGLECAT)
         }
      }
      if TargetDebuffExpires(bleed 1)
      {
         Spell(MANGLECAT)
      }
      if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 3)
      {
         Spell(RAVAGE)
      }
      if TalentPoints(BITW more 1) and ComboPoints(more 0) and TargetDebuffExpires(RIP 2.1 mine=1) and TargetLifePercent(less 25) and TargetDebuffPresent(RIP mine=1)
      {
         Spell(FEROCIOUSBITE)
      }
      if TalentPoints(BITW more 1) and ComboPoints(more 4) and TargetLifePercent(less 25) and TargetDebuffPresent(RIP mine=1)
      {
         Spell(FEROCIOUSBITE)
      }
      if Glyph(GLYPHOFSHRED) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and Counter(ripshreds less 3)
      {
         Spell(SHRED)
      }
      if ComboPoints(more 4) and TargetDeadIn(less 7)
      {
         Spell(FEROCIOUSBITE)
      }
      if ComboPoints(more 4) and TargetDeadIn(more 6)
      {
         if TargetDebuffExpires(RIP 1.9 mine=1)
         {
            Spell(RIP)
         }
      }
      if TargetDebuffExpires(RAKE 8.9 mine=1) and TargetDeadIn(more 8.4) and BuffPresent(TIGERSFURY)
      {
         Spell(RAKE)
      }
      if TargetDebuffExpires(RAKE 2.9 mine=1) and TargetDeadIn(more 8.4)
      {
         Spell(RAKE)
      }
      if ComboPoints(more 0) and BuffExpires(SAVAGEROAR 1) and TargetDebuffPresent(RIP 6 mine=1)
      {
         Spell(SAVAGEROAR)
      }
      if BuffPresent(STAMPEDE) and BuffPresent(TIGERSFURY) unless BuffPresent(CLEARCASTING)
      {
         Spell(RAVAGE)
      }
      if ArmorSetParts(T11 more 3) unless BuffPresent(PANTHER stacks=3)
      {
         Spell(MANGLECAT)
      }
#All the comments in the predictor portion are the same.  Below is the logic to use shred as filler
      if Mana(more 69)
      {
         Spell(SHRED)
      }
      if BuffPresent(CLEARCASTING) or TargetDeadIn(less 10) or BuffPresent(BERSERK) or BuffPresent(TIGERSFURY)
      {
         Spell(SHRED)
      }
      if ComboPoints(less 5) and TargetDebuffExpires(RIP 3 mine=1)
      {
         Spell(SHRED)
      }
      if ComboPoints(less 1) and BuffExpires(SAVAGEROAR 2)
      {
         Spell(SHRED)
      }
      if { 3s before Spell(TIGERSFURY) } Spell(SHRED)
   }
}

AddIcon help=CD mastery=2
{
#Our bear cooldowns.
   if Stance(1)
   {
      if TargetInRange(FERALCHARGEBEAR)
      {
         Spell(FERALCHARGEBEAR)
      }
      if TargetIsCasting(yes) and TargetIsInterruptible(yes)
      {
         Spell(BASH)
         Spell(SKULLBASHBEAR)
      }
      if Threat(less 100) and InCombat(yes) unless TargetTargetIsPlayer(yes)
      {
         Spell(GROWL)
         Spell(CHALLENGINGROAR)
      }
      Item(Trinket0Slot usable=1)
      Item(Trinket1Slot usable=1)
   }
#Our cat cooldowns
   if Stance(3)
   {
#Feral charge logic.  It is a dps gain to run out and FC on CD.
      if TargetInRange(FERALCHARGECAT)
      {
         Spell(FERALCHARGECAT)
      }
      if TargetIsCasting(yes) and TargetIsInterruptible(yes)
      {
         Spell(SKULLBASHCAT)
         if ComboPoints(more 1)
         {
            Spell(MAIM)
         }
      }
      if CheckBoxOn(FC)
      {
         unless BuffPresent(TIGERSFURY) or BuffPresent(BERSERK) or Mana(more 69) or BuffPresent(CLEARCASTING)
          {
            unless ArmorSetParts(T11 more 3) and BuffExpires(PANTHER 4)
            {
               if 2s before Spell(FERALCHARGECAT)
               {
                  unless TargetDebuffExpires(RAKE 5.9 mine=1) or TargetInRange(FERALCHARGECAT)
                  {
#This texture tells you it's time to run out and get ready to charge back in
                     Texture(Ability_druid_travelform)
                  }
               }
            }
         }
#This texture tells you that even though the FC is ready, it's not the optimal time to use it
         if 0s before Spell(FERALCHARGECAT)
         {
            if InCombat(no)
            {
               Texture(Ability_druid_dash)
            }
            Texture(Spell_nature_timestop)
         }
      }
      Item(Trinket0Slot usable=1)
      Item(Trinket1Slot usable=1)
   }
}

AddIcon help=Utility mastery=2
{
   if CheckBoxOn(Utility)
   {
      if Stance(1)
      {
         if LifePercent(less 30)
         {
            Texture(Ability_warrior_shieldmastery)
         }
         Spell(STAMPEDINGROARBEAR)
      }
      if Stance(3)
      {
#Logic to suggest healing yourself if need be   
         if BuffPresent(PREDATORYSWIFTNESS)
         {
            Texture(ability_hunter_pet_cat)
         }
         if LifePercent(less 30) unless BuffPresent(hot)
         {
            Texture(Spell_holy_sealofsacrifice)
         }
         if LifePercent(less 50) and LifePercent(more 31) unless BuffPresent(hot)
         {
            Texture(Ability_warrior_shieldmastery)
         }
#I have yet to find a list of dispellable rage type affects for Cata.  If anyone knows, please let me know
#         if TargetDebuffPresent(SOMEKINDOFRAGE)
#         {
#            Spell(SOOTHE)
#         }
         Spell(STAMPEDINGROARCAT)
      }
   }
}

###########################################################RESTO_PORTION##############################################################################
AddIcon help=Heals mastery=3
#As there is no rotation for healing this simply suggests regrowth when OOC procs, and then watches the CDs on your other spells
{
   if BuffPresent(CLEARCASTING)
   {
      Spell(REGROWTH)
   }
   Spell(WILDGROWTH)
}

AddIcon help=CD mastery=3
{
   Spell(SWIFTMEND)
   Spell(NATURESWIFTNESS)
   Item(Trinket0Slot usable=1)
   Item(Trinket1Slot usable=1)
}

AddIcon help=Utility mastery=3
{
   if CheckBoxOn(Utility)
   {
      if LifePercent(less 30)
      {
         Texture(Spell_holy_sealofsacrifice)
      }
      if LifePercent(less 50) and LifePercent(more 31)
      {
         Texture(Ability_warrior_shieldmastery)
      }
      if ManaPercent(less 15) unless BuffPresent(INNERVATE)
      {
         Spell(INNERVATE)
      }
      if TargetTargetIsPlayer(yes) and Speed(Target=Player more 0) unless TargetClassification(worldboss)
      {
         Spell(NATURESGRASP)
      }
   }
}
######################################################################################################################################################
AddIcon help=LCD Debuff size=small
#This checks to see if an armor debuff is on the target and suggests applying it if not.  Otherwise, it tracks each specs long CD abilities
{
   if CheckBoxOn(LCD)
   {
      unless TargetDebuffPresent(FF stacks=3) or TargetDebuffPresent(SUNDERARMOR stacks=3) or TargetDebuffPresent(EXPOSEARMOR)
      {
         Spell(FAERIEFIRE)
      }
      if Stance(5)
      {
         Spell(FORCEOFNATURE)
      }
      if Stance(3)
#Suggests holding off Berserk until the optimal time
      {   
         if Mana(more 69) and Mana(less 96)
         {
            if Glyph(GLYPHOFBERSERK)
            {
               unless 20s before Spell(TIGERSFURY)
               {
                  Spell(BERSERK)
               }
            }
            unless Glyph(GLYPHOFBERSERK)
            {
               unless 15s before Spell(TIGERSFURY)
               {
                  Spell(BERSERK)
               }
            }
         }
         if 0s before Spell(BERSERK)
         {
            Texture(Spell_nature_timestop)
         }
      }
      if Stance(1)
      {
         Spell(BERSERK)
      }
      Spell(TOL)
   }
}
]]
Last edited by Spritzup on Mon Apr 18, 2011 1:14 pm, edited 1 time in total.

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Sat Mar 19, 2011 1:31 pm

Update posted

Posts: 4
Joined: Tue Feb 22, 2011 2:49 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Finandir » Tue Mar 22, 2011 11:15 am

Thanks for the work on this, Spritzup. It's been especially helpful for me as I try to learn moonkin. I was wondering which version of Leafkiller's script you are pulling from for feral? I'm just trying to figure out how up to date that portion of the script is, since you indicate that your feral cat portion is based on that work.

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Tue Mar 22, 2011 3:08 pm

Finandir,

Thanks for the feedback. I'm using the general outline of Leafkillers script, but I've tweaked some things here and there to accommodate for the different way I've chosen to display information. With that said, the script has everything that Leafkillers current script has, with the exception of -->

- Disable T11 autochecking
- Change to Berserk logic (I've just been lazy about doing that... I really should.)
- I have yet to put in trinket cooldown tracking

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Thu Mar 24, 2011 12:32 pm

Minor update

Honored
Posts: 55
Joined: Wed Jan 12, 2011 8:37 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Mandragaran » Sat Apr 16, 2011 2:19 pm

Has anyone checked the feral portion of this against Leaf's? I'm wondering if there is a dps difference.

Is it updated every time the main feral script is updated?

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Sat Apr 16, 2011 2:53 pm

I use Leaf's script as the basis for mine. I would say that Leafs script will give the absolute most DPS as it takes to into account trinket procs and everything else. Having said that though, I can't see the difference being very large. Also if anybody does run the numbers, I would be curious to see what they are.

Posts: 44
Joined: Fri Mar 18, 2011 8:16 am

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby CaptainCub » Sun Apr 17, 2011 7:09 am

Spritzup wrote: as it takes to into account trinket procs and everything else.


Are you sure about that? I'm pretty sure it only tracks trinkets' ICD's, nothing else.

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Sun Apr 17, 2011 9:41 am

You may be right, but in any case my script doesn't do any tracking of trinkets (at least in a meaningful way).

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Wed Apr 20, 2011 9:10 pm

So it looks like the revamped bear portion of the script works well (at least in game). No bugs at least :)

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Mon Jun 27, 2011 6:55 pm

So 4.2 drops tomorrow and I've been slacking. I started a new job and haven't had time to really play around with my Ovale script. This weekend is a long weekend up in the great white north, so my plan (as of now) is to hammer out a 4.2 compatible script.

Thanks for your patience :D

Honored
Posts: 113
Joined: Thu Jun 30, 2011 4:05 am

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby RareBeast » Thu Jun 30, 2011 4:13 am

If you are re-doing the script, is there a way to look at the time to death of the mob and not recommend MF/IS if it will die soon?

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Thu Jun 30, 2011 9:32 am

It was already supposed to be doing this, but I'll verify.

Thanks for the feedback!

Posts: 1
Joined: Sun Jul 17, 2011 12:59 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Chickenflue » Tue Jul 19, 2011 6:25 am

Did a 4.2 script get posted? Forgive me if it did and I can't find it, and if not here is a large chest of encouragement lol (It's all I can offer on the help side of things)

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Tue Jul 19, 2011 7:49 am

I have the Feral portion done (and it seems to be working well), I'm just running into an issue with trying to account for the "Lunar Shower" change for Moonkins. Couple that with the summer months limiting my playtime and I just haven't had a chance to really dedicate as much time as I would like to figuring out the problems.

Having said that though, if folks are using my script (and I'm flattered) and are in need of a 4.2 one, I can release what I currently have.

Let me know.

Skar

Posts: 19
Joined: Sun Mar 20, 2011 1:08 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Zaxxan » Sun Jul 24, 2011 8:25 pm

It would be very much appreciated. I just switched to Boomkin for the future on some fights and I have absolutely no effing clue what I am doing. Granted this will get easier as I practive in 5mans more but, yeah a Boomkin Ovale would be handy until I get comfortable.

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs

Postby Spritzup » Mon Jul 25, 2011 5:37 pm

Here is what I have so far. I'm having issue with the boomkin portion trying to get it to model the new Lunar Shower. With the summer months in full swing, and a major project going on at work, I have not had a chance to really sit down and figure it out. So until I do, consider this a beta release :)

Code: Select all
#Druid Ovale script for all PvE specs
#Credit for the feral portion goes to Leafkiller and Alaron.  I used their script extensively with just some minor alterations
#For more info on the feral portion of the script, please check out http://fluiddruid.net/forum/index.php
#I'd also like to thank the people who tested the balance portion of the script for me -->
#Gabrielz from http://wow.curseforge.com/addons/ovale/forum/ who was a wealth of info
#shinryu from http://fluiddruid.net/forum/index.php who gave some great feedback and help shape the way that info is displayed
#Erdluf from http://themoonkinrepository.com who simmed a bunch of my balance numbers and confirmed that I was on the right track
#Alot of the script wouldn't have been possible without the work of our favorite jerks over at http://elitistjerks.com/forums.php
#especially Hamlet for his fantastic work writeup on the balance spec
#I have to give credit to Sidoine for creating Ovale, and his continual feedback and improvements that he makes.
#Finally I have to thank all my guild members for having the patience with me as I continually logged on and off to test changes.
#I look forward to hearing any and all feedback
#Skarnu, dr00d4life, Agamaggan - Orc Splitters Local 101
#PS - If I missed anyone, I apologize
[[
######################################################################################################################################################
#Balance Spells
#DPS Spells
Define(INSECTSWARM 5570)   #DoT
Define(MOONFIRE 8921)      #Direct Damage Arcane spell with a powerful DoT component
Define(STARFIRE 2912)      #Arcane DD spell
    SpellInfo(STARFIRE eclipse=20)
Define(STARSURGE 78674)      #Powerful DD spell with 15 second CD
    SpellInfo(STARSURGE starsurge=15)
Define(SUNFIRE 93402)      #Direct Damage Nature spell with a powerful DoT component
Define(WRATH 5176)      #Nature DD spell
    SpellInfo(WRATH eclipse=-13)

#CD Abilities
Define(FAERIEFIRE 770)      #I know this is also a utility ability, but that section was more crowded
Define(FORCEOFNATURE 33831)   #Balance long cooldown ability
Define(STARFALL 48505)      #Poweful Balance AoE, and Single Target CD

#Utility Abilities
Define(SOLARBEAM 78675)      #An AoE talented silence ability

#Self Buffs
Define(ECLIPSELUNAR 48518)   #Increase Arcane Damage
Define(ECLIPSESOLAR 48517)   #Increase Nature Damage
Define(SHOOTINGSTARS 93400)   #Instant Starsurge

######################################################################################################################################################
#Feral Bear
#Threat Abilities
Define(MANGLEBEAR 33878)   #Increase bleed damage and put outs alot of threat
Define(LACERATE 33745)      #Bleed DoT, can proc instant Mangles
Define(MAUL 6807)      #Rage Dump
Define(SWIPEBEAR 779)      #AoE ability with a 6-second cooldown
Define(THRASH 77758)      #AoE ability with a 6-second cooldown and a bleed component
Define(PULVERIZE 80313)      #Talented ability that does damage and increases your crit chance
Define(DEMOROAR 99)      #Reduces incoming damage
Define(ENRAGE 5229)      #Gives Rage and Damage Bonus

#CD Abilities
Define(SURVIVALINSTINCTS 61336)   #Reduces all damage taken by 50%
Define(FRENZIEDREGEN 22842)   #Increases your health and healing received
Define(GROWL 6795)      #Bear Taunt
Define(CHALLENGINGROAR 5209)   #Bear AoE taunt
Define(FERALCHARGEBEAR 16979)   #Charge with a stun component
Define(BERSERK 50334)      #Long CD ability, eliminates the CD on mangle and allows mangle to hit multiple targets

#Utility Abilities
Define(BASH 5211)      #Interrupt
Define(SKULLBASHBEAR 80964)   #Interrupt
Define(STAMPEDINGROARBEAR 77761)
Define(FFF 16857)      #Reduce the armor of the target, does a small amount of threat

#Self Buffs
Define(PULVERIZEBUFF 80951)

#Talents
Define(PULVERIZETALENT 8319)   #Checks to see if this has been talented, as it affects the bear rotation
Define(KOTJ 8323)      #Checks for KOTJ to use in the bear rotation

######################################################################################################################################################
#Feral Cat
#DPS Abilities
Define(MANGLECAT 33876)      #Increases bleed damage
   SpellInfo(MANGLECAT combo=1)
Define(SHRED 5221)      #combo point builder
   SpellInfo(inccounter=ripshreds)
   SpellInfo(SHRED combo=1)
Define(RAKE 1822)      #Combo point builder that puts a DoT on the target
   SpellInfo(RAKE combo=1)
Define(RIP 1079)      #Finishing move, puts a powerful bleed on the target
   SpellInfo(resetcounter=ripshreds)
   SpellInfo(RIP glyph=GLYPHOFSHRED addduration=6)
   SpellInfo(RIP combo=-5)
Define(RAVAGE 6785)      #Powerful opener, adds one combo point
   SpellInfo(RAVAGE combo=1)
Define(SAVAGEROAR 52610)   #Increases our white damage
   SpellInfo(SAVAGEROAR combo=-5)
Define(FEROCIOUSBITE 22568)   #Cat Finisher when mob below 25%
   SpellInfo(FEROCIOUSBITE combo=-5 mana=70)
Define(FERALCHARGECAT 49376)   #Charge with a stun
Define(TIGERSFURY 5217)      #Increases our damage and grants us energy

#Utility Abilities
Define(MAIM 22570)      #Finishing move that stuns the enemy and does a small amount of damage
   SpellInfo(MAIM combo=-5)
Define(SKULLBASHCAT 80965)   #Interrupt
Define(STAMPEDINGROARCAT 77764)
Define(COWER 8998)      #Threat Dump

#Glyphs
Define(GLYPHOFSHRED 54815)
Define(GLYPHOFRIP 54818)
Define(GLYPHOFBERSERK 62969)

#Self Buffs
Define(PANTHER 90166)      #Our T11 Bonus
Define(STAMPEDE 81022)
Define(PREDATORYSWIFTNESS 69369)

#Talents
Define(BITW 8341)      #Checks to see if Blood in the Water has been talented

######################################################################################################################################################
#Resto Druid
#Heals
Define(REGROWTH 8936)      #High Mana cost, fast heal
Define(WILDGROWTH 48438)   #AoE Heal

#CD
Define(SWIFTMEND 18562)      #Consumes a HoT for an instant heal
Define(NATURESWIFTNESS 17116)   #Makes our next spell instant
Define(TOL 65139)      #Long coolddown, greatly increases our healing

######################################################################################################################################################
#Shared Abilities
#Utility Abilities
Define(BARKSKIN 22812)      #Reduces damage taken
Define(HEALINGTOUCH 5185)   #High mana cost, long heal
Define(SOOTHE 2908)      #Removes enrage type affects
Define(ROOTS 339)      #Roots a target in place
Define(NATURESGRASP 16689)   #Roots any target that strikes the caster
Define(HIBERNATE 2637)      #Puts an animal to sleep
Define(INNERVATE 29166)      #Increases mana regen by the a % of the casters mana
Define(SHADOWMELD 58984)   #Removes all threat until canceled
Define(FFF 16857)      #Feral armor debuff

#Healing Buffs
Define(REJUVENATION 774)
Define(RENEW 139)
Define(LIFEBLOOM 33763)
Define(RIPTIDE 61295)

#Self Buffs
Define(CLEARCASTING 16870)

#Relevant Mob Debuffs
Define(SUNDERARMOR 58567)
Define(FF 91565)
Define(EXPOSEARMOR 8647)

#Group Similar Buffs Together
SpellList(bloodlust 2825 80353 32182 90355)
SpellList(hot 774 139 33763 61295)
######################################################################################################################################################

AddCheckBox(Utility "Utility Button" default)
AddCheckBox(LCD "Long Cooldown Button" default)
AddCheckBox(Predictor "Predictor" default)
AddCheckBox(FC SpellName(FERALCHARGECAT) mastery=2)

###############################################################BALANCE_PORTION########################################################################
#This is a very simple predictor for the balance spec.  It basically tells you what phase of your rotation you should be in
AddIcon help=Predictor mastery=1 size=small
{
   if CheckBoxOn(Predictor)
   {
      if BuffPresent(ECLIPSESOLAR) or Eclipse(equal 100)
      {
         Spell(WRATH)
      }
      if BuffPresent(ECLIPSELUNAR) or Eclipse(equal -100)
      {
         Spell(STARFIRE)
      }
      if Eclipse(more 0) or Eclipse(equal 0)
      {
         Spell(STARFIRE)
      }
      if Eclipse(less 0)
      {
         Spell(WRATH)
      }
   }
}

AddIcon help=main mastery=1
{
#This checks to see if the player is moving and suggests only instant cast abilities.
   if Speed(target=player more 0)
   {
      if BuffPresent(SHOOTINGSTARS) unless BuffPresent(ECLIPSESOLAR) and Eclipse(less 16)
      {
         Spell(STARSURGE)
      }
      if TargetDebuffExpires(INSECTSWARM 1.9 mine=1) and TargetDeadIn(more 8)
      {
         Spell(INSECTSWARM)
      }
      if BuffPresent(ECLIPSESOLAR)
      {
         Spell(SUNFIRE)
      }
      Spell(MOONFIRE)
      }

#Check to see if Bloodlust (or similar) is present.  If yes, we refresh or DoTs to get the benefit of the haste
#   if BuffPresent(bloodlust) and BuffGain(bloodlust 5) or BuffPresent(bloodlust) and BuffExpires(bloodlust 5)
#   {
#      if TargetDebuffExpires(INSECTSWARM 12 mine=1)
#      {
#         Spell(INSECTSWARM)
#      }
#      if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
#      {
#         if BuffPresent(ECLIPSESOLAR)
#         {
#            Spell(SUNFIRE)
#         }
#         Spell(MOONFIRE)
#      }
#   }

#Logic to delay casting of DoTs and Starsurge until Eclipse state.
   if Eclipse(more 79) unless BuffPresent(ECLIPSESOLAR)
   {
      if Casting(STARFIRE) and Eclipse(more 99)
      {
         Spell(WRATH)
      }
      Spell(STARFIRE)
   }
   if Eclipse(less -86) unless BuffPresent(ECLIPSELUNAR)
   {
      if Casting(WRATH) and Eclipse(more 99)
      {
         Spell(STARFIRE)
      }
      Spell(WRATH)
   }

#Keep our DoTs up
   if TargetDebuffExpires(INSECTSWARM 1.9 mine=1) and TargetDeadIn(more 8)
   {
      Spell(INSECTSWARM)
   }
   if TargetDebuffExpires(MOONFIRE 1.9 mine=1) and TargetDebuffExpires(SUNFIRE 1.9 mine=1) and TargetDeadIn(more 8)
   {
      if BuffPresent(ECLIPSESOLAR)
      {
         Spell(SUNFIRE)
      }
      Spell(MOONFIRE)
   }

#Logic for Leaving an Eclipse State.  Will clip the dots to get the benefit of the eclipse state
   if TargetDebuffExpires(INSECTSWARM 4 mine=1) and TargetDeadIn(more 8) and BuffPresent(ECLIPSESOLAR)
   {
      if Eclipse(less 27) and Casting(WRATH) or Casting(STARSURGE)
      {
         Spell(INSECTSWARM)
      }
      if Eclipse(less 14)
      {
      Spell(INSECTSWARM)
      }
   }
   if TargetDebuffExpires(MOONFIRE 4 mine=1) and TargetDebuffExpires(SUNFIRE 4 mine=1) and TargetDeadIn(more 8)
   {
      if BuffPresent(ECLIPSESOLAR)
      {
         if Eclipse(less 27) and Casting(WRATH) or Casting(STARSURGE)
         {
            Spell(SUNFIRE)
         }
         if Eclipse(less 14)
         {
            Spell(SUNFIRE)
         }
      }
      if BuffPresent(ECLIPSELUNAR)
      {
         if Eclipse(more -41) and Casting(STARFIRE)
         {
            Spell(MOONFIRE)
         }
         if Eclipse(more -21)
         {
            Spell(MOONFIRE)
         }
      }
   }

#Logic for Starsurge
   if 0s before Spell(STARSURGE) or BuffPresent(SHOOTINGSTARS)
   {
      Spell(STARSURGE)
   }

#Our main nukes when everything else is taken care of
   if BuffPresent(ECLIPSESOLAR) or Eclipse(equal 100)
   {
      Spell(WRATH)
   }   
   if BuffPresent(ECLIPSELUNAR) or Eclipse(equal -100)
   {
      Spell(STARFIRE)
   }
   if Eclipse(more 0) or Eclipse(equal 0)
   {
      Spell(STARFIRE)
   }
   if Eclipse(less 0)
   {
      Spell(WRATH)
   }
}

AddIcon help=CD mastery=1
{
   if TargetIsCasting(yes) and TargetIsInterruptible(yes)
   {
      Spell(SOLARBEAM)
   }
#This will delay casting Starfall if you're about the enter a lunar eclipse state.
   if Eclipse (more -73) or BuffPresent(ECLIPSESOLAR) or BuffPresent(ECLIPSELUNAR)
   {
      Spell(STARFALL)
   }
   if 0s before Spell(STARFALL)
   {
      Texture(Spell_nature_timestop)
   }
   Item(Trinket0Slot usable=1)
   Item(Trinket1Slot usable=1)
}

AddIcon help=Utility mastery=1
{
#This section will suggest abilities that don't directly increase your DPS, but may increase your survivability and/or raid utility.
   if CheckBoxOn(Utility)
   {
      if LifePercent(less 30) unless BuffPresent(hot)
      {
         Texture(Spell_holy_sealofsacrifice)
      }
      if LifePercent(less 50) and LifePercent(more 31) unless BuffPresent(hot)
      {
         Texture(Ability_warrior_shieldmastery)
      }
      if ManaPercent(less 15) unless BuffPresent(INNERVATE)
      {
         Spell(INNERVATE)
      }
#I have yet to find a list of dispellable rage type affects for Cata.  If anyone knows, please let me know
#      if TargetDebuffPresent(SOMEKINDOFRAGE)
#      {
#      Spell(SOOTHE)
#      }
#This is our CC section.  Please note that currently we can't check to see if it's possible to CC a mob
      if TargetTargetIsPlayer(yes) and Speed(Target=Player more 0) unless TargetClassification(worldboss)
      {
         Spell(NATURESGRASP)
      }
      if TargetCreatureType(Beast) or TargetCreatureType(Dragonkin) unless TargetClassification(worldboss)
      {
         Spell(HIBERNATE)
      }
      if Speed(Target=Player equal 0)    unless TargetClassification(worldboss)
      {
         Spell(ROOTS)
      }
      unless TargetDebuffPresent(lowerarmor 2 stacks=3)
      {
         Spell(FAERIEFIRE)         }
      }
   }
}


############################################################FERAL_PORTION##############################################################################
AddIcon help=Predictor mastery=2 size=small
{
#Predictor portion for feral, this has everything but shreds in it (as shreds are filler)
   if CheckBoxOn(Predictor)
   {
      if Stance(1)
      {
         if TargetDebuffExpires(lowerarmor 2 stacks=3)
         {
            Spell(FFF)
         }
         if TalentPoints(PULVERIZETALENT more 0) and TargetDebuffPresent(LACERATE stacks=3) and BuffExpires(PULVERIZEBUFF 1)
         {
            Spell(PULVERIZE)
         }
         if 1s before Spell(MANGLEBEAR)
         {
            Spell(MANGLEBEAR)
         }
         if TargetDebuffExpires(lowerphysicaldamage 4)
         {
            Spell(DEMOROAR)
         }
         unless TargetDebuffPresent(LACERATE stacks=1 mine=1)
         {
            Spell(LACERATE)
         }
         if 1s before Spell(THRASH)
         {
            Spell(THRASH)
         }
         unless TargetDebuffPresent(LACERATE stacks=3)
         {
            Spell(LACERATE)
         }
         if TargetDebuffPresent(LACERATE stacks=3)
         {
            if Mana(more 70) unless TargetDebuffExpires(LACERATE 3)
            {
               unless BuffExpires(PULVERIZEBUFF 2)
               {
               Spell(MAUL)
               }
            }
         }
      }
      if Stance(3)    #Cat Form
      {
         unless BuffPresent(BERSERK) or BuffPresent(CLEARCASTING)
         {
            if Mana(less 36) and {0s before Spell(TIGERSFURY)}
            {
               Spell(TIGERSFURY)
            }
         }
         if ArmorSetParts(T11 more 3) and BuffPresent(PANTHER)
         {
            if BuffExpires(PANTHER 4)
            {
               Spell(MANGLECAT)
            }
         }
         if TargetDebuffExpires(lowerarmor 1) and TargetDeadIn(more 15)
         {
            Spell(FFF)
         }
         if TargetDebuffExpires(bleed 2)
         {
            Spell(MANGLECAT)
         }
         if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 3)
         {
            Spell(RAVAGE)
         }
         if TalentPoints(BITW more 1) and TargetLifePercent(less 25) and TargetDebuffPresent(RIP mine=1)
         {
            if ComboPoints(more 4)
            {
               Spell(FEROCIOUSBITE)
            }
            if ComboPoints(more 0) and TargetDebuffExpires(RIP 2.1 mine=1)
            {
               Spell(FEROCIOUSBITE)
            }
         }
         unless TalentPoints(BITW more 1) and TargetLifePercent(less 25)
         {
            if Glyph(GLYPHOFSHRED) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and Counter(ripshreds less 3)
            {
               Spell(SHRED)
            }
         }
         if ComboPoints(more 4) and TargetDeadIn(more 6) and TargetDebuffExpires(RIP 2 mine=1) and
            {BuffPresent(BERSERK) or {target.debuffExpires(RIP mine=1)<spell(TIGERSFURY)}}
         {
            Spell(RIP)
         }
         if BuffPresent(BERSERK)
         {
            if ComboPoints(more 4) and Mana(more 12) and TargetDebuffPresent(RIP 5 mine=1) and BuffPresent(SAVAGEROAR 3)
            {
               Spell(FEROCIOUSBITE)
            }
         }
         if TargetDebuffExpires(RAKE 8.9 mine=1) and TargetDeadIn(more 8) and BuffPresent(TIGERSFURY)
         {
            Spell(RAKE)
         }
         if TargetDeadIn(more 8.4) and TargetDebuffExpires(RAKE 2.9 mine=1) and {BuffPresent(BERSERK) or Mana(more 70) or
            {{spell(TIGERSFURY)+0.8}>target.debuffExpires(RAKE mine=1)}}
         {
            Spell(RAKE)
         }
         if BuffPresent(CLEARCASTING)
         {
            Spell(SHRED)
         }
         if ComboPoints(more 0) and BuffExpires(SAVAGEROAR 1)
         {
            Spell(SAVAGEROAR)
         }
         if ComboPoints(more 4) and TargetDeadIn(less 7)
         {
            Spell(FEROCIOUSBITE)
         }
         if BuffExpires(BERSERK 0) or Mana(less 25)
         {
            if ComboPoints(more 4) and TargetDebuffPresent(RIP 14 mine=1) and BuffPresent(SAVAGEROAR 10)
            {
               Spell(FEROCIOUSBITE)
            }
         }
         if BuffPresent(STAMPEDE) and BuffPresent(TIGERSFURY) unless BuffPresent(CLEARCASTING)
         {
            Spell(RAVAGE)
         }
         if ArmorSetParts(T11 more 3) unless BuffPresent(PANTHER stacks=3)
         {
            Spell(MANGLECAT)
         }
      }
   }
}

AddIcon help=Main mastery=2
{
#Not much to say for the bear portion of this.  This is the bear rotation, use it, love it.
   if Stance(1)    #Bear Form
   {
      unless TargetInRange(MANGLEBEAR)
      {
         Spell(FFF)
         Texture(Ability_druid_dash)
      }
      if BuffPresent(CLEARCASTING) unless TargetDebuffExpires(bleed 1)
      {
         Spell(MAUL)
      }
      if TargetDebuffExpires(lowerarmor 2 stacks=3)
      {
         Spell(FFF)
      }
      if TalentPoints(PULVERIZETALENT more 0) and TargetDebuffPresent(LACERATE stacks=3) and BuffExpires(PULVERIZEBUFF 1)
      {
         Spell(PULVERIZE)
      }
      if 1s before Spell(MANGLEBEAR)
      {
         Spell(MANGLEBEAR)
      }
      if TargetDebuffExpires(lowerphysicaldamage 4)
      {
         Spell(DEMOROAR)
      }
      unless TargetDebuffPresent(LACERATE stacks=1 mine=1)
      {
         Spell(LACERATE)
      }
      if 1s before Spell(THRASH)
      {
         Spell(THRASH)
      }
      unless TargetDebuffPresent(LACERATE stacks=3)
      {
         Spell(LACERATE)
      }
      if TargetDebuffPresent(LACERATE stacks=3)
      {
         if Mana(more 70) unless TargetDebuffExpires(LACERATE 3)
         {
            unless BuffExpires(PULVERIZEBUFF 2)
            {
            Spell(MAUL)
            }
         }
      }
      if 0s before Spell(FFF)
      {
         Spell(FFF)
      }
      Spell(LACERATE)
   }
   if Stance(3)
   {
      unless TargetInRange(MANGLECAT)
      {
         Texture(Ability_druid_dash)
      }
      unless BuffPresent(BERSERK) or BuffPresent(CLEARCASTING)
      {
         if Mana(less 36) and {0s before Spell(TIGERSFURY)}
         {
            Spell(TIGERSFURY)
         }
      }
      if ArmorSetParts(T11 more 3) and BuffPresent(PANTHER)
      {
         if BuffExpires(PANTHER 4)
         {
            Spell(MANGLECAT)
         }
      }
      if TargetDebuffExpires(lowerarmor 1) and TargetDeadIn(more 15)
      {
         Spell(FFF)
      }
      if TargetDebuffExpires(bleed 2)
      {
         Spell(MANGLECAT)
      }
      if BuffPresent(STAMPEDE) and BuffExpires(STAMPEDE 3)
      {
         Spell(RAVAGE)
      }
      if TalentPoints(BITW more 1) and TargetLifePercent(less 25) and TargetDebuffPresent(RIP mine=1)
      {
         if ComboPoints(more 4)
         {
            Spell(FEROCIOUSBITE)
         }
         if ComboPoints(more 0) and TargetDebuffExpires(RIP 2.1 mine=1)
         {
            Spell(FEROCIOUSBITE)
         }
      }
      unless TalentPoints(BITW more 1) and TargetLifePercent(less 25)
      {
         if Glyph(GLYPHOFSHRED) and TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 4 mine=1) and Counter(ripshreds less 3)
         {
            Spell(SHRED)
         }
      }
      if ComboPoints(more 4) and TargetDeadIn(more 6) and TargetDebuffExpires(RIP 2 mine=1) and
         {BuffPresent(BERSERK) or {target.debuffExpires(RIP mine=1)<spell(TIGERSFURY)}}
      {
         Spell(RIP)
      }
      if BuffPresent(BERSERK)
      {
         if ComboPoints(more 4) and Mana(more 12) and TargetDebuffPresent(RIP 5 mine=1) and BuffPresent(SAVAGEROAR 3)
         {
            Spell(FEROCIOUSBITE)
         }
      }
      if TargetDebuffExpires(RAKE 8.9 mine=1) and TargetDeadIn(more 8) and BuffPresent(TIGERSFURY)
      {
         Spell(RAKE)
      }
      if TargetDeadIn(more 8.4) and TargetDebuffExpires(RAKE 2.9 mine=1) and {BuffPresent(BERSERK) or Mana(more 70) or
         {{spell(TIGERSFURY)+0.8}>target.debuffExpires(RAKE mine=1)}}
      {
         Spell(RAKE)
      }
      if BuffPresent(CLEARCASTING)
      {
         Spell(SHRED)
      }
      if ComboPoints(more 0) and BuffExpires(SAVAGEROAR 1)
      {
         Spell(SAVAGEROAR)
      }
      if ComboPoints(more 4) and TargetDeadIn(less 7)
      {
         Spell(FEROCIOUSBITE)
      }
      if BuffExpires(BERSERK 0) or Mana(less 25)
      {
         if ComboPoints(more 4) and TargetDebuffPresent(RIP 14 mine=1) and BuffPresent(SAVAGEROAR 10)
         {
            Spell(FEROCIOUSBITE)
         }
      }
      if BuffPresent(STAMPEDE) and BuffPresent(TIGERSFURY) unless BuffPresent(CLEARCASTING)
      {
         Spell(RAVAGE)
      }
      if ArmorSetParts(T11 more 3) unless BuffPresent(PANTHER stacks=3)
      {
         Spell(MANGLECAT)
      }
      if BuffPresent(BERSERK) or BuffPresent(TIGERSFURY)
      {
         Spell(SHRED)
      }
      if ComboPoints(less 5) and TargetDebuffExpires(RIP 3 mine=1)
      {
         Spell(SHRED)
      }
      if ComboPoints(less 1) and BuffExpires(SAVAGEROAR 2)
      {
         Spell(SHRED)
      }
      if { 3s before Spell(TIGERSFURY) }
      {
         Spell(SHRED)
      }
      if TargetDeadIn(less 8.5)
      {
         Spell(SHRED)
      }
      if 1.2s before Mana(more 99)
      {
         Spell(SHRED)
      }
   }   
}

AddIcon help=CD mastery=2
{
#Our bear cooldowns.
   if Stance(1)
   {
      if TargetInRange(FERALCHARGEBEAR)
      {
         Spell(FERALCHARGEBEAR)
      }
      if TargetIsCasting(yes) and TargetIsInterruptible(yes)
      {
         Spell(BASH)
         Spell(SKULLBASHBEAR)
      }
      if Threat(less 100) and InCombat(yes) unless TargetTargetIsPlayer(yes)
      {
         Spell(GROWL)
         Spell(CHALLENGINGROAR)
      }
      if 1s before Spell(ENRAGE) and TalentPoints(KOTJ more 0)
      {
         Spell(ENRAGE)
      }
      Item(Trinket0Slot usable=1)
      Item(Trinket1Slot usable=1)
   }
#Our cat cooldowns
   if Stance(3)
   {
#Feral charge logic.  It is a dps gain to run out and FC on CD.
      if TargetInRange(FERALCHARGECAT)
      {
         Spell(FERALCHARGECAT)
      }
      if TargetIsCasting(yes) and TargetIsInterruptible(yes)
      {
         Spell(SKULLBASHCAT)
         if ComboPoints(more 1)
         {
            Spell(MAIM)
         }
      }
      if CheckBoxOn(FC)
      {
         unless BuffPresent(TIGERSFURY) or BuffPresent(BERSERK) or Mana(more 69) or BuffPresent(CLEARCASTING)
          {
            unless ArmorSetParts(T11 more 3) and BuffExpires(PANTHER 4)
            {
               if 2s before Spell(FERALCHARGECAT)
               {
                  unless TargetDebuffExpires(RAKE 5.9 mine=1) or TargetInRange(FERALCHARGECAT)
                  {
#This texture tells you it's time to run out and get ready to charge back in
                     Texture(Ability_druid_travelform)
                  }
               }
            }
         }
#This texture tells you that even though the FC is ready, it's not the optimal time to use it
         if 0s before Spell(FERALCHARGECAT)
         {
            if InCombat(no)
            {
               Texture(Ability_druid_dash)
            }
            Texture(Spell_nature_timestop)
         }
      }
      Item(Trinket0Slot usable=1)
      Item(Trinket1Slot usable=1)
   }
}

AddIcon help=Utility mastery=2
{
   if CheckBoxOn(Utility)
   {
      if Stance(1)
      {
         if LifePercent(less 30)
         {
            Texture(Ability_warrior_shieldmastery)
         }
         Spell(STAMPEDINGROARBEAR)
      }
      if Stance(3)
      {
#Logic to suggest healing yourself if need be   
         if BuffPresent(PREDATORYSWIFTNESS)
         {
            Texture(ability_hunter_pet_cat)
         }
         if LifePercent(less 30) unless BuffPresent(hot)
         {
            Texture(Spell_holy_sealofsacrifice)
         }
         if LifePercent(less 50) and LifePercent(more 31) unless BuffPresent(hot)
         {
            Texture(Ability_warrior_shieldmastery)
         }
         Spell(STAMPEDINGROARCAT)
      }
   }
}

###########################################################RESTO_PORTION##############################################################################
AddIcon help=Heals mastery=3
#As there is no rotation for healing this simply suggests regrowth when OOC procs, and then watches the CDs on your other spells
{
   if BuffPresent(CLEARCASTING)
   {
      Spell(REGROWTH)
   }
   Spell(WILDGROWTH)
}

AddIcon help=CD mastery=3
{
   Spell(SWIFTMEND)
   Spell(NATURESWIFTNESS)
   Item(Trinket0Slot usable=1)
   Item(Trinket1Slot usable=1)
}

AddIcon help=Utility mastery=3
{
   if CheckBoxOn(Utility)
   {
      if LifePercent(less 30)
      {
         Texture(Spell_holy_sealofsacrifice)
      }
      if LifePercent(less 50) and LifePercent(more 31)
      {
         Texture(Ability_warrior_shieldmastery)
      }
      if ManaPercent(less 15) unless BuffPresent(INNERVATE)
      {
         Spell(INNERVATE)
      }
      if TargetTargetIsPlayer(yes) and Speed(Target=Player more 0) unless TargetClassification(worldboss)
      {
         Spell(NATURESGRASP)
      }
      Item(Trinket0Slot usable=1)
      Item(Trinket1Slot usable=1)
   }
}
######################################################################################################################################################
AddIcon help=LCD Debuff size=small
{
   if CheckBoxOn(LCD)
   {
      if Stance(5)
      {
         Spell(FORCEOFNATURE)
      }
      if Stance(3)
#Suggests holding off Berserk until the optimal time
      {   
         unless BuffPresent(BERSERK) or BuffPresent(CLEARCASTING)
         {
            if Mana(less 36) and {0s before Spell(TIGERSFURY)}
            {
               Spell(BERSERK)
            }
         }
         if BuffPresent(TIGERSFURY)
         {
            Spell(BERSERK)
         }
         if 0s before Spell(BERSERK)
         {
            Texture(Spell_nature_timestop)
         }
      }
      if Stance(1)
      {
         if 0s before Spell(BERSERK)
         {
            if Glyph(GLYPHOFBERSERK)
            {
               unless TargetDebuffExpires(lowerarmor 25 stacks=3)
               {
                  if BuffPresent(PULVERIZEBUFF 12)
                  {
                     Spell(BERSERK)
                  }
               }
            }
         }
         unless Glyph(GLYPHOFBERSERK)
         {
            unless TargetDebuffExpires(lowerarmor 15 stacks=3)
            {
               if BuffPresent(PULVERIZEBUFF 12)
               {
                  Spell(BERSERK)
               }
            }
         }
      }
      Spell(TOL)
   }
}
]]

Posts: 2
Joined: Mon Aug 15, 2011 4:15 am

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby crews » Mon Aug 15, 2011 4:19 am

I'm looking at the Starsurge section, and was tinkering around, but I can't get it quite right:

#Logic for Starsurge
if 0s before Spell(STARSURGE) or BuffPresent(SHOOTINGSTARS)
{
if Eclipse(less 0) or BuffPresent(ECLIPSESOLAR)
{
if Eclipse(more -74) and Eclipse(less 70)
{
Spell(STARSURGE)
}
}
}

Basically what I'm looking for is the following:
Am I in Solar or Lunar Eclipse? Starsurge good
Am I transitioning from Solar to Lunar, either still in Solar or out of Solar but haven't hit Lunar? Starsurge good
Am I transitioning from Lunar to Solar, and no longer in in Lunar, but haven't reached Solar? Starsurge bad
Am I within two casts of either Lunar or Solar? Starsurge bad

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby Spritzup » Mon Aug 15, 2011 9:06 am

Crews,

Thank you for using my script and trying to improve it. I keep thinking I'll have a free weekend to tinker with it, but the summer is always so busy and before I know it's Monday again :P

In any case, I'll do my best to help you.

crews wrote:Am I in Solar or Lunar Eclipse? Starsurge good

The script already does that, simply by suggesting Starsurge whenever either the CD is up OR when Shootingstars proc.

crews wrote:Am I transitioning from Solar to Lunar, either still in Solar or out of Solar but haven't hit Lunar? Starsurge good

Once again, the script does this by prioritizing Starsurge over almost everything else. The exception is that if using Starsurge will push you out of an eclipse state, then the script has you refresh your DoT's prior (if they're low enough).

crews wrote:Am I within two casts of either Lunar or Solar? Starsurge bad

The script is currently set for one cast. At the time I was researching the rotation and 'tweaks' for optimal DPS, it was generally accepted that you don't want to delay casting Starsurge for more than one cast. However, I no longer play Moonkin, so I haven't been keeping up with the changes to the rotation as much as I should. Here is the code to delay cast... it's not perfect as it's impossible to account for crits that give you twice the amount of energy.

Code: Select all
#Logic to delay casting of DoTs and Starsurge until Eclipse state.
   if Eclipse(more 79) unless BuffPresent(ECLIPSESOLAR)
   {
      if Casting(STARFIRE) and Eclipse(more 99)
      {
         Spell(WRATH)
      }
      Spell(STARFIRE)
   }
   if Eclipse(less -86) unless BuffPresent(ECLIPSELUNAR)
   {
      if Casting(WRATH) and Eclipse(more 99)
      {
         Spell(STARFIRE)
      }
      Spell(WRATH)
   }


crews wrote:Am I transitioning from Lunar to Solar, and no longer in in Lunar, but haven't reached Solar? Starsurge bad

As far as this goes, I'm not sure why you would only want to cast Starsurge during an eclipse state. However, if you do I believe this will do it for you -->

Code: Select all
if BuffPresent(ECLIPSESOLAR) or BuffPresent(ECLIPSELUNAR)
{
Spell(STARSURGE)
}


I hope this helps... let me know if I misunderstood what you wanted and I will try my best to help.

Posts: 2
Joined: Mon Aug 15, 2011 4:15 am

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby crews » Mon Aug 15, 2011 9:27 am

Your help is most appreciated!

I may be completely high, but at least according to Wrathcalcs, the DPET of an uneclipsed Starsurge (for my gear, which isn't great) is lower than the DPET for Starfire. Which means (I think?) that casting Starsurge while pre-Solar is a dps loss over Starfire, as Starfire will get you into Solar faster. Going the other way, pre-Lunar, Starsurge is still worth it, because it provides more energy than a Wrath cast. At least, this is my understanding.

As for delaying two casts versus one, you might be entirely right. I was mostly going by what other boomers told me, as opposed to theorycrafting. I was feral cat for three years, but I've only been boomkin for about a week, so I'm still getting the kinks worked out.

Mostly, I think it's academic, because I'm pretty sure as gear improves, Starsurge gets better, and this is irrelevant. But I got interested in the idea of actually writing Ovale code, instead of just pasting it. I also want to add a handler that says if I don't have t12 4 piece, I want to refresh IS/SF one cast before I'd leave Solar, as long as I still have NG procced. But I haven't entirely worked out the logic of it yet. Another idea that will become irrelevant with gear, but my haste is so low that the only way I can avoid casting unEclipsed dots is if I refresh IS/SF as soon as I hit Solar, and then once again right before I leave Solar, and then don't refresh dots in Lunar until the very last second.

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby Spritzup » Mon Aug 15, 2011 10:22 am

If you're using Wrathcalcs, you're a step ahead of where I was when I wrote this... I'm not a theory crafter so I just read as much as I could on what the rotation should be and then wrote code to mimic this. I then followed up with finding 'tweaks' that the top boomkins did and tried to integrate those into the script. The hardest part I found was the lack of documentation for different functions within the code. I ended up looking at all the various class scripts and changing them to fit my needs.

Now, as far as the delaying 2 casts, you can do that by simply changing the value of "Logic to delay casting of DoTs and Starsurge until Eclipse state" portion of the script.

Cheers,
Skar

Posts: 6
Joined: Wed Aug 31, 2011 4:56 pm

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby elyaani » Tue Sep 13, 2011 3:44 am

I get constant errors while trying to use your script :( It drops my FPS down to like 10fps and makes my game unplayable.

One of many is:

Any ideas?


Date: 2011-09-13 00:39:28
ID: 1
Error occured in: Global
Count: 1
Message: ...lectinator\libs\LibBabble-Zone-3.0\LibBabble-3.0.lua line 51:
LibBabble-CreatureType-3.0: Translation "target" not found.
Debug:
...lectinator\libs\LibBabble-Zone-3.0\LibBabble-3.0.lua:25:
...lectinator\libs\LibBabble-Zone-3.0\LibBabble-3.0.lua:23
...lectinator\libs\LibBabble-Zone-3.0\LibBabble-3.0.lua:51:
...lectinator\libs\LibBabble-Zone-3.0\LibBabble-3.0.lua:28
Ovale\Condition.lua:496: classe()
Ovale\Ovale.lua:1993: CalculerMeilleureAction()
Ovale\Ovale.lua:2132: CalculerMeilleureAction()
Ovale\Ovale.lua:2076: CalculerMeilleureAction()
Ovale\Ovale.lua:2250: CalculerMeilleureAction()
Ovale\Ovale.lua:2105: CalculerMeilleureAction()
Ovale\Ovale.lua:2250: CalculerMeilleureAction()
Ovale\Ovale.lua:2085:
Ovale\Ovale.lua:1891
(tail call): ?
Ovale\OvaleFrame.lua:167: OnUpdate()
Ovale\OvaleFrame.lua:62:
Ovale\OvaleFrame.lua:61
AddOns:
Swatter, v5.12.5198 (QuirkyKiwi)
NPCScan, v4.2.0.2
NPCScanOverlay, v4.2.0.2
ACP, v3.3.16
Align, v
AtlasLootLoader, vv6.04.04
ButtonFacade, v4.2.370
ButtonFacadeVista, v1.0.6
Collectinator, v1.0.13-5-g06307c3
DBMCore, v
DBMPartyCataclysm, v
DebugLib, v5.1.DEV.312(/embedded)
DroodFocus, v4.3.9
ElvUI, v2.2.1
ElvUIConfig, v
ElvUIRaidDPS, v
Genie, v4.2a
GenieLDB, v4.2a
GenieUI, v4.2a
Grid, v4.2.0.1442
GridIndicatorSideIcons, v40200-1
GTFO, v4.9.3
HearKitty, v1.2.1
LibRangeCheck20, vv3.6.4
Masque, v4.2.370
MasqueKenzo, v1.2.2
NiceDamage, v20400
Ovale, v4.2.1
Overachiever, v0.64
QuestHubber, v
QuestHubberAzeroth, v
QuestHubberCataclysm, v
QuestHubberDaily, v
QuestHubberNorthrend, v
QuestHubberOutland, v
SharedMedia, v3.0.4-179
Skada, v1.3-7
SkadaAbsorbs, v1.0
SkadaCC, v1.0
SkadaDamage, v1.0
SkadaDamageTaken, v1.0
SkadaDeaths, v1.0
SkadaDebuffs, v1.0
SkadaDispels, v1.0
SkadaEnemies, v1.0
SkadaHealing, v1.0
SkadaPower, v1.0
SkadaThreat, v1.0
Stubby, v5.12.5198 (QuirkyKiwi)
SunnArt, v3.56
SunnArtPack1, v1.8
SunnArtPackDjidiouf, vwow4.2.0-1.0
Tukui, v1.0.0
wMarker, v2.4.2
BlizRuntimeLib_enUS v4.2.2.40200 <us>
(ck=4cb)

Posts: 29
Joined: Wed Feb 02, 2011 6:04 pm

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby Spritzup » Tue Sep 13, 2011 1:10 pm

No idea. I use the exact same script and have not had any issue's. The only thing I would suggest is to make sure that when you copied it over the spacing remained the same. I find that sometimes lines get moved down which throws off the script.

Cheers,
Skar

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

Re: Skarnu Ovale Druid Script - All PvE Specs [4.2 Beta Rele

Postby Mihir » Wed Nov 02, 2011 7:22 am

What version of Ovale are you using?

Next

Return to Kitty DPS

Who is online

Users browsing this forum: Google Adsense [Bot] and 10 guests