Muttonman

Elemental Shaman WLR APL 20210305

Jan 30th, 2021 (edited)
1,206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 15.37 KB | None | 0 0
  1. # Executed before combat begins. Accepts non-harmful actions only.
  2. actions.precombat="flask"
  3. actions.precombat+="/food"
  4. actions.precombat+="/augmentation"
  5. actions.precombat+="/earth_elemental,if=!talent.primal_elementalist.enabled"
  6. # Use Stormkeeper precombat unless some adds will spawn soon.
  7. actions.precombat+="/stormkeeper,if=talent.stormkeeper.enabled&(raid_event.adds.count<3|raid_event.adds.in>50)"
  8. # Precasts Fire Elemental -> Elemental Blast
  9. actions.precombat+="/fire_elemental"
  10. actions.precombat+="/elemental_blast,if=talent.elemental_blast.enabled"
  11. actions.precombat+="/lava_burst,if=!talent.elemental_blast.enabled"
  12. # Snapshot raid buffed stats before combat begins and pre-potting is done.
  13. actions.precombat+="/snapshot_stats"
  14. actions.precombat+="/potion"
  15.  
  16. # Executed every time the actor is available.
  17. actions="spiritwalkers_grace,moving=1,if=movement.distance>6"
  18. # Interrupt of casts.
  19. actions+="/wind_shear"
  20. actions+="/potion"
  21. actions+="/use_items"
  22. actions+="/primordial_wave,target_if=min:dot.flame_shock.remains,cycle_targets=1,if=!buff.primordial_wave.up"
  23. actions+="/flame_shock,if=!ticking"
  24. actions+="/fire_elemental"
  25. actions+="/storm_elemental"
  26. actions+="/blood_fury,if=!talent.ascendance.enabled|buff.ascendance.up|cooldown.ascendance.remains>50"
  27. actions+="/berserking,if=!talent.ascendance.enabled|buff.ascendance.up"
  28. actions+="/fireblood,if=!talent.ascendance.enabled|buff.ascendance.up|cooldown.ascendance.remains>50"
  29. actions+="/ancestral_call,if=!talent.ascendance.enabled|buff.ascendance.up|cooldown.ascendance.remains>50"
  30. actions+="/bag_of_tricks,if=!talent.ascendance.enabled|!buff.ascendance.up"
  31. actions+="/vesper_totem,if=covenant.kyrian"
  32. actions+="/fae_transfusion,if=covenant.night_fae&(!talent.master_of_the_elements.enabled|buff.master_of_the_elements.up)"
  33. actions+="/run_action_list,name=aoe,if=active_enemies>2&(spell_targets.chain_lightning>2|spell_targets.lava_beam>2)"
  34. actions+="/run_action_list,name=wlr_single_target,if=!talent.storm_elemental.enabled&active_enemies<=2&runeforge.windspeakers_lava_resurgence.equipped"
  35. actions+="/run_action_list,name=single_target,if=!talent.storm_elemental.enabled&active_enemies<=2"
  36. actions+="/run_action_list,name=se_single_target,if=talent.storm_elemental.enabled&active_enemies<=2"
  37.  
  38. # 3+ Enemy
  39. actions.aoe="earthquake,if=buff.echoing_shock.up"
  40. actions.aoe+="/chain_harvest"
  41. actions.aoe+="/stormkeeper,if=talent.stormkeeper.enabled"
  42. actions.aoe+="/flame_shock,if=active_dot.flame_shock<3&active_enemies<=5|runeforge.skybreakers_fiery_demise.equipped,target_if=refreshable"
  43. actions.aoe+="/flame_shock,if=!active_dot.flame_shock"
  44. actions.aoe+="/echoing_shock,if=talent.echoing_shock.enabled&maelstrom>=60"
  45. actions.aoe+="/ascendance,if=talent.ascendance.enabled&(!pet.storm_elemental.active)&(!talent.icefury.enabled|!buff.icefury.up&!cooldown.icefury.up)"
  46. actions.aoe+="/liquid_magma_totem,if=talent.liquid_magma_totem.enabled"
  47. actions.aoe+="/earth_shock,if=runeforge.echoes_of_great_sundering.equipped&!buff.echoes_of_great_sundering.up"
  48. actions.aoe+="/earth_elemental,if=runeforge.deeptremor_stone.equipped&(!talent.primal_elementalist.enabled|(!pet.storm_elemental.active&!pet.fire_elemental.active))"
  49. actions.aoe+="/lava_burst,target_if=dot.flame_shock.remains,if=spell_targets.chain_lightning<4|buff.lava_surge.up|(talent.master_of_the_elements.enabled&!buff.master_of_the_elements.up&maelstrom>=60)"
  50. # Try to game Earthquake with Master of the Elements buff when fighting 3 targets. Don't overcap Maelstrom!
  51. actions.aoe+="/earthquake,if=!talent.master_of_the_elements.enabled|buff.stormkeeper.up|maelstrom>=(100-4*spell_targets.chain_lightning)|buff.master_of_the_elements.up|spell_targets.chain_lightning>3"
  52. # Make sure you don't lose a Stormkeeper buff.
  53. actions.aoe+="/chain_lightning,if=buff.stormkeeper.remains<3*gcd*buff.stormkeeper.stack"
  54. # Only cast Lava Burst on three targets if it is an instant and Storm Elemental is NOT active.
  55. actions.aoe+="/lava_burst,if=buff.lava_surge.up&spell_targets.chain_lightning<4&(!pet.storm_elemental.active)&dot.flame_shock.ticking"
  56. # Use Elemental Blast against up to 3 targets as long as Storm Elemental is not active.
  57. actions.aoe+="/elemental_blast,if=talent.elemental_blast.enabled&spell_targets.chain_lightning<5&(!pet.storm_elemental.active)"
  58. actions.aoe+="/lava_beam,if=talent.ascendance.enabled"
  59. actions.aoe+="/chain_lightning"
  60. actions.aoe+="/lava_burst,moving=1,if=buff.lava_surge.up&cooldown_react"
  61. actions.aoe+="/flame_shock,moving=1,target_if=refreshable"
  62. actions.aoe+="/frost_shock,moving=1"
  63.  
  64.  
  65. # Storm Elemental Single Target
  66. actions.se_single_target="flame_shock,target_if=(remains<=gcd)&(buff.lava_surge.up|!buff.bloodlust.up)"
  67. actions.se_single_target+="/elemental_blast,if=talent.elemental_blast.enabled"
  68. actions.se_single_target+="/stormkeeper,if=talent.stormkeeper.enabled&(maelstrom<44)"
  69. actions.se_single_target+="/echoing_shock,if=talent.echoing_shock.enabled"
  70. actions.se_single_target+="/lava_burst,if=buff.wind_gust.stack<18|buff.lava_surge.up"
  71. actions.se_single_target+="/lightning_bolt,if=buff.stormkeeper.up"
  72. actions.se_single_target+="/earthquake,if=buff.echoes_of_great_sundering.up"
  73. actions.se_single_target+="/earthquake,if=(spell_targets.chain_lightning>1)&(!dot.flame_shock.refreshable)"
  74. actions.se_single_target+="/earth_shock,if=spell_targets.chain_lightning<2&maelstrom>=60&(buff.wind_gust.stack<20|maelstrom>90)|(runeforge.echoes_of_great_sundering.equipped&!buff.echoes_of_great_sundering.up)"
  75. actions.se_single_target+="/lightning_bolt,if=(buff.stormkeeper.remains<1.1*gcd*buff.stormkeeper.stack|buff.stormkeeper.up&buff.master_of_the_elements.up)"
  76. actions.se_single_target+="/frost_shock,if=talent.icefury.enabled&talent.master_of_the_elements.enabled&buff.icefury.up&buff.master_of_the_elements.up"
  77. actions.se_single_target+="/lava_burst,if=buff.ascendance.up"
  78. actions.se_single_target+="/lava_burst,if=cooldown_react&!talent.master_of_the_elements.enabled"
  79. actions.se_single_target+="/icefury,if=talent.icefury.enabled&!(maelstrom>75&cooldown.lava_burst.remains<=0)"
  80. actions.se_single_target+="/lava_burst,if=cooldown_react&charges>talent.echo_of_the_elements.enabled"
  81. actions.se_single_target+="/frost_shock,if=talent.icefury.enabled&buff.icefury.up"
  82. actions.se_single_target+="/chain_harvest"
  83. actions.se_single_target+="/static_discharge,if=talent.static_discharge.enabled"
  84. actions.se_single_target+="/earth_elemental,if=!talent.primal_elementalist.enabled|talent.primal_elementalist.enabled&(!pet.storm_elemental.active)"
  85. actions.se_single_target+="/lightning_bolt"
  86. actions.se_single_target+="/flame_shock,moving=1,target_if=refreshable"
  87. actions.se_single_target+="/flame_shock,moving=1,if=movement.distance>6"
  88. actions.se_single_target+="/frost_shock,moving=1"
  89.  
  90. # 1-2 Target with Windspeaker's Lava Resurgence
  91.  
  92. # Get Flameshock ticking if it is not up
  93. actions.wlr_single_target="flame_shock,target_if=(!ticking|dot.flame_shock.remains<=gcd|talent.ascendance.enabled&dot.flame_shock.remains<(cooldown.ascendance.remains+buff.ascendance.duration)&cooldown.ascendance.remains<4)&(buff.lava_surge.up|!buff.bloodlust.up)"
  94. # Cast Ascendence on cooldown
  95. actions.wlr_single_target+="/ascendance,if=talent.ascendance.enabled&(time>=60|buff.bloodlust.up)&(cooldown.lava_burst.remains>0)&(!talent.icefury.enabled|!buff.icefury.up&!cooldown.icefury.up)"
  96. # Cast Lava Burst on Lava Surge
  97. actions.wlr_single_target+="/lava_burst,if=buff.lava_surge.up"
  98. # Cast Elemental Blast on cooldown if you won't overcap
  99. actions.wlr_single_target+="/elemental_blast,if=talent.elemental_blast.enabled&(!runeforge.windspeakers_lava_resurgence.equipped|maelstrom<70)"
  100. # Cast Stormkeeper on cooldown
  101. actions.wlr_single_target+="/stormkeeper,if=talent.stormkeeper.enabled&(raid_event.adds.count<3|raid_event.adds.in>50)&(maelstrom<44)"
  102. # Cast Echoing Shock on cooldown if you have a charge of Lava Burst or one is about to come off of cooldown
  103. actions.wlr_single_target+="/echoing_shock,if=talent.echoing_shock.enabled&cooldown.lava_burst.remains<=gcd"
  104. # Cast Lava Burst if you just cast Echoing Shock
  105. actions.wlr_single_target+="/lava_burst,if=talent.echoing_shock.enabled&buff.echoing_shock.up"
  106. # Cast Liquid Magma Totem on cooldown
  107. actions.wlr_single_target+="/liquid_magma_totem,if=talent.liquid_magma_totem.enabled"
  108. # Cast Lightning Bolt with Stormkeeper charges and Master of the Elements
  109. actions.wlr_single_target+="/lightning_bolt,if=buff.stormkeeper.up&spell_targets.chain_lightning<2&(buff.master_of_the_elements.up)"
  110. # Cast Lightning Bolt in order to not waste Stormkeeper stacks
  111. actions.wlr_single_target+="/lightning_bolt,if=(buff.stormkeeper.remains<1.1*gcd*buff.stormkeeper.stack)"
  112. # Cast Frost Shock in order to not waste Icefury stacks
  113. actions.wlr_single_target+="/frost_shock,if=talent.icefury.enabled&buff.icefury.up&buff.icefury.remains<1.1*gcd*buff.icefury.stack"
  114. # Cast Lava Surge Lava Burst
  115. actions.wlr_single_target+="/lava_burst,if=cooldown_react&(!buff.master_of_the_elements.up&buff.icefury.up)"
  116. # Empty Lava Burst Charges before Earth Shock
  117. actions.wlr_single_target+="/lava_burst,if=cooldown_react&charges>talent.echo_of_the_elements.enabled&!buff.icefury.up"
  118. # Cast Earth Shock with either Master of the Elements or to avoid capping Maelstrom or to avoid wasting a Master of the Elements buff that could go on a Stormkeeper or just at 60 without Master of the Elements or Elemental Blast is 2 GCDs away
  119. actions.wlr_single_target+="/earth_shock,if=talent.master_of_the_elements.enabled&(buff.master_of_the_elements.up|cooldown.lava_burst.remains>0&maelstrom>=92|spell_targets.chain_lightning<2&buff.stormkeeper.up&cooldown.lava_burst.remains<=gcd)|!talent.master_of_the_elements.enabled|cooldown.elemental_blast.remains<=1.1*gcd*2"
  120. # Cast Frost Shock under Icefury and Master of the Elements buffs
  121. actions.wlr_single_target+="/frost_shock,if=talent.icefury.enabled&talent.master_of_the_elements.enabled&buff.icefury.up&buff.master_of_the_elements.up"
  122. # Cast Lava Burst under Ascendence
  123. actions.wlr_single_target+="/lava_burst,if=buff.ascendance.up"
  124. # Cast Lava Surge Lava Burst without Master of the Elements
  125. actions.wlr_single_target+="/lava_burst,if=cooldown_react&!talent.master_of_the_elements.enabled"
  126. # Cast Icefury on cooldown when it won't overcap and you have no more Lava Bursts
  127. actions.wlr_single_target+="/icefury,if=talent.icefury.enabled&!(maelstrom>75&cooldown.lava_burst.remains<=0)"
  128. # Cast Frost Shock with Icefury buff
  129. actions.wlr_single_target+="/frost_shock,if=talent.icefury.enabled&buff.icefury.up&(buff.icefury.remains<gcd*4*buff.icefury.stack|buff.stormkeeper.up|!talent.master_of_the_elements.enabled)"
  130. # Cast Lava Burst
  131. actions.wlr_single_target+="/lava_burst"
  132. # Cast Flameshock in pandemic range
  133. actions.wlr_single_target+="/flame_shock,target_if=refreshable"
  134. # Cast Frost Shock to trigger Elemental Equilibrium
  135. actions.wlr_single_target+="/frost_shock,if=runeforge.elemental_equilibrium.equipped&!buff.elemental_equilibrium_debuff.up&!talent.elemental_blast.enabled&!talent.echoing_shock.enabled"
  136. # Cast Chain Harvest on cooldown
  137. actions.wlr_single_target+="/chain_harvest"
  138. # Cast Static Discharge on cooldown
  139. actions.wlr_single_target+="/static_discharge,if=talent.static_discharge.enabled"
  140. # Cast Earth Elemental
  141. actions.wlr_single_target+="/earth_elemental,if=!talent.primal_elementalist.enabled|!pet.fire_elemental.active"
  142. # Cast Lightning Bolt
  143. actions.wlr_single_target+="/lightning_bolt"
  144. # Cast Flameshock in pandemic range if you need to move
  145. actions.wlr_single_target+="/flame_shock,moving=1,target_if=refreshable"
  146. # Cast Flameshock on longer movement
  147. actions.wlr_single_target+="/flame_shock,moving=1,if=movement.distance>6"
  148. # Cast Frost Shock on movement
  149. actions.wlr_single_target+="/frost_shock,moving=1"
  150.  
  151. # 1-2 Target Without Windspeaker's Lava Resurgence
  152. actions.single_target="flame_shock,target_if=(!ticking|dot.flame_shock.remains<=gcd|talent.ascendance.enabled&dot.flame_shock.remains<(cooldown.ascendance.remains+buff.ascendance.duration)&cooldown.ascendance.remains<4)&(buff.lava_surge.up|!buff.bloodlust.up)"
  153. actions.single_target+="/ascendance,if=talent.ascendance.enabled&(time>=60|buff.bloodlust.up)&(cooldown.lava_burst.remains>0)&(!talent.icefury.enabled|!buff.icefury.up&!cooldown.icefury.up)"
  154. actions.single_target+="/elemental_blast,if=talent.elemental_blast.enabled&(talent.master_of_the_elements.enabled&(buff.master_of_the_elements.up&maelstrom<60|!buff.master_of_the_elements.up)|!talent.master_of_the_elements.enabled)"
  155. actions.single_target+="/stormkeeper,if=talent.stormkeeper.enabled&(raid_event.adds.count<3|raid_event.adds.in>50)&(maelstrom<44)"
  156. actions.single_target+="/echoing_shock,if=talent.echoing_shock.enabled&cooldown.lava_burst.remains<=0"
  157. actions.single_target+="/lava_burst,if=talent.echoing_shock.enabled&buff.echoing_shock.up"
  158. actions.single_target+="/liquid_magma_totem,if=talent.liquid_magma_totem.enabled"
  159. actions.single_target+="/lightning_bolt,if=buff.stormkeeper.up&spell_targets.chain_lightning<2&(buff.master_of_the_elements.up)"
  160. actions.single_target+="/earthquake,if=buff.echoes_of_great_sundering.up&(!talent.master_of_the_elements.enabled|buff.master_of_the_elements.up)"
  161. actions.single_target+="/earthquake,if=spell_targets.chain_lightning>1&!dot.flame_shock.refreshable&!runeforge.echoes_of_great_sundering.equipped&(!talent.master_of_the_elements.enabled|buff.master_of_the_elements.up|cooldown.lava_burst.remains>0&maelstrom>=92)"
  162. actions.single_target+="/earth_shock,if=talent.master_of_the_elements.enabled&(buff.master_of_the_elements.up|cooldown.lava_burst.remains>0&maelstrom>=92|spell_targets.chain_lightning<2&buff.stormkeeper.up&cooldown.lava_burst.remains<=gcd)|!talent.master_of_the_elements.enabled"
  163. actions.single_target+="/lightning_bolt,if=(buff.stormkeeper.remains<1.1*gcd*buff.stormkeeper.stack|buff.stormkeeper.up&buff.master_of_the_elements.up)"
  164. actions.single_target+="/frost_shock,if=talent.icefury.enabled&talent.master_of_the_elements.enabled&buff.icefury.up&buff.master_of_the_elements.up"
  165. actions.single_target+="/lava_burst,if=buff.ascendance.up"
  166. actions.single_target+="/lava_burst,if=cooldown_react&!talent.master_of_the_elements.enabled"
  167. actions.single_target+="/icefury,if=talent.icefury.enabled&!(maelstrom>75&cooldown.lava_burst.remains<=0)"
  168. actions.single_target+="/lava_burst,if=cooldown_react&charges>talent.echo_of_the_elements.enabled"
  169. actions.single_target+="/frost_shock,if=talent.icefury.enabled&buff.icefury.up&buff.icefury.remains<1.1*gcd*buff.icefury.stack"
  170. actions.single_target+="/lava_burst,if=cooldown_react"
  171. actions.single_target+="/flame_shock,target_if=refreshable"
  172. actions.single_target+="/earthquake,if=spell_targets.chain_lightning>1&!runeforge.echoes_of_great_sundering.equipped|buff.echoes_of_great_sundering.up"
  173. actions.single_target+="/frost_shock,if=talent.icefury.enabled&buff.icefury.up&(buff.icefury.remains<gcd*4*buff.icefury.stack|buff.stormkeeper.up|!talent.master_of_the_elements.enabled)"
  174. actions.single_target+="/frost_shock,if=runeforge.elemental_equilibrium.equipped&!buff.elemental_equilibrium_debuff.up&!talent.elemental_blast.enabled&!talent.echoing_shock.enabled"
  175. actions.single_target+="/chain_harvest"
  176. actions.single_target+="/static_discharge,if=talent.static_discharge.enabled"
  177. actions.single_target+="/earth_elemental,if=!talent.primal_elementalist.enabled|!pet.fire_elemental.active"
  178. actions.single_target+="/lightning_bolt"
  179. actions.single_target+="/flame_shock,moving=1,target_if=refreshable"
  180. actions.single_target+="/flame_shock,moving=1,if=movement.distance>6"
  181. actions.single_target+="/frost_shock,moving=1"
Add Comment
Please, Sign In to add comment