Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### ShmooDude Feral and Guardian script
- ###
- ### Options:
- # Interrupt - Suggests use of interuptting abilities, including stuns/knockbacks on non-boss targets.
- #
- # Not in Melee Range - Suggests movement abilities if available or a forward arrow if you're out of range.
- #
- # Ashamane's Frenzy as main action - Puts the Ashamane's Frenzy suggestion in the main action box.
- # Requires TimeToDie of 20 seconds or more
- # If this is off, Ovale will not suggest regrowth at 2 Combo Points.
- # Shadowmeld as main action - Puts the Shadowmeld suggestion in the main action box.
- # Requires TimeToDie of 15 seconds or more
- # Suggested off except on (raid) bosses.
- # Elune's Guidance finisher prediction - Places the correct finisher in the main action box when EG is usable.
- # This will block the rest of the action list till you use EG so don't use if you're going to save EG.
- # Tiger's Fury multiplier prediction - Applies the Tiger's Fury multiplier if Tiger's Fury is ready.
- # e.g. If TF is being suggested, any Rip suggestions will assume you use TF first.
- # Only suggest Brutal Slash when Tiger's Fury is up
- # Good for Mythic+ to get the most damage out of your charges.
- # The setting below will ignore SR/TF constraints and suggest BS at 3 charges regardless.
- # Always use BS at 3 charges - Will suggest Brutal Slash if you are about to reach max charges.
- # Advantage: Helps not waste charges.
- # Disadvantage: Will probably not have 3 charges when AoE for the encounter shows up.
- # Min targets to suggest Brutal Slash - Minimum number of targets to suggest using Brutal Slash.
- # This will use all available Brutal Slash charges.
- # Following setting will affect when these are used.
- Include(ovale_common)
- Include(ovale_trinkets_mop)
- Include(ovale_trinkets_wod)
- Include(ovale_druid_spells)
- AddCheckBox(opt_interrupt L(interrupt) default specialization=feral)
- AddCheckBox(opt_melee_range L(not_in_melee_range) default specialization=feral)
- # AddCheckBox(opt_potion_agility ItemName(draenic_agility_potion) default specialization=feral)
- AddCheckBox(opt_ashamanes_frenzy_main_action "Ashamane's Frenzy as a main action" default specialization=feral)
- AddCheckBox(opt_shadowmeld_main_action "Shadowmeld as a main action" specialization=feral)
- AddCheckBox(opt_elunes_guidance_predict "Elune's Guidance finisher prediction" default specialization=feral)
- AddCheckBox(opt_tigers_fury_multiplier_predict "Tiger's Fury multiplier prediction" default specialization=feral)
- AddCheckBox(opt_brutal_slash_use_at_three_always "Always use BS at 3 charges" specialization=feral)
- AddCheckBox(opt_burtal_slash_use_with_tigers_fury "Only suggest BS when TF is up" specialization=feral)
- AddListItem(opt_desired_targets dt_2 "Min targets to suggest Brutal Slash = 2" specialization=feral)
- AddListItem(opt_desired_targets dt_3 "Min targets to suggest Brutal Slash = 3" specialization=feral default)
- AddListItem(opt_desired_targets dt_4 "Min targets to suggest Brutal Slash = 4" specialization=feral)
- AddListItem(opt_desired_targets dt_5 "Min targets to suggest Brutal Slash = 5" specialization=feral)
- AddListItem(opt_desired_targets dt_6 "Min targets to suggest Brutal Slash = 6" specialization=feral)
- AddListItem(opt_desired_targets dt_7 "Min targets to suggest Brutal Slash = 7" specialization=feral)
- AddListItem(opt_desired_targets dt_8 "Min targets to suggest Brutal Slash = 8" specialization=feral)
- AddListItem(opt_desired_targets dt_9 "Min targets to suggest Brutal Slash = 9" specialization=feral)
- AddFunction BrutalSlashDesiredTargets asvalue=1
- {
- if List(opt_desired_targets dt_2) 2
- if List(opt_desired_targets dt_3) 3
- if List(opt_desired_targets dt_4) 4
- if List(opt_desired_targets dt_5) 5
- if List(opt_desired_targets dt_6) 6
- if List(opt_desired_targets dt_7) 7
- if List(opt_desired_targets dt_8) 8
- if List(opt_desired_targets dt_9) 9
- }
- AddFunction TFMultPred asvalue=1
- {
- if CheckBoxOn(opt_tigers_fury_multiplier_predict)
- and SpellCooldown(tigers_fury) < GCDRemaining()
- and BuffExpires(tigers_fury_buff)
- and { BuffExpires(clearcasting_buff) and EnergyDeficit(atLeast 60)
- or EnergyDeficit(atLeast 80)
- or HasTrinket(t18_class_trinket) and BuffPresent(berserk_cat_buff) } 1.15
- 1
- }
- AddFunction FeralUseItemActions
- {
- Item(Trinket0Slot usable=1)
- Item(Trinket1Slot usable=1)
- }
- AddFunction FeralUsePotionAgility
- {
- if CheckBoxOn(opt_potion_agility) and target.Classification(worldboss) Item(draenic_agility_potion usable=1)
- }
- AddFunction FeralInterruptActions
- {
- if CheckBoxOn(opt_interrupt) and not target.IsFriend() and target.IsInterruptible()
- {
- if target.InRange(skull_bash) Spell(skull_bash)
- if not target.Classification(worldboss)
- {
- if target.InRange(mighty_bash) Spell(mighty_bash)
- Spell(typhoon)
- if target.InRange(maim) Spell(maim)
- Spell(war_stomp)
- }
- }
- }
- AddFunction FeralGetInMeleeRange
- {
- if CheckBoxOn(opt_melee_range) and target.InRange(shred no)
- {
- #wild_charge
- if target.InRange(wild_charge) Spell(wild_charge)
- #displacer_beast,if=movement.distance>25
- if target.distance(more 25) Spell(displacer_beast)
- #dash,if=movement.distance>25&buff.displacer_beast.down&buff.wild_charge_movement.down
- if target.distance(more 25) and BuffExpires(displacer_beast_buff) and True(wild_charge_movement_down) Spell(dash)
- Texture(misc_arrowlup help=L(not_in_melee_range))
- }
- }
- AddFunction FeralFinisherConditions
- {
- #combo_points=5&(energy.time_to_max<1|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc|buff.clearcasting.react|talent.soul_of_the_forest.enabled|!dot.rip.ticking|(dot.rake.remains<1.5&spell_targets.swipe_cat<6))
- ComboPoints(atLeast 5)
- and { TimeToMaxEnergy(less 1)
- or BuffPresent(berserk_cat_buff)
- or BuffPresent(incarnation_king_of_the_jungle_buff)
- or BuffPresent(elunes_guidance_buff)
- or SpellCooldown(tigers_fury less 3)
- or ArmorSetBonus(T18 4)
- or BuffPresent(clearcasting_buff)
- or Talent(soul_of_the_forest_talent)
- or target.DebuffExpires(rip_debuff)
- or target.DebuffRemaining(rake_debuff less 1.7) and Enemies(less 6) }
- }
- AddFunction FeralFerociousBiteConditions
- {
- #combo_points=5&(energy.time_to_max<1|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc|(talent.moment_of_clarity.enabled&buff.clearcasting.react)|talent.soul_of_the_forest.enabled)
- ComboPoints(atLeast 5)
- and { TimeToMaxEnergy(less 1)
- or BuffPresent(berserk_cat_buff)
- or BuffPresent(incarnation_king_of_the_jungle_buff)
- or BuffPresent(elunes_guidance_buff)
- or SpellCooldown(tigers_fury less 3)
- or ArmorSetBonus(T18 4)
- or Talent(moment_of_clarity_talent) and BuffPresent(clearcasting_buff)
- or Talent(soul_of_the_forest) }
- }
- AddFunction ElunesGuidancePrediction
- {
- if Talent(elunes_guidance_talent) and SpellCooldown(elunes_guidance less 1) and ComboPoints(equal 0) and Energy() >= EnergyCost(ferocious_bite) + 25
- {
- #regrowth
- if Talent(bloodtalons_talent) and BuffPresent(predatory_swiftness_buff) Spell(regrowth)
- #ferocious_bite,cycle_targets=1,if=dot.rip.ticking&dot.rip.remains<3&target.time_to_die-dot.rip.remains>action.rip.tick_time&(target.health.pct<25|talent.sabertooth.enabled)
- if target.DebuffPresent(rip_debuff) and target.DebuffRemaining(rip_debuff less 3) and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) and { target.HealthPercent(less 25) or Talent(sabertooth_talent) } Texture(ability_druid_ferociousbite)
- #savage_roar,if=buff.savage_roar.remains<gcd
- if BuffRemaining(savage_roar_buff less 1) Texture(ability_druid_skinteeth)
- #rip,cycle_targets=1,if=(!ticking|(remains<8&target.health.pct>25&!talent.sabertooth.enabled)|persistent_multiplier>dot.rip.pmultiplier)&target.time_to_die-remains>tick_time*4
- if { target.DebuffExpires(rip_debuff) or target.DebuffRemaining(rip_debuff less 8) and target.HealthPercent(more 25) and Talent(sabertooth_talent no) or TFMultPred() * PersistentMultiplier(rip_debuff) > target.DebuffPersistentMultiplier(rip_debuff) } and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4 Texture(ability_ghoulfrenzy)
- #savage_roar,if=buff.savage_roar.remains<=7.2
- if BuffRemaining(savage_roar_buff atMost 7.2) Texture(ability_druid_skinteeth)
- #ferocious_bite,max_energy=1,cycle_targets=1
- if Energy() >= EnergyCost(ferocious_bite) + 25 Texture(ability_druid_ferociousbite)
- }
- }
- AddFunction FeralSbtOpenerMainActions
- {
- #regrowth,if=talent.bloodtalons.enabled&combo_points=5&!buff.bloodtalons.up&!dot.rip.ticking
- if Talent(bloodtalons_talent) and ComboPoints(atLeast 5) and BuffPresent(bloodtalons_buff no) and target.DebuffExpires(rip_debuff) Spell(regrowth)
- }
- AddFunction FeralSbtOpenerShortCdActions
- {
- #tigers_fury,if=!dot.rip.ticking&combo_points=5
- if target.DebuffExpires(rip_debuff) and ComboPoints(atLeast 5) Spell(tigers_fury)
- }
- AddFunction FeralDefaultMainActions
- {
- #dash,if=!buff.cat_form.up
- if Stance(druid_cat_form no) Spell(dash)
- #rake,if=buff.prowl.up|buff.shadowmeld.up
- if BuffPresent(prowl_buff) or BuffPresent(shadowmeld_buff) Spell(rake)
- #ferocious_bite,cycle_targets=1,if=dot.rip.ticking&dot.rip.remains<3&target.time_to_die>3&(target.health.pct<25|talent.sabertooth.enabled)
- if target.DebuffPresent(rip_debuff) and target.DebuffRemaining(rip_debuff less 3) and target.TimeToDie(more 3) and { target.HealthPercent(less 25) or Talent(sabertooth_talent) } Spell(ferocious_bite)
- #regrowth,if=talent.bloodtalons.enabled&buff.predatory_swiftness.up&(combo_points>=5|buff.predatory_swiftness.remains<1.5|(talent.bloodtalons.enabled&combo_points=2&buff.bloodtalons.down&cooldown.ashamanes_frenzy.remains<gcd)|(talent.elunes_guidance.enabled&((cooldown.elunes_guidance.remains<gcd&combo_points=0)|(buff.elunes_guidance.up&combo_points>=4))))
- if Talent(bloodtalons_talent) and BuffPresent(predatory_swiftness_buff)
- and { ComboPoints(atLeast 5) and BuffExpires(bloodtalons_buff)
- or BuffRemaining(predatory_swiftness_buff less 1.7)
- or Talent(bloodtalons_talent) and ComboPoints(equal 2) and BuffExpires(bloodtalons_buff) and SpellCooldown(ashamanes_frenzy less 1) and target.TimeToDie(more 21) and { BuffRemaining(savage_roar more 1.5) or Talent(savage_roar_talent no) } and CheckBoxOn(opt_ashamanes_frenzy_main_action)
- or Talent(elunes_guidance_talent) and BuffExpires(bloodtalons_buff) and { SpellCooldown(elunes_guidance less 1) and ComboPoints(equal 0) or BuffPresent(elunes_guidance_buff) and ComboPoints(atLeast 4) } and CheckBoxOn(opt_elunes_guidance_predict) } Spell(regrowth)
- #call_action_list,name=sbt_opener,if=talent.sabertooth.enabled&time<20
- if Talent(sabertooth_talent) and TimeInCombat(less 20) and target.Classification(worldboss) FeralSbtOpenerMainActions()
- #regrowth,if=equipped.ailuro_pouncers&talent.bloodtalons.enabled&buff.predatory_swiftness.stack>1&buff.bloodtalons.down
- if HasEquippedItem(ailuro_pouncers slot=FeetSlot) and Talent(bloodtalons_talent) and BuffStacks(predatory_swiftness_buff) > 1 and BuffExpires(bloodtalons_buff) Spell(regrowth)
- #pool_resource,for_next=1
- #savage_roar,if=!buff.savage_roar.up&(combo_points=5|(talent.brutal_slash.enabled&spell_targets.brutal_slash>desired_targets&action.brutal_slash.charges>0))
- if BuffExpires(savage_roar_buff)
- and { ComboPoints(equal 5)
- or Talent(brutal_slash_talent)
- and Enemies() >= BrutalSlashDesiredTargets()
- and Charges(brutal_slash more 0)
- and { BuffPresent(tigers_fury_buff) or CheckBoxOff(opt_burtal_slash_use_with_tigers_fury) } } Spell(savage_roar pool_resource=1)
- #pool_resource,for_next=1
- #thrash_cat,cycle_targets=1,if=remains<=duration*0.3&spell_targets.thrash_cat>=5
- if target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies(atLeast 5) Spell(thrash_cat pool_resource=1)
- #pool_resource,for_next=1
- #swipe_cat,if=spell_targets.swipe_cat>=8
- if Enemies(atLeast 8) Spell(swipe_cat pool_resource=1)
- ### FeralFinisherConditions
- if FeralFinisherConditions()
- {
- #rip,cycle_targets=1,if=(!ticking|(remains<8&target.health.pct>25&!talent.sabertooth.enabled)|persistent_multiplier>dot.rip.pmultiplier)&target.time_to_die-remains>tick_time*4&combo_points=5&(energy.time_to_max<1|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc|buff.clearcasting.react|talent.soul_of_the_forest.enabled|!dot.rip.ticking|(dot.rake.remains<1.5&spell_targets.swipe_cat<6))
- if target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4
- and { target.DebuffExpires(rip_debuff)
- or target.DebuffRemaining(rip_debuff less 8) and target.HealthPercent(more 25) and Talent(sabertooth_talent no)
- or TFMultPred() * PersistentMultiplier(rip_debuff) > target.DebuffPersistentMultiplier(rip_debuff) } Spell(rip)
- #savage_roar,if=(buff.savage_roar.remains<10.5|(buff.savage_roar.remains<=7.2&!talent.jagged_wounds.enabled))&combo_points=5&(energy.time_to_max<1|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc|buff.clearcasting.react|talent.soul_of_the_forest.enabled|!dot.rip.ticking|(dot.rake.remains<1.5&spell_targets.swipe_cat<6))
- if BuffRemaining(savage_roar_buff atMost 10.5)
- or BuffRemaining(savage_roar_buff atMost 7.2) and Talent(jagged_wounds_talent no)
- or BuffExpires(savage_roar_buff) Spell(savage_roar)
- }
- if FeralFerociousBiteConditions()
- {
- #swipe_cat,if=combo_points=5&(spell_targets.swipe_cat>=6|(spell_targets.swipe_cat>=3&!talent.bloodtalons.enabled))&combo_points=5&(energy.time_to_max<1|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc|(talent.moment_of_clarity.enabled&buff.clearcasting.react))
- if Enemies(atLeast 6) or Enemies(atLeast 3) and Talent(bloodtalons_talent no) and Talent(soul_of_the_forest_talent no) Spell(swipe_cat)
- #ferocious_bite,max_energy=1,cycle_targets=1,if=combo_points=5&(energy.time_to_max<1|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc|(talent.moment_of_clarity.enabled&buff.clearcasting.react))
- Spell(ferocious_bite extra_amount=25)
- }
- #brutal_slash,if=spell_targets.brutal_slash>desired_targets&combo_points<5
- if Enemies() >= BrutalSlashDesiredTargets()
- and ComboPoints(less 5)
- and { BuffPresent(tigers_fury_buff) or CheckBoxOff(opt_burtal_slash_use_with_tigers_fury) }
- or { Charges(brutal_slash equal 3) and CheckBoxOn(opt_brutal_slash_use_at_three_always) } Spell(brutal_slash)
- #ashamanes_frenzy,if=combo_points<=2&buff.elunes_guidance.down&(buff.bloodtalons.up|!talent.bloodtalons.enabled)
- if CheckBoxOn(opt_ashamanes_frenzy_main_action)
- and ComboPoints(atMost 2)
- and BuffExpires(elunes_guidance_buff)
- and { BuffPresent(bloodtalons_buff) or Talent(bloodtalons_talent no) }
- and { BuffPresent(savage_roar_buff) or Talent(savage_roar_talent no) }
- and target.TimeToDie(more 20) Spell(ashamanes_frenzy)
- #pool_resource,if=talent.elunes_guidance.enabled&combo_points=0&energy<action.ferocious_bite.cost+25-energy.regen*cooldown.elunes_guidance.remains
- unless Talent(elunes_guidance_talent) and ComboPoints(equal 0) and Energy() < EnergyCost(ferocious_bite) + 25 - EnergyRegenRate() * SpellCooldown(elunes_guidance)
- {
- #pool_resource,for_next=1
- #thrash_cat,if=talent.brutal_slash.enabled&spell_targets.thrash_cat>=9
- if Talent(brutal_slash_talent) and Enemies(atLeast 9) Spell(thrash_cat pool_resource=1)
- #pool_resource,for_next=1
- #swipe_cat,if=spell_targets.swipe_cat>=6
- if Enemies(atLeast 6) Spell(swipe_cat pool_resource=1)
- #shadowmeld,if=combo_points<5&energy>=action.rake.cost&dot.rake.pmultiplier<2.1&buff.tigers_fury.up&(buff.bloodtalons.up|!talent.bloodtalons.enabled)&(!talent.incarnation.enabled|cooldown.incarnation.remains>18)&!buff.incarnation.up
- if CheckBoxOn(opt_shadowmeld_main_action)
- and ComboPoints(less 5)
- and Energy() >= EnergyCost(rake)
- and target.DebuffPersistentMultiplier(rake_debuff less 2.1)
- and BuffPresent(tigers_fury_buff)
- and { BuffPresent(bloodtalons_buff) or Talent(bloodtalons_talent no) }
- and { Talent(incarnation_talent no) or SpellCooldown(incarnation_king_of_the_jungle more 18) }
- and BuffExpires(incarnation_king_of_the_jungle_buff)
- and target.TimeToDie() > BaseDuration(rake_debuff) + 5
- and target.InRange(rake) Spell(shadowmeld)
- #pool_resource,for_next=1
- #rake,cycle_targets=1,if=combo_points<5&(!ticking|(!talent.bloodtalons.enabled&remains<duration*0.3)|(talent.bloodtalons.enabled&buff.bloodtalons.up&(!talent.soul_of_the_forest.enabled&remains<=7|remains<=5)&persistent_multiplier>dot.rake.pmultiplier*0.80))&target.time_to_die-remains>tick_time
- if ComboPoints(less 5)
- and { target.DebuffExpires(rake_debuff)
- or Talent(bloodtalons_talent no) and target.DebuffRemaining(rake_debuff) < BaseDuration(rake_debuff) * 0.3
- or Talent(bloodtalons_talent) and BuffPresent(bloodtalons_buff) and { Talent(soul_of_the_forest_talent no) and target.DebuffRemaining(rake_debuff) <= 7 or target.DebuffRemaining(rake_debuff) <= 5 }
- and PersistentMultiplier(rake_debuff) > target.DebuffPersistentMultiplier(rake_debuff) * 0.8 } and target.TimeToDie() - target.DebuffRemaining(rake_debuff) > target.TickTime(rake_debuff) Spell(rake pool_resource=1)
- #moonfire_cat,cycle_targets=1,if=combo_points<5&remains<=4.2&target.time_to_die-remains>tick_time*2
- if ComboPoints(less 5) and target.DebuffRemaining(moonfire_cat_debuff atMost 4.2) and target.TimeToDie() - target.DebuffRemaining(moonfire_cat_debuff) > target.TickTime(moonfire_cat_debuff) * 2 Spell(moonfire_cat)
- #pool_resource,for_next=1
- #thrash_cat,cycle_targets=1,if=remains<=duration*0.3&spell_targets.swipe_cat>=2
- if target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies(atLeast 2) Spell(thrash_cat pool_resource=1)
- #brutal_slash,if=combo_points<5&((raid_event.adds.exists&raid_event.adds.in>(1+max_charges-charges_fractional)*15)|(!raid_event.adds.exists&(charges_fractional>2.66&time>10)))
- # if ComboPoints(less 5) and { False(raid_event_adds_exists) and 600 > { 1 + SpellMaxCharges(brutal_slash) - Charges(brutal_slash count=0) } * 15 or not False(raid_event_adds_exists) and Charges(brutal_slash count=0) > 2.66 and TimeInCombat() > 10 } Spell(brutal_slash)
- #swipe_cat,if=combo_points<5&spell_targets.swipe_cat>=3
- if ComboPoints(less 5) and Enemies(atLeast 3) Spell(swipe_cat)
- #shred,if=combo_points<5&(spell_targets.swipe_cat<3|talent.brutal_slash.enabled)&(energy.time_to_max<1|buff.clearcasting.react|buff.berserk.up|buff.incarnation.up|cooldown.tigers_fury.remains<2|talent.soul_of_the_forest.enabled|(75-energy)%energy.regen<dot.rake.remains)
- if ComboPoints(less 5) and { Enemies(less 3) or Talent(brutal_slash_talent) } and { TimeToMaxEnergy(less 1) or BuffPresent(clearcasting_buff) or BuffPresent(berserk_cat_buff) or BuffPresent(incarnation_king_of_the_jungle_buff) or SpellCooldown(tigers_fury less 2) or Talent(soul_of_the_forest_talent) or TimeToEnergy(75) < target.DebuffRemaining(rake_debuff) } Spell(shred)
- }
- }
- AddFunction FeralBtFillerMainActions
- {
- #shred,if=(buff.berserk.up|buff.incarnation.up|buff.clearcasting.react)
- if BuffPresent(berserk_cat_buff) or BuffPresent(incarnation_king_of_the_jungle_buff) or BuffPresent(clearcasting_buff) Spell(shred)
- #shred,if=cooldown.tigers_fury.remains<2&buff.bloodtalons.down
- if SpellCooldown(tigers_fury) < 2 and BuffExpires(bloodtalons_buff) Spell(shred)
- #shred,if=(75-energy)%energy.regen<dot.rake.remains&buff.bloodtalons.down
- if { 75 - Energy() } / EnergyRegenRate() < target.DebuffRemaining(rake_debuff) and BuffExpires(bloodtalons_buff) Spell(shred)
- #shred,if=energy.time_to_max<1&buff.bloodtalons.down
- if TimeToMaxEnergy() < 1 and BuffExpires(bloodtalons_buff) Spell(shred)
- #moonfire,if=cooldown.tigers_fury.remains<2&buff.bloodtalons.up
- if SpellCooldown(tigers_fury) < 2 and BuffPresent(bloodtalons_buff) Spell(moonfire_cat)
- #moonfire,if=energy.time_to_max<1&buff.bloodtalons.up
- if TimeToMaxEnergy() < 1 and BuffPresent(bloodtalons_buff) Spell(moonfire_cat)
- }
- AddFunction TigersFuryConditions
- {
- { BuffExpires(clearcasting_buff) and EnergyDeficit(atLeast 60) or EnergyDeficit(atLeast 80) or HasTrinket(t18_class_trinket) and BuffPresent(berserk_cat_buff) and BuffExpires(tigers_fury_buff) } and Spell(tigers_fury)
- }
- AddFunction FeralDefaultShortCdActions
- {
- FeralGetInMeleeRange()
- #tigers_fury,if=(!buff.clearcasting.react&energy.deficit>=60)|energy.deficit>=80|(t18_class_trinket&buff.berserk.up&buff.tigers_fury.down)
- if TigersFuryConditions() Spell(tigers_fury)
- #tigers_fury,if=talent.sabertooth.enabled&time<20&!dot.rip.ticking&combo_points=5
- if Talent(sabertooth_talent) and TimeInCombat(less 20) and target.Classification(worldboss) and target.DebuffExpires(rip_debuff) and ComboPoints(equal 5) and BuffPresent(bloodtalons_buff) Spell(tigers_fury)
- #ashamanes_frenzy,if=combo_points<=2&buff.elunes_guidance.down&(buff.bloodtalons.up|!talent.bloodtalons.enabled)
- if CheckBoxOff(opt_ashamanes_frenzy_main_action) and ComboPoints(atMost 2) and BuffExpires(elunes_guidance_buff) and { BuffPresent(bloodtalons_buff) or Talent(bloodtalons_talent no) } and { BuffPresent(savage_roar_buff) or Talent(savage_roar_talent no) } Spell(ashamanes_frenzy)
- #elunes_guidance,if=talent.elunes_guidance.enabled&combo_points=0&energy>=action.ferocious_bite.cost+25
- if Talent(elunes_guidance_talent) and ComboPoints(equal 0) and Energy() >= EnergyCost(ferocious_bite) + 25 Spell(elunes_guidance)
- }
- AddFunction FeralDefaultCdActions
- {
- #skull_bash
- FeralInterruptActions()
- #berserk,if=buff.tigers_fury.up
- if TigersFuryConditions() or BuffPresent(tigers_fury_buff) Spell(berserk_cat)
- #incarnation,if=cooldown.tigers_fury.remains<gcd
- if SpellCooldown(tigers_fury less 1) Spell(incarnation_king_of_the_jungle)
- #use_item,slot=trinket2,if=(buff.tigers_fury.up&(target.time_to_die>trinket.stat.any.cooldown|target.time_to_die<45))|buff.incarnation.remains>20
- if BuffPresent(tigers_fury_buff) and { target.TimeToDie() > BuffCooldownDuration(trinket_stat_any_buff) or target.TimeToDie(less 45) } or BuffRemaining(incarnation_king_of_the_jungle_buff more 20) FeralUseItemActions()
- #potion,name=draenic_agility,if=((buff.berserk.remains>10|buff.incarnation.remains>20)&(target.time_to_die<180|(trinket.proc.all.react&target.health.pct<25)))|target.time_to_die<=40
- # if { BuffRemaining(berserk_cat_buff more 10) or BuffRemaining(incarnation_king_of_the_jungle_buff more 20) } and { target.TimeToDie(less 180) or BuffPresent(trinket_proc_any_buff) and target.HealthPercent(less 25) } or target.TimeToDie(less 40) FeralUsePotionAgility()
- if TigersFuryConditions() or BuffPresent(tigers_fury_buff)
- {
- #blood_fury,if=buff.tigers_fury.up
- Spell(blood_fury_apsp)
- #berserking,if=buff.tigers_fury.up
- Spell(berserking)
- #arcane_torrent,if=buff.tigers_fury.up
- Spell(arcane_torrent_energy)
- }
- #incarnation,if=energy.time_to_max>1&energy>=35
- if TimeToMaxEnergy(more 1) and Energy(atLeast 35) Spell(incarnation_king_of_the_jungle)
- #shadowmeld,if=combo_points<5&energy>=action.rake.cost&dot.rake.pmultiplier<2.1&buff.tigers_fury.up&(buff.bloodtalons.up|!talent.bloodtalons.enabled)&(!talent.incarnation.enabled|cooldown.incarnation.remains>18)&!buff.incarnation.up
- if CheckBoxOff(opt_shadowmeld_main_action)
- and ComboPoints(less 5)
- and Energy() >= EnergyCost(rake)
- and target.DebuffPersistentMultiplier(rake_debuff less 2.1)
- and BuffPresent(tigers_fury_buff)
- and { BuffPresent(bloodtalons_buff) or Talent(bloodtalons_talent no) }
- and { Talent(incarnation_talent no) or SpellCooldown(incarnation_king_of_the_jungle more 18) }
- and BuffExpires(incarnation_king_of_the_jungle_buff) Spell(shadowmeld)
- }
- AddFunction FeralPrecombatMainActions
- {
- #flask,type=flask_of_the_seventh_demon
- #food,type=the_hungry_magister
- #regrowth,if=talent.bloodtalons.enabled
- if Talent(bloodtalons_talent) and BuffRemaining(bloodtalons_buff) < 15 and BuffExpires(prowl_buff) Spell(regrowth)
- #prowl
- Spell(prowl)
- #cat_form
- Spell(cat_form)
- #savage_roar
- if BuffRemaining(savage_roar_buff) < 4 + 2 * ComboPoints() Spell(savage_roar)
- if Talent(savage_roar_talent) and Talent(elunes_guidance_talent) and BuffPresent(prowl_buff) and BuffExpires(savage_roar) and SpellUsable(elunes_guidance) Texture(ability_druid_skinteeth)
- }
- AddFunction FeralPrecombatShortCdActions
- {
- unless Spell(cat_form) or Spell(prowl)
- {
- #elunes_guidance,if=talent.savage_roar.enabled
- if Talent(savage_roar_talent) Spell(elunes_guidance)
- }
- }
- AddFunction FeralPrecombatShortCdPostConditions
- {
- Talent(bloodtalons_talent) and Spell(regrowth) or Spell(cat_form) or Spell(prowl) or Spell(savage_roar)
- }
- AddFunction FeralPrecombatCdActions
- {
- unless Talent(bloodtalons_talent) and Spell(regrowth) or Spell(cat_form) or Spell(prowl)
- {
- }
- }
- AddFunction FeralPrecombatCdPostConditions
- {
- Talent(bloodtalons_talent) and Spell(regrowth) or Spell(cat_form) or Spell(prowl) or Talent(savage_roar_talent) and Spell(elunes_guidance) or Spell(savage_roar)
- }
- ### Feral icons.
- AddCheckBox(opt_druid_feral_aoe L(AOE) default specialization=feral)
- AddIcon checkbox=!opt_druid_feral_aoe enemies=1 help=shortcd specialization=feral
- {
- if not InCombat() FeralPrecombatShortCdActions()
- unless not InCombat() and FeralPrecombatShortCdPostConditions()
- {
- FeralDefaultShortCdActions()
- }
- }
- AddIcon checkbox=opt_druid_feral_aoe help=shortcd specialization=feral
- {
- if not InCombat() FeralPrecombatShortCdActions()
- unless not InCombat() and FeralPrecombatShortCdPostConditions()
- {
- FeralDefaultShortCdActions()
- }
- }
- AddIcon enemies=1 help=main specialization=feral
- {
- if not InCombat() FeralPrecombatMainActions()
- FeralDefaultMainActions()
- }
- AddIcon checkbox=opt_druid_feral_aoe help=aoe specialization=feral
- {
- if not InCombat() FeralPrecombatMainActions()
- FeralDefaultMainActions()
- }
- AddIcon checkbox=!opt_druid_feral_aoe enemies=1 help=cd specialization=feral
- {
- if not InCombat() FeralPrecombatCdActions()
- unless not InCombat() and FeralPrecombatCdPostConditions()
- {
- FeralDefaultCdActions()
- }
- }
- AddIcon checkbox=opt_druid_feral_aoe help=cd specialization=feral
- {
- if not InCombat() FeralPrecombatCdActions()
- unless not InCombat() and FeralPrecombatCdPostConditions()
- {
- FeralDefaultCdActions()
- }
- }
- ### Required symbols
- # arcane_torrent_energy
- # ashamanes_frenzy
- # berserk_cat
- # berserk_cat_buff
- # berserking
- # blood_fury_apsp
- # bloodtalons_buff
- # bloodtalons_talent
- # brutal_slash
- # brutal_slash_talent
- # cat_form
- # cat_form_buff
- # clearcasting_buff
- # dash
- # displacer_beast
- # displacer_beast_buff
- # draenic_agility_potion
- # elunes_guidance
- # elunes_guidance_buff
- # elunes_guidance_talent
- # ferocious_bite
- # regrowth
- # incarnation_king_of_the_jungle
- # incarnation_king_of_the_jungle_buff
- # incarnation_talent
- # jagged_wounds_talent
- # maim
- # mangle
- # mighty_bash
- # moment_of_clarity_talent
- # moonfire_cat
- # moonfire_cat_debuff
- # predatory_swiftness_buff
- # prowl
- # prowl_buff
- # rake
- # rake_debuff
- # rip
- # rip_debuff
- # sabertooth_talent
- # savage_roar
- # savage_roar_buff
- # savage_roar_talent
- # shadowmeld
- # shadowmeld_buff
- # shred
- # skull_bash
- # soul_of_the_forest_talent
- # swipe_cat
- # t18_class_trinket
- # thrash_cat
- # thrash_cat_debuff
- # tigers_fury
- # tigers_fury_buff
- # typhoon
- # war_stomp
- # wild_charge
- # wild_charge_bear
- # wild_charge_cat
- # Based on SimulationCraft profile "Druid_Guardian_T19P".
- # class=druid
- # spec=guardian
- # talents=3133323
- AddCheckBox(opt_interrupt L(interrupt) default specialization=guardian)
- AddCheckBox(opt_melee_range L(not_in_melee_range) specialization=guardian)
- AddFunction GuardianUseItemActions
- {
- Item(Trinket0Slot usable=1)
- Item(Trinket1Slot usable=1)
- }
- AddFunction GuardianGetInMeleeRange
- {
- if CheckBoxOn(opt_melee_range) and Stance(druid_bear_form) and not target.InRange(mangle) or Stance(druid_cat_form) and not target.InRange(shred)
- {
- if target.InRange(wild_charge) Spell(wild_charge)
- Texture(misc_arrowlup help=L(not_in_melee_range))
- }
- }
- AddFunction GuardianInterruptActions
- {
- if CheckBoxOn(opt_interrupt) and not target.IsFriend() and target.IsInterruptible()
- {
- if target.InRange(skull_bash) Spell(skull_bash)
- if not target.Classification(worldboss)
- {
- if target.InRange(mighty_bash) Spell(mighty_bash)
- Spell(typhoon)
- if target.InRange(maim) Spell(maim)
- Spell(war_stomp)
- }
- }
- }
- ### actions.default
- AddFunction GuardianDefaultMainActions
- {
- #pulverize,cycle_targets=1,if=buff.pulverize.down
- if BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) Spell(pulverize)
- #thrash_bear,if=dot.thrash_bear.remains<4.5
- if target.DebuffRemaining(thrash_bear_debuff) < 4.5 Spell(thrash_bear)
- #mangle
- Spell(mangle)
- #pulverize,cycle_targets=1,if=buff.pulverize.remains<gcd
- if BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) Spell(pulverize)
- #thrash_bear
- Spell(thrash_bear)
- #pulverize,cycle_targets=1,if=buff.pulverize.remains<3.6
- if BuffRemaining(pulverize_buff) < 3.6 and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) Spell(pulverize)
- #moonfire,if=!ticking|buff.galactic_guardian.up
- if not target.DebuffPresent(moonfire_debuff) or BuffPresent(galactic_guardian_buff) Spell(moonfire)
- #swipe_bear
- Spell(swipe_bear)
- }
- AddFunction GuardianDefaultShortCdActions
- {
- #auto_attack
- GuardianGetInMeleeRange()
- #ironfur,if=buff.ironfur.down|rage.deficit<25
- if target.IsAggroed() and { BuffExpires(ironfur_buff) or RageDeficit() < 25 } Spell(ironfur)
- #maul
- if not target.IsAggroed() and RageDeficit() < 25 Spell(maul)
- #frenzied_regeneration,if=!ticking&incoming_damage_6s%health.max>0.25+(2-charges_fractional)*0.15
- if not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(5) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 Spell(frenzied_regeneration)
- #bristling_fur,if=buff.ironfur.remains<2&rage<40
- if BuffRemaining(ironfur_buff) < 2 and Rage() < 40 Spell(bristling_fur)
- }
- AddFunction GuardianDefaultCdActions
- {
- #skull_bash
- GuardianInterruptActions()
- #blood_fury
- Spell(blood_fury_apsp)
- #berserking
- Spell(berserking)
- #arcane_torrent
- Spell(arcane_torrent_energy)
- #use_item,slot=trinket2
- GuardianUseItemActions()
- unless { BuffExpires(ironfur_buff) or RageDeficit() < 25 } and Spell(ironfur) or not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(6) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 and Spell(frenzied_regeneration) or BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or target.DebuffRemaining(thrash_bear_debuff) < 4.5 and Spell(thrash_bear) or Spell(mangle) or BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize)
- {
- #incarnation
- Spell(incarnation_son_of_ursoc)
- }
- }
- ### actions.precombat
- AddFunction GuardianPrecombatMainActions
- {
- #flask,type=flask_of_the_seventh_demon
- #food,type=azshari_salad
- #bear_form
- Spell(bear_form)
- }
- AddFunction GuardianPrecombatShortCdPostConditions
- {
- Spell(bear_form)
- }
- AddFunction GuardianPrecombatCdPostConditions
- {
- Spell(bear_form)
- }
- ### Guardian icons.
- AddCheckBox(opt_druid_guardian_aoe L(AOE) default specialization=guardian)
- AddIcon checkbox=!opt_druid_guardian_aoe enemies=1 help=shortcd specialization=guardian
- {
- unless not InCombat() and GuardianPrecombatShortCdPostConditions()
- {
- GuardianDefaultShortCdActions()
- }
- }
- AddIcon checkbox=opt_druid_guardian_aoe help=shortcd specialization=guardian
- {
- unless not InCombat() and GuardianPrecombatShortCdPostConditions()
- {
- GuardianDefaultShortCdActions()
- }
- }
- AddIcon enemies=1 help=main specialization=guardian
- {
- if not InCombat() GuardianPrecombatMainActions()
- GuardianDefaultMainActions()
- }
- AddIcon checkbox=opt_druid_guardian_aoe help=aoe specialization=guardian
- {
- if not InCombat() GuardianPrecombatMainActions()
- GuardianDefaultMainActions()
- }
- AddIcon checkbox=!opt_druid_guardian_aoe enemies=1 help=cd specialization=guardian
- {
- unless not InCombat() and GuardianPrecombatCdPostConditions()
- {
- GuardianDefaultCdActions()
- }
- }
- AddIcon checkbox=opt_druid_guardian_aoe help=cd specialization=guardian
- {
- unless not InCombat() and GuardianPrecombatCdPostConditions()
- {
- GuardianDefaultCdActions()
- }
- }
- ### Required symbols
- # arcane_torrent_energy
- # bear_form
- # berserking
- # blood_fury_apsp
- # bristling_fur
- # frenzied_regeneration
- # frenzied_regeneration_buff
- # galactic_guardian_buff
- # incarnation_son_of_ursoc
- # ironfur
- # ironfur_buff
- # thrash_bear_debuff
- # maim
- # mangle
- # mighty_bash
- # moonfire
- # moonfire_debuff
- # pulverize
- # pulverize_buff
- # shred
- # skull_bash
- # swipe_bear
- # thrash_bear
- # thrash_bear_debuff
- # typhoon
- # war_stomp
- # wild_charge
- # wild_charge_bear
- # wild_charge_cat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement