Skip to content

Commit

Permalink
[Demon Hunter] Misc APL Updates
Browse files Browse the repository at this point in the history
* Add minor optimization to soul pickup logic as provided by Sacrifer / Robin
* Update Crucible of Flame Rank 3 major logic
* Update Vengeance essence and trinket logic
* Add second potion usage for Vengeance
  • Loading branch information
EvanMichaels committed Aug 18, 2019
1 parent 98db496 commit e243868
Show file tree
Hide file tree
Showing 11 changed files with 87 additions and 30 deletions.
25 changes: 13 additions & 12 deletions engine/class_modules/sc_demon_hunter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5118,7 +5118,7 @@ void demon_hunter_t::apl_havoc()
apl_default->add_action( "variable,name=waiting_for_momentum,value=talent.momentum.enabled&!buff.momentum.up" );
apl_default->add_action( this, "Disrupt" );
apl_default->add_action( "call_action_list,name=cooldown,if=gcd.remains=0" );
apl_default->add_action( "pick_up_fragment,if=fury.deficit>=35" );
apl_default->add_action( "pick_up_fragment,if=fury.deficit>=35&(!azerite.eyes_of_rage.enabled|cooldown.eye_beam.remains>1.4)" );
apl_default->add_action( "call_action_list,name=dark_slash,if=talent.dark_slash.enabled&(variable.waiting_for_dark_slash|debuff.dark_slash.up)" );
apl_default->add_action( "run_action_list,name=demonic,if=talent.demonic.enabled" );
apl_default->add_action( "run_action_list,name=normal" );
Expand All @@ -5132,7 +5132,7 @@ void demon_hunter_t::apl_havoc()
add_havoc_use_items( this, apl_cooldown );

action_priority_list_t* essences = get_action_priority_list( "essences" );
essences->add_action( "concentrated_flame" );
essences->add_action( "concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)" );
essences->add_action( "blood_of_the_enemy,if=buff.metamorphosis.up|target.time_to_die<=10" );
essences->add_action( "guardian_of_azeroth,if=buff.metamorphosis.up|target.time_to_die<=30" );
essences->add_action( "focused_azerite_beam,if=spell_targets.blade_dance1>=2|raid_event.adds.in>60" );
Expand Down Expand Up @@ -5196,18 +5196,9 @@ void demon_hunter_t::apl_vengeance()

apl_default->add_action( "auto_attack" );
apl_default->add_action( this, "Consume Magic" );

// On-use items
for ( auto& item : items )
{
if ( item.has_special_effect( SPECIAL_EFFECT_SOURCE_NONE, SPECIAL_EFFECT_USE ) )
{
apl_default->add_action( "use_item,slot=" + std::string( item.slot_name() ), ",if=!raid_event.adds.exists|active_enemies>1" );
}
}

apl_default->add_action( "call_action_list,name=brand,if=talent.charred_flesh.enabled" );
apl_default->add_action( "call_action_list,name=defensives" );
apl_default->add_action( "call_action_list,name=cooldowns" );
apl_default->add_action( "call_action_list,name=normal" );

action_priority_list_t* apl_defensives = get_action_priority_list( "defensives", "Defensives" );
Expand All @@ -5216,6 +5207,16 @@ void demon_hunter_t::apl_vengeance()
apl_defensives->add_action( this, "Metamorphosis" );
apl_defensives->add_action( this, "Fiery Brand" );

action_priority_list_t* cooldowns = get_action_priority_list( "cooldowns" );
cooldowns->add_action( "potion" );
cooldowns->add_action( "concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)" );
cooldowns->add_action( "worldvein_resonance,if=buff.lifeblood.stack<3" );
cooldowns->add_action( "memory_of_lucid_dreams" );
cooldowns->add_action( "heart_essence", "Default fallback for usable essences." );
cooldowns->add_action( "use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down" );
cooldowns->add_action( "use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down|debuff.conductive_ink_debuff.up&target.health.pct<31|target.time_to_die<20" );
cooldowns->add_action( "use_items", "Default fallback for usable items." );

action_priority_list_t* apl_brand = get_action_priority_list( "brand", "Fiery Brand Rotation" );
apl_brand->add_action( this, "Sigil of Flame", "if=cooldown.fiery_brand.remains<2" );
apl_brand->add_action( this, "Infernal Strike", "if=cooldown.fiery_brand.remains=0" );
Expand Down
6 changes: 3 additions & 3 deletions profiles/DungeonSlice/DS_Demon_Hunter_Havoc.simc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ position=back
talents=1310221

# Default consumables
potion=potion_of_focused_resolve
potion=potion_of_unbridled_fury
flask=greater_flask_of_the_currents
food=famine_evaluator_and_snack_table
augmentation=battle_scarred
Expand Down Expand Up @@ -41,7 +41,7 @@ actions+=/variable,name=waiting_for_dark_slash,value=talent.dark_slash.enabled&!
actions+=/variable,name=waiting_for_momentum,value=talent.momentum.enabled&!buff.momentum.up
actions+=/disrupt
actions+=/call_action_list,name=cooldown,if=gcd.remains=0
actions+=/pick_up_fragment,if=fury.deficit>=35
actions+=/pick_up_fragment,if=fury.deficit>=35&(!azerite.eyes_of_rage.enabled|cooldown.eye_beam.remains>1.4)
actions+=/call_action_list,name=dark_slash,if=talent.dark_slash.enabled&(variable.waiting_for_dark_slash|debuff.dark_slash.up)
actions+=/run_action_list,name=demonic,if=talent.demonic.enabled
actions+=/run_action_list,name=normal
Expand Down Expand Up @@ -78,7 +78,7 @@ actions.demonic+=/fel_rush,if=movement.distance>15|buff.out_of_range.up
actions.demonic+=/vengeful_retreat,if=movement.distance>15
actions.demonic+=/throw_glaive,if=talent.demon_blades.enabled

actions.essences=concentrated_flame
actions.essences=concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.essences+=/blood_of_the_enemy,if=buff.metamorphosis.up|target.time_to_die<=10
actions.essences+=/guardian_of_azeroth,if=buff.metamorphosis.up|target.time_to_die<=30
actions.essences+=/focused_azerite_beam,if=spell_targets.blade_dance1>=2|raid_event.adds.in>60
Expand Down
12 changes: 12 additions & 0 deletions profiles/DungeonSlice/DS_Demon_Hunter_Vengeance.simc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ actions=auto_attack
actions+=/consume_magic
actions+=/call_action_list,name=brand,if=talent.charred_flesh.enabled
actions+=/call_action_list,name=defensives
actions+=/call_action_list,name=cooldowns
actions+=/call_action_list,name=normal

# Fiery Brand Rotation
Expand All @@ -45,6 +46,17 @@ actions.brand+=/fel_devastation,if=dot.fiery_brand.ticking
actions.brand+=/infernal_strike,if=dot.fiery_brand.ticking
actions.brand+=/sigil_of_flame,if=dot.fiery_brand.ticking

actions.cooldowns=potion
actions.cooldowns+=/concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.cooldowns+=/worldvein_resonance,if=buff.lifeblood.stack<3
actions.cooldowns+=/memory_of_lucid_dreams
# Default fallback for usable essences.
actions.cooldowns+=/heart_essence
actions.cooldowns+=/use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down
actions.cooldowns+=/use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down|debuff.conductive_ink_debuff.up&target.health.pct<31|target.time_to_die<20
# Default fallback for usable items.
actions.cooldowns+=/use_items

# Defensives
actions.defensives=demon_spikes
actions.defensives+=/metamorphosis
Expand Down
6 changes: 3 additions & 3 deletions profiles/PreRaids/PR_Demon_Hunter_Havoc.simc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ position=back
talents=3210222

# Default consumables
potion=potion_of_focused_resolve
potion=potion_of_unbridled_fury
flask=greater_flask_of_the_currents
food=famine_evaluator_and_snack_table
augmentation=battle_scarred
Expand Down Expand Up @@ -41,7 +41,7 @@ actions+=/variable,name=waiting_for_dark_slash,value=talent.dark_slash.enabled&!
actions+=/variable,name=waiting_for_momentum,value=talent.momentum.enabled&!buff.momentum.up
actions+=/disrupt
actions+=/call_action_list,name=cooldown,if=gcd.remains=0
actions+=/pick_up_fragment,if=fury.deficit>=35
actions+=/pick_up_fragment,if=fury.deficit>=35&(!azerite.eyes_of_rage.enabled|cooldown.eye_beam.remains>1.4)
actions+=/call_action_list,name=dark_slash,if=talent.dark_slash.enabled&(variable.waiting_for_dark_slash|debuff.dark_slash.up)
actions+=/run_action_list,name=demonic,if=talent.demonic.enabled
actions+=/run_action_list,name=normal
Expand Down Expand Up @@ -78,7 +78,7 @@ actions.demonic+=/fel_rush,if=movement.distance>15|buff.out_of_range.up
actions.demonic+=/vengeful_retreat,if=movement.distance>15
actions.demonic+=/throw_glaive,if=talent.demon_blades.enabled

actions.essences=concentrated_flame
actions.essences=concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.essences+=/blood_of_the_enemy,if=buff.metamorphosis.up|target.time_to_die<=10
actions.essences+=/guardian_of_azeroth,if=buff.metamorphosis.up|target.time_to_die<=30
actions.essences+=/focused_azerite_beam,if=spell_targets.blade_dance1>=2|raid_event.adds.in>60
Expand Down
16 changes: 12 additions & 4 deletions profiles/PreRaids/PR_Demon_Hunter_Vengeance.simc
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,9 @@ actions.precombat+=/use_item,name=azsharas_font_of_power
# Executed every time the actor is available.
actions=auto_attack
actions+=/consume_magic
# ,if=!raid_event.adds.exists|active_enemies>1
actions+=/use_item,slot=trinket1
# ,if=!raid_event.adds.exists|active_enemies>1
actions+=/use_item,slot=trinket2
actions+=/call_action_list,name=brand,if=talent.charred_flesh.enabled
actions+=/call_action_list,name=defensives
actions+=/call_action_list,name=cooldowns
actions+=/call_action_list,name=normal

# Fiery Brand Rotation
Expand All @@ -49,6 +46,17 @@ actions.brand+=/fel_devastation,if=dot.fiery_brand.ticking
actions.brand+=/infernal_strike,if=dot.fiery_brand.ticking
actions.brand+=/sigil_of_flame,if=dot.fiery_brand.ticking

actions.cooldowns=potion
actions.cooldowns+=/concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.cooldowns+=/worldvein_resonance,if=buff.lifeblood.stack<3
actions.cooldowns+=/memory_of_lucid_dreams
# Default fallback for usable essences.
actions.cooldowns+=/heart_essence
actions.cooldowns+=/use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down
actions.cooldowns+=/use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down|debuff.conductive_ink_debuff.up&target.health.pct<31|target.time_to_die<20
# Default fallback for usable items.
actions.cooldowns+=/use_items

# Defensives
actions.defensives=demon_spikes
actions.defensives+=/metamorphosis
Expand Down
6 changes: 3 additions & 3 deletions profiles/Tier22/T22_Demon_Hunter_Havoc.simc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ position=back
talents=3210222

# Default consumables
potion=potion_of_focused_resolve
potion=potion_of_unbridled_fury
flask=greater_flask_of_the_currents
food=famine_evaluator_and_snack_table
augmentation=battle_scarred
Expand Down Expand Up @@ -41,7 +41,7 @@ actions+=/variable,name=waiting_for_dark_slash,value=talent.dark_slash.enabled&!
actions+=/variable,name=waiting_for_momentum,value=talent.momentum.enabled&!buff.momentum.up
actions+=/disrupt
actions+=/call_action_list,name=cooldown,if=gcd.remains=0
actions+=/pick_up_fragment,if=fury.deficit>=35
actions+=/pick_up_fragment,if=fury.deficit>=35&(!azerite.eyes_of_rage.enabled|cooldown.eye_beam.remains>1.4)
actions+=/call_action_list,name=dark_slash,if=talent.dark_slash.enabled&(variable.waiting_for_dark_slash|debuff.dark_slash.up)
actions+=/run_action_list,name=demonic,if=talent.demonic.enabled
actions+=/run_action_list,name=normal
Expand Down Expand Up @@ -78,7 +78,7 @@ actions.demonic+=/fel_rush,if=movement.distance>15|buff.out_of_range.up
actions.demonic+=/vengeful_retreat,if=movement.distance>15
actions.demonic+=/throw_glaive,if=talent.demon_blades.enabled

actions.essences=concentrated_flame
actions.essences=concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.essences+=/blood_of_the_enemy,if=buff.metamorphosis.up|target.time_to_die<=10
actions.essences+=/guardian_of_azeroth,if=buff.metamorphosis.up|target.time_to_die<=30
actions.essences+=/focused_azerite_beam,if=spell_targets.blade_dance1>=2|raid_event.adds.in>60
Expand Down
12 changes: 12 additions & 0 deletions profiles/Tier22/T22_Demon_Hunter_Vengeance.simc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ actions=auto_attack
actions+=/consume_magic
actions+=/call_action_list,name=brand,if=talent.charred_flesh.enabled
actions+=/call_action_list,name=defensives
actions+=/call_action_list,name=cooldowns
actions+=/call_action_list,name=normal

# Fiery Brand Rotation
Expand All @@ -45,6 +46,17 @@ actions.brand+=/fel_devastation,if=dot.fiery_brand.ticking
actions.brand+=/infernal_strike,if=dot.fiery_brand.ticking
actions.brand+=/sigil_of_flame,if=dot.fiery_brand.ticking

actions.cooldowns=potion
actions.cooldowns+=/concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.cooldowns+=/worldvein_resonance,if=buff.lifeblood.stack<3
actions.cooldowns+=/memory_of_lucid_dreams
# Default fallback for usable essences.
actions.cooldowns+=/heart_essence
actions.cooldowns+=/use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down
actions.cooldowns+=/use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down|debuff.conductive_ink_debuff.up&target.health.pct<31|target.time_to_die<20
# Default fallback for usable items.
actions.cooldowns+=/use_items

# Defensives
actions.defensives=demon_spikes
actions.defensives+=/metamorphosis
Expand Down
6 changes: 3 additions & 3 deletions profiles/Tier23/T23_Demon_Hunter_Havoc.simc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ position=back
talents=1310221

# Default consumables
potion=potion_of_focused_resolve
potion=potion_of_unbridled_fury
flask=greater_flask_of_the_currents
food=famine_evaluator_and_snack_table
augmentation=battle_scarred
Expand Down Expand Up @@ -41,7 +41,7 @@ actions+=/variable,name=waiting_for_dark_slash,value=talent.dark_slash.enabled&!
actions+=/variable,name=waiting_for_momentum,value=talent.momentum.enabled&!buff.momentum.up
actions+=/disrupt
actions+=/call_action_list,name=cooldown,if=gcd.remains=0
actions+=/pick_up_fragment,if=fury.deficit>=35
actions+=/pick_up_fragment,if=fury.deficit>=35&(!azerite.eyes_of_rage.enabled|cooldown.eye_beam.remains>1.4)
actions+=/call_action_list,name=dark_slash,if=talent.dark_slash.enabled&(variable.waiting_for_dark_slash|debuff.dark_slash.up)
actions+=/run_action_list,name=demonic,if=talent.demonic.enabled
actions+=/run_action_list,name=normal
Expand Down Expand Up @@ -78,7 +78,7 @@ actions.demonic+=/fel_rush,if=movement.distance>15|buff.out_of_range.up
actions.demonic+=/vengeful_retreat,if=movement.distance>15
actions.demonic+=/throw_glaive,if=talent.demon_blades.enabled

actions.essences=concentrated_flame
actions.essences=concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.essences+=/blood_of_the_enemy,if=buff.metamorphosis.up|target.time_to_die<=10
actions.essences+=/guardian_of_azeroth,if=buff.metamorphosis.up|target.time_to_die<=30
actions.essences+=/focused_azerite_beam,if=spell_targets.blade_dance1>=2|raid_event.adds.in>60
Expand Down
12 changes: 12 additions & 0 deletions profiles/Tier23/T23_Demon_Hunter_Vengeance.simc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ actions=auto_attack
actions+=/consume_magic
actions+=/call_action_list,name=brand,if=talent.charred_flesh.enabled
actions+=/call_action_list,name=defensives
actions+=/call_action_list,name=cooldowns
actions+=/call_action_list,name=normal

# Fiery Brand Rotation
Expand All @@ -45,6 +46,17 @@ actions.brand+=/fel_devastation,if=dot.fiery_brand.ticking
actions.brand+=/infernal_strike,if=dot.fiery_brand.ticking
actions.brand+=/sigil_of_flame,if=dot.fiery_brand.ticking

actions.cooldowns=potion
actions.cooldowns+=/concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.cooldowns+=/worldvein_resonance,if=buff.lifeblood.stack<3
actions.cooldowns+=/memory_of_lucid_dreams
# Default fallback for usable essences.
actions.cooldowns+=/heart_essence
actions.cooldowns+=/use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down
actions.cooldowns+=/use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down|debuff.conductive_ink_debuff.up&target.health.pct<31|target.time_to_die<20
# Default fallback for usable items.
actions.cooldowns+=/use_items

# Defensives
actions.defensives=demon_spikes
actions.defensives+=/metamorphosis
Expand Down
4 changes: 2 additions & 2 deletions profiles/Tier24/T24_Demon_Hunter_Havoc.simc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ actions+=/variable,name=waiting_for_dark_slash,value=talent.dark_slash.enabled&!
actions+=/variable,name=waiting_for_momentum,value=talent.momentum.enabled&!buff.momentum.up
actions+=/disrupt
actions+=/call_action_list,name=cooldown,if=gcd.remains=0
actions+=/pick_up_fragment,if=fury.deficit>=35
actions+=/pick_up_fragment,if=fury.deficit>=35&(!azerite.eyes_of_rage.enabled|cooldown.eye_beam.remains>1.4)
actions+=/call_action_list,name=dark_slash,if=talent.dark_slash.enabled&(variable.waiting_for_dark_slash|debuff.dark_slash.up)
actions+=/run_action_list,name=demonic,if=talent.demonic.enabled
actions+=/run_action_list,name=normal
Expand Down Expand Up @@ -79,7 +79,7 @@ actions.demonic+=/fel_rush,if=movement.distance>15|buff.out_of_range.up
actions.demonic+=/vengeful_retreat,if=movement.distance>15
actions.demonic+=/throw_glaive,if=talent.demon_blades.enabled

actions.essences=concentrated_flame
actions.essences=concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.essences+=/blood_of_the_enemy,if=buff.metamorphosis.up|target.time_to_die<=10
actions.essences+=/guardian_of_azeroth,if=buff.metamorphosis.up|target.time_to_die<=30
actions.essences+=/focused_azerite_beam,if=spell_targets.blade_dance1>=2|raid_event.adds.in>60
Expand Down
12 changes: 12 additions & 0 deletions profiles/Tier24/T24_Demon_Hunter_Vengeance.simc
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ actions=auto_attack
actions+=/consume_magic
actions+=/call_action_list,name=brand,if=talent.charred_flesh.enabled
actions+=/call_action_list,name=defensives
actions+=/call_action_list,name=cooldowns
actions+=/call_action_list,name=normal

# Fiery Brand Rotation
Expand All @@ -45,6 +46,17 @@ actions.brand+=/fel_devastation,if=dot.fiery_brand.ticking
actions.brand+=/infernal_strike,if=dot.fiery_brand.ticking
actions.brand+=/sigil_of_flame,if=dot.fiery_brand.ticking

actions.cooldowns=potion
actions.cooldowns+=/concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight|full_recharge_time<gcd.max)
actions.cooldowns+=/worldvein_resonance,if=buff.lifeblood.stack<3
actions.cooldowns+=/memory_of_lucid_dreams
# Default fallback for usable essences.
actions.cooldowns+=/heart_essence
actions.cooldowns+=/use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down
actions.cooldowns+=/use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down|debuff.conductive_ink_debuff.up&target.health.pct<31|target.time_to_die<20
# Default fallback for usable items.
actions.cooldowns+=/use_items

# Defensives
actions.defensives=demon_spikes
actions.defensives+=/metamorphosis
Expand Down

0 comments on commit e243868

Please sign in to comment.