You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
22 KiB

actions.precombat+=/variable,name=single_target,value=spell_targets.spirit_bomb=1
actions.precombat+=/variable,name=small_aoe,value=spell_targets.spirit_bomb>=2&spell_targets.spirit_bomb<=5
actions.precombat+=/variable,name=big_aoe,value=spell_targets.spirit_bomb>=6
actions.precombat+=/arcane_torrent
actions.precombat+=/sigil_of_flame,if=hero_tree.aldrachi_reaver|level<71|(hero_tree.felscarred&talent.student_of_suffering)
actions.precombat+=/immolation_aura
actions+=/variable,name=num_spawnable_souls,op=reset,default=0
actions+=/variable,name=num_spawnable_souls,op=max,value=2,if=talent.fracture&cooldown.fracture.charges_fractional>=1&!buff.metamorphosis.up
actions+=/variable,name=num_spawnable_souls,op=max,value=3,if=talent.fracture&cooldown.fracture.charges_fractional>=1&buff.metamorphosis.up
actions+=/variable,name=num_spawnable_souls,op=max,value=1,if=talent.soul_sigils&cooldown.sigil_of_flame.up
actions+=/variable,name=num_spawnable_souls,op=add,value=1,if=talent.soul_carver&(cooldown.soul_carver.remains>(cooldown.soul_carver.duration-3))
actions+=/disrupt,if=target.debuff.casting.up
actions+=/infernal_strike,use_off_gcd=1
actions+=/demon_spikes,use_off_gcd=1,if=!buff.demon_spikes.up&tanking
actions+=/run_action_list,name=ar,strict=1,if=hero_tree.aldrachi_reaver|level<71
actions+=/run_action_list,name=fs,strict=1,if=hero_tree.felscarred
actions.ar+=/variable,name=spb_threshold,op=setif,condition=talent.fiery_demise&dot.fiery_brand.ticking,value=(variable.single_target*5)+(variable.small_aoe*5)+(variable.big_aoe*4),value_else=(variable.single_target*5)+(variable.small_aoe*5)+(variable.big_aoe*4)
actions.ar+=/variable,name=can_spb,op=setif,condition=talent.spirit_bomb,value=soul_fragments>=variable.spb_threshold,value_else=0
actions.ar+=/variable,name=can_spb_soon,op=setif,condition=talent.spirit_bomb,value=soul_fragments>=variable.spb_threshold,value_else=0
actions.ar+=/variable,name=can_spb_one_gcd,op=setif,condition=talent.spirit_bomb,value=(soul_fragments+variable.num_spawnable_souls)>=variable.spb_threshold,value_else=0
actions.ar+=/variable,name=dont_soul_cleave,value=talent.spirit_bomb&((variable.can_spb|variable.can_spb_soon|variable.can_spb_one_gcd)|prev_gcd.1.fracture)
actions.ar+=/variable,name=rg_sequence_duration,op=set,value=action.fracture.execute_time+action.soul_cleave.execute_time
actions.ar+=/variable,name=rg_sequence_duration,op=add,value=gcd.max,if=!talent.keen_engagement
actions.ar+=/variable,name=rg_enhance_cleave,op=setif,condition=variable.big_aoe|fight_remains<8,value=1,value_else=1
actions.ar+=/variable,name=cooldown_sync,value=(debuff.reavers_mark.remains>gcd.max&buff.thrill_of_the_fight_damage.remains>gcd.max)|boss&fight_remains<20
actions.ar+=/potion,use_off_gcd=1,if=(variable.cooldown_sync&gcd.remains=0)|(buff.rending_strike.up&buff.glaive_flurry.up)
actions.ar+=/use_items,use_off_gcd=1,if=variable.cooldown_sync
## actions.ar+=/call_action_list,name=externals,if=variable.cooldown_sync
actions.ar+=/run_action_list,name=rg_sequence,strict=1,if=buff.glaive_flurry.up|buff.rending_strike.up
actions.ar+=/metamorphosis,use_off_gcd=1,if=!buff.metamorphosis.up&gcd.remains=0&cooldown.the_hunt.remains>5&!(buff.rending_strike.up&buff.glaive_flurry.up)
actions.ar+=/vengeful_retreat,use_off_gcd=1,if=talent.unhindered_assault&!cooldown.felblade.up&(((talent.spirit_bomb&(fury<40&(variable.can_spb|variable.can_spb_soon)))|(talent.spirit_bomb&(cooldown.sigil_of_spite.remains<gcd.max|cooldown.soul_carver.remains<gcd.max)&(cooldown.fel_devastation.remains<(gcd.max*2))&fury<50))|(fury<30&(soul_fragments<=2|cooldown.fracture.charges_fractional<1)))
actions.ar+=/the_hunt,if=!buff.reavers_glaive.up&(buff.art_of_the_glaive.stack+soul_fragments)<20
actions.ar+=/immolation_aura,if=!(buff.glaive_flurry.up|buff.rending_strike.up)
actions.ar+=/sigil_of_flame,if=!(buff.glaive_flurry.up|buff.rending_strike.up)&(talent.ascending_flame|(!talent.ascending_flame&!prev_gcd.1.sigil_of_flame&(dot.sigil_of_flame.remains<(1+talent.quickened_sigils))))
actions.ar+=/call_action_list,name=rg_overflow,if=buff.reavers_glaive.up&buff.thrill_of_the_fight_damage.remains<variable.rg_sequence_duration&(((((1.3+(1*raw_haste_pct))*(debuff.reavers_mark.remains-variable.rg_sequence_duration))+soul_fragments+buff.art_of_the_glaive.stack)>=20)|((cooldown.the_hunt.remains)<(debuff.reavers_mark.remains-variable.rg_sequence_duration)))
actions.ar+=/call_action_list,name=ar_execute,if=fight_remains<20
actions.ar+=/soul_cleave,if=(debuff.reavers_mark.remains<=(gcd.remains+execute_time+variable.rg_sequence_duration))&(soul_fragments>=2&buff.art_of_the_glaive.stack>=(20-2))&(fury<40|!variable.can_spb)
actions.ar+=/spirit_bomb,if=(debuff.reavers_mark.remains<=(gcd.remains+execute_time+variable.rg_sequence_duration))&(buff.art_of_the_glaive.stack+soul_fragments>=20)
actions.ar+=/bulk_extraction,if=(debuff.reavers_mark.remains<=(gcd.remains+execute_time+variable.rg_sequence_duration))&(buff.art_of_the_glaive.stack+(spell_targets>?5)>=20)
actions.ar+=/reavers_glaive,if=buff.thrill_of_the_fight_damage.remains<variable.rg_sequence_duration&(!buff.thrill_of_the_fight_attack_speed.up|(debuff.reavers_mark.remains<=variable.rg_sequence_duration)|variable.rg_enhance_cleave)
actions.ar+=/fiery_brand,if=!talent.fiery_demise|(talent.fiery_demise&((talent.down_in_flames&charges>=max_charges)|(active_dot.fiery_brand=0)))
actions.ar+=/soul_cleave,if=fury.deficit<25&!variable.can_spb&!variable.can_spb_soon
actions.ar+=/fel_devastation,if=talent.spirit_bomb&!variable.can_spb&(variable.can_spb_soon|prev_gcd.2.sigil_of_spite|prev_gcd.2.soul_carver)
actions.ar+=/spirit_bomb,if=variable.can_spb
actions.ar+=/fracture,if=talent.spirit_bomb&((fury<40&(!cooldown.felblade.up&(!talent.unhindered_assault|!cooldown.vengeful_retreat.up)))|(fury<40&variable.can_spb_one_gcd))
actions.ar+=/soul_carver,if=variable.cooldown_sync&(!talent.spirit_bomb|(((soul_fragments+3)<=6)&fury>=15&!prev_gcd.1.sigil_of_spite))
actions.ar+=/sigil_of_spite,if=(variable.single_target|variable.cooldown_sync)&(!talent.spirit_bomb|((variable.can_spb&fury>=40)|variable.can_spb_soon|soul_fragments<=1))
actions.ar+=/fel_devastation,if=variable.cooldown_sync&(!variable.single_target|buff.thrill_of_the_fight_damage.up)
actions.ar+=/bulk_extraction,if=spell_targets>=5
actions.ar+=/felblade,if=(((talent.spirit_bomb&(fury<40&(variable.can_spb|variable.can_spb_soon)))|(talent.spirit_bomb&(cooldown.sigil_of_spite.up|cooldown.soul_carver.up)&cooldown.fel_devastation.up&fury<50))|fury<30)
actions.ar+=/felblade,if=(((talent.spirit_bomb&(fury<40&(variable.can_spb|variable.can_spb_soon)))|(talent.spirit_bomb&(cooldown.sigil_of_spite.remains<gcd.max|cooldown.soul_carver.remains<gcd.max)&(cooldown.fel_devastation.remains<(gcd.max*2))&fury<50))|(fury<30&(soul_fragments<=2|cooldown.fracture.charges_fractional<1)))
actions.ar+=/soul_cleave,if=fury.deficit<=25|(!talent.spirit_bomb|!variable.dont_soul_cleave)
actions.ar+=/fracture
actions.ar+=/shear
actions.ar+=/felblade
actions.ar+=/throw_glaive
actions.ar_execute+=/metamorphosis,use_off_gcd=1
actions.ar_execute+=/reavers_glaive
actions.ar_execute+=/the_hunt,if=!buff.reavers_glaive.up
actions.ar_execute+=/bulk_extraction,if=spell_targets>=3&buff.art_of_the_glaive.stack>=20
actions.ar_execute+=/sigil_of_flame
actions.ar_execute+=/fiery_brand
actions.ar_execute+=/sigil_of_spite
actions.ar_execute+=/soul_carver
actions.ar_execute+=/fel_devastation
actions.dump_empowered_abilities+=/immolation_aura,if=buff.demonsurge_consuming_fire.up
actions.dump_empowered_abilities+=/sigil_of_doom,if=buff.demonsurge_sigil_of_doom.up
actions.dump_empowered_abilities+=/fel_desolation,if=buff.demonsurge_fel_desolation.up
actions.dump_empowered_abilities+=/spirit_burst,if=buff.demonsurge_soul_sunder.up
actions.dump_empowered_abilities+=/soul_sunder,if=buff.demonsurge_soul_sunder.up
actions.dump_empowered_abilities+=/felblade,if=(fury<30&buff.demonsurge_soul_sunder.up)|(fury<40&buff.demonsurge_spirit_burst.up)|(fury<50&buff.demonsurge_fel_desolation.up)
actions.dump_empowered_abilities+=/fracture,if=(fury<30&buff.demonsurge_soul_sunder.up)|(fury<40&buff.demonsurge_spirit_burst.up)|(fury<50&buff.demonsurge_fel_desolation.up)
## actions.externals+=/invoke_external_buff,name=symbol_of_hope
## actions.externals+=/invoke_external_buff,name=power_infusion
actions.fel_dev+=/call_action_list,name=dump_empowered_abilities,if=buff.metamorphosis.remains<(variable.demonsurge_execution_time_remaining)
actions.fel_dev+=/spirit_burst,if=variable.can_spburst
actions.fel_dev+=/soul_sunder,if=!variable.dont_soul_cleave
actions.fel_dev+=/sigil_of_spite,if=soul_fragments<=2&buff.demonsurge_spirit_burst.up
actions.fel_dev+=/soul_carver,if=soul_fragments<=2&!prev_gcd.1.sigil_of_spite&buff.demonsurge_spirit_burst.up
actions.fel_dev+=/felblade
actions.fel_dev+=/fracture
actions.fel_dev_prep+=/potion,use_off_gcd=1,if=gcd.remains=0&prev_gcd.1.fiery_brand
actions.fel_dev_prep+=/fiery_brand,if=talent.fiery_demise&((action.spirit_burst.cost+action.soul_sunder.cost+action.fel_devastation.cost)-(fury+(talent.darkglare_boon.rank*23)+(10*(2+(2*gcd.max))))<=0)&(variable.can_spburst|variable.can_spburst_soon)|soul_fragments>=4&active_dot.fiery_brand=0&(cooldown.metamorphosis.remains<(gcd.remains+execute_time+action.fel_devastation.execute_time+(gcd.max*2)))
actions.fel_dev_prep+=/fel_devastation,if=((action.spirit_burst.cost+action.soul_sunder.cost+action.fel_devastation.cost)-(fury+(talent.darkglare_boon.rank*23)+(10*(2+(2*gcd.max))))<=0)&(variable.can_spburst|variable.can_spburst_soon)|soul_fragments>=4
actions.fel_dev_prep+=/felblade,if=!((action.spirit_burst.cost+action.soul_sunder.cost+action.fel_devastation.cost)-(fury+(talent.darkglare_boon.rank*23)+(10*(2+(2*gcd.max))))<=0)
actions.fel_dev_prep+=/fracture,if=!(variable.can_spburst|variable.can_spburst_soon)|soul_fragments>=4|!((action.spirit_burst.cost+action.soul_sunder.cost+action.fel_devastation.cost)-(fury+(talent.darkglare_boon.rank*23)+(10*(2+(2*gcd.max))))<=0)
actions.fel_dev_prep+=/felblade
actions.fel_dev_prep+=/fracture
actions.fs+=/variable,name=spbomb_threshold,op=setif,condition=talent.fiery_demise&dot.fiery_brand.ticking,value=(variable.single_target*5)+(variable.small_aoe*4)+(variable.big_aoe*4),value_else=(variable.single_target*5)+(variable.small_aoe*5)+(variable.big_aoe*5)
actions.fs+=/variable,name=can_spbomb,op=setif,condition=talent.spirit_bomb,value=soul_fragments>=variable.spbomb_threshold,value_else=0
actions.fs+=/variable,name=can_spbomb_soon,op=setif,condition=talent.spirit_bomb,value=soul_fragments>=variable.spbomb_threshold,value_else=0
actions.fs+=/variable,name=can_spbomb_one_gcd,op=setif,condition=talent.spirit_bomb,value=(soul_fragments+variable.num_spawnable_souls)>=variable.spbomb_threshold,value_else=0
actions.fs+=/variable,name=spburst_threshold,op=setif,condition=talent.fiery_demise&dot.fiery_brand.ticking,value=(variable.single_target*5)+(variable.small_aoe*4)+(variable.big_aoe*4),value_else=(variable.single_target*5)+(variable.small_aoe*5)+(variable.big_aoe*5)
actions.fs+=/variable,name=can_spburst,op=setif,condition=talent.spirit_bomb,value=soul_fragments>=variable.spburst_threshold,value_else=0
actions.fs+=/variable,name=can_spburst_soon,op=setif,condition=talent.spirit_bomb,value=soul_fragments>=variable.spburst_threshold,value_else=0
actions.fs+=/variable,name=can_spburst_one_gcd,op=setif,condition=talent.spirit_bomb,value=(soul_fragments+variable.num_spawnable_souls)>=variable.spburst_threshold,value_else=0
actions.fs+=/variable,name=dont_soul_cleave,op=setif,condition=buff.metamorphosis.up&buff.demonsurge_hardcast.up,value=talent.spirit_bomb&!buff.demonsurge_soul_sunder.up&(((cooldown.fel_desolation.remains<=gcd.remains+execute_time)&fury<80)|(variable.can_spburst|variable.can_spburst_soon)|(prev_gcd.1.sigil_of_spite|prev_gcd.1.soul_carver)),value_else=talent.spirit_bomb&!buff.demonsurge_soul_sunder.up&(((cooldown.fel_devastation.remains<=gcd.remains+execute_time)&fury<80)|(variable.can_spbomb|variable.can_spbomb_soon)|(buff.metamorphosis.up&!buff.demonsurge_hardcast.up&buff.demonsurge_spirit_burst.up)|(prev_gcd.1.sigil_of_spite|prev_gcd.1.soul_carver))
actions.fs+=/variable,name=fiery_brand_back_before_meta,op=setif,condition=talent.down_in_flames,value=charges>=max_charges|(charges_fractional>=1&cooldown.fiery_brand.full_recharge_time<=gcd.remains+execute_time)|(charges_fractional>=1&((max_charges-(charges_fractional-1))*cooldown.fiery_brand.duration)<=cooldown.metamorphosis.remains),value_else=cooldown.fiery_brand.duration<=cooldown.metamorphosis.remains
actions.fs+=/variable,name=hold_sof,op=setif,condition=talent.student_of_suffering,value=(buff.student_of_suffering.remains>(4-talent.quickened_sigils))|(!talent.ascending_flame&(dot.sigil_of_flame.remains>(4-talent.quickened_sigils)))|prev_gcd.1.sigil_of_flame|(talent.illuminated_sigils&charges=1&time<(2-talent.quickened_sigils.rank))|cooldown.metamorphosis.up,value_else=cooldown.metamorphosis.up|(cooldown.sigil_of_flame.max_charges>1&talent.ascending_flame&((cooldown.sigil_of_flame.max_charges-(cooldown.sigil_of_flame.charges_fractional-1))*cooldown.sigil_of_flame.duration)>cooldown.metamorphosis.remains)|((prev_gcd.1.sigil_of_flame|dot.sigil_of_flame.remains>(4-talent.quickened_sigils)))
actions.fs+=/variable,name=demonsurge_execution_cost,op=reset,default=0
actions.fs+=/variable,name=demonsurge_execution_cost,op=add,value=action.spirit_burst.cost,if=buff.demonsurge_spirit_burst.up
actions.fs+=/variable,name=demonsurge_execution_cost,op=add,value=action.soul_sunder.cost,if=buff.demonsurge_soul_sunder.up
actions.fs+=/variable,name=demonsurge_execution_cost,op=add,value=(action.fel_desolation.cost-(talent.darkglare_boon.rank*23)),if=buff.demonsurge_fel_desolation.up
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=reset,default=0
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=action.spirit_burst.execute_time,if=buff.demonsurge_spirit_burst.up
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=action.soul_sunder.execute_time,if=buff.demonsurge_soul_sunder.up
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=action.immolation_aura.execute_time,if=buff.demonsurge_consuming_fire.up
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=action.sigil_of_doom.execute_time,if=buff.demonsurge_sigil_of_doom.up
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=action.sigil_of_doom.execute_time,if=cooldown.sigil_of_doom.charges_fractional>=2
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=action.fel_desolation.execute_time,if=buff.demonsurge_fel_desolation.up
actions.fs+=/variable,name=demonsurge_execution_time_remaining,op=add,value=(variable.demonsurge_execution_cost-fury-(10*variable.demonsurge_execution_time_remaining))%25,if=buff.metamorphosis.up
actions.fs+=/use_items,use_off_gcd=1,if=!buff.metamorphosis.up
actions.fs+=/cancel_buff,name=metamorphosis,if=(!buff.demonsurge_soul_sunder.up&!buff.demonsurge_spirit_burst.up&!buff.demonsurge_fel_desolation.up&!buff.demonsurge_consuming_fire.up&!buff.demonsurge_sigil_of_doom.up&cooldown.sigil_of_doom.charges<1&!prev_gcd.1.sigil_of_doom)&(cooldown.fel_devastation.remains<(gcd.max*2)|cooldown.metamorphosis.remains<(gcd.max*2))
actions.fs+=/immolation_aura,if=!(talent.illuminated_sigils&cooldown.metamorphosis.up&cooldown.sigil_of_flame.charges_fractional>=1&!prev_gcd.1.sigil_of_flame)
actions.fs+=/sigil_of_flame,if=!variable.hold_sof
actions.fs+=/fiery_brand,if=!talent.fiery_demise|talent.fiery_demise&((talent.down_in_flames&charges>=max_charges)|(active_dot.fiery_brand=0&variable.fiery_brand_back_before_meta))
actions.fs+=/call_action_list,name=fs_execute,if=fight_remains<20
actions.fs+=/call_action_list,name=fel_dev,if=buff.metamorphosis.up&!buff.demonsurge_hardcast.up&(buff.demonsurge_soul_sunder.up|buff.demonsurge_spirit_burst.up)
actions.fs+=/call_action_list,name=metamorphosis,strict=1,if=buff.metamorphosis.up&buff.demonsurge_hardcast.up
actions.fs+=/call_action_list,name=fel_dev_prep,if=!buff.demonsurge_hardcast.up&(cooldown.fel_devastation.up|(cooldown.fel_devastation.remains<=(gcd.max*2)))
actions.fs+=/call_action_list,name=meta_prep,if=(cooldown.metamorphosis.remains<=(gcd.max*3))&!cooldown.fel_devastation.up&!buff.demonsurge_soul_sunder.up&!buff.demonsurge_spirit_burst.up
actions.fs+=/the_hunt
actions.fs+=/felblade,if=((cooldown.sigil_of_spite.remains<gcd.remains+execute_time|cooldown.soul_carver.remains<gcd.remains+execute_time)&cooldown.fel_devastation.remains<(gcd.remains+execute_time+gcd.max)&fury<50)
actions.fs+=/soul_carver,if=(!talent.fiery_demise|talent.fiery_demise&dot.fiery_brand.ticking)&((!talent.spirit_bomb|variable.single_target)|(talent.spirit_bomb&!prev_gcd.1.sigil_of_spite&((soul_fragments+3<=5&fury>=40)|(soul_fragments+3<=4&fury>=15))))
actions.fs+=/sigil_of_spite,if=(!talent.spirit_bomb|variable.single_target)|(talent.spirit_bomb&soul_fragments<=1)|(fury>=40&(variable.can_spbomb|(buff.metamorphosis.up&variable.can_spburst)|variable.can_spbomb_soon|(buff.metamorphosis.up&variable.can_spburst_soon)))
actions.fs+=/bulk_extraction,if=spell_targets>=5
actions.fs+=/soul_sunder,if=variable.single_target
actions.fs+=/soul_cleave,if=variable.single_target
actions.fs+=/spirit_burst,if=variable.can_spburst
actions.fs+=/spirit_bomb,if=variable.can_spbomb
actions.fs+=/soul_cleave,if=fury.deficit<25
actions.fs+=/felblade,if=(fury<40&((buff.metamorphosis.up&(variable.can_spburst|variable.can_spburst_soon))|(!buff.metamorphosis.up&(variable.can_spbomb|variable.can_spbomb_soon))))|fury<30
actions.fs+=/fracture,if=!prev_gcd.1.fracture&talent.spirit_bomb&((fury<40&((buff.metamorphosis.up&(variable.can_spburst|variable.can_spburst_soon))|(!buff.metamorphosis.up&(variable.can_spbomb|variable.can_spbomb_soon))))|(buff.metamorphosis.up&variable.can_spburst_one_gcd)|(!buff.metamorphosis.up&variable.can_spbomb_one_gcd))
actions.fs+=/soul_sunder,if=!variable.dont_soul_cleave
actions.fs+=/soul_cleave,if=!variable.dont_soul_cleave
actions.fs+=/felblade,if=fury.deficit>=40
actions.fs+=/fracture
actions.fs+=/throw_glaive
actions.fs_execute+=/metamorphosis,use_off_gcd=1
actions.fs_execute+=/the_hunt
actions.fs_execute+=/sigil_of_flame
actions.fs_execute+=/fiery_brand
actions.fs_execute+=/sigil_of_spite
actions.fs_execute+=/soul_carver
actions.fs_execute+=/fel_devastation
actions.meta_prep+=/metamorphosis,use_off_gcd=1,if=cooldown.sigil_of_flame.charges<1&gcd.remains=0
actions.meta_prep+=/fiery_brand,if=talent.fiery_demise&((talent.down_in_flames&charges>=max_charges)|active_dot.fiery_brand=0)
actions.meta_prep+=/potion,use_off_gcd=1,if=gcd.remains=0
actions.meta_prep+=/sigil_of_flame
## actions.metamorphosis+=/call_action_list,name=externals
actions.metamorphosis+=/call_action_list,name=dump_empowered_abilities,if=buff.metamorphosis.remains<(variable.demonsurge_execution_time_remaining)
actions.metamorphosis+=/sigil_of_doom,if=(talent.student_of_suffering&!prev_gcd.1.sigil_of_flame&(buff.student_of_suffering.remains<(4-talent.quickened_sigils)))|(!buff.demonsurge_soul_sunder.up&!buff.demonsurge_spirit_burst.up&!buff.demonsurge_consuming_fire.up&!buff.demonsurge_fel_desolation.up&(buff.demonsurge_sigil_of_doom.up|(!buff.demonsurge_sigil_of_doom.up&charges_fractional>=1)))
actions.metamorphosis+=/sigil_of_spite,if=fury>=40&(variable.can_spburst|variable.can_spburst_soon)
actions.metamorphosis+=/spirit_burst,if=variable.can_spburst&(buff.demonsurge_spirit_burst.up|soul_fragments>=5)
actions.metamorphosis+=/felblade,if=((cooldown.sigil_of_spite.remains<gcd.remains+execute_time|cooldown.soul_carver.remains<gcd.remains+execute_time)&cooldown.fel_desolation.remains<(gcd.remains+execute_time+gcd.max)&fury<50)
actions.metamorphosis+=/soul_carver,if=(!talent.spirit_bomb|variable.single_target)|(((soul_fragments+3)<=6)&fury>=15&!prev_gcd.1.sigil_of_spite)
actions.metamorphosis+=/sigil_of_spite,if=soul_fragments<=1
actions.metamorphosis+=/fel_desolation,if=prev_gcd.2.sigil_of_spite|prev_gcd.2.soul_carver|!variable.can_spburst&(variable.can_spburst_soon|soul_fragments>=2)|(!buff.demonsurge_soul_sunder.up&!buff.demonsurge_spirit_burst.up&!buff.demonsurge_consuming_fire.up&!buff.demonsurge_sigil_of_doom.up&cooldown.sigil_of_doom.charges<1&buff.demonsurge_fel_desolation.up)
actions.metamorphosis+=/soul_sunder,if=buff.demonsurge_soul_sunder.up&(!buff.demonsurge_spirit_burst.up&!buff.demonsurge_fel_desolation.up&!buff.demonsurge_consuming_fire.up&!buff.demonsurge_sigil_of_doom.up)
actions.metamorphosis+=/bulk_extraction,if=(variable.can_spburst|variable.can_spburst_soon)&!buff.soul_furnace_damage_amp.up&buff.soul_furnace_stack.stack<=6&buff.soul_furnace_stack.stack+(spell_targets.bulk_extraction>?5)>=10
actions.metamorphosis+=/spirit_burst,if=variable.can_spburst
actions.metamorphosis+=/felblade,if=fury<40&(variable.can_spburst|variable.can_spburst_soon)
actions.metamorphosis+=/fracture,if=variable.big_aoe&talent.spirit_bomb&(soul_fragments>=2&soul_fragments<=3)
actions.metamorphosis+=/felblade,if=fury<30
actions.metamorphosis+=/soul_sunder,if=!variable.dont_soul_cleave
actions.metamorphosis+=/felblade
actions.metamorphosis+=/fracture
actions.rg_overflow+=/reavers_glaive,if=!buff.rending_strike.up&!buff.glaive_flurry.up
actions.rg_sequence+=/sigil_of_flame,if=(fury<30&!variable.rg_enhance_cleave&buff.rending_strike.up&buff.glaive_flurry.up)
actions.rg_sequence+=/felblade,if=(fury<30&!variable.rg_enhance_cleave&buff.rending_strike.up&buff.glaive_flurry.up)
actions.rg_sequence+=/fracture,if=variable.rg_enhance_cleave&buff.rending_strike.up&buff.glaive_flurry.up|!variable.rg_enhance_cleave&!buff.glaive_flurry.up
actions.rg_sequence+=/shear,if=variable.rg_enhance_cleave&buff.rending_strike.up&buff.glaive_flurry.up|!variable.rg_enhance_cleave&!buff.glaive_flurry.up
actions.rg_sequence+=/soul_cleave,if=!variable.rg_enhance_cleave&buff.glaive_flurry.up&buff.rending_strike.up|variable.rg_enhance_cleave&!buff.rending_strike.up
actions.rg_sequence+=/felblade
actions.rg_sequence+=/fracture,if=!buff.rending_strike.up