|
|
|
|
actions.precombat+=/variable,name=three_min_trinket,value=trinket.1.cooldown.duration=180|trinket.2.cooldown.duration=180
|
|
|
|
|
actions.precombat+=/arcane_torrent,if=fury.deficit>15
|
|
|
|
|
actions.precombat+=/use_item,name=algethar_puzzle_box,if=cooldown.metamorphosis.remains<5
|
|
|
|
|
actions.precombat+=/sigil_of_flame,if=!equipped.algethar_puzzle_box
|
|
|
|
|
actions.precombat+=/immolation_aura
|
|
|
|
|
|
|
|
|
|
actions=disrupt
|
|
|
|
|
actions+=/consume_magic
|
|
|
|
|
# Blade Dance with First Blood, Trail of Ruin, or at 2+ targets
|
|
|
|
|
actions+=/variable,name=blade_dance,value=talent.first_blood|talent.trail_of_ruin|talent.chaos_theory&buff.chaos_theory.down|spell_targets.blade_dance1>1
|
|
|
|
|
actions+=/variable,name=pooling_for_blade_dance,value=variable.blade_dance&fury<(75-talent.demon_blades*20)&cooldown.blade_dance.remains<gcd.max
|
|
|
|
|
actions+=/variable,name=pooling_for_eye_beam,value=talent.demonic&!talent.blind_fury&cooldown.eye_beam.remains<(gcd.max*2)&fury.deficit>20
|
|
|
|
|
actions+=/variable,name=waiting_for_momentum,value=talent.momentum&!buff.momentum.up&!(action.fel_rush.disabled&action.vengeful_retreat.disabled)
|
|
|
|
|
actions+=/variable,name=holding_meta,value=(talent.demonic&talent.essence_break)&variable.three_min_trinket&fight_remains>cooldown.metamorphosis.remains+30+talent.shattered_destiny*60&cooldown.metamorphosis.remains<20&cooldown.metamorphosis.remains>action.eye_beam.execute_time+gcd.max*(talent.inner_demon+2)
|
|
|
|
|
## actions+=/invoke_external_buff,name=power_infusion,if=time>170&!variable.holding_meta
|
|
|
|
|
actions+=/immolation_aura,if=talent.ragefire&active_enemies>=3&(cooldown.blade_dance.remains|debuff.essence_break.down)
|
|
|
|
|
actions+=/throw_glaive,if=talent.soulrend&talent.furious_throws&active_enemies>=3&time<1
|
|
|
|
|
actions+=/fel_rush,if=buff.unbound_chaos.up&(buff.unbound_chaos.remains<gcd.max*2|target.time_to_die<gcd.max*2)
|
|
|
|
|
actions+=/call_action_list,name=cooldown
|
|
|
|
|
actions+=/call_action_list,name=meta_end,if=buff.metamorphosis.up&buff.metamorphosis.remains<gcd.max&active_enemies<3
|
|
|
|
|
## actions+=/pick_up_fragment,type=demon,if=demon_soul_fragments>0&(cooldown.eye_beam.remains<6|buff.metamorphosis.remains>5)&buff.empowered_demon_soul.remains<3|fight_remains<17
|
|
|
|
|
## actions+=/pick_up_fragment,mode=nearest,if=talent.demonic_appetite&fury.deficit>=35&(!cooldown.eye_beam.ready|fury<30)
|
|
|
|
|
actions+=/annihilation,if=buff.inner_demon.up&cooldown.metamorphosis.remains<=gcd*3
|
|
|
|
|
actions+=/vengeful_retreat,use_off_gcd=1,if=talent.initiative&talent.essence_break&time>1&(cooldown.essence_break.remains>15|cooldown.essence_break.remains<gcd.max&(!talent.demonic|buff.metamorphosis.up|cooldown.eye_beam.remains>15+(10*talent.cycle_of_hatred)))&(time<30|gcd.remains<1)&!talent.any_means_necessary
|
|
|
|
|
actions+=/vengeful_retreat,use_off_gcd=1,if=talent.initiative&talent.essence_break&time>1&(cooldown.essence_break.remains>15|cooldown.essence_break.remains<gcd.max*2&(buff.initiative.remains<gcd.max&!variable.holding_meta&cooldown.eye_beam.remains<=gcd.remains&(raid_event.adds.in>(40-talent.cycle_of_hatred*15))&fury>30|!talent.demonic|buff.metamorphosis.up|cooldown.eye_beam.remains>15+(10*talent.cycle_of_hatred)))&talent.any_means_necessary
|
|
|
|
|
actions+=/vengeful_retreat,use_off_gcd=1,if=talent.initiative&!talent.essence_break&time>1&!buff.momentum.up
|
|
|
|
|
actions+=/fel_rush,if=talent.momentum.enabled&buff.momentum.remains<gcd.max*2&(charges_fractional>1.8|cooldown.eye_beam.remains<3)&debuff.essence_break.down
|
|
|
|
|
actions+=/essence_break,if=(active_enemies>desired_targets|raid_event.adds.in>40)&!variable.waiting_for_momentum&buff.metamorphosis.up&(!talent.tactical_retreat|buff.tactical_retreat.up|action.vengeful_retreat.disabled)|boss&fight_remains<6
|
|
|
|
|
actions+=/death_sweep,if=variable.blade_dance&(!talent.essence_break|cooldown.essence_break.remains>(cooldown.death_sweep.duration-4))
|
|
|
|
|
actions+=/fel_barrage,if=active_enemies>desired_targets|raid_event.adds.in>30
|
|
|
|
|
actions+=/glaive_tempest,if=active_enemies>desired_targets|raid_event.adds.in>10&(debuff.essence_break.down|active_enemies>1)
|
|
|
|
|
actions+=/annihilation,if=buff.inner_demon.up&cooldown.eye_beam.remains<=gcd
|
|
|
|
|
actions+=/fel_rush,if=talent.momentum.enabled&cooldown.eye_beam.remains<gcd.max*3&buff.momentum.remains<5&buff.metamorphosis.down
|
|
|
|
|
actions+=/the_hunt,if=debuff.essence_break.down&(time<10|cooldown.metamorphosis.remains>10|!equipped.algethar_puzzle_box)&(raid_event.adds.in>90|active_enemies>3|time_to_die<10)&(time>8&debuff.essence_break.down|!set_bonus.tier30_2pc)
|
|
|
|
|
actions+=/throw_glaive,if=talent.serrated_glaive&cooldown.eye_beam.remains<6&!debuff.serrated_glaive.up&!debuff.essence_break.up&cooldown.blade_dance.remains
|
|
|
|
|
actions+=/eye_beam,if=active_enemies>desired_targets|raid_event.adds.in>(40-talent.cycle_of_hatred*15)&!debuff.essence_break.up&(cooldown.metamorphosis.remains>40-talent.cycle_of_hatred*15|!variable.holding_meta)&(buff.metamorphosis.down|buff.metamorphosis.remains>gcd.max|!talent.restless_hunter)&(buff.metamorphosis.down|cooldown.blade_dance.remains>gcd.max)|fight_remains<15
|
|
|
|
|
actions+=/blade_dance,if=variable.blade_dance&(cooldown.eye_beam.remains>5|equipped.algethar_puzzle_box&cooldown.metamorphosis.remains>(cooldown.blade_dance.duration)|!talent.demonic|(raid_event.adds.in>cooldown&raid_event.adds.in<25))
|
|
|
|
|
actions+=/sigil_of_flame,if=talent.any_means_necessary&debuff.essence_break.down&active_enemies>=4
|
|
|
|
|
actions+=/throw_glaive,if=talent.soulrend&(active_enemies>desired_targets|raid_event.adds.in>full_recharge_time+9)&spell_targets>=(2-talent.furious_throws)&!debuff.essence_break.up&(full_recharge_time<gcd.max*3|active_enemies>1)
|
|
|
|
|
actions+=/immolation_aura,if=fury<70&debuff.essence_break.down&time_to_die>3
|
|
|
|
|
actions+=/sigil_of_flame,if=talent.any_means_necessary&debuff.essence_break.down
|
|
|
|
|
actions+=/annihilation,if=!variable.pooling_for_blade_dance
|
|
|
|
|
actions+=/throw_glaive,if=talent.soulrend&(active_enemies>desired_targets|raid_event.adds.in>full_recharge_time+9)&spell_targets>=(2-talent.furious_throws)&!debuff.essence_break.up
|
|
|
|
|
actions+=/immolation_aura,if=!buff.immolation_aura.up&(!talent.ragefire|active_enemies>desired_targets|raid_event.adds.in>15)
|
|
|
|
|
actions+=/fel_rush,if=talent.isolated_prey&active_enemies=1&fury.deficit>=35
|
|
|
|
|
actions+=/chaos_strike,if=!variable.pooling_for_blade_dance&!variable.pooling_for_eye_beam
|
|
|
|
|
actions+=/sigil_of_flame,if=raid_event.adds.in>15&fury.deficit>=30
|
|
|
|
|
actions+=/felblade,if=fury.deficit>=40
|
|
|
|
|
actions+=/fel_rush,if=settings.fel_rush_filler&!talent.momentum&talent.demon_blades&!cooldown.eye_beam.ready&(charges=2|(raid_event.movement.in>10&raid_event.adds.in>10))
|
|
|
|
|
actions+=/demons_bite,cycle_targets=1,if=talent.burning_wound&debuff.burning_wound.remains<4&active_dot.burning_wound<(spell_targets>?3)
|
|
|
|
|
actions+=/fel_rush,if=settings.fel_rush_filler&!talent.momentum&!talent.demon_blades&spell_targets>1&(charges=2|(raid_event.movement.in>10&raid_event.adds.in>10))
|
|
|
|
|
actions+=/sigil_of_flame,if=raid_event.adds.in>15&fury.deficit>=30
|
|
|
|
|
actions+=/demons_bite
|
|
|
|
|
actions+=/fel_rush,if=settings.fel_rush_filler&(movement.distance>15|(buff.out_of_range.up&!talent.momentum))
|
|
|
|
|
actions+=/vengeful_retreat,if=settings.retreat_filler&!talent.initiative&movement.distance>15
|
|
|
|
|
actions+=/throw_glaive,if=(talent.demon_blades|buff.out_of_range.up)&!debuff.essence_break.up
|
|
|
|
|
actions+=/use_item,name=dragonfire_bomb_dispenser,use_off_gcd=1,if=fight_remains<20|charges=3|cooldown.vengeful_retreat.remains<5
|
|
|
|
|
actions+=/use_item,name=elementium_pocket_anvil,use_off_gcd=1
|
|
|
|
|
|
|
|
|
|
actions.meta_end+=/death_sweep
|
|
|
|
|
actions.meta_end+=/annihilation
|
|
|
|
|
|
|
|
|
|
actions.cooldown+=/sigil_of_misery,if=talent.misery_in_defeat&!target.is_boss&target.time_to_die>10&(cooldown.metamorphosis.remains<6|talent.demonic&cooldown.eye_beam.remains<6|buff.metamorphosis.remains>10)
|
|
|
|
|
# Cast Metamorphosis if we will get a full Eye Beam refresh or if the encounter is almost over
|
|
|
|
|
actions.cooldown+=/metamorphosis,if=!talent.demonic&((!talent.chaotic_transformation|cooldown.eye_beam.remains>20)&active_enemies>desired_targets|raid_event.adds.in>60|boss&fight_remains<25)
|
|
|
|
|
actions.cooldown+=/metamorphosis,if=talent.demonic&(!talent.chaotic_transformation|cooldown.eye_beam.remains>20&(!variable.blade_dance|cooldown.blade_dance.remains>gcd.max)|boss&fight_remains<25+talent.shattered_destiny*70&cooldown.eye_beam.remains&cooldown.blade_dance.remains)
|
|
|
|
|
actions.cooldown+=/potion,if=buff.metamorphosis.remains>25|buff.metamorphosis.up&cooldown.metamorphosis.ready|boss&fight_remains<60|time>0.1&time<10
|
|
|
|
|
actions.cooldown+=/use_item,name=manic_grieftorch,use_off_gcd=1,if=((buff.initiative.remains>2&debuff.essence_break.down&cooldown.essence_break.remains>gcd.max&time>14|time_to_die<10|time<1&!equipped.algethar_puzzle_box|boss&(fight_remains%%120<5))&!prev_gcd.1.essence_break)
|
|
|
|
|
actions.cooldown+=/use_item,name=algethar_puzzle_box,use_off_gcd=1,if=cooldown.metamorphosis.remains<=gcd.max*5|boss&((fight_remains%%180>10)&(fight_remains%%180<22)|fight_remains<25)
|
|
|
|
|
actions.cooldown+=/elysian_decree,if=(active_enemies>desired_targets|raid_event.adds.in>30)
|
|
|
|
|
actions.cooldown+=/variable,name=trinket_sync_slot,value=1,if=trinket.1.has_stat.any_dps&(!trinket.2.has_stat.any_dps|trinket.1.cooldown.duration>=trinket.2.cooldown.duration)
|
|
|
|
|
actions.cooldown+=/variable,name=trinket_sync_slot,value=2,if=trinket.2.has_stat.any_dps&(!trinket.1.has_stat.any_dps|trinket.2.cooldown.duration>trinket.1.cooldown.duration)
|
|
|
|
|
# Default use item logic
|
|
|
|
|
actions.cooldown+=/use_items,slots=trinket1,if=(variable.trinket_sync_slot=1&(buff.metamorphosis.up|(!talent.demonic.enabled&cooldown.metamorphosis.remains>(fight_remains>?trinket.1.cooldown.duration%2))|boss&fight_remains<=20)|(variable.trinket_sync_slot=2&!trinket.2.cooldown.ready)|!variable.trinket_sync_slot)&(!talent.initiative|buff.initiative.up)
|
|
|
|
|
actions.cooldown+=/use_items,slots=trinket2,if=(variable.trinket_sync_slot=2&(buff.metamorphosis.up|(!talent.demonic.enabled&cooldown.metamorphosis.remains>(fight_remains>?trinket.2.cooldown.duration%2))|boss&fight_remains<=20)|(variable.trinket_sync_slot=1&!trinket.1.cooldown.ready)|!variable.trinket_sync_slot)&(!talent.initiative|buff.initiative.up)
|
|
|
|
|
actions.cooldown+=/use_item,name=stormeaters_boon,use_off_gcd=1,if=cooldown.metamorphosis.remains&(!talent.momentum|buff.momentum.remains>5)&(active_enemies>1|raid_event.adds.in>140)
|
|
|
|
|
actions.cooldown+=/elysian_decree,if=(active_enemies>desired_targets|raid_event.adds.in>30)
|