diff --git a/engine/class_modules/apl/apl_demon_hunter.cpp b/engine/class_modules/apl/apl_demon_hunter.cpp index 8dbdabb9071..878557fa037 100644 --- a/engine/class_modules/apl/apl_demon_hunter.cpp +++ b/engine/class_modules/apl/apl_demon_hunter.cpp @@ -114,16 +114,16 @@ void devourer( player_t* p ) default_->add_action( "voidblade,if=buff.moment_of_craving.up&(buff.collapsing_star_stacking.at_max_stacks|buff.collapsing_star_stacking.stack+soul_fragments>=buff.collapsing_star_stacking.max_stack)&talent.devourers_bite" ); default_->add_action( "collapsing_star,if=(!cooldown.predators_wake.up&talent.voidrush&!buff.hungering_slash.up&cooldown.voidblade.remains>=6|!talent.voidrush)&variable.should_use_star", "Use CStar after Predators Wake for VS, do not waste Voidblade CDR if possible." ); default_->add_action( "call_action_list,name=reaps,if=(action.reap.souls_consumed>=4&buff.metamorphosis.up|full_recharge_time<=gcd.max)&!talent.voidfall", "Meta Cull Line" ); - default_->add_action( "call_action_list,name=reaps,if=buff.voidfall_spending.react|buff.eradicate.up&active_enemies>1", "Annihilator Reap Line" ); + default_->add_action( "call_action_list,name=reaps,if=buff.voidfall_spending.react|buff.eradicate.up&active_enemies>1&buff.moment_of_craving.remains<=gcd.max|buff.voidfall_spending.stack>=3&prev_gcd.1.void_ray|buff.collapsing_star_stacking.stack+action.reap.souls_consumed>=30&buff.collapsing_star_stacking.stack+action.reap.souls_consumed<=buff.collapsing_star_stacking.max_stack", "Annihilator Reap Line" ); default_->add_action( "call_action_list,name=melee_combo" ); default_->add_action( "soul_immolation,if=active_dot.soul_immolation=0&!buff.metamorphosis.up&active_enemies>1" ); default_->add_action( "collapsing_star,if=variable.should_use_star", "Fall through Star. Do this it's better than Devour." ); - default_->add_action( "call_action_list,name=reaps,if=!buff.metamorphosis.up&buff.moment_of_craving.up" ); + default_->add_action( "call_action_list,name=reaps,if=!buff.metamorphosis.up&buff.moment_of_craving.up&(!talent.voidfall|(talent.voidfall&((buff.voidfall_building.stack<2)|((fury+(action.reap.souls_consumed*4)+(talent.scythes_embrace*10))>=100))))" ); default_->add_action( "devour" ); default_->add_action( "consume" ); illicit_doping->add_action( "invoke_external_buff,name=power_infusion,if=buff.metamorphosis.up&!buff.power_infusion.up" ); - illicit_doping->add_action( "potion,if=buff.metamorphosis.up|fight_remains<=30" ); + illicit_doping->add_action( "potion,if=(buff.metamorphosis.up|fight_remains<=30)&!trinket.2.has_buff.mastery&!trinket.1.has_buff.mastery" ); illicit_doping->add_action( "use_item,slot=trinket1,if=buff.metamorphosis.up&(!trinket.2.has_cooldown|trinket.2.cooldown.remains|variable.trinket_priority=1|variable.trinket_2_exclude)&!variable.trinket_1_manual|trinket.1.proc.any_dps.duration>=fight_remains" ); illicit_doping->add_action( "use_item,slot=trinket2,if=buff.metamorphosis.up&(!trinket.1.has_cooldown|trinket.1.cooldown.remains|variable.trinket_priority=2|variable.trinket_1_exclude)&!variable.trinket_2_manual|trinket.2.proc.any_dps.duration>=fight_remains" ); illicit_doping->add_action( "use_item,slot=main_hand,if=variable.weapon_buffs&(variable.trinket_2_buffs&(trinket.2.cooldown.remains|trinket.2.cooldown.duration<=20)|!variable.trinket_2_buffs|variable.trinket_2_exclude|variable.trinket_priority=3)&(variable.trinket_1_buffs&(trinket.1.cooldown.remains|trinket.1.cooldown.duration<=20)|!variable.trinket_1_buffs|variable.trinket_1_exclude|variable.trinket_priority=3)" ); @@ -131,6 +131,7 @@ void devourer( player_t* p ) illicit_doping->add_action( "use_item,use_off_gcd=1,slot=trinket2,if=!variable.trinket_2_buffs&!variable.trinket_2_manual&(variable.damage_trinket_priority=2|trinket.1.cooldown.remains|trinket.1.is.spymasters_web|trinket.1.cooldown.duration=0)&(gcd.remains>0.1)" ); illicit_doping->add_action( "use_item,slot=trinket1,if=!variable.trinket_1_buffs&!variable.trinket_1_manual&(variable.damage_trinket_priority=1|trinket.2.cooldown.remains|trinket.2.is.spymasters_web|trinket.2.cooldown.duration=0)&(!variable.trinket_1_ogcd_cast)" ); illicit_doping->add_action( "use_item,slot=trinket2,if=!variable.trinket_2_buffs&!variable.trinket_2_manual&(variable.damage_trinket_priority=2|trinket.1.cooldown.remains|trinket.1.is.spymasters_web|trinket.1.cooldown.duration=0)&(!variable.trinket_2_ogcd_cast)" ); + illicit_doping->add_action( "potion,if=(buff.metamorphosis.up|fight_remains<=30)&(trinket.2.has_buff.mastery&!trinket.1.has_buff.mastery)" ); math_for_wizards->add_action( "variable,name=should_use_star,op=set,value=(active_enemies>1|apex.1|buff.dark_matter.up|talent.star_fragments&talent.emptiness),if=talent.collapsing_star" ); diff --git a/engine/class_modules/apl/demon_hunter/devourer.simc b/engine/class_modules/apl/demon_hunter/devourer.simc index 7aef5109885..9ab9bbb5718 100644 --- a/engine/class_modules/apl/demon_hunter/devourer.simc +++ b/engine/class_modules/apl/demon_hunter/devourer.simc @@ -39,17 +39,17 @@ actions+=/collapsing_star,if=(!cooldown.predators_wake.up&talent.voidrush&!buff. # Meta Cull Line actions+=/call_action_list,name=reaps,if=(action.reap.souls_consumed>=4&buff.metamorphosis.up|full_recharge_time<=gcd.max)&!talent.voidfall # Annihilator Reap Line -actions+=/call_action_list,name=reaps,if=buff.voidfall_spending.react|buff.eradicate.up&active_enemies>1 +actions+=/call_action_list,name=reaps,if=buff.voidfall_spending.react|buff.eradicate.up&active_enemies>1&buff.moment_of_craving.remains<=gcd.max|buff.voidfall_spending.stack>=3&prev_gcd.1.void_ray|buff.collapsing_star_stacking.stack+action.reap.souls_consumed>=30&buff.collapsing_star_stacking.stack+action.reap.souls_consumed<=buff.collapsing_star_stacking.max_stack actions+=/call_action_list,name=melee_combo actions+=/soul_immolation,if=active_dot.soul_immolation=0&!buff.metamorphosis.up&active_enemies>1 # Fall through Star. Do this it's better than Devour. actions+=/collapsing_star,if=variable.should_use_star -actions+=/call_action_list,name=reaps,if=!buff.metamorphosis.up&buff.moment_of_craving.up +actions+=/call_action_list,name=reaps,if=!buff.metamorphosis.up&buff.moment_of_craving.up&(!talent.voidfall|(talent.voidfall&((buff.voidfall_building.stack<2)|((fury+(action.reap.souls_consumed*4)+(talent.scythes_embrace*10))>=100)))) actions+=/devour actions+=/consume actions.illicit_doping=invoke_external_buff,name=power_infusion,if=buff.metamorphosis.up&!buff.power_infusion.up -actions.illicit_doping+=/potion,if=buff.metamorphosis.up|fight_remains<=30 +actions.illicit_doping+=/potion,if=(buff.metamorphosis.up|fight_remains<=30)&!trinket.2.has_buff.mastery&!trinket.1.has_buff.mastery actions.illicit_doping+=/use_item,slot=trinket1,if=buff.metamorphosis.up&(!trinket.2.has_cooldown|trinket.2.cooldown.remains|variable.trinket_priority=1|variable.trinket_2_exclude)&!variable.trinket_1_manual|trinket.1.proc.any_dps.duration>=fight_remains actions.illicit_doping+=/use_item,slot=trinket2,if=buff.metamorphosis.up&(!trinket.1.has_cooldown|trinket.1.cooldown.remains|variable.trinket_priority=2|variable.trinket_1_exclude)&!variable.trinket_2_manual|trinket.2.proc.any_dps.duration>=fight_remains actions.illicit_doping+=/use_item,slot=main_hand,if=variable.weapon_buffs&(variable.trinket_2_buffs&(trinket.2.cooldown.remains|trinket.2.cooldown.duration<=20)|!variable.trinket_2_buffs|variable.trinket_2_exclude|variable.trinket_priority=3)&(variable.trinket_1_buffs&(trinket.1.cooldown.remains|trinket.1.cooldown.duration<=20)|!variable.trinket_1_buffs|variable.trinket_1_exclude|variable.trinket_priority=3) @@ -57,6 +57,7 @@ actions.illicit_doping+=/use_item,use_off_gcd=1,slot=trinket1,if=!variable.trink actions.illicit_doping+=/use_item,use_off_gcd=1,slot=trinket2,if=!variable.trinket_2_buffs&!variable.trinket_2_manual&(variable.damage_trinket_priority=2|trinket.1.cooldown.remains|trinket.1.is.spymasters_web|trinket.1.cooldown.duration=0)&(gcd.remains>0.1) actions.illicit_doping+=/use_item,slot=trinket1,if=!variable.trinket_1_buffs&!variable.trinket_1_manual&(variable.damage_trinket_priority=1|trinket.2.cooldown.remains|trinket.2.is.spymasters_web|trinket.2.cooldown.duration=0)&(!variable.trinket_1_ogcd_cast) actions.illicit_doping+=/use_item,slot=trinket2,if=!variable.trinket_2_buffs&!variable.trinket_2_manual&(variable.damage_trinket_priority=2|trinket.1.cooldown.remains|trinket.1.is.spymasters_web|trinket.1.cooldown.duration=0)&(!variable.trinket_2_ogcd_cast) +actions.illicit_doping+=/potion,if=(buff.metamorphosis.up|fight_remains<=30)&(trinket.2.has_buff.mastery&!trinket.1.has_buff.mastery) actions.math_for_wizards=variable,name=should_use_star,op=set,value=(active_enemies>1|apex.1|buff.dark_matter.up|talent.star_fragments&talent.emptiness),if=talent.collapsing_star @@ -71,4 +72,4 @@ actions.melee_combo+=/voidblade,if=(talent.duty_eternal&active_enemies=1|talent. actions.reaps=eradicate actions.reaps+=/cull -actions.reaps+=/reap +actions.reaps+=/reap \ No newline at end of file