Skip to content

Commit

Permalink
Merge pull request #4016 from Hekili/11.0.5
Browse files Browse the repository at this point in the history
Merge 11.0.5 to main
  • Loading branch information
Hekili authored Oct 23, 2024
2 parents d04e7dc + 695eadf commit 1645f43
Show file tree
Hide file tree
Showing 80 changed files with 50,998 additions and 3,773 deletions.
2 changes: 1 addition & 1 deletion Hekili.toc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Interface: 110002
## Interface: 110005
## Version: @project-version@
## Title: Hekili
## Author: Hekili
Expand Down
165 changes: 105 additions & 60 deletions Options.lua

Large diffs are not rendered by default.

294 changes: 158 additions & 136 deletions TheWarWithin/DeathKnightBlood.lua

Large diffs are not rendered by default.

277 changes: 141 additions & 136 deletions TheWarWithin/DeathKnightFrost.lua

Large diffs are not rendered by default.

243 changes: 121 additions & 122 deletions TheWarWithin/DeathKnightUnholy.lua

Large diffs are not rendered by default.

255 changes: 127 additions & 128 deletions TheWarWithin/DemonHunterHavoc.lua

Large diffs are not rendered by default.

255 changes: 118 additions & 137 deletions TheWarWithin/DemonHunterVengeance.lua

Large diffs are not rendered by default.

852 changes: 852 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DeathKnightBlood.diff

Large diffs are not rendered by default.

918 changes: 918 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DeathKnightFrost.diff

Large diffs are not rendered by default.

1,298 changes: 1,298 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DeathKnightUnholy.diff

Large diffs are not rendered by default.

1,098 changes: 1,098 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DemonHunterHavoc.diff

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2,963 changes: 2,963 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DruidBalance.diff

Large diffs are not rendered by default.

2,351 changes: 2,351 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DruidFeral.diff

Large diffs are not rendered by default.

1,673 changes: 1,673 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DruidGuardian.diff

Large diffs are not rendered by default.

2,082 changes: 2,082 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_DruidRestoration.diff

Large diffs are not rendered by default.

Large diffs are not rendered by default.

788 changes: 788 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_EvokerDevastation.diff

Large diffs are not rendered by default.

Large diffs are not rendered by default.

1,320 changes: 1,320 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_HunterBeastMastery.diff

Large diffs are not rendered by default.

1,999 changes: 1,999 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_HunterMarksmanship.diff

Large diffs are not rendered by default.

1,596 changes: 1,596 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_HunterSurvival.diff

Large diffs are not rendered by default.

1,907 changes: 1,907 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_MageArcane.diff

Large diffs are not rendered by default.

1,909 changes: 1,909 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_MageFire.diff

Large diffs are not rendered by default.

1,745 changes: 1,745 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_MageFrost.diff

Large diffs are not rendered by default.

1,034 changes: 1,034 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_MonkBrewmaster.diff

Large diffs are not rendered by default.

1,483 changes: 1,483 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_MonkMistweaver.diff

Large diffs are not rendered by default.

946 changes: 946 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_MonkWindwalker.diff

Large diffs are not rendered by default.

2,096 changes: 2,096 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_PaladinHoly.diff

Large diffs are not rendered by default.

1,966 changes: 1,966 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_PaladinProtection.diff

Large diffs are not rendered by default.

2,718 changes: 2,718 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_PaladinRetribution.diff

Large diffs are not rendered by default.

1,420 changes: 1,420 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_PriestDiscipline.diff

Large diffs are not rendered by default.

1,507 changes: 1,507 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_PriestHoly.diff

Large diffs are not rendered by default.

1,696 changes: 1,696 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_PriestShadow.diff

Large diffs are not rendered by default.

1,876 changes: 1,876 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_RogueAssassination.diff

Large diffs are not rendered by default.

1,179 changes: 1,179 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_RogueOutlaw.diff

Large diffs are not rendered by default.

2,524 changes: 2,524 additions & 0 deletions TheWarWithin/Diffs/11.0.2.55763_to_11.0.5.56865_RogueSubtlety.diff

Large diffs are not rendered by default.

339 changes: 169 additions & 170 deletions TheWarWithin/DruidBalance.lua

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions TheWarWithin/DruidFeral.lua

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion TheWarWithin/DruidGuardian.lua
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,7 @@ spec:RegisterAuras( {
},
ravage = {
id = 441602,
duration = 15,
duration = 20,
max_stack = 1
},
-- Heals $w2 every $t2 sec.
Expand Down
89 changes: 48 additions & 41 deletions TheWarWithin/DruidRestoration.lua

Large diffs are not rendered by default.

253 changes: 126 additions & 127 deletions TheWarWithin/EvokerAugmentation.lua

Large diffs are not rendered by default.

268 changes: 134 additions & 134 deletions TheWarWithin/EvokerDevastation.lua

Large diffs are not rendered by default.

69 changes: 34 additions & 35 deletions TheWarWithin/EvokerPreservation.lua

Large diffs are not rendered by default.

535 changes: 264 additions & 271 deletions TheWarWithin/HunterBeastMastery.lua

Large diffs are not rendered by default.

512 changes: 241 additions & 271 deletions TheWarWithin/HunterMarksmanship.lua

Large diffs are not rendered by default.

358 changes: 191 additions & 167 deletions TheWarWithin/HunterSurvival.lua

Large diffs are not rendered by default.

153 changes: 85 additions & 68 deletions TheWarWithin/MageArcane.lua

Large diffs are not rendered by default.

125 changes: 92 additions & 33 deletions TheWarWithin/MageFire.lua

Large diffs are not rendered by default.

23 changes: 14 additions & 9 deletions TheWarWithin/MageFrost.lua

Large diffs are not rendered by default.

60 changes: 30 additions & 30 deletions TheWarWithin/PriestDiscipline.lua

Large diffs are not rendered by default.

60 changes: 30 additions & 30 deletions TheWarWithin/PriestHoly.lua

Large diffs are not rendered by default.

120 changes: 52 additions & 68 deletions TheWarWithin/PriestShadow.lua

Large diffs are not rendered by default.

42 changes: 22 additions & 20 deletions TheWarWithin/Priorities/DeathKnightFrost.simc

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions TheWarWithin/Priorities/DeathKnightUnholy.simc
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,8 @@ actions.trinkets+=/use_item,slot=trinket1,if=!variable.trinket_1_buffs&(variable
actions.trinkets+=/use_item,slot=trinket2,if=!variable.trinket_2_buffs&(variable.damage_trinket_priority=2|trinket.1.cooldown.remains|!trinket.1.has_cooldown|!talent.summon_gargoyle&!talent.army_of_the_dead&!talent.raise_abomination|!talent.summon_gargoyle&talent.army_of_the_dead&(!talent.raise_abomination&cooldown.army_of_the_dead.remains>20|talent.raise_abomination&cooldown.raise_abomination.remains>20)|!talent.summon_gargoyle&!talent.army_of_the_dead&!talent.raise_abomination&cooldown.dark_transformation.remains>20|talent.summon_gargoyle&cooldown.summon_gargoyle.remains>20&!pet.gargoyle.active)|boss&fight_remains<15

# Variables
actions.variables+=/variable,name=st_planning,op=setif,value=1,value_else=0,condition=active_enemies=1&(!raid_event.adds.exists|raid_event.adds.in>15)
actions.variables+=/variable,name=adds_remain,op=setif,value=1,value_else=0,condition=active_enemies>=2&(!raid_event.adds.exists&fight_remains>6|raid_event.adds.exists&raid_event.adds.remains>6)
actions.variables+=/variable,name=st_planning,op=setif,value=1,value_else=0,condition=active_enemies=1
actions.variables+=/variable,name=adds_remain,op=setif,value=1,value_else=0,condition=active_enemies>1
actions.variables+=/variable,name=apoc_timing,op=setif,value=3,value_else=0,condition=cooldown.apocalypse.remains<5&debuff.festering_wound.stack<1&cooldown.unholy_assault.remains>5
actions.variables+=/variable,name=pop_wounds,op=setif,value=1,value_else=0,condition=(cooldown.apocalypse.remains>variable.apoc_timing|!talent.apocalypse)&(debuff.festering_wound.stack>=1&cooldown.unholy_assault.remains<20&talent.unholy_assault&variable.st_planning|debuff.rotten_touch.up&debuff.festering_wound.stack>=1|debuff.festering_wound.stack>=4-pet.abomination.active)|fight_remains<5&debuff.festering_wound.stack>=1
actions.variables+=/variable,name=pooling_runic_power,op=setif,value=1,value_else=0,condition=talent.vile_contagion&cooldown.vile_contagion.remains<5&runic_power<30
Expand Down
6 changes: 3 additions & 3 deletions TheWarWithin/Priorities/DruidBalance.simc
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ actions.precombat+=/variable,name=on_use_trinket,value=0
actions.precombat+=/variable,name=on_use_trinket,op=add,value=(trinket.1.has_proc&trinket.1.cooldown.duration|trinket.1.is.spymasters_web|trinket.1.is.signet_of_the_priory)&!trinket.1.is.arakara_sacbrood
actions.precombat+=/variable,name=on_use_trinket,op=add,value=((trinket.2.has_proc&trinket.2.cooldown.duration|trinket.2.is.spymasters_web|trinket.2.is.signet_of_the_priory)*2&!trinket.2.is.arakara_sacbrood)
## Regrowth to stack for Keeper of the Grove...
actions.precombat+=/regrowth,line_cd=15,if=hero_tree.keeper_of_the_grove&!talent.stellar_flare
actions.precombat+=/wrath,line_cd=15,if=!prev.1.wrath
actions.precombat+=/regrowth,if=hero_tree.keeper_of_the_grove&!talent.stellar_flare&active_dot.regrowth=0
actions.precombat+=/wrath,if=!prev.1.wrath
actions.precombat+=/wrath,if=prev.1.wrath&!(prev.2.wrath|prev.3.wrath|prev.4.wrath)
actions.precombat+=/starfire,if=!talent.stellar_flare&hero_tree.elunes_chosen
actions.precombat+=/stellar_flare
Expand All @@ -15,7 +15,7 @@ actions+=/solar_beam
actions+=/variable,name=passive_asp,value=6%spell_haste+talent.natures_balance+talent.orbit_breaker*dot.moonfire.ticking*(buff.orbit_breaker.stack>(27-2*buff.solstice.up))*24
actions+=/variable,name=ca_effective_cd,value=cooldown.ca_inc.remains<?cooldown.force_of_nature.remains
actions+=/variable,name=last_ca_inc,value=boss&fight_remains<cooldown.ca_inc.duration+variable.ca_effective_cd
actions+=/variable,name=cd_condition,value=(fight_remains<(15+5*talent.incarnation_chosen_of_elune)*(1+talent.greater_alignment*0.4)|target.time_to_die>10&(!hero_tree.keeper_of_the_grove|(buff.harmony_of_the_grove.up|cooldown.force_of_nature.remains>25)))&cooldown.ca_inc.ready
actions+=/variable,name=cd_condition,value=(fight_remains<(15+5*talent.incarnation_chosen_of_elune)*(1-talent.whirling_stars*0.2)|fight_remains>10&(!hero_tree.keeper_of_the_grove|(buff.harmony_of_the_grove.up&cooldown.convoke_the_spirits.remains<60&(!talent.new_moon|cooldown.new_moon.charges_fractional>=2)))&(!talent.whirling_stars|!talent.convoke_the_spirits|talent.whirling_stars&cooldown.convoke_the_spirits.remains<gcd.max*2|cooldown.convoke_the_spirits.remains>cooldown.ca_inc.full_recharge_time))&cooldown.ca_inc.ready&!buff.ca_inc.up
actions+=/use_item,name=aberrant_spellforge
## actions+=/do_treacherous_transmitter_task,if=cooldown.ca_inc.remains>10
actions+=/use_item,name=spymasters_web,if=variable.cd_condition&(buff.spymasters_report.stack>29|fight_remains<cooldown.ca_inc.duration)|boss&fight_remains<20
Expand Down
20 changes: 9 additions & 11 deletions TheWarWithin/Priorities/DruidFeral.simc
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,17 @@ actions+=/regrowth,if=buff.predatory_swiftness.up&variable.regrowth&selection_ti
actions.aoe_builder+=/variable,name=proccing_bt,op=set,value=variable.need_bt
# maintain thrash highest prio
actions.aoe_builder+=/thrash_cat,if=refreshable&!talent.thrashing_claws&!(variable.need_bt&buff.bt_thrash.up)
# avoid capping brs charges. Also send brutal slashes in aoe, even if we need to proc bloodtalons, during berserk.
# avoid capping brs charges. Also send brutal slashes/ws swipe in aoe, even if we need to proc bloodtalons, during berserk.
actions.aoe_builder+=/brutal_slash,cycle_targets=1,if=(cooldown.brutal_slash.full_recharge_time<4|time_to_die<4|raid_event.adds.remains<4|(buff.bs_inc.up&spell_targets>=3-hero_tree.druid_of_the_claw))&!(variable.need_bt&buff.bt_swipe.up&(buff.bs_inc.down|spell_targets<3-hero_tree.druid_of_the_claw))
actions.aoe_builder+=/swipe_cat,if=talent.wild_slashes&(time_to_die<4|raid_event.adds.remains<4|buff.bs_inc.up&spell_targets>=3-hero_tree.druid_of_the_claw)&!(variable.need_bt&buff.bt_swipe.up&(buff.bs_inc.down|spell_targets<3-hero_tree.druid_of_the_claw))
# with wild slashes we swipe at 5+ targets over raking/moonfire
actions.aoe_builder+=/swipe_cat,if=time_to_die<4|(talent.wild_slashes&spell_targets.swipe_cat>4&!(variable.need_bt&buff.bt_swipe.up))
actions.aoe_builder+=/prowl,if=dot.rake.refreshable|dot.rake.pmultiplier<1.4&!(variable.need_bt&buff.bt_rake.up)&action.rake.ready&gcd.remains=0&!buff.sudden_ambush.up&!variable.cc_capped
actions.aoe_builder+=/shadowmeld,if=dot.rake.refreshable|dot.rake.pmultiplier<1.4&!(variable.need_bt&buff.bt_rake.up)&action.rake.ready&!buff.sudden_ambush.up&!buff.prowl.up&!variable.cc_capped
# dcr rake > moonfire
actions.aoe_builder+=/rake,cycle_targets=1,if=refreshable&talent.doubleclawed_rake&!(variable.need_bt&buff.bt_rake.up)&!variable.cc_capped
# at 4t with wild slashes, swipe is better than moonfiring
actions.aoe_builder+=/swipe_cat,if=talent.wild_slashes&spell_targets.swipe_cat>3&!(variable.need_bt&buff.bt_swipe.up)
# at 3t with wild slashes, swipe is better than moonfiring/st rake
actions.aoe_builder+=/swipe_cat,if=talent.wild_slashes&spell_targets.swipe_cat>2&!(variable.need_bt&buff.bt_swipe.up)
# li moonfire is better than non-dcr rake in aoe
actions.aoe_builder+=/moonfire_cat,cycle_targets=1,if=refreshable&!(variable.need_bt&buff.bt_moonfire.up)&!variable.cc_capped
actions.aoe_builder+=/rake,cycle_targets=1,if=refreshable&!(variable.need_bt&buff.bt_rake.up)&!variable.cc_capped
Expand Down Expand Up @@ -76,9 +77,6 @@ actions.builder+=/shred,if=buff.clearcasting.up&!(variable.need_bt&buff.bt_shred
# pool energy if we need to refresh dot in the next 1.5s [Hekili] TODO: Sim character to see how frequently this fires, determine if `wait` value should be adjusted.
actions.builder+=/pool_resource,wait=0.2,if=variable.dot_refresh_soon&energy.deficit>70&!variable.need_bt&!buff.bs_inc.up&cooldown.tigers_fury.remains>3
actions.builder+=/brutal_slash,if=!(variable.need_bt&buff.bt_swipe.up)
actions.builder+=/swipe_cat,if=talent.wild_slashes&!(variable.need_bt&buff.bt_swipe.up)
# moonfire filler over shred if we wont downgrade its snapshot
actions.builder+=/moonfire_cat,if=!(variable.need_bt&buff.bt_moonfire.up)&!(variable.moonfire_snapshotted&buff.tigers_fury.down)
actions.builder+=/shred,if=!(variable.need_bt&buff.bt_shred.up)
actions.builder+=/swipe_cat,if=variable.need_bt&buff.bt_swipe.down
# clip rake for bt if it wont downgrade its snapshot
Expand All @@ -88,18 +86,18 @@ actions.builder+=/thrash_cat,if=variable.need_bt&buff.bt_thrash.down

actions.cooldown+=/incarnation,if=fight_remains>17|boss
# non-stat on use trinkets get used on cooldown, so long as it wont interfere with a stat on-use trinket
actions.cooldown+=/use_item,slot=trinket1,if=(trinket.1.has_use_damage|trinket.1.is.twin_fang_instruments|trinket.1.is.sikrans_endless_arsenal)&(trinket.2.cooldown.remains>20|!variable.trinket_2_buffs|trinket.2.cooldown.remains&cooldown.tigers_fury.remains>20)
actions.cooldown+=/use_item,slot=trinket2,if=(trinket.2.has_use_damage|trinket.2.is.twin_fang_instruments|trinket.2.is.sikrans_endless_arsenal)&(trinket.1.cooldown.remains>20|!variable.trinket_1_buffs|trinket.1.cooldown.remains&cooldown.tigers_fury.remains>20)
actions.cooldown+=/use_item,slot=trinket1,if=trinket.1.has_use_damage&(trinket.2.cooldown.remains>20|!variable.trinket_2_buffs)
actions.cooldown+=/use_item,slot=trinket2,if=trinket.2.has_use_damage&(trinket.1.cooldown.remains>20|!variable.trinket_1_buffs)
# berserk with tigers fury
actions.cooldown+=/berserk,if=buff.tigers_fury.up&(fight_remains>12|boss)
actions.cooldown+=/berserking,if=buff.bs_inc.up
# todo make last set of cds line up again now that we know potions.remains is the syntax
actions.cooldown+=/potion,if=buff.bs_inc.up|boss&fight_remains<32|(!variable.lastzerk&variable.lastconvoke&cooldown.convoke_the_spirits.remains<10)
# non trinket gear-on-uses have variable rules on whether or not they trigger the trinket shared CD. For the cases they do we will need specific APL entries. For now just use on cooldown.
actions.cooldown+=/use_items
# stat on-use trinkets, prefers trinket with higher priority. reads like this: berserk is up OR if tigers fury up & convoke is either ready, wont be for the next tf, or the other trinket will be ready in time for convoke. If we dont have convoke, then we use if berserk wont be up for next tf or other trinket will be up for berserk.
actions.cooldown+=/use_item,slot=trinket1,if=variable.trinket_1_buffs&(buff.bs_inc.up|((buff.tigers_fury.up&cooldown.tigers_fury.remains>20)&(cooldown.convoke_the_spirits.remains<4|cooldown.convoke_the_spirits.remains>45|(variable.trinket_2_buffs&cooldown.convoke_the_spirits.remains-trinket.2.cooldown.remains>0)|!talent.convoke_the_spirits&(cooldown.bs_inc.remains>40|cooldown.bs_inc.remains-trinket.2.cooldown.remains>0))))&(!trinket.2.has_cooldown|trinket.2.cooldown.remains|variable.trinket_priority=1)|trinket.1.proc.any_dps.duration>=fight_remains&boss
actions.cooldown+=/use_item,slot=trinket2,if=variable.trinket_2_buffs&(buff.bs_inc.up|((buff.tigers_fury.up&cooldown.tigers_fury.remains>20)&(cooldown.convoke_the_spirits.remains<4|cooldown.convoke_the_spirits.remains>45|(variable.trinket_1_buffs&cooldown.convoke_the_spirits.remains-trinket.1.cooldown.remains>0)|!talent.convoke_the_spirits&(cooldown.bs_inc.remains>40|cooldown.bs_inc.remains-trinket.1.cooldown.remains>0))))&(!trinket.1.has_cooldown|trinket.1.cooldown.remains|variable.trinket_priority=2)|trinket.2.proc.any_dps.duration>=fight_remains&boss
# stat on-use trinkets, prefers trinket with higher priority.
actions.cooldown+=/use_item,slot=trinket1,if=variable.trinket_1_buffs&(buff.bs_inc.up|((buff.tigers_fury.up&cooldown.tigers_fury.remains>25)&(cooldown.convoke_the_spirits.remains<6|(variable.trinket_2_buffs&cooldown.convoke_the_spirits.remains-trinket.2.cooldown.remains>0)|!talent.convoke_the_spirits&cooldown.bs_inc.remains-trinket.2.cooldown.remains>0)))&(!trinket.2.has_cooldown|trinket.2.cooldown.remains|variable.trinket_priority=1)|trinket.1.proc.any_dps.duration>=fight_remains&boss
actions.cooldown+=/use_item,slot=trinket2,if=variable.trinket_2_buffs&(buff.bs_inc.up|((buff.tigers_fury.up&cooldown.tigers_fury.remains>25)&(cooldown.convoke_the_spirits.remains<6|(variable.trinket_1_buffs&cooldown.convoke_the_spirits.remains-trinket.1.cooldown.remains>0)|!talent.convoke_the_spirits&cooldown.bs_inc.remains-trinket.1.cooldown.remains>0)))&(!trinket.1.has_cooldown|trinket.1.cooldown.remains|variable.trinket_priority=2)|trinket.2.proc.any_dps.duration>=fight_remains&boss
## actions.cooldown+=/do_treacherous_transmitter_task,if=buff.tigers_fury.up|fight_remains<22
actions.cooldown+=/feral_frenzy,if=combo_points<=1|buff.bs_inc.up&combo_points<=2
# always line up convoke with berserk if you can
Expand Down
17 changes: 8 additions & 9 deletions TheWarWithin/Priorities/HunterBeastMastery.simc
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ actions.cds+=/potion,if=buff.call_of_the_wild.up|!talent.call_of_the_wild&buff.b
actions.cleave+=/barbed_shot,cycle_targets=1,if=pet.main.buff.frenzy.up&pet.main.buff.frenzy.remains<=gcd+barbed_shot_grace_period|pet.main.buff.frenzy.stack<3&(cooldown.bestial_wrath.ready&(!pet.main.buff.frenzy.up|talent.scent_of_blood)|talent.call_of_the_wild&cooldown.call_of_the_wild.ready)
actions.cleave+=/black_arrow
actions.cleave+=/multishot,if=buff.beast_cleave.remains<0.25+gcd&(!talent.bloody_frenzy|cooldown.call_of_the_wild.remains)
actions.cleave+=/dire_beast
actions.cleave+=/call_of_the_wild
actions.cleave+=/bestial_wrath
actions.cleave+=/call_of_the_wild
actions.cleave+=/bloodshed
actions.cleave+=/kill_command,cycle_targets=1
actions.cleave+=/kill_shot,cycle_targets=1
actions.cleave+=/barbed_shot,cycle_targets=1,if=buff.call_of_the_wild.up|boss&fight_remains<9|talent.wild_call&charges_fractional>1.2|talent.savagery
actions.cleave+=/explosive_shot
actions.cleave+=/cobra_shot,if=buff.bestial_wrath.up&talent.killer_cobra
actions.cleave+=/kill_shot,cycle_targets=1,if=talent.venoms_bite&dot.serpent_sting.refreshable
actions.cleave+=/kill_shot
actions.st+=/dire_beast
actions.cleave+=/explosive_shot
actions.cleave+=/lights_judgment,if=buff.bestial_wrath.down|target.time_to_die<5
actions.cleave+=/cobra_shot,if=focus.time_to_max<gcd*2
Expand All @@ -44,16 +44,15 @@ actions.st+=/barbed_shot,cycle_targets=1,if=pet.main.buff.frenzy.up&pet.main.buf
actions.st+=/dire_beast
actions.st+=/kill_command,if=talent.call_of_the_wild&cooldown.call_of_the_wild.remains<gcd+0.25
actions.st+=/black_arrow
actions.st+=/kill_shot,cycle_targets=1,if=talent.venoms_bite&dot.serpent_sting.refreshable&talent.bloodshed
actions.st+=/call_of_the_wild
actions.st+=/bloodshed
actions.st+=/bestial_wrath
actions.st+=/kill_command
actions.st+=/kill_shot,cycle_targets=1,if=talent.venoms_bite&dot.serpent_sting.refreshable&talent.call_of_the_wild|talent.cull_the_herd
actions.st+=/kill_shot,cycle_targets=1,if=talent.venoms_bite&dot.serpent_sting.refreshable
actions.st+=/barbed_shot,cycle_targets=1,if=talent.wild_call&charges_fractional>1.4|buff.call_of_the_wild.up|full_recharge_time<gcd&cooldown.bestial_wrath.remains|talent.scent_of_blood&(cooldown.bestial_wrath.remains<12+gcd)|talent.savagery|boss&fight_remains<9
actions.st+=/kill_shot
actions.st+=/cobra_shot,if=buff.bestial_wrath.up&talent.killer_cobra
actions.st+=/explosive_shot,if=!buff.bestial_wrath.up&talent.killer_cobra|!talent.killer_cobra
actions.st+=/kill_shot,if=talent.venoms_bite|target.health.pct<20
actions.st+=/explosive_shot
actions.st+=/lights_judgment,if=buff.bestial_wrath.down|target.time_to_die<5
actions.st+=/cobra_shot
actions.st+=/bag_of_tricks,if=buff.bestial_wrath.down|target.time_to_die<5
Expand All @@ -64,4 +63,4 @@ actions.trinkets+=/variable,name=sync_ready,value=talent.call_of_the_wild&(prev_
actions.trinkets+=/variable,name=sync_active,value=talent.call_of_the_wild&buff.call_of_the_wild.up|!talent.call_of_the_wild&buff.bestial_wrath.up
actions.trinkets+=/variable,name=sync_remains,op=setif,value=cooldown.bestial_wrath.remains_guess,value_else=cooldown.call_of_the_wild.remains,condition=!talent.call_of_the_wild
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket1,if=trinket.1.has_use_buff&(variable.sync_ready&(variable.trinket_1_stronger|trinket.2.cooldown.remains)|!variable.sync_ready&(variable.trinket_1_stronger&(variable.sync_remains>trinket.1.cooldown.duration%3&fight_remains>trinket.1.cooldown.duration+20|trinket.2.has_use_buff&trinket.2.cooldown.remains>variable.sync_remains-15&trinket.2.cooldown.remains-5<variable.sync_remains&variable.sync_remains+45>fight_remains)|variable.trinket_2_stronger&(trinket.2.cooldown.remains&(trinket.2.cooldown.remains-5<variable.sync_remains&variable.sync_remains>=20|trinket.2.cooldown.remains-5>=variable.sync_remains&(variable.sync_remains>trinket.1.cooldown.duration%3|trinket.1.cooldown.duration<fight_remains&(variable.sync_remains+trinket.1.cooldown.duration>fight_remains)))|trinket.2.cooldown.ready&variable.sync_remains>20&variable.sync_remains<trinket.2.cooldown.duration%3)))|!trinket.1.has_use_buff&(trinket.1.cast_time=0|!variable.sync_active)&(!trinket.2.has_use_buff&(variable.trinket_1_stronger|trinket.2.cooldown.remains)|trinket.2.has_use_buff&(!variable.sync_active&variable.sync_remains>20|trinket.2.cooldown.remains>20))|boss&fight_remains<25&(variable.trinket_1_stronger|trinket.2.cooldown.remains)
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket2,if=trinket.2.has_use_buff&(variable.sync_ready&(variable.trinket_2_stronger|trinket.1.cooldown.remains)|!variable.sync_ready&(variable.trinket_2_stronger&(variable.sync_remains>trinket.2.cooldown.duration%3&fight_remains>trinket.2.cooldown.duration+20|trinket.1.has_use_buff&trinket.1.cooldown.remains>variable.sync_remains-15&trinket.1.cooldown.remains-5<variable.sync_remains&variable.sync_remains+45>fight_remains)|variable.trinket_1_stronger&(trinket.1.cooldown.remains&(trinket.1.cooldown.remains-5<variable.sync_remains&variable.sync_remains>=20|trinket.1.cooldown.remains-5>=variable.sync_remains&(variable.sync_remains>trinket.2.cooldown.duration%3|trinket.2.cooldown.duration<fight_remains&(variable.sync_remains+trinket.2.cooldown.duration>fight_remains)))|trinket.1.cooldown.ready&variable.sync_remains>20&variable.sync_remains<trinket.1.cooldown.duration%3)))|!trinket.2.has_use_buff&(trinket.2.cast_time=0|!variable.sync_active)&(!trinket.1.has_use_buff&(variable.trinket_2_stronger|trinket.1.cooldown.remains)|trinket.1.has_use_buff&(!variable.sync_active&variable.sync_remains>20|trinket.1.cooldown.remains>20))|boss&fight_remains<25&(variable.trinket_2_stronger|trinket.1.cooldown.remains)
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket2,if=trinket.2.has_use_buff&(variable.sync_ready&(variable.trinket_2_stronger|trinket.1.cooldown.remains)|!variable.sync_ready&(variable.trinket_2_stronger&(variable.sync_remains>trinket.2.cooldown.duration%3&fight_remains>trinket.2.cooldown.duration+20|trinket.1.has_use_buff&trinket.1.cooldown.remains>variable.sync_remains-15&trinket.1.cooldown.remains-5<variable.sync_remains&variable.sync_remains+45>fight_remains)|variable.trinket_1_stronger&(trinket.1.cooldown.remains&(trinket.1.cooldown.remains-5<variable.sync_remains&variable.sync_remains>=20|trinket.1.cooldown.remains-5>=variable.sync_remains&(variable.sync_remains>trinket.2.cooldown.duration%3|trinket.2.cooldown.duration<fight_remains&(variable.sync_remains+trinket.2.cooldown.duration>fight_remains)))|trinket.1.cooldown.ready&variable.sync_remains>20&variable.sync_remains<trinket.1.cooldown.duration%3)))|!trinket.2.has_use_buff&(trinket.2.cast_time=0|!variable.sync_active)&(!trinket.1.has_use_buff&(variable.trinket_2_stronger|trinket.1.cooldown.remains)|trinket.1.has_use_buff&(!variable.sync_active&variable.sync_remains>20|trinket.1.cooldown.remains>20))|boss&fight_remains<25&(variable.trinket_2_stronger|trinket.1.cooldown.remains)
Loading

0 comments on commit 1645f43

Please sign in to comment.