Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Based on SimulationCraft profile "LI/SR/JW/BT".
- # class=druid
- # spec=feral
- # talents=2323322
- Include(ovale_common)
- Include(ovale_trinkets_mop)
- Include(ovale_trinkets_wod)
- # Druid spells and functions.
- Define(ashamanes_bite 210702)
- Define(ashamanes_rip_debuff 224435)
- Define(astral_communion 202359)
- SpellInfo(astral_communion cd=80 astralpower=-75)
- Define(astral_influence 197524)
- Define(barkskin 22812)
- SpellInfo(barkskin cd=90 gcd=0 offgcd=1)
- Define(bear_form 5487)
- SpellInfo(bear_form to_stance=druid_bear_form)
- SpellInfo(bear_form unusable=1 if_stance=druid_bear_form)
- Define(berserk 106951)
- Define(berserk_cat 106951)
- SpellInfo(berserk_cat cd=180 gcd=0)
- SpellAddBuff(berserk_cat berserk_cat_buff=1)
- SpellInfo(berserk_cat duration=15)
- SpellList(berserk_cat_buff incarnation_king_of_the_jungle_buff berserk_cat) # berserk_cat_buff needs to apply to incarnation_king_of_the_jungle_buff as well
- Define(blessing_of_anshe_buff 202739)
- Define(blessing_of_elune 202737)
- Define(blessing_of_elune_buff 202737)
- Define(blessing_of_the_ancients 202360)
- SpellInfo(blessing_of_the_ancients cd=15)
- SpellAddBuff(blessing_of_the_ancients blessing_of_elune_buff=1 if_buff=blessing_of_anshe_buff)
- SpellAddBuff(blessing_of_the_ancients blessing_of_anshe_buff=1 if_buff=blessing_of_elune_buff)
- Define(bloodtalons 155672)
- Define(bloodtalons_buff 145152)
- SpellInfo(bloodtalons_buff duration=30 max_stacks=2)
- Define(bristling_fur 155835)
- SpellInfo(bristling_fur cd=40 gcd=0 offgcd=1)
- SpellAddBuff(bristling_fur bristling_fur_buff=1)
- Define(bristling_fur_buff 155835)
- SpellInfo(bristling_fur_buff duration=8)
- Define(brutal_slash 202028)
- SpellInfo(brutal_slash cd=18 cd_haste=melee max_stacks=3 stance=druid_cat_form)
- SpellInfo(brutal_slash combo=1 energy=20 physical=1)
- SpellInfo(brutal_slash buff_energy_half=berserk_cat_buff)
- SpellRequire(brutal_slash energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddBuff(brutal_slash bloodtalons_buff=-1)
- SpellAddBuff(brutal_slash clearcasting_buff=-1 if_spell=clearcasting)
- Define(cat_form 768)
- SpellInfo(cat_form to_stance=druid_cat_form)
- SpellInfo(cat_form unusable=1 if_stance=druid_cat_form)
- Define(celestial_alignment 194223)
- SpellInfo(celestial_alignment cd=180)
- SpellAddBuff(celestial_alignment celestial_alignment_buff=1)
- Define(celestial_alignment_buff 194223)
- Define(clearcasting 135700)
- Define(clearcasting_buff 135700)
- SpellInfo(clearcasting_buff duration=15)
- #TODO Next spell have no energy cost
- Define(dash 1850)
- SpellInfo(dash cd=180)
- SpellInfo(dash to_stance=druid_cat_form if_stance=!druid_cat_form)
- Define(displacer_beast 102280)
- SpellInfo(displacer_beast cd=30)
- SpellInfo(displacer_beast to_stance=druid_cat_form if_stance=!druid_cat_form)
- SpellAddBuff(displacer_beast displacer_beast_buff=1)
- Define(displacer_beast_buff 137452)
- SpellInfo(displacer_beast_buff duration=4)
- Define(elunes_guidance 202060)
- SpellInfo(elunes_guidance cd=45 combo=5)
- Define(elunes_guidance_buff 202060)
- #TODO 1 combo per s
- Define(entangling_roots 339)
- Define(ferocious_bite 22568)
- SpellInfo(ferocious_bite combo=finisher energy=25 extra_energy=25 physical=1 stance=druid_cat_form)
- SpellInfo(ferocious_bite buff_energy_half=berserk_cat_buff)
- SpellRequire(ferocious_bite energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellRequire(ferocious_bite energy -25=buff,clearcasting_buff if_spell=clearcasting itemset=T18 itemcount=4 specialization=feral)
- SpellAddBuff(ferocious_bite bloodtalons_buff=-1)
- SpellAddBuff(ferocious_bite clearcasting_buff=-1 if_spell=clearcasting)
- Define(force_of_nature 205636)
- SpellInfo(force_of_nature cd=60)
- Define(frenzied_regeneration 22842)
- SpellInfo(frenzied_regeneration cd=24)
- SpellAddBuff(frenzied_regeneration frenzied_regeneration_debuff=1)
- Define(frenzied_regeneration_debuff 22842)
- Define(fury_of_elune 202770)
- SpellInfo(fury_of_elune cd=90 astralpower=60)
- SpellAddBuff(fury_of_elune fury_of_elune_up_buff=1)
- Define(fury_of_elune_talent 19)
- Define(fury_of_elune_up_buff 202770)
- #TODO 120 astralpower per s
- Define(full_moon 202771)
- SpellInfo(full_moon cd=15 astralpower=-40)
- Define(half_moon 202768)
- SpellInfo(half_moon cd=15 astralpower=-20)
- Define(growl 6795)
- SpellInfo(growl cd=8)
- Define(healing_touch 5185)
- SpellInfo(healing_touch mana=9)
- SpellAddBuff(healing_touch bloodtalons_buff=1 talent=bloodtalons_talent)
- Define(incapacitating_roar 99)
- SpellInfo(incapacitating_roar cd=30)
- Define(incarnation_chosen_of_elune 102560)
- SpellInfo(incarnation_chosen_of_elune cd=180)
- SpellAddBuff(incarnation_chosen_of_elune incarnation_chosen_of_elune_buff=1)
- Define(incarnation_chosen_of_elune_buff 102560)
- SpellInfo(incarnation_chosen_of_elune_buff duration=30)
- Define(incarnation_king_of_the_jungle 102543)
- SpellInfo(incarnation_king_of_the_jungle cd=180)
- SpellAddBuff(incarnation_king_of_the_jungle incarnation_king_of_the_jungle_buff=1)
- Define(incarnation_king_of_the_jungle_buff 102543)
- SpellInfo(incarnation_king_of_the_jungle_buff duration=30)
- Define(incarnation_son_of_ursoc 102558)
- SpellInfo(incarnation_son_of_ursoc cd=180)
- SpellAddBuff(incarnation_son_of_ursoc incarnation_son_of_ursoc_buff=1)
- Define(incarnation_son_of_ursoc_buff 102558)
- SpellInfo(incarnation_son_of_ursoc_buff duration=30)
- Define(infected_wounds 48484)
- Define(innervate 29166)
- SpellInfo(innervate cd=180)
- SpellAddBuff(innervate innervate_buff=1)
- Define(innervate_buff 29166)
- #TODO The spells cost no mana
- Define(ironfur 192081)
- SpellInfo(ironfur rage=45 cd=0.5)
- SpellAddBuff(ironfur ironfur_buff=1)
- Define(ironfur_buff 192081)
- Define(lacerate_debuff 192090) #TODO ??
- Define(lunar_beam 204066)
- SpellInfo(lunar_beam cd=90)
- Define(lunar_empowerment_buff 164547)
- Define(lunar_strike_balance 194153)
- SpellInfo(lunar_strike_balance astralpower=-3 astralpower_more50=celestial_alignment_buff astralpower_more40=blessing_of_elune_buff)
- SpellAddBuff(lunar_strike_balance lunar_empowerment_buff=0)
- Define(lunar_strike 197628)
- SpellAddBuff(lunar_strike lunar_empowerment_buff=0)
- Define(maim 22570)
- SpellInfo(maim cd=10 combo=finisher energy=35 interrupt=1 physical=1 stance=druid_cat_form)
- SpellInfo(maim buff_energy_half=berserk_cat_buff)
- SpellRequire(maim energy 0=buff,clearcasting_buff if_spell=clearcasting)
- Define(mangle 33917)
- SpellInfo(mangle rage=-6 cd=6)
- Define(mark_of_ursol 192083)
- SpellInfo(mark_of_ursol rage=45 cd=0.5)
- SpellAddBuff(mark_of_ursol mark_of_ursol_buff=1)
- Define(mark_of_ursol_buff 192083)
- Define(mass_entanglement 102359)
- SpellInfo(mass_entanglement cd=30)
- Define(maul 6807)
- SpellInfo(maul cd=3 cd_haste=melee gcd=0 rage=20 stance=druid_bear_form)
- Define(mighty_bash 5211)
- SpellInfo(mighty_bash cd=50 interrupt=1)
- Define(moonfire 8921)
- Define(moonfire_cat 155625)
- SpellInfo(moonfire_cat combo=1 energy=30 stance=druid_cat_form)
- SpellInfo(moonfire_cat unusable=1 if_stance=!druid_cat_form)
- SpellInfo(moonfire_cat unusable=1 specialization=!feral)
- SpellInfo(moonfire_cat unusable=1 talent=!lunar_inspiration_talent)
- SpellAddTargetDebuff(moonfire_cat moonfire_cat_debuff=1)
- Define(moonfire_cat_debuff 155625)
- SpellInfo(moonfire_cat_debuff duration=14 haste=melee tick=2)
- Define(moonfire_debuff 164812)
- Define(moonfire_dmg_debuff 164812)
- Define(moonkin_form 24858)
- SpellInfo(moonkin_form to_stance=druid_moonkin_form)
- SpellInfo(moonkin_form unusable=1 if_stance=druid_moonkin_form)
- Define(new_moon 202767)
- SpellInfo(new_moon cd=15 astralpower=-10)
- Define(omen_of_clarity 16864)
- Define(predatory_swiftness 16974)
- Define(predatory_swiftness_buff 69369)
- SpellInfo(predatory_swiftness_buff duration=12)
- #TODO Healing touch, entangling_roots and rebirth are instant and free
- Define(primal_fury 159286)
- Define(prowl 5215)
- SpellInfo(prowl cd=10 to_stance=druid_cat_form)
- SpellInfo(prowl unusable=1 stealthed=0)
- SpellAddBuff(prowl prowl_buff=1)
- Define(prowl_buff 5215)
- Define(pulverize 80313)
- SpellRequire(pulverize unusable 1=target_debuff,!thrash_bear_debuff,2)
- SpellAddBuff(pulverize pulverize_buff=1)
- SpellAddTargetDebuff(pulverize thrash_bear_debuff=-2)
- Define(pulverize_buff 158792)
- SpellInfo(pulverize_buff duration=20)
- Define(rake 1822)
- SpellInfo(rake combo=1 energy=35 stance=druid_cat_form)
- SpellInfo(rake buff_energy_half=berserk_cat_buff)
- SpellRequire(rake energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddBuff(rake bloodtalons_buff=-1 if_spell=bloodtalons)
- SpellAddBuff(rake clearcasting_buff=-1 if_spell=clearcasting)
- SpellAddTargetDebuff(rake rake_debuff=1)
- SpellDamageBuff(rake bloodtalons_buff=1.5 talent=bloodtalons_talent)
- SpellDamageBuff(rake improved_rake_buff=2)
- SpellDamageBuff(rake savage_roar_buff=1.25 if_spell=savage_roar)
- SpellDamageBuff(rake tigers_fury_buff=1.15 if_spell=tigers_fury)
- Define(rake_debuff 155722)
- SpellInfo(rake_debuff duration=15 tick=3 talent=!jagged_wounds_talent)
- SpellInfo(rake_debuff duration=10.05 tick=2.01 talent=jagged_wounds_talent)
- SpellDamageBuff(rake_debuff bloodtalons_buff=1.5 talent=bloodtalons_talent)
- SpellDamageBuff(rake_debuff improved_rake_buff=2)
- SpellDamageBuff(rake_debuff savage_roar_buff=1.25 if_spell=savage_roar)
- SpellDamageBuff(rake_debuff tigers_fury_buff=1.15 if_spell=tigers_fury)
- SpellList(improved_rake_buff incarnation_king_of_the_jungle_buff prowl_buff shadowmeld_buff)
- Define(rebirth 20484)
- SpellAddBuff(rebirth predatory_swiftness_buff=0 if_spell=predatory_swiftness)
- Define(regrowth 8936)
- Define(rejuvenation 774)
- SpellAddTargetBuff(rejuvenation rejuvenation_buff=1)
- Define(remove_corruption 2782)
- Define(renewal 108238)
- SpellInfo(renewal cd=120 gcd=0 offgcd=1)
- Define(revive 50769)
- Define(rip 1079)
- SpellInfo(rip combo=finisher energy=30 stance=druid_cat_form)
- SpellInfo(rip buff_energy_half=berserk_cat_buff)
- SpellRequire(rip energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddTargetDebuff(rip rip_debuff=1)
- Define(rip_debuff 1079)
- SpellInfo(rip_debuff duration=24 tick=2 talent=!jagged_wounds_talent)
- SpellInfo(rip_debuff duration=16.08 tick=1.34 talent=jagged_wounds_talent)
- SpellDamageBuff(rip_debuff bloodtalons_buff=1.5 talent=bloodtalons_talent)
- SpellDamageBuff(rip_debuff savage_roar_buff=1.25 if_spell=savage_roar)
- SpellDamageBuff(rip_debuff tigers_fury_buff=1.15 if_spell=tigers_fury)
- Define(savage_roar 52610)
- SpellInfo(savage_roar combo=finisher energy=40 stance=druid_cat_form)
- SpellInfo(savage_roar duration=4 adddurationcp=4)
- SpellInfo(savage_roar buff_energy_half=berserk_cat_buff)
- SpellRequire(savage_roar energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddBuff(savage_roar clearcasting_buff=-1 if_spell=clearcasting)
- SpellInfo(savage_roar unusable=1 talent=!savage_roar_talent)
- SpellAddBuff(savage_roar savage_roar_buff=1)
- Define(savage_roar_buff 52610)
- Define(solar_empowerment_buff 164545)
- Define(shadowmeld_buff 58984)
- Define(shred 5221)
- SpellInfo(shred combo=1 energy=40 physical=1 stance=druid_cat_form)
- SpellInfo(shred buff_energy_half=berserk_cat_buff)
- SpellRequire(shred energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddBuff(shred bloodtalons_buff=-1 if_spell=bloodtalons)
- SpellAddBuff(shred clearcasting_buff=-1 if_spell=clearcasting)
- Define(skull_bash 106839)
- SpellInfo(skull_bash cd=15 gcd=0 interrupt=1 offgcd=1)
- Define(solar_beam 78675)
- SpellInfo(solar_beam cd=60 interrupt=1)
- Define(solar_wrath 190984)
- SpellInfo(solar_wrath travel_time=1 astralpower=-6 astralpower_more40=blessing_of_elune_buff astralpower_more50=celestial_alignment_buff)
- SpellAddBuff(solar_wrath solar_empowerment_buff=-1)
- Define(stampeding_roar 77761)
- SpellInfo(stampeding_roar cd=120)
- Define(starfall 191034)
- SpellInfo(starfall astralpower=60)
- SpellAddTargetDebuff(starfall stellar_empowerment_debuff=1)
- Define(starsurge 197626)
- SpellInfo(starsurge cd=10)
- SpellAddBuff(starsurge lunar_empowerment_buff=1)
- SpellAddBuff(starsurge solar_empowerment_buff=1)
- Define(starsurge_moonkin 78674)
- SpellInfo(starsurge_moonkin astralpower=40)
- SpellAddBuff(starsurge lunar_empowerment_buff=1)
- SpellAddBuff(starsurge solar_empowerment_buff=1)
- Define(stellar_empowerment_debuff 197637)
- Define(stellar_flare 202347)
- SpellInfo(stellar_flare astralpower=15)
- SpellAddTargetDebuff(stellar_flare stellar_flare_debuff=1)
- Define(stellar_flare_debuff 202347)
- SpellInfo(stellar_flare_debuff duration=24 haste=spell tick=2)
- Define(sunfire 93402)
- SpellAddTargetDebuff(sunfire sunfire_debuff=1)
- Define(sunfire_debuff 164815)
- SpellInfo(sunfire_debuff duration=12)
- Define(sunfire_dmg_debuff 164815)
- Define(survival_instincts 61336)
- SpellInfo(survival_instincts cd=120 gcd=0 offgcd=1)
- Define(swiftmend 18562)
- Define(swipe_cat 106785) # Artifact will reduce energy cost by 2 for every target with thrash_cat_debuff
- SpellInfo(swipe_cat combo=1 energy=45 physical=1 stance=druid_cat_form)
- SpellInfo(swipe_cat buff_energy_half=berserk_cat_buff)
- SpellRequire(swipe_cat energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddBuff(swipe_cat bloodtalons_buff=-1 if_spell=bloodtalons)
- SpellAddBuff(swipe_cat clearcasting_buff=-1 if_spell=clearcasting)
- Define(t18_class_trinket 124514)
- Define(tigers_fury 5217)
- SpellInfo(tigers_fury cd=30 energy=-60 gcd=0 stance=druid_cat_form)
- SpellAddBuff(tigers_fury tigers_fury_buff=1)
- Define(tigers_fury_buff 5217)
- SpellInfo(tigers_fury duration=8)
- Define(thrash_bear 77758) # Applies the stacking debuff pulverize uses now
- SpellInfo(thrash_bear rage=-4 cd=6 haste=melee stance=druid_bear_form)
- SpellAddTargetDebuff(thrash_bear thrash_bear_debuff=1)
- Define(thrash_bear_debuff 192090)
- SpellInfo(lacerate_debuff duration=15 max_stacks=3 tick=3)
- Define(thrash_cat 106830)
- SpellInfo(thrash_cat energy=50 stance=druid_cat_form)
- SpellInfo(thrash_cat buff_energy_half=berserk_cat_buff)
- SpellRequire(thrash_cat energy 0=buff,clearcasting_buff if_spell=clearcasting)
- SpellAddBuff(thrash_cat bloodtalons_buff=-1 if_spell=bloodtalons)
- SpellAddBuff(thrash_cat clearcasting_buff=-1 if_spell=clearcasting)
- SpellAddTargetDebuff(thrash_cat thrash_cat_debuff=1)
- Define(thrash_cat_debuff 106830)
- SpellInfo(thrash_cat_debuff duration=15 tick=3 talent=!jagged_wounds_talent)
- SpellInfo(thrash_cat_debuff duration=10.05 tick=2.01 talent=jagged_wounds_talent)
- Define(typhoon 132469)
- SpellInfo(typhoon cd=30 interrupt=1)
- Define(warrior_of_elune 202425)
- Define(warrior_of_elune_buff 202425)
- #TODO 2 Lunar strikes are instant
- Define(wild_charge 102401)
- SpellInfo(wild_charge cd=15)
- SpellInfo(wild_charge replace=wild_charge_bear if_stance=druid_bear_form)
- SpellInfo(wild_charge replace=wild_charge_cat if_stance=druid_cat_form)
- Define(wild_charge_bear 16979)
- SpellInfo(wild_charge_bear cd=15 stance=druid_bear_form)
- Define(wild_charge_cat 49376)
- SpellInfo(wild_charge_cat cd=15 stance=druid_cat_form)
- Define(astral_communion_talent 17)
- Define(balance_affinity_talent 7)
- Define(blessing_of_the_ancients_talent 18)
- Define(blood_scent_talent 2)
- Define(bloodtalons_talent 20)
- Define(brutal_slash_talent 19)
- Define(displacer_beast_talent 5)
- Define(elunes_guidance_talent 18)
- Define(feral_affinity_talent 7)
- Define(force_of_nature_talent 1)
- Define(fury_of_elune_talent 19)
- Define(guardian_affinity_talent 8)
- Define(incarnation_talent 14)
- Define(jagged_wounds_talent 17)
- Define(lunar_inspiration_talent 3)
- Define(mass_entanglement_talent 11)
- Define(mighty_bash_talent 10)
- Define(moment_of_clarity_talent 21)
- Define(natures_balance_talent 21)
- Define(predator_talent 1)
- Define(pulverize_talent 21)
- Define(renewal_talent 4)
- Define(restoration_affinity_talent 9)
- Define(sabertooth_talent 16)
- Define(savage_roar_talent 15)
- Define(shooting_stars_talent 16)
- Define(soul_of_the_forest_talent 13)
- Define(starlord_talent 3)
- Define(stellar_drift_talent 20)
- Define(stellar_flare_talent 15)
- Define(typhoon_talent 12)
- Define(warrior_of_elune_talent 2)
- Define(wild_charge_talent 6)
- AddCheckBox(opt_interrupt L(interrupt) default specialization=feral)
- AddCheckBox(opt_melee_range L(not_in_melee_range) specialization=feral)
- AddCheckBox(opt_potion_agility ItemName(draenic_agility_potion) default specialization=feral)
- AddFunction FeralUsePotionAgility
- {
- if CheckBoxOn(opt_potion_agility) and target.Classification(worldboss) Item(draenic_agility_potion usable=1)
- }
- AddFunction FeralUseItemActions
- {
- Item(Trinket0Slot usable=1)
- Item(Trinket1Slot usable=1)
- }
- AddFunction FeralGetInMeleeRange
- {
- if CheckBoxOn(opt_melee_range) and Stance(druid_bear_form) and not target.InRange(mangle) or { Stance(druid_cat_form) or Stance(druid_claws_of_shirvallah) } and not target.InRange(shred)
- {
- if target.InRange(wild_charge) Spell(wild_charge)
- Texture(misc_arrowlup help=L(not_in_melee_range))
- }
- }
- 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)
- }
- }
- }
- ### actions.default
- AddFunction FeralDefaultMainActions
- {
- #cat_form
- Spell(cat_form)
- #rake,if=buff.prowl.up
- if BuffPresent(prowl_buff) Spell(rake)
- #pool_resource,wait=0.1,for_next=1,extra_amount=50
- #elunes_guidance,if=combo_points=0
- unless ComboPoints() == 0 and Talent(elunes_guidance_talent) and SpellUsable(elunes_guidance) and SpellCooldown(elunes_guidance) < TimeToEnergy(50)
- {
- #call_action_list,name=sabertooth_opener,if=talent.sabertooth.enabled&time<20
- if Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) FeralSabertoothOpenerMainActions()
- #ferocious_bite,cycle_targets=1,if=dot.rip.ticking&dot.rip.remains<3&target.time_to_die-dot.rip.remains>dot.rip.tick_time&(target.health.pct<25|talent.sabertooth.enabled)
- if target.DebuffPresent(rip_debuff) and target.DebuffRemaining(rip_debuff) < 3 and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) and { target.HealthPercent() < 25 or Talent(sabertooth_talent) } Spell(ferocious_bite)
- #call_action_list,name=healing_touch,if=talent.bloodtalons.enabled&buff.predatory_swiftness.up
- if Talent(bloodtalons_talent) and BuffPresent(predatory_swiftness_buff) FeralHealingTouchMainActions()
- #savage_roar,if=buff.savage_roar.down
- if BuffExpires(savage_roar_buff) Spell(savage_roar)
- #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() >= 5 Spell(thrash_cat)
- unless target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies() >= 5 and SpellUsable(thrash_cat) and SpellCooldown(thrash_cat) < TimeToEnergyFor(thrash_cat)
- {
- #call_action_list,name=finisher,if=combo_points=5&(target.health.pct<25|dot.rip.remains<2|energy.time_to_max<1|talent.soul_of_the_forest.enabled|buff.berserk.up|buff.incarnation.up|dot.rake.remains<1.5|buff.elunes_guidance.up|cooldown.tigers_fury.remains<3|(talent.moment_of_clarity.enabled&buff.clearcasting.react)|set_bonus.tier18_4pc)
- if ComboPoints() == 5 and { target.HealthPercent() < 25 or target.DebuffRemaining(rip_debuff) < 2 or TimeToMaxEnergy() < 1 or Talent(soul_of_the_forest_talent) or BuffPresent(berserk_cat_buff) or BuffPresent(incarnation_king_of_the_jungle_buff) or target.DebuffRemaining(rake_debuff) < 1.5 or BuffPresent(elunes_guidance_buff) or SpellCooldown(tigers_fury) < 3 or Talent(moment_of_clarity_talent) and BuffPresent(clearcasting_buff) or ArmorSetBonus(T18 4) } FeralFinisherMainActions()
- #savage_roar,if=buff.savage_roar.remains<gcd
- if BuffRemaining(savage_roar_buff) < GCD() Spell(savage_roar)
- #brutal_slash,if=spell_targets.brutal_slash>=2&(charges_fractional>=2.8|dot.rip.ticking) #### TODO Enemies Dropdown
- if Enemies() >= 2 and { Charges(brutal_slash count=0) >= 2.8 or target.DebuffPresent(rip_debuff) } Spell(brutal_slash)
- #pool_resource,for_next=1
- #thrash_cat,if=talent.brutal_slash.enabled&spell_targets.thrash_cat>=9
- #if Talent(brutal_slash_talent) and Enemies() >= 9 Spell(thrash_cat)
- #unless Talent(brutal_slash_talent) and Enemies() >= 9 and SpellUsable(thrash_cat) and SpellCooldown(thrash_cat) < TimeToEnergyFor(thrash_cat)
- #{
- #call_action_list,name=maintain,if=combo_points<5&(spell_targets.swipe_cat<=5|talent.brutal_slash.enabled)
- if ComboPoints() < 5 and { Enemies() <= 5 or Talent(brutal_slash_talent) } FeralMaintainMainActions()
- #pool_resource,for_next=1
- #thrash_cat,cycle_targets=1,if=remains<=duration*0.3&spell_targets.thrash_cat>=2
- if target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies() >= 2 Spell(thrash_cat)
- unless target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies() >= 2 and SpellUsable(thrash_cat) and SpellCooldown(thrash_cat) < TimeToEnergyFor(thrash_cat)
- {
- #call_action_list,name=generator,if=combo_points<5
- if ComboPoints() < 5 FeralGeneratorMainActions()
- }
- #}
- }
- }
- }
- AddFunction FeralDefaultShortCdActions
- {
- unless Spell(cat_form)
- {
- #wild_charge
- FeralGetInMeleeRange()
- unless BuffPresent(prowl_buff) and Spell(rake)
- {
- #auto_attack
- FeralGetInMeleeRange()
- #pool_resource,wait=0.1,for_next=1,extra_amount=50
- #elunes_guidance,if=combo_points=0
- if ComboPoints() == 0 Spell(elunes_guidance)
- unless ComboPoints() == 0 and Talent(elunes_guidance_talent) and SpellUsable(elunes_guidance) and SpellCooldown(elunes_guidance) < TimeToEnergy(50)
- {
- #call_action_list,name=sabertooth_opener,if=talent.sabertooth.enabled&time<20
- if Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) FeralSabertoothOpenerShortCdActions()
- unless Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) and FeralSabertoothOpenerShortCdPostConditions()
- {
- #tigers_fury,if=(!buff.clearcasting.react&energy.deficit>=60)|energy.deficit>=80|(t18_class_trinket&buff.berserk.up&buff.tigers_fury.down)
- if not BuffPresent(clearcasting_buff) and EnergyDeficit() >= 60 or EnergyDeficit() >= 80 or HasTrinket(t18_class_trinket) and BuffPresent(berserk_cat_buff) and BuffExpires(tigers_fury_buff) Spell(tigers_fury)
- }
- }
- }
- }
- }
- AddFunction FeralDefaultCdActions
- {
- #dash,if=!buff.cat_form.up
- if not BuffPresent(cat_form) Spell(dash)
- unless Spell(cat_form) or 0 > 10 and Spell(displacer_beast)
- {
- #dash,if=movement.distance&buff.displacer_beast.down&buff.wild_charge_movement.down
- if 0 and BuffExpires(displacer_beast_buff) and True(wild_charge_movement_down) Spell(dash)
- unless BuffPresent(prowl_buff) and Spell(rake)
- {
- #skull_bash
- FeralInterruptActions()
- #pool_resource,wait=0.1,for_next=1,extra_amount=50
- #elunes_guidance,if=combo_points=0
- unless ComboPoints() == 0 and Talent(elunes_guidance_talent) and SpellUsable(elunes_guidance) and SpellCooldown(elunes_guidance) < TimeToEnergy(50)
- {
- #berserk,if=buff.tigers_fury.up
- if BuffPresent(tigers_fury_buff) Spell(berserk_cat)
- #incarnation,if=cooldown.tigers_fury.remains<gcd
- if SpellCooldown(tigers_fury) < GCD() Spell(incarnation_king_of_the_jungle)
- #use_item,slot=trinket2,if=(prev.tigers_fury&(target.time_to_die>trinket.stat.any.cooldown|target.time_to_die<45))|prev.berserk|(buff.incarnation.up&time<10)
- if PreviousSpell(tigers_fury) and { target.TimeToDie() > BuffCooldownDuration(trinket_stat_any_buff) or target.TimeToDie() < 45 } or PreviousSpell(berserk_cat) or BuffPresent(incarnation_king_of_the_jungle_buff) and TimeInCombat() < 10 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) > 10 or BuffRemaining(incarnation_king_of_the_jungle_buff) > 20 } and { target.TimeToDie() < 180 or BuffPresent(trinket_proc_any_buff) and target.HealthPercent() < 25 } or target.TimeToDie() <= 40 FeralUsePotionAgility()
- #blood_fury,sync=tigers_fury
- #berserking,sync=tigers_fury
- #arcane_torrent,sync=tigers_fury
- if { not BuffPresent(clearcasting_buff) and EnergyDeficit() >= 60 or EnergyDeficit() >= 80 or HasTrinket(t18_class_trinket) and BuffPresent(berserk_cat_buff) and BuffExpires(tigers_fury_buff) } and Spell(tigers_fury)
- {
- Spell(blood_fury_apsp)
- Spell(berserking)
- Spell(arcane_torrent_energy)
- }
- unless Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) and FeralSabertoothOpenerCdPostConditions()
- {
- #incarnation,if=energy.time_to_max>1&energy>=35
- if TimeToMaxEnergy() > 1 and Energy() >= 35 Spell(incarnation_king_of_the_jungle)
- }
- }
- }
- }
- }
- ### actions.finisher
- AddFunction FeralFinisherMainActions
- {
- #rip,cycle_targets=1,if=remains<2&target.time_to_die-remains>tick_time*4
- if target.DebuffRemaining(rip_debuff) < 2 and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4 Spell(rip)
- #rip,cycle_targets=1,if=remains<=8&target.health.pct>25&!talent.sabertooth.enabled&target.time_to_die-remains>tick_time*4
- if target.DebuffRemaining(rip_debuff) <= 8 and target.HealthPercent() > 25 and not Talent(sabertooth_talent) and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4 Spell(rip)
- #rip,if=persistent_multiplier>dot.rip.pmultiplier&target.time_to_die-remains>tick_time*4
- if PersistentMultiplier(rip_debuff) > target.DebuffPersistentMultiplier(rip_debuff) and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4 Spell(rip)
- #savage_roar,if=buff.savage_roar.remains<=7.2
- if BuffRemaining(savage_roar_buff) <= 7.2 Spell(savage_roar)
- #ferocious_bite,max_energy=1,cycle_targets=1,if=dot.rip.ticking&(target.health.pct<25|talent.sabertooth.enabled|buff.berserk.up|buff.incarnation.up|buff.elunes_guidance.up|(talent.moment_of_clarity.enabled&buff.clearcasting.react)|energy.time_to_max<1|cooldown.tigers_fury.remains<3|set_bonus.tier18_4pc)
- if Energy() >= EnergyCost(ferocious_bite max=1) and target.DebuffPresent(rip_debuff) and { target.HealthPercent() < 25 or Talent(sabertooth_talent) or BuffPresent(berserk_cat_buff) or BuffPresent(incarnation_king_of_the_jungle_buff) or BuffPresent(elunes_guidance_buff) or Talent(moment_of_clarity_talent) and BuffPresent(clearcasting_buff) or TimeToMaxEnergy() < 1 or SpellCooldown(tigers_fury) < 3 or ArmorSetBonus(T18 4) } Spell(ferocious_bite)
- }
- ### actions.generator
- AddFunction FeralGeneratorMainActions
- {
- #swipe_cat,if=spell_targets.swipe_cat>=3
- if Enemies() >= 3 Spell(swipe_cat)
- #shred,if=spell_targets.swipe_cat<3|talent.brutal_slash.enabled
- if Enemies() < 3 or Talent(brutal_slash_talent) Spell(shred)
- }
- ### actions.healing_touch
- AddFunction FeralHealingTouchMainActions
- {
- #healing_touch,if=combo_points>=5
- if ComboPoints() >= 5 Spell(healing_touch)
- #healing_touch,if=buff.predatory_swiftness.remains<1.5
- if BuffRemaining(predatory_swiftness_buff) < 1.5 Spell(healing_touch)
- #healing_touch,if=combo_points>=4&dot.rake.remains<dot.rake.duration*0.3+gcd
- if ComboPoints() >= 4 and target.DebuffRemaining(rake_debuff) < target.DebuffDuration(rake_debuff) * 0.3 + GCD() Spell(healing_touch)
- }
- ### actions.maintain
- AddFunction FeralMaintainMainActions
- {
- #rake,cycle_targets=1,if=(remains<2|(!talent.bloodtalons.enabled&remains<=duration*0.3))&target.time_to_die-remains>tick_time
- if { target.DebuffRemaining(rake_debuff) < 2 or not Talent(bloodtalons_talent) and target.DebuffRemaining(rake_debuff) <= BaseDuration(rake_debuff) * 0.3 } and target.TimeToDie() - target.DebuffRemaining(rake_debuff) > target.TickTime(rake_debuff) Spell(rake)
- #rake,cycle_targets=1,if=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 Talent(bloodtalons_talent) and BuffPresent(bloodtalons_buff) and { not Talent(soul_of_the_forest_talent) 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)
- #rake,if=persistent_multiplier>dot.rake.pmultiplier&target.time_to_die-remains>tick_time
- if PersistentMultiplier(rake_debuff) > target.DebuffPersistentMultiplier(rake_debuff) and target.TimeToDie() - target.DebuffRemaining(rake_debuff) > target.TickTime(rake_debuff) Spell(rake)
- #moonfire_cat,cycle_targets=1,if=remains<=4.2&target.time_to_die-remains>tick_time*2
- if target.DebuffRemaining(moonfire_cat_debuff) <= 4.2 and target.TimeToDie() - target.DebuffRemaining(moonfire_cat_debuff) > target.TickTime(moonfire_cat_debuff) * 2 Spell(moonfire_cat)
- }
- ### actions.precombat
- AddFunction FeralPrecombatMainActions
- {
- #flask,type=flask_of_the_seventh_demon
- #food,type=the_hungry_magister
- #healing_touch,if=talent.bloodtalons.enabled
- if Talent(bloodtalons_talent) and BuffRemaining(bloodtalons_buff) < 20 and BuffExpires(prowl_buff) Spell(healing_touch)
- #cat_form
- Spell(cat_form)
- #prowl
- Spell(prowl)
- #savage_roar
- Spell(savage_roar)
- }
- AddFunction FeralPrecombatShortCdActions
- {
- #unless Talent(bloodtalons_talent) and Spell(healing_touch) or 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(healing_touch) or Spell(cat_form) or Spell(prowl) or Spell(savage_roar)
- }
- AddFunction FeralPrecombatCdActions
- {
- unless Talent(bloodtalons_talent) and Spell(healing_touch) or Spell(cat_form) or Spell(prowl)
- {
- #snapshot_stats
- #potion,name=draenic_agility
- FeralUsePotionAgility()
- }
- }
- AddFunction FeralPrecombatCdPostConditions
- {
- Talent(bloodtalons_talent) and Spell(healing_touch) or Spell(cat_form) or Spell(prowl) or Talent(savage_roar_talent) and Spell(elunes_guidance) or Spell(savage_roar)
- }
- ### actions.sabertooth_opener
- AddFunction FeralSabertoothOpenerMainActions
- {
- #healing_touch,if=talent.bloodtalons.enabled&combo_points=5&!buff.bloodtalons.up&!dot.rip.ticking
- if Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) Spell(healing_touch)
- }
- AddFunction FeralSabertoothOpenerShortCdActions
- {
- unless Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) and Spell(healing_touch)
- {
- #tigers_fury,if=!dot.rip.ticking&combo_points=5
- if not target.DebuffPresent(rip_debuff) and ComboPoints() == 5 Spell(tigers_fury)
- }
- }
- AddFunction FeralSabertoothOpenerShortCdPostConditions
- {
- Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) and Spell(healing_touch)
- }
- AddFunction FeralSabertoothOpenerCdPostConditions
- {
- Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) and Spell(healing_touch)
- }
- ### 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
- # 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
- # ferocious_bite
- # healing_touch
- # incarnation_king_of_the_jungle
- # incarnation_king_of_the_jungle_buff
- # 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
- # 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement