aggixx

Untitled

Sep 4th, 2012
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.49 KB | None | 0 0
  1. # Ovale Optimized Script Leafkiller 5.4
  2. # Ovale source: http://wow.curse.com/downloads/wow-addons/details/ovale.aspx
  3. # Cat Rotation based on Simulationcraft single target default script. Contributions to that have come from many ferals.
  4. # Revision History
  5. # 5.4.15 09/03/2012 Make sure Rake is refreshed when it is being held off by Shreds
  6. # 5.4.14 09/03/2012 Fix ripshred counter by recognizing Shred!
  7. # 5.4.13 09/03/2012 Auto-detect glyph of shred for ExtendRip when in front.
  8. # 5.4.12 09/02/2012 Use Rake for fillers
  9. # 5.4.11 08/31/2012 Track Wild Charge for cats in upper left box.
  10. # 5.4.10 08/31/2012 Remove all TargetDeadIn calls for now.
  11. # 5.4.9 08/30/2012 Added Bear AOE rotation check box
  12. # 5.4.8 08/30/2012 Make bear cooldown buttons hideable
  13. # 5.4.7 08/30/2012 Enrage moved to second icon, track Incarnation, make the second small box track all of the tier 2 spells and track tier 4 spells
  14. # 5.4.6 08/29/2012 Add Savage Roar desync code
  15. # 5.4.5 08/29/2012 Remove cower, incorporate Tinderhoof's bear rotation.
  16. # 5.4.4 08/29/2012 Change TF code to take into account the new T13 4 piece bonus. Try to give Rake more leeway.
  17. # Add opportunistic FF after fillers.
  18. # 5.4.3 08/28/2012 Misc small changes to make it more robust per discussion with Tinderhoof
  19. # 5.4.2 08/28/2012 Rudimentary Bear stuff - I need someway to track Mangle...
  20. # 5.4.1 08/27/2012 First version for patch 5.4 - leaving out Guardian and Feral/Bear for the moment
  21. # Assume Glyph of Rake and Glyph of Shred
  22. # TargetDeadIn seems to be having issues - so removing the calls for now. Won't affect most combat
  23.  
  24. Define(BERSERK 106951) #cat+bear cd buff
  25. Define(FAERIEFERAL 770) #bear+cat
  26. Define(FEROCIOUSBITE 22568) #cat finish 35-70 mana
  27. Define(MAIM 22570) #cat interrupt
  28. Define(MANGLECAT 33876) #cat bleed+debuff
  29. SpellInfo(MANGLECAT inccounter=ripshreds)
  30. Define(RAKE 1822) #cat bleed
  31. Define(RIP 1079) #cat bleed
  32. SpellInfo(RIP resetcounter=ripshreds)
  33. Define(SAVAGEROAR 127538) #cat damage buff
  34. Define(SHRED 5221) #cat behind
  35. SpellInfo(SHRED inccounter=ripshreds)
  36. Define(SHREDBANG 114236)
  37. SpellInfo(SHREDBANG inccounter=ripshreds)
  38. Define(SKULLBASHCAT 80965) #cat interrupt
  39. Define(TIGERSFURY 5217) #cat buff
  40. Define(WILDCHARGE 49376)
  41.  
  42. Define(BERSERKBEAR 106952) #cat+bear cd buff
  43. SpellInfo(BERSERKBEAR duration=10 cd=180 )
  44. SpellAddBuff(BERSERKBEAR BERSERKBEAR=1)
  45. Define(MANGLEBEAR 33878)
  46. Define(LACERATE 33745)
  47. Define(FRENZIEDREGEN 22842)
  48. Define(INCARNATIONBEAR 102558)
  49. Define(MAUL 6807)
  50. Define(MIGHTOFURSOC 106922)
  51. Define(RENEWAL 108238)
  52. Define(NATURESSWIFTNESS 132158)
  53. Define(CENARIONWARD 102351)
  54. Define(FORCEOFNATURE 106737)
  55. Define(SAVAGEDEFENSE 62606)
  56. Define(SURVIVALINSTINCTS 61336)
  57. Define(SWIPEBEAR 779)
  58. Define(THRASHBEAR 77758)
  59. Define(BARKSKIN 22812)
  60. Define(ENRAGE 5229)
  61.  
  62. Define(cat_form 768)
  63. SpellAddBuff(cat_form cat_form=1)
  64. Define(mark_of_the_wild 1126)
  65. SpellInfo(mark_of_the_wild duration=3600 )
  66. SpellAddBuff(mark_of_the_wild mark_of_the_wild=1)
  67. Define(ravage 6785)
  68. SpellInfo(ravage energy=45 combo=1 )
  69. SpellInfo(ravage inccounter=ripshreds)
  70. Define(incarnation 102543)
  71. SpellInfo(incarnation duration=30 cd=180 )
  72. Define(treants 106737)
  73. SpellInfo(treants duration=15 cd=60 )
  74. Define(weakened_armor 113746)
  75. SpellInfo(weakened_armor duration=30 )
  76. SpellAddBuff(weakened_armor weakened_armor=1)
  77. Define(weakened_blows 115798)
  78. SpellInfo(weakened_blows duration=30 )
  79. SpellAddBuff(weakened_blows weakened_blows=1)
  80. Define(dream_of_cenarius_talent 17)
  81. Define(force_of_nature_talent 12)
  82. Define(incarnation_talent 11)
  83. Define(natures_swiftness_talent 4)
  84. Define(renewal_talent 5)
  85. Define(cenarion_ward_talent 6)
  86. Define(natures_vigil_talent 18)
  87.  
  88. #Buff
  89. Define(CLEARCASTING 16870)
  90.  
  91. #Glyphs
  92. Define(GLYPHOFSHRED 114234)
  93.  
  94. AddCheckBox(berserk "Cat Berserk" default mastery=2)
  95. AddCheckBox(cooldownsL "Show Left Rotation Boxes" default)
  96. AddCheckBox(cooldownsR "Show Right Cooldown Boxes" default)
  97. AddCheckBox(lucioles SpellName(FAERIEFERAL) mastery=2)
  98. AddCheckBox(infront "Frontal attack" mastery=2)
  99. AddCheckBox(bearaoe "Bear AOE Rotaton" mastery=3)
  100.  
  101.  
  102. AddIcon help=cd size=small mastery=3 {
  103. if CheckBoxOn(cooldownsL) {
  104. Spell(BARKSKIN)
  105. }
  106. }
  107.  
  108. AddIcon help=cd size=small mastery=3 {
  109. if CheckBoxOn(cooldownsL) {
  110. if TalentPoints(natures_swiftness_talent) Spell(NATURESSWIFTNESS)
  111. if TalentPoints(renewal_talent) Spell(RENEWAL)
  112. if TalentPoints(cenarion_ward_talent) Spell(CENARIONWARD)
  113. }
  114. }
  115.  
  116. # Main rotation
  117. AddIcon help=main mastery=3 {
  118. if CheckBoxOff(bearaoe) {
  119. if 1s before Spell(MANGLEBEAR) Spell(MANGLEBEAR)
  120.  
  121. if not TargetDebuffPresent(weakened_blows) Spell(THRASHBEAR)
  122. if target.DebuffStacks(weakened_armor) <1 Spell(FAERIEFERAL)
  123. if TargetDebuffPresent(THRASHBEAR) <4 Spell(THRASHBEAR)
  124.  
  125. Spell(LACERATE)
  126. Spell(FAERIEFERAL)
  127. }
  128.  
  129. if CheckBoxOn(bearaoe) {
  130. if 1s before Spell(MANGLEBEAR) Spell(MANGLEBEAR)
  131. Spell(THRASHBEAR)
  132. Spell(SWIPEBEAR)
  133. }
  134. }
  135.  
  136. AddIcon help=defense mastery=3 {
  137. if Rage(less 11) Spell(ENRAGE useable=1)
  138. Spell(SAVAGEDEFENSE usable=1)
  139. Spell(FRENZIEDREGEN)
  140. }
  141.  
  142. AddIcon help=cd size=small mastery=3 {
  143. if CheckBoxOn(cooldownsR) {
  144. Spell(SURVIVALINSTINCTS)
  145. }
  146. }
  147.  
  148. AddIcon help=cd size=small mastery=3 {
  149. if CheckBoxOn(cooldownsR) {
  150. Spell(MIGHTOFURSOC)
  151. }
  152. }
  153.  
  154. AddIcon help=cd size=small mastery=3 {
  155. if CheckBoxOn(cooldownsR) {
  156. if TalentPoints(incarnation_talent) Spell(INCARNATIONBEAR)
  157. if TalentPoints(force_of_nature_talent) Spell(FORCEOFNATURE)
  158. }
  159. }
  160.  
  161. AddIcon help=cd size=small mastery=3 {
  162. if CheckBoxOn(cooldownsR) {
  163. Spell(BERSERKBEAR)
  164. }
  165. }
  166.  
  167. AddFunction ExtendRip
  168. {
  169. if TalentPoints(incarnation_talent) Spell(ravage usable=1)
  170. if CheckBoxOn(infront) {
  171. if Glyph(GLYPHOFSHRED) and {BuffPresent(TIGERSFURY) or BuffPresent(BERSERK)} Spell(SHRED)
  172. Spell(MANGLECAT)
  173. }
  174. Spell(SHRED)
  175. }
  176.  
  177. AddFunction AddCombo
  178. {
  179. if TargetDebuffExpires(RAKE 2.9 mine=1) Spell(RAKE)
  180. # try to extend Rip with Shred if overwriting Rake replaces a higher energy Rake
  181. if LastSpellDamageMultiplier(RAKE) >DamageMultiplier(RAKE) and Counter(ripshreds less 3)
  182. unless BITWRange() ExtendRip()
  183. Spell(RAKE)
  184. }
  185.  
  186. AddFunction BITWRange
  187. {
  188. {ArmorSetParts(T13 more 1) and TargetLifePercent(less 60)} or TargetLifePercent(less 25)
  189. }
  190.  
  191. AddIcon help=cd size=small mastery=2 { # TF Icon or Barkskin for Bear
  192. if CheckBoxOn(cooldownsL) {
  193. if TargetIsInterruptible(yes) {
  194. Spell(SKULLBASHCAT)
  195. if ComboPoints(more 1)
  196. Spell(MAIM)
  197. }
  198. Spell(WILDCHARGE)
  199. }
  200. }
  201. AddIcon help=cd size=small mastery=2 { # Berserk Icon
  202. if CheckBoxOn(cooldownsL) {
  203. if BuffPresent(TIGERSFURY) Spell(BERSERK)
  204. if 0s before Spell(BERSERK) Texture(Ability_mount_polarbear_white)
  205. }
  206. }
  207. # Main rotation
  208. AddIcon help=main mastery=2 {
  209. # Savage Roar
  210. if BuffRemains(SAVAGEROAR) <=1 or {ComboPoints(more 0) and BuffExpires(SAVAGEROAR 3)} {
  211. Spell(SAVAGEROAR)
  212. }
  213.  
  214. # TF + Berserk logic - only show Berserk if both are off of cooldown - everyone should macro TF to their Berserk key
  215. if not {BuffPresent(BERSERK) or BuffPresent(CLEARCASTING)} {
  216. if Energy(less 36) and {0s before Spell(TIGERSFURY)} {
  217. if CheckBoxOn(berserk) Spell(BERSERK)
  218. Spell(TIGERSFURY)
  219. }
  220. }
  221.  
  222. #In case Berserk was not cast with TF
  223. if BuffPresent(TIGERSFURY) and CheckBoxOn(berserk) {
  224. Spell(BERSERK)
  225. }
  226.  
  227. if not TargetInRange(SHRED) {
  228. Texture(ability_druid_catformattack)
  229. }
  230.  
  231. if CheckBoxOn(lucioles) and target.DebuffStacks(weakened_armor) <1 {
  232. Spell(FAERIEFERAL)
  233. }
  234.  
  235. # Two conditions for FB during Blood of the Water phase
  236. # Add in FB code for end of fight - only do this is Rip buff is present
  237. if BITWRange() and TargetDebuffPresent(RIP mine=1) {
  238. if ComboPoints(more 4) Spell(FEROCIOUSBITE)
  239. if ComboPoints(more 0) and TargetDebuffExpires(RIP 2.9 mine=1) Spell(FEROCIOUSBITE)
  240. }
  241.  
  242. # Time to recast Rip - clip if possible - try to hold off for TF
  243. if ComboPoints() >=5 and TargetDebuffExpires(RIP 2 mine=1) and {BuffPresent(BERSERK) or target.DebuffRemains(RIP mine=1)+1.9 <=SpellCooldown(TIGERSFURY) }
  244. Spell(RIP)
  245.  
  246. #Extends Rip with shred/mangle/ravage
  247. if TargetDebuffPresent(RIP mine=1) and TargetDebuffExpires(RIP 5 mine=1) and ComboPoints() <5 and Counter(ripshreds less 3)
  248. unless BITWRange() ExtendRip()
  249.  
  250. # FBs during Berserk
  251. if BuffPresent(BERSERK) {
  252. if ComboPoints(more 4) and Energy(more 12) and TargetDebuffPresent(RIP 5 mine=1) and BuffPresent(SAVAGEROAR 3) {
  253. Spell(FEROCIOUSBITE)
  254. }
  255. }
  256.  
  257. # intentionally clip Rake to maximize uptime
  258. if TargetDebuffExpires(RAKE 2.9 mine=1) Spell(RAKE)
  259.  
  260. if ComboPoints() >=5 and BuffRemains(SAVAGEROAR) <={target.DebuffRemains(RIP)}
  261. Spell(SAVAGEROAR)
  262.  
  263. if BuffPresent(CLEARCASTING) AddCombo()
  264.  
  265. if ComboPoints(more 4) and target.DebuffRemains(RIP mine=1) >=6 Spell(FEROCIOUSBITE)
  266.  
  267. # Shred aggressively for Berserk and TF
  268. if BuffPresent(BERSERK) or BuffPresent(TIGERSFURY) AddCombo()
  269.  
  270. # Shred for combo points for Rip or SR
  271. if ComboPoints(less 5) and TargetDebuffExpires(RIP 3 mine=1) AddCombo()
  272. if ComboPoints(less 1) and BuffExpires(SAVAGEROAR 2) AddCombo()
  273.  
  274. # Shred to burn off energy so we can TF without capping
  275. if { 4s before Spell(TIGERSFURY) } AddCombo()
  276.  
  277. # Fallback Shred to prevent energy capping
  278. if 1.4s before Energy(more 99) AddCombo()
  279.  
  280. # opportunistic FF
  281. if TargetDebuffExpires(weakened_armor 15) and CheckBoxOn(lucioles) Spell(FAERIEFERAL)
  282. }
  283.  
  284.  
  285. AddIcon help=cd size=small mastery=2 { # Rake/Manglebear Icon
  286. if CheckBoxOn(cooldownsR) {
  287. if BuffExpires(SAVAGEROAR 0) Spell(SAVAGEROAR)
  288. }
  289. }
  290. AddIcon help=cd size=small mastery=2 { # Rip/Swipebear Icon
  291. if CheckBoxOn(cooldownsR) {
  292. if TargetDebuffExpires(RIP 0 mine=1) Spell(RIP)
  293. }
  294. }
  295. AddIcon help=cd size=small mastery=2 { # Rake/Manglebear Icon
  296. if CheckBoxOn(cooldownsR) {
  297. if TargetDebuffExpires(RAKE 0 mine=1) Spell(RAKE)
  298. }
  299. }
  300. AddIcon help=cd size=small mastery=2 { # Rip/Swipebear Icon
  301. if CheckBoxOn(cooldownsR) {
  302. Spell(TIGERSFURY)
  303. }
  304. }
Advertisement
Add Comment
Please, Sign In to add comment