SHARE
TWEET

SimC APL

Swol Apr 17th, 2017 174 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Executed before combat begins. Accepts non-harmful actions only.
  2. actions.precombat=flask,type=flask_of_the_seventh_demon
  3. actions.precombat+=/food,type=the_hungry_magister,if=!equipped.majordomos_dinner_bell
  4. actions.precombat+=/food,type=nightborne_delicacy_platter,if=equipped.majordomos_dinner_bell
  5. actions.precombat+=/augmentation,type=defiled
  6. # Snapshot raid buffed stats before combat begins and pre-potting is done.
  7. actions.precombat+=/snapshot_stats
  8. actions.precombat+=/potion,name=old_war
  9. actions.precombat+=/metamorphosis,if=!(talent.demon_reborn.enabled&talent.demonic.enabled)
  10.  
  11. # Executed every time the actor is available.
  12. actions=auto_attack
  13. actions+=/variable,name=waiting_for_nemesis,value=!(!talent.nemesis.enabled|cooldown.nemesis.ready|cooldown.nemesis.remains>target.time_to_die|cooldown.nemesis.remains>60)
  14. actions+=/variable,name=waiting_for_chaos_blades,value=!(!talent.chaos_blades.enabled|cooldown.chaos_blades.ready|cooldown.chaos_blades.remains>target.time_to_die|cooldown.chaos_blades.remains>60)
  15. # "Getting ready to use meta" conditions, this is used in a few places.
  16. actions+=/variable,name=pooling_for_meta,value=!talent.demonic.enabled&cooldown.metamorphosis.remains<6&fury.deficit>30&(!variable.waiting_for_nemesis|cooldown.nemesis.remains<10)&(!variable.waiting_for_chaos_blades|cooldown.chaos_blades.remains<6)
  17. # Blade Dance conditions. Always if First Blood is talented or the T20 2pc set bonus, otherwise at 5+ targets with Chaos Cleave or 3+ targets without.
  18. actions+=/variable,name=blade_dance,value=talent.first_blood.enabled|set_bonus.tier20_2pc|spell_targets.blade_dance1>=3+(talent.chaos_cleave.enabled*2)
  19. # Blade Dance pooling condition, so we don't spend too much fury when we need it soon. No need to pool on
  20. # single target since First Blood already makes it cheap enough and delaying it a tiny bit isn't a big deal.
  21. actions+=/variable,name=pooling_for_blade_dance,value=variable.blade_dance&fury-40<35-talent.first_blood.enabled*20&(spell_targets.blade_dance1>=3+(talent.chaos_cleave.enabled*2))
  22. # Chaos Strike pooling condition, so we don't spend too much fury when we need it for Chaos Cleave AoE
  23. actions+=/variable,name=pooling_for_chaos_strike,value=talent.chaos_cleave.enabled&fury.deficit>40&!raid_event.adds.up&raid_event.adds.in<2*gcd
  24. actions+=/consume_magic
  25. actions+=/call_action_list,name=cooldown,if=gcd.remains=0
  26. actions+=/run_action_list,name=demonic,if=talent.demonic.enabled&talent.demonic_appetite.enabled&talent.blind_fury.enabled
  27. actions+=/run_action_list,name=normal
  28.  
  29. # Use Metamorphosis when we are done pooling Fury and when we are not waiting for other cooldowns to sync.
  30. actions.cooldown=metamorphosis,if=!(talent.demonic.enabled|variable.pooling_for_meta|variable.waiting_for_nemesis|variable.waiting_for_chaos_blades)|target.time_to_die<25
  31. actions.cooldown+=/metamorphosis,if=talent.demonic.enabled&buff.metamorphosis.up&fury<40
  32. # If adds are present, use Nemesis on the lowest HP add in order to get the Nemesis buff for AoE
  33. actions.cooldown+=/nemesis,target_if=min:target.time_to_die,if=raid_event.adds.exists&debuff.nemesis.down&(active_enemies>desired_targets|raid_event.adds.in>60)
  34. actions.cooldown+=/nemesis,if=!raid_event.adds.exists&(buff.chaos_blades.up|buff.metamorphosis.up|cooldown.metamorphosis.adjusted_remains<20|target.time_to_die<=60)
  35. actions.cooldown+=/chaos_blades,if=buff.metamorphosis.up|cooldown.metamorphosis.adjusted_remains>60|target.time_to_die<=12
  36. actions.cooldown+=/use_item,slot=finger2,if=!talent.chaos_blades.enabled|buff.chaos_blades.up|target.time_to_die<cooldown.chaos_blades.remains
  37. actions.cooldown+=/potion,name=old_war,if=buff.metamorphosis.remains>25|target.time_to_die<30
  38.  
  39. # Specific APL for the Blind Fury+Demonic Appetite+Demonic build
  40. actions.demonic=pick_up_fragment,if=fury.deficit>=35&cooldown.eye_beam.remains>5
  41. # Vengeful Retreat backwards through the target to minimize downtime.
  42. actions.demonic+=/vengeful_retreat,if=(talent.prepared.enabled|talent.momentum.enabled)&buff.prepared.down&buff.momentum.down
  43. # Fel Rush for Momentum.
  44. actions.demonic+=/fel_rush,if=(talent.momentum.enabled|talent.fel_mastery.enabled)&(!talent.momentum.enabled|(charges=2|cooldown.vengeful_retreat.remains>4)&buff.momentum.down)&(charges=2|(raid_event.movement.in>10&raid_event.adds.in>10))
  45. actions.demonic+=/throw_glaive,if=talent.bloodlet.enabled&(!talent.momentum.enabled|buff.momentum.up)&charges=2
  46. actions.demonic+=/death_sweep,if=variable.blade_dance
  47. actions.demonic+=/fel_eruption
  48. actions.demonic+=/fury_of_the_illidari,if=(active_enemies>desired_targets|raid_event.adds.in>55)&(!talent.momentum.enabled|buff.momentum.up)
  49. actions.demonic+=/blade_dance,if=variable.blade_dance&cooldown.eye_beam.remains>5&!cooldown.metamorphosis.ready
  50. actions.demonic+=/throw_glaive,if=talent.bloodlet.enabled&spell_targets>=2&(!talent.master_of_the_glaive.enabled|!talent.momentum.enabled|buff.momentum.up)&(spell_targets>=3|raid_event.adds.in>recharge_time+cooldown)
  51. actions.demonic+=/eye_beam,if=spell_targets.eye_beam_tick>desired_targets|!buff.metamorphosis.extended_by_demonic
  52. actions.demonic+=/annihilation,if=(!talent.momentum.enabled|buff.momentum.up|fury.deficit<30+buff.prepared.up*8|buff.metamorphosis.remains<5)&!variable.pooling_for_blade_dance
  53. actions.demonic+=/throw_glaive,if=talent.bloodlet.enabled&(!talent.master_of_the_glaive.enabled|!talent.momentum.enabled|buff.momentum.up)&raid_event.adds.in>recharge_time+cooldown
  54. actions.demonic+=/chaos_strike,if=(!talent.momentum.enabled|buff.momentum.up|fury.deficit<30+buff.prepared.up*8)&!variable.pooling_for_chaos_strike&!variable.pooling_for_meta&!variable.pooling_for_blade_dance
  55. actions.demonic+=/fel_rush,if=!talent.momentum.enabled&buff.metamorphosis.down&(charges=2|(raid_event.movement.in>10&raid_event.adds.in>10))
  56. actions.demonic+=/demons_bite
  57. actions.demonic+=/throw_glaive,if=buff.out_of_range.up
  58. actions.demonic+=/fel_rush,if=movement.distance>15|(buff.out_of_range.up&!talent.momentum.enabled)
  59. actions.demonic+=/vengeful_retreat,if=movement.distance>15
  60.  
  61. # General APL for Non-Demonic Builds
  62. actions.normal=pick_up_fragment,if=talent.demonic_appetite.enabled&fury.deficit>=35
  63. # Vengeful Retreat backwards through the target to minimize downtime.
  64. actions.normal+=/vengeful_retreat,if=(talent.prepared.enabled|talent.momentum.enabled)&buff.prepared.down&buff.momentum.down
  65. # Fel Rush for Momentum and for fury from Fel Mastery.
  66. actions.normal+=/fel_rush,if=(talent.momentum.enabled|talent.fel_mastery.enabled)&(!talent.momentum.enabled|(charges=2|cooldown.vengeful_retreat.remains>4)&buff.momentum.down)&(!talent.fel_mastery.enabled|fury.deficit>=25)&(charges=2|(raid_event.movement.in>10&raid_event.adds.in>10))
  67. # Use Fel Barrage at max charges, saving it for Momentum and adds if possible.
  68. actions.normal+=/fel_barrage,if=charges>=5&(buff.momentum.up|!talent.momentum.enabled)&(active_enemies>desired_targets|raid_event.adds.in>30)
  69. actions.normal+=/throw_glaive,if=talent.bloodlet.enabled&(!talent.momentum.enabled|buff.momentum.up)&charges=2
  70. actions.normal+=/felblade,if=fury<15&(cooldown.death_sweep.remains<2*gcd|cooldown.blade_dance.remains<2*gcd)
  71. actions.normal+=/death_sweep,if=variable.blade_dance
  72. actions.normal+=/fel_rush,if=charges=2&!talent.momentum.enabled&!talent.fel_mastery.enabled
  73. actions.normal+=/fel_eruption
  74. actions.normal+=/fury_of_the_illidari,if=(active_enemies>desired_targets|raid_event.adds.in>55)&(!talent.momentum.enabled|buff.momentum.up)&(!talent.chaos_blades.enabled|buff.chaos_blades.up|cooldown.chaos_blades.remains>30|target.time_to_die<cooldown.chaos_blades.remains)
  75. actions.normal+=/blade_dance,if=variable.blade_dance&(!cooldown.metamorphosis.ready)
  76. actions.normal+=/throw_glaive,if=talent.bloodlet.enabled&spell_targets>=2&(!talent.master_of_the_glaive.enabled|!talent.momentum.enabled|buff.momentum.up)&(spell_targets>=3|raid_event.adds.in>recharge_time+cooldown)
  77. actions.normal+=/felblade,if=fury.deficit>=30+buff.prepared.up*8
  78. actions.normal+=/eye_beam,if=talent.blind_fury.enabled&(spell_targets.eye_beam_tick>desired_targets|fury.deficit>=35)
  79. actions.normal+=/annihilation,if=(talent.demon_blades.enabled|!talent.momentum.enabled|buff.momentum.up|fury.deficit<30+buff.prepared.up*8|buff.metamorphosis.remains<5)&!variable.pooling_for_blade_dance
  80. actions.normal+=/throw_glaive,if=talent.bloodlet.enabled&(!talent.master_of_the_glaive.enabled|!talent.momentum.enabled|buff.momentum.up)&raid_event.adds.in>recharge_time+cooldown
  81. actions.normal+=/eye_beam,if=!talent.blind_fury.enabled&(spell_targets.eye_beam_tick>desired_targets|(!set_bonus.tier19_4pc&raid_event.adds.in>45&!variable.pooling_for_meta&buff.metamorphosis.down&(artifact.anguish_of_the_deceiver.enabled|active_enemies>1)&!talent.chaos_cleave.enabled))
  82. actions.normal+=/throw_glaive,if=buff.metamorphosis.down&spell_targets>=2
  83. actions.normal+=/chaos_strike,if=(talent.demon_blades.enabled|!talent.momentum.enabled|buff.momentum.up|fury.deficit<30+buff.prepared.up*8)&!variable.pooling_for_chaos_strike&!variable.pooling_for_meta&!variable.pooling_for_blade_dance
  84. # Use Fel Barrage if its nearing max charges, saving it for Momentum and adds if possible.
  85. actions.normal+=/fel_barrage,if=charges=4&buff.metamorphosis.down&(buff.momentum.up|!talent.momentum.enabled)&(active_enemies>desired_targets|raid_event.adds.in>30)
  86. actions.normal+=/fel_rush,if=!talent.momentum.enabled&raid_event.movement.in>charges*10&(talent.demon_blades.enabled|buff.metamorphosis.down)
  87. actions.normal+=/demons_bite
  88. actions.normal+=/throw_glaive,if=buff.out_of_range.up
  89. actions.normal+=/felblade,if=movement.distance|buff.out_of_range.up
  90. actions.normal+=/fel_rush,if=movement.distance>15|(buff.out_of_range.up&!talent.momentum.enabled)
  91. actions.normal+=/vengeful_retreat,if=movement.distance>15
  92. actions.normal+=/throw_glaive,if=!talent.bloodlet.enabled
RAW Paste Data
Top