## Marksmanship Hunter ## July 6, 2021 actions.precombat+=/bottled_flayedwing_toxin actions.precombat+=/fleshcraft actions.precombat+=/tar_trap,if=runeforge.soulforge_embers actions.precombat+=/double_tap,precast_time=10,if=active_enemies>1|!covenant.kyrian&!talent.volley # Change to 1 to simulate ETF/SSF gearswap Trueshot precast. actions.precombat+=/variable,name=etf_precast,value=legendary.eagletalons_true_focus.enabled&settings.eagletalon_swap.enabled actions.precombat+=/trueshot,if=variable.etf_precast actions.precombat+=/aimed_shot,if=active_enemies<3&(!covenant.kyrian&!talent.volley|active_enemies<2)&!variable.etf_precast actions.precombat+=/steady_shot,if=active_enemies>2|(covenant.kyrian|talent.volley)&active_enemies=2|variable.etf_precast actions+=/counter_shot actions+=/counter_shot,line_cd=30,if=runeforge.sephuzs_proclamation|soulbind.niyas_tools_poison|(conduit.reversal_of_fortune&!runeforge.sephuzs_proclamation) # Go ahead and Tranquilize NPC enemies; we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs. actions+=/tranquilizing_shot,if=!target.is_player ## Delay facing your doubt until you have put Resonating Arrow down, or if the cooldown is too long to delay facing your Doubt. If none of these conditions are able to met within the 10 seconds leeway, the sim faces your Doubt automatically. ## actions+=/newfound_resolve,if=soulbind.newfound_resolve&(buff.resonating_arrow.up|cooldown.resonating_arrow.remains>10|boss&fight_remains<16|!covenant.kyrian) actions+=/call_action_list,name=trinkets,if=covenant.kyrian&cooldown.trueshot.remains&cooldown.resonating_arrow.remains|!covenant.kyrian&cooldown.trueshot.remains actions+=/call_action_list,name=cds actions+=/call_action_list,name=st,if=active_enemies<3 actions+=/call_action_list,name=trickshots,if=active_enemies>2 actions.cds=berserking,if=(buff.trueshot.up&buff.resonating_arrow.up&covenant.kyrian)|(buff.trueshot.up&buff.wild_spirits.up&covenant.night_fae)|(covenant.venthyr|covenant.necrolord)&buff.trueshot.up|boss&fight_remains<13|(covenant.kyrian&buff.resonating_arrow.up&target.time_to_die<73) actions.cds+=/blood_fury,if=buff.trueshot.up|cooldown.trueshot.remains>30|boss&fight_remains<16 actions.cds+=/ancestral_call,if=buff.trueshot.up|cooldown.trueshot.remains>30|boss&fight_remains<16 actions.cds+=/fireblood,if=buff.trueshot.up|cooldown.trueshot.remains>30|boss&fight_remains<9 actions.cds+=/lights_judgment,if=buff.trueshot.down actions.cds+=/potion,if=buff.trueshot.up&(buff.bloodlust.up|target.health.pct<20)|boss&fight_remains<26|(covenant.kyrian&buff.resonating_arrow.up&fight_remains<72) actions.st=steady_shot,if=talent.steady_focus&(prev_gcd.1.steady_shot&buff.steady_focus.remains<5|buff.steady_focus.down)&(buff.resonating_arrow.down|!covenant.kyrian) actions.st+=/kill_shot actions.st+=/double_tap,if=covenant.kyrian&(cooldown.resonating_arrow.remains30)|target.time_to_die<15 actions.st+=/flare,line_cd=25,if=tar_trap.up&runeforge.soulforge_embers actions.st+=/tar_trap,if=runeforge.soulforge_embers&tar_trap.remains1|boss&fight_remains<25 actions.st+=/rapid_fire,if=runeforge.surging_shots&talent.streamline&(cooldown.double_tap.remains>gcd*5|!covenant.kyrian|!talent.double_tap)actions.st+=/chimaera_shot,if=buff.precise_shots.up|focus>cost+action.aimed_shot.cost actions.st+=/aimed_shot,cycle_targets=1,if=buff.precise_shots.down|(buff.trueshot.up|full_recharge_timeexecute_time&active_enemies>1 actions.st+=/rapid_fire,if=(cooldown.double_tap.remains>gcd*5|!covenant.kyrian|!talent.double_tap)&focus+cast_regencost+action.aimed_shot.cost actions.st+=/arcane_shot,if=buff.precise_shots.up|focus>cost+action.aimed_shot.cost actions.st+=/serpent_sting,cycle_targets=1,if=refreshable&target.time_to_die>duration actions.st+=/barrage,if=active_enemies>1 actions.st+=/rapid_fire,if=(cooldown.double_tap.remains>gcd*5&runeforge.surging_shots|!covenant.kyrian|!talent.double_tap)&focus+cast_regen30)|target.time_to_die<10|cooldown.resonating_arrow.remains>10&active_enemies>3 actions.trickshots+=/tar_trap,if=runeforge.soulforge_embers&tar_trap.remains10|boss&fight_remains<5 actions.trickshots+=/resonating_arrow,if=buff.double_tap.up|!talent.double_tap|boss&fight_remains<12 actions.trickshots+=/volley,if=buff.resonating_arrow.up|!covenant.kyrian actions.trickshots+=/barrage actions.trickshots+=/trueshot actions.trickshots+=/rapid_fire,if=runeforge.surging_shots&(cooldown.resonating_arrow.remains>10|!covenant.kyrian|!talent.double_tap)&buff.trick_shots.remains>=execute_time actions.trickshots+=/aimed_shot,cycle_targets=1,if=buff.trick_shots.remains>=execute_time&(buff.precise_shots.down|full_recharge_timegcd*5&runeforge.surging_shots|!covenant.kyrian|!talent.double_tap)&focus+cast_regencost+action.aimed_shot.cost&(!talent.chimaera_shot|active_enemies>3) actions.trickshots+=/chimaera_shot,if=buff.precise_shots.up&focus>cost+action.aimed_shot.cost&active_enemies<4 actions.trickshots+=/kill_shot,if=buff.dead_eye.down actions.trickshots+=/a_murder_of_crows actions.trickshots+=/flayed_shot actions.trickshots+=/serpent_sting,cycle_targets=1,if=refreshable actions.trickshots+=/multishot,if=focus>cost+action.aimed_shot.cost&(cooldown.resonating_arrow.remains>5|!covenant.kyrian|focus+cast_regen>focus.max) actions.trickshots+=/tar_trap,if=runeforge.nessingwarys_trapping_apparatus actions.trickshots+=/freezing_trap,if=runeforge.nessingwarys_trapping_apparatus actions.trickshots+=/bag_of_tricks,if=buff.trueshot.down actions.trickshots+=/steady_shot actions.trinkets=variable,name=sync_up,value=buff.resonating_arrow.up|buff.trueshot.up actions.trinkets+=/variable,name=strong_sync_up,value=covenant.kyrian&buff.resonating_arrow.up&buff.trueshot.up|!covenant.kyrian&buff.trueshot.up actions.trinkets+=/variable,name=strong_sync_remains,op=setif,condition=covenant.kyrian,value=cooldown.resonating_arrow.remains?cooldown.trueshot.remains,value_else=cooldown.trueshot.remains actions.trinkets+=/use_items,slots=trinket1,if=(trinket.1.has_use_buff|covenant.kyrian&trinket.1.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.2.has_use_buff|covenant.kyrian&!trinket.2.has_cooldown|trinket.2.cooldown.remains|trinket.1.has_use_buff&(!trinket.2.has_use_buff|trinket.1.cooldown.duration>=trinket.2.cooldown.duration)|trinket.1.has_cooldown&!trinket.2.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration)|!variable.strong_sync_up&(!trinket.2.has_use_buff&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)|trinket.2.has_use_buff&(trinket.1.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)|(!trinket.1.has_use_buff|trinket.2.cooldown.duration>=trinket.1.cooldown.duration)&(trinket.2.cooldown.ready&trinket.2.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2|variable.sync_up)|trinket.2.cooldown.remains-5>variable.strong_sync_remains&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2|variable.sync_up))))))|target.time_to_die5)&(variable.sync_remains>20|trinket.2.cooldown.remains-5>variable.sync_remains))|!trinket.2.has_use_buff&(!trinket.2.has_cooldown|trinket.2.cooldown.remains|trinket.2.cooldown.duration>=trinket.1.cooldown.duration)) actions.trinkets+=/use_items,slots=trinket2,if=(trinket.2.has_use_buff|covenant.kyrian&trinket.2.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.1.has_use_buff|covenant.kyrian&!trinket.1.has_cooldown|trinket.1.cooldown.remains|trinket.2.has_use_buff&(!trinket.1.has_use_buff|trinket.2.cooldown.duration>=trinket.1.cooldown.duration)|trinket.2.has_cooldown&!trinket.1.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration)|!variable.strong_sync_up&(!trinket.1.has_use_buff&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)|trinket.1.has_use_buff&(trinket.2.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)|(!trinket.2.has_use_buff|trinket.1.cooldown.duration>=trinket.2.cooldown.duration)&(trinket.1.cooldown.ready&trinket.1.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2|variable.sync_up)|trinket.1.cooldown.remains-5>variable.strong_sync_remains&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2|variable.sync_up))))))|target.time_to_die5)&(variable.sync_remains>20|trinket.1.cooldown.remains-5>variable.sync_remains))|!trinket.1.has_use_buff&(!trinket.1.has_cooldown|trinket.1.cooldown.remains|trinket.1.cooldown.duration>=trinket.2.cooldown.duration))