Advertisement
Muttonman

Ele APL 20210331 Testing

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