# Leafkiller's Feral/Guardian druid script, maintained by ShmooDude and aggixx.# Support/Discussion thread: viewtopic.php?f=3&t=857# 11/03/13 version 5.4.3.1# Fixed rake filler comparison# 10/24/13 version 5.4.3.0# Took asValue=1 off {Ability}EnergySafetyMargin functions as they're used in portions of the script that need timestates# Fixed TimeTilEnergyForMangle# Added upto 0.9 for buff safety margin.# 10/19/13 version 5.4.3.0# Fixed rest of SoO trinket spell IDs# Updated damage calculation functions to use asValue=1 so they're treated as constants# Switched functions that only contained a number to use Define instead# Changed logic of bleed prediction functions to be true when the buff is expiring instead of isn't and removed unnecessary energy check# Changed many comparisons to use one node evaluations whenever possible# Made cat abilities remove clearcasting buff when used and updated HasEnergyFor functions to check for clearcasting# Switched to BuffAmount() function whenever possible to pull trinket proc values directly from buffs.# Made AoE rotation use same filler conditions as Main rotation# Removed mangle specific filler line# Wrapped crit and mastery into their own functions# Fixed crit to allow 100% crit vs higher level enemies# 10/03/13 version 5.4.2.1# Fixed rake bug# Added check to ensure you'll have energy to use thrash at the end of a rune before suggesting it# Reenabled bleed ratio prediction but added a mangle specific filler line that occurs shortly after the traditional filler line so something shows up till Ovale bug is fixed# Update FoN logic# Fix Haromm's spell ID# 9/28/13 version 5.4.2.0# Temporarily disabled bleed ratio prediction on filler rake until ovale fix can be implemented# Removed some unnecessary conditionals from FillerActions# Removed Tiger's Fury condition in TimeTilEnergyForAbility functions# Reverted to manually calculating the energy cost and TimeTilEnergy for abilities due to weirdness with omen of clarity# 9/26/13 version 5.4.1.0# Only overwrite Rake at the end of a rune if its ratio is >75# Changed potion logic to use the new TimeToHealthPercent() function# 9/25/13 version 5.4.0.4# Allowed Ferocious Bite to be used at TimeToDie <=16 without rip present# Added crit suppression for damage calculations# Added 20% Rip damage buff# 9/24/13 version 5.4.0.3# Changed Rip to use Last functions instead of target.Debuff functions to fix Rip extension bug# Added Potion logic# 9/18/13 version 5.4.0.2# Switched to execute range Rip logic if TimeToDie <=16# Thrash as filler if the initial hit out damages (per energy) Swipe for AoE rotation# Added Energy based considerations for when to suggest applying an end of rune bleed# Added Thrash clipping at end of Rune to normal rotation# 9/13/13 version 5.4.0.1# Fixed Incarnation# Added Nature's Vigil for CD usage# Modified Berserk check box description to "Suggest Long DPS cooldown(s)"# Added an AoE rotation for cat# Moved Bear AoE to its own box to match cat# Modified checkboxes to have spec specific, more detailed descriptions where appropriate and for consistency# Changed Big Cat Predictive box to show when on instead of off for consistency# Changed Bear Small Rage Usage Boxes to be enabled with the same checkbox as Cat Small Predictive Box# Allowed Small Rage Usage Boxes to coexist with left cooldown boxes# Cleaned up icon tooltip information# 9/09/13 version 5.4.0.0# Added Feral Rage and Feral Fury buffs and logic# Changed Nature's Swiftness to Ysera's Gift# Updated FoN logic# 9/06/13 version 5.4.0.0# Added SoO trinkets to buff prediction# Removed waiting on TF for Rip# Only use fillers during TF for DoC# Modified DoC Filler line to be less aggressive at building CPs# Added Energy check for fillers# 9/05/13 version 5.4.0.0# Added end of Rune logic for Thrash and Rip# Added <12 second SR logic, lowered the priority of FB and increased energy pooling for non-berserk FB# Changed fillers to be used at 1.25 seconds from energy cap instead of 1.0.# 9/02/13 version 5.4.0.0# Fixed Savage Roar refresh logic# Removed line for HotW+SotF that prevented energy pooling# 8/29/13 version 5.4.0.0# Defined buffs and ItemLists for new SoO trinkets# Removed old FoN code, added FoN usage logic to "extraCD" box# Changed BAD_JUJU and SOUL_CHARM to 10 second durations# Updated DoC damage modifier to 1.30# Added DoC as a damage buff to some damage-dealing abilities

AddFunction DpsCooldownLogic{ #incarnation,if=energy<=35&!buff.omen_of_clarity.react&cooldown.tigers_fury.remains=0&cooldown.berserk.remains=0 #use_item,slot=hands,if=buff.tigers_fury.up #tigers_fury,if=(energy<=35&!buff.omen_of_clarity.react)|buff.king_of_the_jungle.up #berserk,if=buff.tigers_fury.up|(target.time_to_die<15&cooldown.tigers_fury.remains>6) if {{Energy(atMost 35) and BuffExpires(CLEARCASTING)} or BuffPresent(INCARNATION_CAT)} and Spell(TIGERS_FURY) { if CheckBoxOn(berserk) and Spell(BERSERK_CAT) { if not TalentPoints(INCARNATION_TALENT) or BuffPresent(INCARNATION_CAT) Spell(BERSERK_CAT) if TalentPoints(INCARNATION_TALENT) wait Spell(INCARNATION) #wait is necessary otherwise it suggests TF for about a half second before suggesting Incarnation } unless BuffPresent(BERSERK_CAT) Spell(TIGERS_FURY) } if CheckBoxOn(berserk) { if TalentPoints(INCARNATION_TALENT) and BuffPresent(BERSERK_CAT) Spell(INCARNATION_CAT) if TalentPoints(NATURES_VIGIL_TALENT) and {BuffPresent(BERSERK_CAT) or SpellCooldown(BERSERK_CAT more 88)} Spell(NATURES_VIGIL) }

}

AddFunction ExecuteRangeRipFerociousBiteLogic{ #ferocious_bite,if=combo_points>=1&dot.rip.ticking&dot.rip.remains<=3&target.health.pct<=25 if target.HealthPercent(atMost 25) and ComboPoints(more 0) and target.DebuffPresent(RIP) and target.DebuffRemains(RIP less 4) # is 4 instead of 3 because the remaining time on rip can be inaccurate upto 2 seconds { Spell(FEROCIOUS_BITE) }

#thrash_cat,if=target.time_to_die>=6&buff.omen_of_clarity.react&dot.thrash_cat.remains<3 if target.TimeToDie(atLeast 9) and BuffPresent(CLEARCASTING) and target.DebuffRemains(THRASH_CAT less 3) { Spell(THRASH_CAT) }

if ComboPoints(atLeast 5) { if CheckBoxOn(potions) and target.Classification(worldboss) and ItemCount(VIRMENS_BITE_ITEM more 0) { if TimeToHealthPercent(25 atMost 15) { #virmens_bite_potion,if=combo_points>=5&$(time_til_bitw)<15&$(rip_ratio)>=1.15&buff.dream_of_cenarius_damage.up if not HasTrinket(ROR_ITEM) and ComboPoints(atLeast 5) and {BuffPresent(DREAM_OF_CENARIUS) or not TalentPoints(DREAM_OF_CENARIUS_TALENT)} and RipRatio() >=115 Item(VIRMENS_BITE_ITEM)

#virmens_bite_potion,if=combo_points>=5&$(time_til_bitw)<15&buff.rune_of_reorigination.up&buff.dream_of_cenarius_damage.up if HasTrinket(ROR_ITEM) and ComboPoints(atLeast 5) and {BuffPresent(DREAM_OF_CENARIUS) or not TalentPoints(DREAM_OF_CENARIUS_TALENT)} and BuffPresent(ROR_MASTERY) Item(VIRMENS_BITE_ITEM) } #virmens_bite_potion,if=target.time_to_die<=40 if target.TimeToDie(atMost 40) Item(VIRMENS_BITE_ITEM) }

#rake if its about to fall off. Simcraft doesn't require this line but ovale does for the prediction box. if {HasEnergyForRake() and target.DebuffRemains(RAKE) < 0.001} or {not HasEnergyForRake() and target.DebuffRemains(RAKE) < 0.001 + TimeTilEnergyForRake()} { Spell(RAKE) } }}

#actions.filler+=/shred,if=(buff.omen_of_clarity.react|buff.berserk.up|energy.regen>=15)&buff.king_of_the_jungle.down if BuffPresent(CLEARCASTING) Spell(SHRED) if BuffPresent(BERSERK_CAT) or EnergyRegen(atLeast 15) and {not CheckBoxOn(infront) or {Glyph(GLYPH_OF_SHRED) and {BuffPresent(TIGERS_FURY) or BuffPresent(BERSERK_CAT)}}} Spell(SHRED)

if Enemies(atMost 4) { #rake,if=active_enemies<=4&dot.rake.remains<3&target.time_to_die>=15&action.rake.tick_damage%dot.rake.tick_dmg>=0.75 if RakeRatio() >75 and {{HasEnergyForRake() and target.DebuffRemains(RAKE less 3)} or {not HasEnergyForRake() and target.DebuffRemains(RAKE) < 3 + TimeTilEnergyForRake()}} { Spell(RAKE) } #rake if its about to fall off. Simcraft doesn't require this line but ovale does for the prediction box. if {HasEnergyForRake() and target.DebuffRemains(RAKE less 0.001)} or {not HasEnergyForRake() and target.DebuffRemains(RAKE) < 0.001 + TimeTilEnergyForRake()} { Spell(RAKE) } } }

#ferocious_bite,if=combo_points>=5&dot.rip.ticking&talent.dream_of_cenarius.enabled&talent.soul_of_the_forest.enabled&buff.berserk.up if TalentPoints(DREAM_OF_CENARIUS_TALENT) and TalentPoints(SOUL_OF_THE_FOREST_TALENT) and BuffPresent(BERSERK_CAT) { Spell(FEROCIOUS_BITE) }

AddFunction BearMain { if Threat() <100 and target.DebuffPresent(LACERATE) and target.DebuffRemains(LACERATE less 2) Spell(LACERATE) if Threat() <100 and BuffPresent(INCARNATION_BEAR) and target.DebuffRemains(THRASH_BEAR less 2) Spell(THRASH_BEAR)

I think that may be it. I copied Gray's script and it wouldn't work at all. Had too many UI errors. Also I am getting random lock ups while using scripts for druid. Let me see if I can find the error messages:

I switched to the release version of ovale (why in gods name was the aplha version the default to download?) and that did solve my rake bleed falling off problem. However now Ovale crashes even more frequently in combat. I don't know if it's the script or the add on but it is just completely unreliable in a raid and therefore unusable.

I'm back to the game after a long period away and of course I'm here at my #1 forum for all things kitty

I am wondering if this addon is working for anyone? I've tried downloading it multiple times and haven't had any luck getting it to load up. It continues to say "Dependency Missing" which I don't understand since I've downloaded what I assume to be the most recent version.

Am I doing something wrong? (It has been a long time so that isn't outside the realm of possibilities for me )

Any help, advice, or even a kick in the rump that would help me get this fabulous addon running would be greatly appreciated

I have been busy but I am recently starting up Ovale development again. I have made a new release of Ovale 5.4.9beta1, but it likely breaks the existing Leafkiller script until I have had a chance to update the script to the current language changes. I will try to do that today.

I will make a longer report of the Ovale changes that affect the Leafkiller script a bit later today after I've had a chance to look it over.

Longer-term, since I have had to take over all of the Ovale development, I will likely merge the Nerien's Ovale Scripts addon into Ovale itself. The "Nerien" scripts will become the default Ovale scripts, so people will have to get used to a different icon style than before, and all contributed scripts will be included in the default distribution as well.

I will release a new Ovale beta shortly with the Leafkiller script. I've imported the script with some minor changes into the main Ovale addon. It's available under the usual place in the dropdown menu when selecting scripts, but you should remove Nerien's Ovale Scripts from your system or else the latter will overwrite the former.

I've left the bug with the Thrash damage computation unchanged for now.

After reading through the Leafkiller script, the changes for the new Ovale syntax were minor. Ovale now directly supports the concept of a "finisher" spell separate from one that costs zero combo points. Those spells are now specified with "combo=finisher" instead of "combo=0" and the glyphed Savage Roar is now also set with "combo=finisher min_combo=0" to show that it's a finisher that can be cast with no combo points.

The Leafkiller script can now be shortened a bit, but I didn't make any changes to take advantage of some new Ovale features listed below.

There are some changes in the Ovale to support the concept of "pool_resource" a bit better when pooling energy for a spell -- the time needed to pool energy is now inherent in the cooldown calculation used by algorithm to determine when the next action is available. What this means is that the following two lines are equivalent:

These scripts can be found in the scripts subdirectory of the Ovale addon directory. It may be possible to do similar inclusions to replace the large block of Defines() and SpellInfo() information at the head of the Leafkiller script.

Certainly, I will have to see where I can optimize the code to reduce run-time, but I think Ovale is now more accurate than ever.

You are correct. The reason its like that is the weapon damage functions actually are calculated that way. For example, Mangle is (78 + WD)*5. Compare http://www.wowhead.com/spell=33876 or http://www.wowdb.com/spells/33876-mangle to the ingame tooltip. The wowhead/wowdb tooltips read 500% + 78, but in game its 500% + 390 which is 78*5. This actually made a difference when they buffed/nerfed the abilities as while the 5 might change, the 78 never did. I probably simply overlooked it when copy/pasting. Looks like FB and all other attack power based calculations are correct. Overall not a huge error, looks like about 3k damage (went from like ~40k to ~43k unbuffed for me) with the fix. Largely won't matter in WoD as base damage is going away anyhow.

Looking forward to trying out the new version, especially on my hunter who as I told you before had some very serious problems based on focus costs that it sounds like you fixed.

I'm using Leafkiller's script in the recent Ovale version, and I notice the Rip ratio going totally out of control as soon as the next ability (after Rip) is applied. It goes up into thousands, resulting in Ovale always suggesting to refresh Rip instead of Ferocious Bite.Rake seems to work fine.

I was coming to report that SR wasn't being presented until there were 5 CPs too (even with glyph of Savagery), but also the version 5.4.10, Leafkiller script, isn't showing the key of abilities bound to T (S Roar), Q (mangle) and E (shred). It was showing the keys for abilities bound to 1-7, alt-1, and alt-5.

What i did and seemed to fix that problem is delete the old Neriens Oval script ,and just reinstalled the new Ovale spell priority 5.4.10

It seems that there is a leafkillers script implemented inside the "main" ovale addon.You can select it from the drop-down menu like before.

Now i don't know if there are any other glitches ,especially when calculating ,RoRo s procs etc ,but at least i didn't notice any obvious problems like not suggesting SR or using Rip as the only finisher (which was the case when i updated ovale to 5.4.10)

Sadly i didn't have the time to test it properly.A feedback from a dev or at least someone that can properly test it would be very helpfull

Theostaltos wrote:What i did and seemed to fix that problem is delete the old Neriens Oval script ,and just reinstalled the new Ovale spell priority 5.4.10

It seems that there is a leafkillers script implemented inside the "main" ovale addon.You can select it from the drop-down menu like before.

Now i don't know if there are any other glitches ,especially when calculating ,RoRo s procs etc ,but at least i didn't notice any obvious problems like not suggesting SR or using Rip as the only finisher (which was the case when i updated ovale to 5.4.10)

Sadly i didn't have the time to test it properly.A feedback from a dev or at least someone that can properly test it would be very helpfull

That makes sense as Jeshu said he was retiring the Nerien addon and just putting those scripts into Ovale itself.