Advertisement
Guest User

Untitled

a guest
Aug 1st, 2016
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.55 KB | None | 0 0
  1. # Based on SimulationCraft profile "LI/SR/JW/BT".
  2. # class=druid
  3. # spec=feral
  4. # talents=2323322
  5.  
  6. Include(ovale_common)
  7. Include(ovale_trinkets_mop)
  8. Include(ovale_trinkets_wod)
  9. # Druid spells and functions.
  10. Define(ashamanes_bite 210702)
  11. Define(ashamanes_rip_debuff 224435)
  12. Define(astral_communion 202359)
  13. SpellInfo(astral_communion cd=80 astralpower=-75)
  14. Define(astral_influence 197524)
  15. Define(barkskin 22812)
  16. SpellInfo(barkskin cd=90 gcd=0 offgcd=1)
  17. Define(bear_form 5487)
  18. SpellInfo(bear_form to_stance=druid_bear_form)
  19. SpellInfo(bear_form unusable=1 if_stance=druid_bear_form)
  20. Define(berserk 106951)
  21. Define(berserk_cat 106951)
  22. SpellInfo(berserk_cat cd=180 gcd=0)
  23. SpellAddBuff(berserk_cat berserk_cat_buff=1)
  24. SpellInfo(berserk_cat duration=15)
  25. 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
  26. Define(blessing_of_anshe_buff 202739)
  27. Define(blessing_of_elune 202737)
  28. Define(blessing_of_elune_buff 202737)
  29. Define(blessing_of_the_ancients 202360)
  30. SpellInfo(blessing_of_the_ancients cd=15)
  31. SpellAddBuff(blessing_of_the_ancients blessing_of_elune_buff=1 if_buff=blessing_of_anshe_buff)
  32. SpellAddBuff(blessing_of_the_ancients blessing_of_anshe_buff=1 if_buff=blessing_of_elune_buff)
  33. Define(bloodtalons 155672)
  34. Define(bloodtalons_buff 145152)
  35. SpellInfo(bloodtalons_buff duration=30 max_stacks=2)
  36. Define(bristling_fur 155835)
  37. SpellInfo(bristling_fur cd=40 gcd=0 offgcd=1)
  38. SpellAddBuff(bristling_fur bristling_fur_buff=1)
  39. Define(bristling_fur_buff 155835)
  40. SpellInfo(bristling_fur_buff duration=8)
  41. Define(brutal_slash 202028)
  42. SpellInfo(brutal_slash cd=18 cd_haste=melee max_stacks=3 stance=druid_cat_form)
  43. SpellInfo(brutal_slash combo=1 energy=20 physical=1)
  44. SpellInfo(brutal_slash buff_energy_half=berserk_cat_buff)
  45. SpellRequire(brutal_slash energy 0=buff,clearcasting_buff if_spell=clearcasting)
  46. SpellAddBuff(brutal_slash bloodtalons_buff=-1)
  47. SpellAddBuff(brutal_slash clearcasting_buff=-1 if_spell=clearcasting)
  48. Define(cat_form 768)
  49. SpellInfo(cat_form to_stance=druid_cat_form)
  50. SpellInfo(cat_form unusable=1 if_stance=druid_cat_form)
  51. Define(celestial_alignment 194223)
  52. SpellInfo(celestial_alignment cd=180)
  53. SpellAddBuff(celestial_alignment celestial_alignment_buff=1)
  54. Define(celestial_alignment_buff 194223)
  55. Define(clearcasting 135700)
  56. Define(clearcasting_buff 135700)
  57. SpellInfo(clearcasting_buff duration=15)
  58. #TODO Next spell have no energy cost
  59. Define(dash 1850)
  60. SpellInfo(dash cd=180)
  61. SpellInfo(dash to_stance=druid_cat_form if_stance=!druid_cat_form)
  62. Define(displacer_beast 102280)
  63. SpellInfo(displacer_beast cd=30)
  64. SpellInfo(displacer_beast to_stance=druid_cat_form if_stance=!druid_cat_form)
  65. SpellAddBuff(displacer_beast displacer_beast_buff=1)
  66. Define(displacer_beast_buff 137452)
  67. SpellInfo(displacer_beast_buff duration=4)
  68. Define(elunes_guidance 202060)
  69. SpellInfo(elunes_guidance cd=45 combo=5)
  70. Define(elunes_guidance_buff 202060)
  71. #TODO 1 combo per s
  72. Define(entangling_roots 339)
  73. Define(ferocious_bite 22568)
  74. SpellInfo(ferocious_bite combo=finisher energy=25 extra_energy=25 physical=1 stance=druid_cat_form)
  75. SpellInfo(ferocious_bite buff_energy_half=berserk_cat_buff)
  76. SpellRequire(ferocious_bite energy 0=buff,clearcasting_buff if_spell=clearcasting)
  77. SpellRequire(ferocious_bite energy -25=buff,clearcasting_buff if_spell=clearcasting itemset=T18 itemcount=4 specialization=feral)
  78. SpellAddBuff(ferocious_bite bloodtalons_buff=-1)
  79. SpellAddBuff(ferocious_bite clearcasting_buff=-1 if_spell=clearcasting)
  80. Define(force_of_nature 205636)
  81. SpellInfo(force_of_nature cd=60)
  82. Define(frenzied_regeneration 22842)
  83. SpellInfo(frenzied_regeneration cd=24)
  84. SpellAddBuff(frenzied_regeneration frenzied_regeneration_debuff=1)
  85. Define(frenzied_regeneration_debuff 22842)
  86. Define(fury_of_elune 202770)
  87. SpellInfo(fury_of_elune cd=90 astralpower=60)
  88. SpellAddBuff(fury_of_elune fury_of_elune_up_buff=1)
  89. Define(fury_of_elune_talent 19)
  90. Define(fury_of_elune_up_buff 202770)
  91. #TODO 120 astralpower per s
  92. Define(full_moon 202771)
  93. SpellInfo(full_moon cd=15 astralpower=-40)
  94. Define(half_moon 202768)
  95. SpellInfo(half_moon cd=15 astralpower=-20)
  96. Define(growl 6795)
  97. SpellInfo(growl cd=8)
  98. Define(healing_touch 5185)
  99. SpellInfo(healing_touch mana=9)
  100. SpellAddBuff(healing_touch bloodtalons_buff=1 talent=bloodtalons_talent)
  101. Define(incapacitating_roar 99)
  102. SpellInfo(incapacitating_roar cd=30)
  103. Define(incarnation_chosen_of_elune 102560)
  104. SpellInfo(incarnation_chosen_of_elune cd=180)
  105. SpellAddBuff(incarnation_chosen_of_elune incarnation_chosen_of_elune_buff=1)
  106. Define(incarnation_chosen_of_elune_buff 102560)
  107. SpellInfo(incarnation_chosen_of_elune_buff duration=30)
  108. Define(incarnation_king_of_the_jungle 102543)
  109. SpellInfo(incarnation_king_of_the_jungle cd=180)
  110. SpellAddBuff(incarnation_king_of_the_jungle incarnation_king_of_the_jungle_buff=1)
  111. Define(incarnation_king_of_the_jungle_buff 102543)
  112. SpellInfo(incarnation_king_of_the_jungle_buff duration=30)
  113. Define(incarnation_son_of_ursoc 102558)
  114. SpellInfo(incarnation_son_of_ursoc cd=180)
  115. SpellAddBuff(incarnation_son_of_ursoc incarnation_son_of_ursoc_buff=1)
  116. Define(incarnation_son_of_ursoc_buff 102558)
  117. SpellInfo(incarnation_son_of_ursoc_buff duration=30)
  118. Define(infected_wounds 48484)
  119. Define(innervate 29166)
  120. SpellInfo(innervate cd=180)
  121. SpellAddBuff(innervate innervate_buff=1)
  122. Define(innervate_buff 29166)
  123. #TODO The spells cost no mana
  124. Define(ironfur 192081)
  125. SpellInfo(ironfur rage=45 cd=0.5)
  126. SpellAddBuff(ironfur ironfur_buff=1)
  127. Define(ironfur_buff 192081)
  128. Define(lacerate_debuff 192090) #TODO ??
  129. Define(lunar_beam 204066)
  130. SpellInfo(lunar_beam cd=90)
  131. Define(lunar_empowerment_buff 164547)
  132. Define(lunar_strike_balance 194153)
  133. SpellInfo(lunar_strike_balance astralpower=-3 astralpower_more50=celestial_alignment_buff astralpower_more40=blessing_of_elune_buff)
  134. SpellAddBuff(lunar_strike_balance lunar_empowerment_buff=0)
  135. Define(lunar_strike 197628)
  136. SpellAddBuff(lunar_strike lunar_empowerment_buff=0)
  137. Define(maim 22570)
  138. SpellInfo(maim cd=10 combo=finisher energy=35 interrupt=1 physical=1 stance=druid_cat_form)
  139. SpellInfo(maim buff_energy_half=berserk_cat_buff)
  140. SpellRequire(maim energy 0=buff,clearcasting_buff if_spell=clearcasting)
  141. Define(mangle 33917)
  142. SpellInfo(mangle rage=-6 cd=6)
  143. Define(mark_of_ursol 192083)
  144. SpellInfo(mark_of_ursol rage=45 cd=0.5)
  145. SpellAddBuff(mark_of_ursol mark_of_ursol_buff=1)
  146. Define(mark_of_ursol_buff 192083)
  147. Define(mass_entanglement 102359)
  148. SpellInfo(mass_entanglement cd=30)
  149. Define(maul 6807)
  150. SpellInfo(maul cd=3 cd_haste=melee gcd=0 rage=20 stance=druid_bear_form)
  151. Define(mighty_bash 5211)
  152. SpellInfo(mighty_bash cd=50 interrupt=1)
  153. Define(moonfire 8921)
  154. Define(moonfire_cat 155625)
  155. SpellInfo(moonfire_cat combo=1 energy=30 stance=druid_cat_form)
  156. SpellInfo(moonfire_cat unusable=1 if_stance=!druid_cat_form)
  157. SpellInfo(moonfire_cat unusable=1 specialization=!feral)
  158. SpellInfo(moonfire_cat unusable=1 talent=!lunar_inspiration_talent)
  159. SpellAddTargetDebuff(moonfire_cat moonfire_cat_debuff=1)
  160. Define(moonfire_cat_debuff 155625)
  161. SpellInfo(moonfire_cat_debuff duration=14 haste=melee tick=2)
  162. Define(moonfire_debuff 164812)
  163. Define(moonfire_dmg_debuff 164812)
  164. Define(moonkin_form 24858)
  165. SpellInfo(moonkin_form to_stance=druid_moonkin_form)
  166. SpellInfo(moonkin_form unusable=1 if_stance=druid_moonkin_form)
  167. Define(new_moon 202767)
  168. SpellInfo(new_moon cd=15 astralpower=-10)
  169. Define(omen_of_clarity 16864)
  170. Define(predatory_swiftness 16974)
  171. Define(predatory_swiftness_buff 69369)
  172. SpellInfo(predatory_swiftness_buff duration=12)
  173. #TODO Healing touch, entangling_roots and rebirth are instant and free
  174. Define(primal_fury 159286)
  175. Define(prowl 5215)
  176. SpellInfo(prowl cd=10 to_stance=druid_cat_form)
  177. SpellInfo(prowl unusable=1 stealthed=0)
  178. SpellAddBuff(prowl prowl_buff=1)
  179. Define(prowl_buff 5215)
  180. Define(pulverize 80313)
  181. SpellRequire(pulverize unusable 1=target_debuff,!thrash_bear_debuff,2)
  182. SpellAddBuff(pulverize pulverize_buff=1)
  183. SpellAddTargetDebuff(pulverize thrash_bear_debuff=-2)
  184. Define(pulverize_buff 158792)
  185. SpellInfo(pulverize_buff duration=20)
  186. Define(rake 1822)
  187. SpellInfo(rake combo=1 energy=35 stance=druid_cat_form)
  188. SpellInfo(rake buff_energy_half=berserk_cat_buff)
  189. SpellRequire(rake energy 0=buff,clearcasting_buff if_spell=clearcasting)
  190. SpellAddBuff(rake bloodtalons_buff=-1 if_spell=bloodtalons)
  191. SpellAddBuff(rake clearcasting_buff=-1 if_spell=clearcasting)
  192. SpellAddTargetDebuff(rake rake_debuff=1)
  193. SpellDamageBuff(rake bloodtalons_buff=1.5 talent=bloodtalons_talent)
  194. SpellDamageBuff(rake improved_rake_buff=2)
  195. SpellDamageBuff(rake savage_roar_buff=1.25 if_spell=savage_roar)
  196. SpellDamageBuff(rake tigers_fury_buff=1.15 if_spell=tigers_fury)
  197. Define(rake_debuff 155722)
  198. SpellInfo(rake_debuff duration=15 tick=3 talent=!jagged_wounds_talent)
  199. SpellInfo(rake_debuff duration=10.05 tick=2.01 talent=jagged_wounds_talent)
  200. SpellDamageBuff(rake_debuff bloodtalons_buff=1.5 talent=bloodtalons_talent)
  201. SpellDamageBuff(rake_debuff improved_rake_buff=2)
  202. SpellDamageBuff(rake_debuff savage_roar_buff=1.25 if_spell=savage_roar)
  203. SpellDamageBuff(rake_debuff tigers_fury_buff=1.15 if_spell=tigers_fury)
  204. SpellList(improved_rake_buff incarnation_king_of_the_jungle_buff prowl_buff shadowmeld_buff)
  205. Define(rebirth 20484)
  206. SpellAddBuff(rebirth predatory_swiftness_buff=0 if_spell=predatory_swiftness)
  207. Define(regrowth 8936)
  208. Define(rejuvenation 774)
  209. SpellAddTargetBuff(rejuvenation rejuvenation_buff=1)
  210. Define(remove_corruption 2782)
  211. Define(renewal 108238)
  212. SpellInfo(renewal cd=120 gcd=0 offgcd=1)
  213. Define(revive 50769)
  214. Define(rip 1079)
  215. SpellInfo(rip combo=finisher energy=30 stance=druid_cat_form)
  216. SpellInfo(rip buff_energy_half=berserk_cat_buff)
  217. SpellRequire(rip energy 0=buff,clearcasting_buff if_spell=clearcasting)
  218. SpellAddTargetDebuff(rip rip_debuff=1)
  219. Define(rip_debuff 1079)
  220. SpellInfo(rip_debuff duration=24 tick=2 talent=!jagged_wounds_talent)
  221. SpellInfo(rip_debuff duration=16.08 tick=1.34 talent=jagged_wounds_talent)
  222. SpellDamageBuff(rip_debuff bloodtalons_buff=1.5 talent=bloodtalons_talent)
  223. SpellDamageBuff(rip_debuff savage_roar_buff=1.25 if_spell=savage_roar)
  224. SpellDamageBuff(rip_debuff tigers_fury_buff=1.15 if_spell=tigers_fury)
  225. Define(savage_roar 52610)
  226. SpellInfo(savage_roar combo=finisher energy=40 stance=druid_cat_form)
  227. SpellInfo(savage_roar duration=4 adddurationcp=4)
  228. SpellInfo(savage_roar buff_energy_half=berserk_cat_buff)
  229. SpellRequire(savage_roar energy 0=buff,clearcasting_buff if_spell=clearcasting)
  230. SpellAddBuff(savage_roar clearcasting_buff=-1 if_spell=clearcasting)
  231. SpellInfo(savage_roar unusable=1 talent=!savage_roar_talent)
  232. SpellAddBuff(savage_roar savage_roar_buff=1)
  233. Define(savage_roar_buff 52610)
  234. Define(solar_empowerment_buff 164545)
  235. Define(shadowmeld_buff 58984)
  236. Define(shred 5221)
  237. SpellInfo(shred combo=1 energy=40 physical=1 stance=druid_cat_form)
  238. SpellInfo(shred buff_energy_half=berserk_cat_buff)
  239. SpellRequire(shred energy 0=buff,clearcasting_buff if_spell=clearcasting)
  240. SpellAddBuff(shred bloodtalons_buff=-1 if_spell=bloodtalons)
  241. SpellAddBuff(shred clearcasting_buff=-1 if_spell=clearcasting)
  242. Define(skull_bash 106839)
  243. SpellInfo(skull_bash cd=15 gcd=0 interrupt=1 offgcd=1)
  244. Define(solar_beam 78675)
  245. SpellInfo(solar_beam cd=60 interrupt=1)
  246. Define(solar_wrath 190984)
  247. SpellInfo(solar_wrath travel_time=1 astralpower=-6 astralpower_more40=blessing_of_elune_buff astralpower_more50=celestial_alignment_buff)
  248. SpellAddBuff(solar_wrath solar_empowerment_buff=-1)
  249. Define(stampeding_roar 77761)
  250. SpellInfo(stampeding_roar cd=120)
  251. Define(starfall 191034)
  252. SpellInfo(starfall astralpower=60)
  253. SpellAddTargetDebuff(starfall stellar_empowerment_debuff=1)
  254. Define(starsurge 197626)
  255. SpellInfo(starsurge cd=10)
  256. SpellAddBuff(starsurge lunar_empowerment_buff=1)
  257. SpellAddBuff(starsurge solar_empowerment_buff=1)
  258. Define(starsurge_moonkin 78674)
  259. SpellInfo(starsurge_moonkin astralpower=40)
  260. SpellAddBuff(starsurge lunar_empowerment_buff=1)
  261. SpellAddBuff(starsurge solar_empowerment_buff=1)
  262. Define(stellar_empowerment_debuff 197637)
  263. Define(stellar_flare 202347)
  264. SpellInfo(stellar_flare astralpower=15)
  265. SpellAddTargetDebuff(stellar_flare stellar_flare_debuff=1)
  266. Define(stellar_flare_debuff 202347)
  267. SpellInfo(stellar_flare_debuff duration=24 haste=spell tick=2)
  268. Define(sunfire 93402)
  269. SpellAddTargetDebuff(sunfire sunfire_debuff=1)
  270. Define(sunfire_debuff 164815)
  271. SpellInfo(sunfire_debuff duration=12)
  272. Define(sunfire_dmg_debuff 164815)
  273. Define(survival_instincts 61336)
  274. SpellInfo(survival_instincts cd=120 gcd=0 offgcd=1)
  275. Define(swiftmend 18562)
  276. Define(swipe_cat 106785) # Artifact will reduce energy cost by 2 for every target with thrash_cat_debuff
  277. SpellInfo(swipe_cat combo=1 energy=45 physical=1 stance=druid_cat_form)
  278. SpellInfo(swipe_cat buff_energy_half=berserk_cat_buff)
  279. SpellRequire(swipe_cat energy 0=buff,clearcasting_buff if_spell=clearcasting)
  280. SpellAddBuff(swipe_cat bloodtalons_buff=-1 if_spell=bloodtalons)
  281. SpellAddBuff(swipe_cat clearcasting_buff=-1 if_spell=clearcasting)
  282. Define(t18_class_trinket 124514)
  283. Define(tigers_fury 5217)
  284. SpellInfo(tigers_fury cd=30 energy=-60 gcd=0 stance=druid_cat_form)
  285. SpellAddBuff(tigers_fury tigers_fury_buff=1)
  286. Define(tigers_fury_buff 5217)
  287. SpellInfo(tigers_fury duration=8)
  288. Define(thrash_bear 77758) # Applies the stacking debuff pulverize uses now
  289. SpellInfo(thrash_bear rage=-4 cd=6 haste=melee stance=druid_bear_form)
  290. SpellAddTargetDebuff(thrash_bear thrash_bear_debuff=1)
  291. Define(thrash_bear_debuff 192090)
  292. SpellInfo(lacerate_debuff duration=15 max_stacks=3 tick=3)
  293. Define(thrash_cat 106830)
  294. SpellInfo(thrash_cat energy=50 stance=druid_cat_form)
  295. SpellInfo(thrash_cat buff_energy_half=berserk_cat_buff)
  296. SpellRequire(thrash_cat energy 0=buff,clearcasting_buff if_spell=clearcasting)
  297. SpellAddBuff(thrash_cat bloodtalons_buff=-1 if_spell=bloodtalons)
  298. SpellAddBuff(thrash_cat clearcasting_buff=-1 if_spell=clearcasting)
  299. SpellAddTargetDebuff(thrash_cat thrash_cat_debuff=1)
  300. Define(thrash_cat_debuff 106830)
  301. SpellInfo(thrash_cat_debuff duration=15 tick=3 talent=!jagged_wounds_talent)
  302. SpellInfo(thrash_cat_debuff duration=10.05 tick=2.01 talent=jagged_wounds_talent)
  303. Define(typhoon 132469)
  304. SpellInfo(typhoon cd=30 interrupt=1)
  305. Define(warrior_of_elune 202425)
  306. Define(warrior_of_elune_buff 202425)
  307. #TODO 2 Lunar strikes are instant
  308. Define(wild_charge 102401)
  309. SpellInfo(wild_charge cd=15)
  310. SpellInfo(wild_charge replace=wild_charge_bear if_stance=druid_bear_form)
  311. SpellInfo(wild_charge replace=wild_charge_cat if_stance=druid_cat_form)
  312. Define(wild_charge_bear 16979)
  313. SpellInfo(wild_charge_bear cd=15 stance=druid_bear_form)
  314. Define(wild_charge_cat 49376)
  315. SpellInfo(wild_charge_cat cd=15 stance=druid_cat_form)
  316.  
  317. Define(astral_communion_talent 17)
  318. Define(balance_affinity_talent 7)
  319. Define(blessing_of_the_ancients_talent 18)
  320. Define(blood_scent_talent 2)
  321. Define(bloodtalons_talent 20)
  322. Define(brutal_slash_talent 19)
  323. Define(displacer_beast_talent 5)
  324. Define(elunes_guidance_talent 18)
  325. Define(feral_affinity_talent 7)
  326. Define(force_of_nature_talent 1)
  327. Define(fury_of_elune_talent 19)
  328. Define(guardian_affinity_talent 8)
  329. Define(incarnation_talent 14)
  330. Define(jagged_wounds_talent 17)
  331. Define(lunar_inspiration_talent 3)
  332. Define(mass_entanglement_talent 11)
  333. Define(mighty_bash_talent 10)
  334. Define(moment_of_clarity_talent 21)
  335. Define(natures_balance_talent 21)
  336. Define(predator_talent 1)
  337. Define(pulverize_talent 21)
  338. Define(renewal_talent 4)
  339. Define(restoration_affinity_talent 9)
  340. Define(sabertooth_talent 16)
  341. Define(savage_roar_talent 15)
  342. Define(shooting_stars_talent 16)
  343. Define(soul_of_the_forest_talent 13)
  344. Define(starlord_talent 3)
  345. Define(stellar_drift_talent 20)
  346. Define(stellar_flare_talent 15)
  347. Define(typhoon_talent 12)
  348. Define(warrior_of_elune_talent 2)
  349. Define(wild_charge_talent 6)
  350.  
  351. AddCheckBox(opt_interrupt L(interrupt) default specialization=feral)
  352. AddCheckBox(opt_melee_range L(not_in_melee_range) specialization=feral)
  353. AddCheckBox(opt_potion_agility ItemName(draenic_agility_potion) default specialization=feral)
  354.  
  355. AddFunction FeralUsePotionAgility
  356. {
  357. if CheckBoxOn(opt_potion_agility) and target.Classification(worldboss) Item(draenic_agility_potion usable=1)
  358. }
  359.  
  360. AddFunction FeralUseItemActions
  361. {
  362. Item(Trinket0Slot usable=1)
  363. Item(Trinket1Slot usable=1)
  364. }
  365.  
  366. AddFunction FeralGetInMeleeRange
  367. {
  368. 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)
  369. {
  370. if target.InRange(wild_charge) Spell(wild_charge)
  371. Texture(misc_arrowlup help=L(not_in_melee_range))
  372. }
  373. }
  374.  
  375. AddFunction FeralInterruptActions
  376. {
  377. if CheckBoxOn(opt_interrupt) and not target.IsFriend() and target.IsInterruptible()
  378. {
  379. if target.InRange(skull_bash) Spell(skull_bash)
  380. if not target.Classification(worldboss)
  381. {
  382. if target.InRange(mighty_bash) Spell(mighty_bash)
  383. Spell(typhoon)
  384. if target.InRange(maim) Spell(maim)
  385. Spell(war_stomp)
  386. }
  387. }
  388. }
  389.  
  390. ### actions.default
  391.  
  392. AddFunction FeralDefaultMainActions
  393. {
  394. #cat_form
  395. Spell(cat_form)
  396. #rake,if=buff.prowl.up
  397. if BuffPresent(prowl_buff) Spell(rake)
  398. #pool_resource,wait=0.1,for_next=1,extra_amount=50
  399. #elunes_guidance,if=combo_points=0
  400. unless ComboPoints() == 0 and Talent(elunes_guidance_talent) and SpellUsable(elunes_guidance) and SpellCooldown(elunes_guidance) < TimeToEnergy(50)
  401. {
  402. #call_action_list,name=sabertooth_opener,if=talent.sabertooth.enabled&time<20
  403. if Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) FeralSabertoothOpenerMainActions()
  404. #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)
  405. 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)
  406. #call_action_list,name=healing_touch,if=talent.bloodtalons.enabled&buff.predatory_swiftness.up
  407. if Talent(bloodtalons_talent) and BuffPresent(predatory_swiftness_buff) FeralHealingTouchMainActions()
  408. #savage_roar,if=buff.savage_roar.down
  409. if BuffExpires(savage_roar_buff) Spell(savage_roar)
  410. #pool_resource,for_next=1
  411. #thrash_cat,cycle_targets=1,if=remains<=duration*0.3&spell_targets.thrash_cat>=5
  412. if target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies() >= 5 Spell(thrash_cat)
  413. 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)
  414. {
  415. #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)
  416. 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()
  417. #savage_roar,if=buff.savage_roar.remains<gcd
  418. if BuffRemaining(savage_roar_buff) < GCD() Spell(savage_roar)
  419. #brutal_slash,if=spell_targets.brutal_slash>=2&(charges_fractional>=2.8|dot.rip.ticking) #### TODO Enemies Dropdown
  420. if Enemies() >= 2 and { Charges(brutal_slash count=0) >= 2.8 or target.DebuffPresent(rip_debuff) } Spell(brutal_slash)
  421. #pool_resource,for_next=1
  422. #thrash_cat,if=talent.brutal_slash.enabled&spell_targets.thrash_cat>=9
  423. #if Talent(brutal_slash_talent) and Enemies() >= 9 Spell(thrash_cat)
  424. #unless Talent(brutal_slash_talent) and Enemies() >= 9 and SpellUsable(thrash_cat) and SpellCooldown(thrash_cat) < TimeToEnergyFor(thrash_cat)
  425. #{
  426. #call_action_list,name=maintain,if=combo_points<5&(spell_targets.swipe_cat<=5|talent.brutal_slash.enabled)
  427. if ComboPoints() < 5 and { Enemies() <= 5 or Talent(brutal_slash_talent) } FeralMaintainMainActions()
  428. #pool_resource,for_next=1
  429. #thrash_cat,cycle_targets=1,if=remains<=duration*0.3&spell_targets.thrash_cat>=2
  430. if target.DebuffRemaining(thrash_cat_debuff) <= BaseDuration(thrash_cat_debuff) * 0.3 and Enemies() >= 2 Spell(thrash_cat)
  431. 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)
  432. {
  433. #call_action_list,name=generator,if=combo_points<5
  434. if ComboPoints() < 5 FeralGeneratorMainActions()
  435. }
  436. #}
  437. }
  438. }
  439. }
  440.  
  441. AddFunction FeralDefaultShortCdActions
  442. {
  443. unless Spell(cat_form)
  444. {
  445. #wild_charge
  446. FeralGetInMeleeRange()
  447.  
  448. unless BuffPresent(prowl_buff) and Spell(rake)
  449. {
  450. #auto_attack
  451. FeralGetInMeleeRange()
  452. #pool_resource,wait=0.1,for_next=1,extra_amount=50
  453. #elunes_guidance,if=combo_points=0
  454. if ComboPoints() == 0 Spell(elunes_guidance)
  455. unless ComboPoints() == 0 and Talent(elunes_guidance_talent) and SpellUsable(elunes_guidance) and SpellCooldown(elunes_guidance) < TimeToEnergy(50)
  456. {
  457. #call_action_list,name=sabertooth_opener,if=talent.sabertooth.enabled&time<20
  458. if Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) FeralSabertoothOpenerShortCdActions()
  459.  
  460. unless Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) and FeralSabertoothOpenerShortCdPostConditions()
  461. {
  462. #tigers_fury,if=(!buff.clearcasting.react&energy.deficit>=60)|energy.deficit>=80|(t18_class_trinket&buff.berserk.up&buff.tigers_fury.down)
  463. 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)
  464. }
  465. }
  466. }
  467. }
  468. }
  469.  
  470. AddFunction FeralDefaultCdActions
  471. {
  472. #dash,if=!buff.cat_form.up
  473. if not BuffPresent(cat_form) Spell(dash)
  474.  
  475. unless Spell(cat_form) or 0 > 10 and Spell(displacer_beast)
  476. {
  477. #dash,if=movement.distance&buff.displacer_beast.down&buff.wild_charge_movement.down
  478. if 0 and BuffExpires(displacer_beast_buff) and True(wild_charge_movement_down) Spell(dash)
  479.  
  480. unless BuffPresent(prowl_buff) and Spell(rake)
  481. {
  482. #skull_bash
  483. FeralInterruptActions()
  484. #pool_resource,wait=0.1,for_next=1,extra_amount=50
  485. #elunes_guidance,if=combo_points=0
  486. unless ComboPoints() == 0 and Talent(elunes_guidance_talent) and SpellUsable(elunes_guidance) and SpellCooldown(elunes_guidance) < TimeToEnergy(50)
  487. {
  488. #berserk,if=buff.tigers_fury.up
  489. if BuffPresent(tigers_fury_buff) Spell(berserk_cat)
  490. #incarnation,if=cooldown.tigers_fury.remains<gcd
  491. if SpellCooldown(tigers_fury) < GCD() Spell(incarnation_king_of_the_jungle)
  492. #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)
  493. 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()
  494. #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
  495. 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()
  496. #blood_fury,sync=tigers_fury
  497. #berserking,sync=tigers_fury
  498. #arcane_torrent,sync=tigers_fury
  499. 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)
  500. {
  501. Spell(blood_fury_apsp)
  502. Spell(berserking)
  503. Spell(arcane_torrent_energy)
  504. }
  505. unless Talent(sabertooth_talent) and TimeInCombat() < 20 and target.Classification(worldboss) and FeralSabertoothOpenerCdPostConditions()
  506. {
  507. #incarnation,if=energy.time_to_max>1&energy>=35
  508. if TimeToMaxEnergy() > 1 and Energy() >= 35 Spell(incarnation_king_of_the_jungle)
  509. }
  510. }
  511. }
  512. }
  513. }
  514.  
  515. ### actions.finisher
  516.  
  517. AddFunction FeralFinisherMainActions
  518. {
  519. #rip,cycle_targets=1,if=remains<2&target.time_to_die-remains>tick_time*4
  520. if target.DebuffRemaining(rip_debuff) < 2 and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4 Spell(rip)
  521. #rip,cycle_targets=1,if=remains<=8&target.health.pct>25&!talent.sabertooth.enabled&target.time_to_die-remains>tick_time*4
  522. 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)
  523. #rip,if=persistent_multiplier>dot.rip.pmultiplier&target.time_to_die-remains>tick_time*4
  524. if PersistentMultiplier(rip_debuff) > target.DebuffPersistentMultiplier(rip_debuff) and target.TimeToDie() - target.DebuffRemaining(rip_debuff) > target.TickTime(rip_debuff) * 4 Spell(rip)
  525. #savage_roar,if=buff.savage_roar.remains<=7.2
  526. if BuffRemaining(savage_roar_buff) <= 7.2 Spell(savage_roar)
  527. #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)
  528. 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)
  529. }
  530.  
  531. ### actions.generator
  532.  
  533. AddFunction FeralGeneratorMainActions
  534. {
  535. #swipe_cat,if=spell_targets.swipe_cat>=3
  536. if Enemies() >= 3 Spell(swipe_cat)
  537. #shred,if=spell_targets.swipe_cat<3|talent.brutal_slash.enabled
  538. if Enemies() < 3 or Talent(brutal_slash_talent) Spell(shred)
  539. }
  540.  
  541. ### actions.healing_touch
  542.  
  543. AddFunction FeralHealingTouchMainActions
  544. {
  545. #healing_touch,if=combo_points>=5
  546. if ComboPoints() >= 5 Spell(healing_touch)
  547. #healing_touch,if=buff.predatory_swiftness.remains<1.5
  548. if BuffRemaining(predatory_swiftness_buff) < 1.5 Spell(healing_touch)
  549. #healing_touch,if=combo_points>=4&dot.rake.remains<dot.rake.duration*0.3+gcd
  550. if ComboPoints() >= 4 and target.DebuffRemaining(rake_debuff) < target.DebuffDuration(rake_debuff) * 0.3 + GCD() Spell(healing_touch)
  551. }
  552.  
  553. ### actions.maintain
  554.  
  555. AddFunction FeralMaintainMainActions
  556. {
  557. #rake,cycle_targets=1,if=(remains<2|(!talent.bloodtalons.enabled&remains<=duration*0.3))&target.time_to_die-remains>tick_time
  558. 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)
  559. #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
  560. 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)
  561. #rake,if=persistent_multiplier>dot.rake.pmultiplier&target.time_to_die-remains>tick_time
  562. if PersistentMultiplier(rake_debuff) > target.DebuffPersistentMultiplier(rake_debuff) and target.TimeToDie() - target.DebuffRemaining(rake_debuff) > target.TickTime(rake_debuff) Spell(rake)
  563. #moonfire_cat,cycle_targets=1,if=remains<=4.2&target.time_to_die-remains>tick_time*2
  564. 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)
  565. }
  566.  
  567. ### actions.precombat
  568.  
  569. AddFunction FeralPrecombatMainActions
  570. {
  571. #flask,type=flask_of_the_seventh_demon
  572. #food,type=the_hungry_magister
  573. #healing_touch,if=talent.bloodtalons.enabled
  574. if Talent(bloodtalons_talent) and BuffRemaining(bloodtalons_buff) < 20 and BuffExpires(prowl_buff) Spell(healing_touch)
  575. #cat_form
  576. Spell(cat_form)
  577. #prowl
  578. Spell(prowl)
  579. #savage_roar
  580. Spell(savage_roar)
  581. }
  582.  
  583. AddFunction FeralPrecombatShortCdActions
  584. {
  585. #unless Talent(bloodtalons_talent) and Spell(healing_touch) or Spell(cat_form) or Spell(prowl)
  586. #{
  587. #elunes_guidance,if=talent.savage_roar.enabled
  588. if Talent(savage_roar_talent) Spell(elunes_guidance)
  589. #}
  590. }
  591.  
  592. AddFunction FeralPrecombatShortCdPostConditions
  593. {
  594. Talent(bloodtalons_talent) and Spell(healing_touch) or Spell(cat_form) or Spell(prowl) or Spell(savage_roar)
  595. }
  596.  
  597. AddFunction FeralPrecombatCdActions
  598. {
  599. unless Talent(bloodtalons_talent) and Spell(healing_touch) or Spell(cat_form) or Spell(prowl)
  600. {
  601. #snapshot_stats
  602. #potion,name=draenic_agility
  603. FeralUsePotionAgility()
  604. }
  605. }
  606.  
  607. AddFunction FeralPrecombatCdPostConditions
  608. {
  609. 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)
  610. }
  611.  
  612. ### actions.sabertooth_opener
  613.  
  614. AddFunction FeralSabertoothOpenerMainActions
  615. {
  616. #healing_touch,if=talent.bloodtalons.enabled&combo_points=5&!buff.bloodtalons.up&!dot.rip.ticking
  617. if Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) Spell(healing_touch)
  618. }
  619.  
  620. AddFunction FeralSabertoothOpenerShortCdActions
  621. {
  622. unless Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) and Spell(healing_touch)
  623. {
  624. #tigers_fury,if=!dot.rip.ticking&combo_points=5
  625. if not target.DebuffPresent(rip_debuff) and ComboPoints() == 5 Spell(tigers_fury)
  626. }
  627. }
  628.  
  629. AddFunction FeralSabertoothOpenerShortCdPostConditions
  630. {
  631. Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) and Spell(healing_touch)
  632. }
  633.  
  634. AddFunction FeralSabertoothOpenerCdPostConditions
  635. {
  636. Talent(bloodtalons_talent) and ComboPoints() == 5 and not BuffPresent(bloodtalons_buff) and not target.DebuffPresent(rip_debuff) and Spell(healing_touch)
  637. }
  638.  
  639. ### Feral icons.
  640.  
  641. AddCheckBox(opt_druid_feral_aoe L(AOE) default specialization=feral)
  642.  
  643. AddIcon checkbox=!opt_druid_feral_aoe enemies=1 help=shortcd specialization=feral
  644. {
  645. if not InCombat() FeralPrecombatShortCdActions()
  646. unless not InCombat() and FeralPrecombatShortCdPostConditions()
  647. {
  648. FeralDefaultShortCdActions()
  649. }
  650. }
  651.  
  652. AddIcon checkbox=opt_druid_feral_aoe help=shortcd specialization=feral
  653. {
  654. if not InCombat() FeralPrecombatShortCdActions()
  655. unless not InCombat() and FeralPrecombatShortCdPostConditions()
  656. {
  657. FeralDefaultShortCdActions()
  658. }
  659. }
  660.  
  661. AddIcon enemies=1 help=main specialization=feral
  662. {
  663. if not InCombat() FeralPrecombatMainActions()
  664. FeralDefaultMainActions()
  665. }
  666.  
  667. AddIcon checkbox=opt_druid_feral_aoe help=aoe specialization=feral
  668. {
  669. if not InCombat() FeralPrecombatMainActions()
  670. FeralDefaultMainActions()
  671. }
  672.  
  673. AddIcon checkbox=!opt_druid_feral_aoe enemies=1 help=cd specialization=feral
  674. {
  675. if not InCombat() FeralPrecombatCdActions()
  676. unless not InCombat() and FeralPrecombatCdPostConditions()
  677. {
  678. FeralDefaultCdActions()
  679. }
  680. }
  681.  
  682. AddIcon checkbox=opt_druid_feral_aoe help=cd specialization=feral
  683. {
  684. if not InCombat() FeralPrecombatCdActions()
  685. unless not InCombat() and FeralPrecombatCdPostConditions()
  686. {
  687. FeralDefaultCdActions()
  688. }
  689. }
  690.  
  691. ### Required symbols
  692. # arcane_torrent_energy
  693. # berserk_cat
  694. # berserk_cat_buff
  695. # berserking
  696. # blood_fury_apsp
  697. # bloodtalons_buff
  698. # bloodtalons_talent
  699. # brutal_slash
  700. # brutal_slash_talent
  701. # cat_form
  702. # cat_form_buff
  703. # clearcasting_buff
  704. # dash
  705. # displacer_beast
  706. # displacer_beast_buff
  707. # draenic_agility_potion
  708. # elunes_guidance
  709. # elunes_guidance_buff
  710. # ferocious_bite
  711. # healing_touch
  712. # incarnation_king_of_the_jungle
  713. # incarnation_king_of_the_jungle_buff
  714. # maim
  715. # mangle
  716. # mighty_bash
  717. # moment_of_clarity_talent
  718. # moonfire_cat
  719. # moonfire_cat_debuff
  720. # predatory_swiftness_buff
  721. # prowl
  722. # prowl_buff
  723. # rake
  724. # rake_debuff
  725. # rip
  726. # rip_debuff
  727. # sabertooth_talent
  728. # savage_roar
  729. # savage_roar_buff
  730. # savage_roar_talent
  731. # shred
  732. # skull_bash
  733. # soul_of_the_forest_talent
  734. # swipe_cat
  735. # t18_class_trinket
  736. # thrash_cat
  737. # thrash_cat_debuff
  738. # tigers_fury
  739. # tigers_fury_buff
  740. # typhoon
  741. # war_stomp
  742. # wild_charge
  743. # wild_charge_bear
  744. # wild_charge_cat
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement