Register

Ovale Balance Druid Script - Please Critique

For the smart druids who don't do this melee...thing.

Moderator: Forum Administrators

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

Ovale Balance Druid Script - Please Critique

Postby Spritzup » Wed Feb 02, 2011 7:35 pm

So this is my first script in Ovale, and was written over a number of weeks (as I had time). I've checked it over and it seems to flow fine, but I may have missed something. My goal was to break down the druid abilities into 3 categories: Main(our primary rotation), CD(our long cooldown spells), and Utility(those abilities that may not help our dps, but we need to use).

What I need assistance with (if possible) is a list of PvE enrage type abilities that soothe works on, as well as if I missed any abilities that should be included (Faerie fire type abilities, or BL, etc). Also, the numbers I've used (TargetDeadIn, etc) are rough guesses, but I would like some math to make sure the right numbers are chosen. If need be, I believe I can have the script compensate for different haste levels, so if someone could assist with that, it'd be great.

Finally, I assumed it would be a dps gain to refresh your dots and the beginning and end of an eclipse (as well as a BL) due to the mechanics. This was the indication I got from Elitistjerks, but I could be mistaken.

You will need to download Ovale from Curse and replace the default script with this one. Anyways, all thoughts, critiques are welcome. Thanks!


Code: Select all
#Test Druid Script by Skarnu of Agamaggan
[[
#Balance 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
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(BARKSKIN 22812)
Define(HEALINGTOUCH 5185)
Define(SOOTHE 2908)
Define(ROOTS 339)
Define(NATURESGRASP 16689)
Define(HIBERNATE 2637)
Define(SOLARBEAM 78675)
Define(INNERVATE 29166)

#Self Buffs
Define(CLEARCASTING 16870)
Define(ECLIPSELUNAR 48518)
Define(ECLIPSESOLAR 48517)
Define(SHOOTINGSTARS 93400)

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

#Raid Buffs
Define(BLOODLUST 2825)
Define(TIMEWARP 80353)
Define(HEROISM 32182)
Define(ANCIENTHYSTERIA 90355)

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

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

#Keep our DoTs up
   if TargetDebuffExpires(INSECTSWARM 2 mine=1) and TargetDeadIn(more 8)
      Spell(INSECTSWARM)
   if TargetDebuffExpires(MOONFIRE 2 mine=1) and TargetDebuffExpires(SUNFIRE 2 mine=1) and TargetDeadIn(more 8)
      {
         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) or BuffPresent(TIMEWARP) or BuffPresent(HEROISM) or BuffPresent(ANCIENTHYSTERIA) and BuffGained(less 5) or BuffPresent(BLOODLUST) or BuffPresent(TIMEWARP) or BuffPresent

(HEROISM) or BuffPresent(ANCIENTHYSTERIA) and BuffExpires(less 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)
      }
   }


#Logic for our DoT spells upon entering an Eclipse state.

   if Eclipse(more 79) and Eclipse(less 99) unless BuffPresent(ECLIPSESOLAR)
      {   
         Spell(STARSURGE)
         Spell(STARFIRE)
      }

   if Eclipse(equal 100) and TargetDeadIn(more 8)
      {
         if TargetDebuffExpires(INSECTSWARM 12 mine=1)
            Spell(INSECTSWARM)
         if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
            Spell(SUNFIRE)
         Spell(STARSURGE)
         Spell(WRATH)
      }

   if Eclipse(less -86) and Eclipse(more -99) unless BuffPresent(ECLIPSELUNAR) and TargetDeadIn(more 8)
      {
         Spell(STARSURGE)
         Spell(WRATH)
      }
   if Eclipse(equal -100) and TargetDeadIn(more 8)
      {
         if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
            Spell(MOONFIRE)
         Spell(STARSURGE)
         Spell(STARFIRE)
      }

#Logic for leaving an Eclipse state, refresh our DoTs to get the benefit of the increased damage
   if BuffPresent(ECLIPSESOLAR) and Eclipse(less 26) and Eclipse(more 0) and TargetDeadIn(more 8)
      {
         if TargetDebuffExpires(INSECTSWARM 12 mine=1)
            Spell(INSECTSWARM)
         if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
            Spell(SUNFIRE)
         Spell(STARSURGE)
         Spell(WRATH)
      }
   if BuffPresent(ECLIPSELUNAR) and Eclipse(more -40) and Eclipse(less 0) and TargetDeadIn(more 8)
      {
         if TargetDebuffExpires(INSECTSWARM 12 mine=1)
            Spell(INSECTSWARM)
         if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
            Spell(MOONFIRE)
         Spell(STARSURGE)
         Spell(STARFIRE)
      }

   Spell(STARSURGE)   

   if BuffPresent(ECLIPSESOLAR) unless Eclipse(equal 100)
      Spell(WRATH)
   if BuffPresent(ECLIPSELUNAR) unless Eclipse(equal -100)
      Spell(STARFIRE)

   if Eclipse(equal 0) or Eclipse(less 0)
      Spell(WRATH)
   if Eclipse(more 0)
      Spell(STARFIRE)
}

AddIcon help=CD mastery=1
{
   if TargetDebuffExpires(FAERIEFIRE 2) unless TargetDebuffPresent(FF stacks=3) or TargetDebuffPresent(SUNDERARMOR stacks=3) or TargetDebuffPresent(EXPOSEARMOR)
      Spell(FAERIEFIRE)
   if Eclipse (more -73) and Eclipse(less 100) or BuffPresent(ECLIPSESOLAR) or BuffPresent(ECLIPSELUNAR)
      Spell(STARFALL)
   Spell(FORCEOFNATURE)
   Item(Trinket0Slot usable=1)
   Item(Trinket1Slot usable=1)
}

AddIcon help=Utility mastery=1
{
   if Speed(target=player more 0)
      Spell(NATURESGRASP)
   if LifePercent(less 50) and LifePercent(more 31) unless BuffPresent(REJUVENATION) or BuffPresent(LIFEBLOOM) or BuffPresent(RENEW)
      Spell(BARKSKIN)
   if LifePercent(less 30) and LifePercent(more 16) unless BuffPresent(REJUVENATION) or BuffPresent(LIFEBLOOM) or BuffPresent(RENEW)
      Spell(REJUVENATION)
   if LifePercent(less 15) unless BuffPresent(REJUVENATION) or BuffPresent(LIFEBLOOM) or BuffPresent(RENEW)
      Spell(HEALINGTOUCH)
   if ManaPercent(less 15) unless BuffPresent(INNERVATE)
      Spell(INNERVATE)
   #if TargetDebuffPresent(SOMEKINDOFRAGE)
   #   Spell(SOOTHE)
   if TargetCreatureType(Beast) or TargetCreatureType(Dragonkin) unless TargetDeadIn(less 8)
      Spell(HIBERNATE)
   if TargetCasting(yes) and TargetDebuffPresent(root) unless TargetDeadIn(less 8)
      Spell(SOLARBEAM)
   unless TargetLife(more 1000000) #NOT SURE IF THIS WILL WORK, HAVE NOT TESTED YET
      Spell(ROOTS)   
}
]]


**If you get errors, it probably because the board caused the spacing to get messed up. Just make sure that items that aren't tabbed in are on the same line.**

Also, all credit goes to those authors whose scripts I used as examples and templates. I will give credit where credit is due in the final version... I just can't find my cheat sheet with the names right now.

Site Admin
User avatar
Posts: 281
Joined: Tue Mar 16, 2010 3:05 pm

Re: Ovale Balance Druid Script - Please Critique

Postby Alaron » Thu Feb 03, 2011 1:35 am

I have no boomkin experience at all, sadly, but the overall script looks very good. I'm intrigued by the things you're reaching for in your utility section, and anxious to see how well they work. Once you get it out of the testing phase, I'll be happy to throw up a blog post to publicize it.

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Ovale Balance Druid Script - Please Critique

Postby shinryu » Thu Feb 03, 2011 2:38 am

I'll give it a try on a dummy later when I have the time, normally I just use SAA to keep track of my debuffs, but it'd be kinda interesting to see how it'd work into a move predictor.

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

Re: Ovale Balance Druid Script - Please Critique

Postby Spritzup » Thu Feb 03, 2011 3:17 pm

Thank you very much to the both of you. The blog post would be great, and any testing that can be done would only make it better. What would be especially great is if any math guru could assist in fine tuning the numbers I've come up with... at best they're guesstimates :D

As far as the utility section goes, the thought process was that this script isn't meant to replace the player. I didn't want it to suggest abilities in the DPS section that don't offer any DPS. The utility section basically says "Oh hey, you're about to die, you may want to think about healing yourself." What I'd really like to get working though (and I just need to find a list of spells) is for the soothe ability to come up. Curse Blizzard for not using a standard enrage buff/debuff.

Anyways, I'm hoping to have some time to tweak it some more on the weekend, so look for revision 2 early next week.

Honored
Posts: 62
Joined: Fri May 28, 2010 5:44 am

Re: Ovale Balance Druid Script - Please Critique

Postby Andanas » Fri Feb 04, 2011 8:54 pm

Can you stack two scripts in Ovale, i.e. a feral & moonkin?

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Ovale Balance Druid Script - Please Critique

Postby shinryu » Sat Feb 05, 2011 12:01 am

Alrighty, got some testing done on it, so back with some suggestions and recommendations.

First of all, I didn't test the whole 3rd box (kept getting errors in that part, so I just cut it off); honestly I wouldn't even bother with it unless you're like into pvp; in terms of raiding, it's fairly situational I think, I know tossing heals on yourself to help out the healers is nice and all, but that's really more situation dependent I think (not to mention a dps loss), so I would just not bother with it and leave it to the individual to know when it would be appropriate to use things like Barkskin and self healing themselves. Same idea with Solar Beam and Innervate.

For casting, it looked good, flowed nicely, I like how you incorporated it so you'll get the re-dot at the end of a phase. What I really recommend is a second box that will basically show you the next spell to cast instead of tying it all into one box, a move predictor one if you will; so like for example, the one main box will show the spell you're to cast and the next shows the idea spell next in line, which dynamically updates to show which spell should come next, then box 1 of course becomes that spell and the second box moves on and so on. Might sound redundant, but I noticed while I'm casting, I'm sitting there queueing in the next spell, and all of a sudden SS will proc and by that time my queued spell has began casting and canceling it would be a dps loss, so I'm forced to wait out its cast before hitting starsurge then. As another example, as you're about to go into one phase or the either, it'll still tell you to cast say wrath, then all of a sudden just flip to applying dots; what if you're already queueing up another wrath or starfire? Same deal with the dots as well. So yeah, having a next move predictor box (kinda like what Leafkiller has on his feral ovale script) can help out in letting you anticipate better what to cast rather than waiting cold turkey and then basically halting to a stop-and-cast of sorts.

For the long CD box (Starfall, Treants), perhaps resize it so that it's smaller than the others, doesn't have to be quite as big imo since one or both will only be coming up every other minute. I didn't do any testing with the Starsurge glyph on (don't have it actually), but I'm presuming the Starsurge casts that reduce the Starfall CD would be reflected appropriately right?

But yeah, looks nice so far, better than the default for sure. Keep up the good work, lemme know when another version is ready.

Site Admin
User avatar
Posts: 281
Joined: Tue Mar 16, 2010 3:05 pm

Re: Ovale Balance Druid Script - Please Critique

Postby Alaron » Sat Feb 05, 2011 9:56 pm

Andanas wrote:Can you stack two scripts in Ovale, i.e. a feral & moonkin?


Yes. Look at the default script for an example; each portion just needs a form conditional.

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

Re: Ovale Balance Druid Script - Please Critique

Postby Spritzup » Sat Feb 05, 2011 10:17 pm

Andanas wrote:Can you stack two scripts in Ovale, i.e. a feral & moonkin?


Yes, you can. I intend to add a feral portion (as that's my offspec) once I'm happy with where the balance portion of the script stands.

shinryu, thanks for taking the time to leave feedback. I'll try to respond to your concerns below -->

shinryu wrote:First of all, I didn't test the whole 3rd box (kept getting errors in that part, so I just cut it off); honestly I wouldn't even bother with it unless you're like into pvp; in terms of raiding, it's fairly situational I think, I know tossing heals on yourself to help out the healers is nice and all, but that's really more situation dependent I think (not to mention a dps loss), so I would just not bother with it and leave it to the individual to know when it would be appropriate to use things like Barkskin and self healing themselves. Same idea with Solar Beam and Innervate.


- The third box (utility) was kind of a catch all. I'm assuming with this whole script (and Ovale in general) that initially it starts off as a training tool, and then becomes a reminder. For me, the beauty of the third box was reminding me of abilities that may not be first and foremost on my mind when I'm in an encounter. I expect (and hope) that people don't follow this blindly, but instead use common sense... "Oh look, Ovale is suggesting Barkskin, but I know that I won't be taking any more damage so I'm going to keep pew pewing" is the response I hope for.

Having said that though, you do raise a good point. Maybe I can default on (as I think it's something unique that I haven't seen anyone do yet), but have a check box to remove it if desired.

shinryu wrote:So yeah, having a next move predictor box (kinda like what Leafkiller has on his feral ovale script) can help out in letting you anticipate better what to cast rather than waiting cold turkey and then basically halting to a stop-and-cast of sorts.


- It's funny that you say that, as one thing that drove me nuts about Leafkiller's script was the prediction box. Same as above though, I could try adding an option to enable/disable it... though I'd need to look more closely at his script to see how he's done that portion.

shinryu wrote:For the long CD box (Starfall, Treants), perhaps resize it so that it's smaller than the others, doesn't have to be quite as big imo since one or both will only be coming up every other minute. I didn't do any testing with the Starsurge glyph on (don't have it actually), but I'm presuming the Starsurge casts that reduce the Starfall CD would be reflected appropriately right?


- I can try playing around with the size of the box, though honestly the 3 boxes don't take up that much screen real-estate. I'll think on this one and see what I can come up with (Monday is a script day). As far as the Starsurge glyph, I actually haven't tested with it yet (as I wasn't using it). I don't suspect it will be too complicated, but I can test and verify.

shinryu wrote:But yeah, looks nice so far, better than the default for sure. Keep up the good work, lemme know when another version is ready.


Thank you very much. I'll post here when I get revision 2 going.

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Ovale Balance Druid Script - Please Critique

Postby shinryu » Sun Feb 06, 2011 4:14 pm

lol, you didn't like the feral predictor box? Eh, each to his own flavor I guess :lol:

Anyways, looking forward to the update.

Return to Resto/Balance

Who is online

Users browsing this forum: No registered users and 0 guests