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.

125 lines
11 KiB

actions.precombat+=/battle_stance
actions.precombat+=/battle_shout
actions.precombat+=/variable,name=trinket_1_exclude,value=trinket.1.is.ruby_whelp_shell|trinket.1.is.whispering_incarnate_icon
actions.precombat+=/variable,name=trinket_2_exclude,value=trinket.2.is.ruby_whelp_shell|trinket.2.is.whispering_incarnate_icon
# Evaluates a trinkets cooldown, divided by avatar. If it's value has no remainder return 1, else return 0.5.
actions.precombat+=/variable,name=trinket_1_sync,op=setif,value=1,value_else=0.5,condition=trinket.1.has_use_buff&(trinket.1.cooldown.duration%%cooldown.avatar.duration=0)
actions.precombat+=/variable,name=trinket_2_sync,op=setif,value=1,value_else=0.5,condition=trinket.2.has_use_buff&(trinket.2.cooldown.duration%%cooldown.avatar.duration=0)
actions.precombat+=/variable,name=trinket_1_buffs,value=trinket.1.has_use_buff|(trinket.1.has_buff.strength|trinket.1.has_buff.mastery|trinket.1.has_buff.versatility|trinket.1.has_buff.haste|trinket.1.has_buff.crit&!variable.trinket_1_exclude)
actions.precombat+=/variable,name=trinket_2_buffs,value=trinket.2.has_use_buff|(trinket.2.has_buff.strength|trinket.2.has_buff.mastery|trinket.2.has_buff.versatility|trinket.2.has_buff.haste|trinket.2.has_buff.crit&!variable.trinket_2_exclude)
actions.precombat+=/variable,name=trinket_priority,op=setif,value=2,value_else=1,condition=!variable.trinket_1_buffs&variable.trinket_2_buffs|variable.trinket_2_buffs&((trinket.2.cooldown.duration%trinket.2.proc.any_dps.duration)*(1.5+trinket.2.has_buff.strength)*(variable.trinket_2_sync))>((trinket.1.cooldown.duration%trinket.1.proc.any_dps.duration)*(1.5+trinket.1.has_buff.strength)*(variable.trinket_1_sync))
actions.precombat+=/variable,name=trinket_1_manual,value=trinket.1.is.algethar_puzzle_box
actions.precombat+=/variable,name=trinket_2_manual,value=trinket.2.is.algethar_puzzle_box
actions.precombat+=/use_item,name=algethar_puzzle_box
actions+=/charge,if=time<=0.5|movement.distance>5
actions+=/pummel
actions+=/spell_reflection
actions+=/potion,if=gcd.remains=0&debuff.colossus_smash.remains>8|target.time_to_die<25
actions+=/call_action_list,name=trinkets
actions+=/arcane_torrent,if=cooldown.mortal_strike.remains>1.5&rage<50
actions+=/lights_judgment,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains
actions+=/bag_of_tricks,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains
actions+=/berserking,if=target.time_to_die>180&buff.avatar.up|target.time_to_die<180&(target.health.pct<35&talent.massacre|target.health.pct<20)&buff.avatar.up|target.time_to_die<20
actions+=/blood_fury,if=debuff.colossus_smash.up
actions+=/fireblood,if=debuff.colossus_smash.up
actions+=/ancestral_call,if=debuff.colossus_smash.up
## actions+=/invoke_external_buff,name=power_infusion,if=debuff.colossus_smash.up&fight_remains>=135|(target.health.pct<35&talent.massacre|target.health.pct<20)&buff.avatar.up|fight_remains<=25
actions+=/run_action_list,name=aoe,strict=1,if=active_enemies>2|talent.fervor_of_battle.enabled&(talent.massacre.enabled&target.health.pct>35|target.health.pct>20)&active_enemies>1
actions+=/run_action_list,name=execute,cycle_targets=1,strict=1,if=(talent.massacre.enabled&target.health.pct<35)|target.health.pct<20
actions+=/run_action_list,name=single_target
actions.execute+=/whirlwind,if=buff.collateral_damage.up&cooldown.sweeping_strikes.remains<3
actions.execute+=/sweeping_strikes,if=active_enemies>1
actions.execute+=/mortal_strike,if=dot.rend.remains<=gcd&talent.bloodletting
actions.execute+=/rend,if=remains<=gcd&!talent.bloodletting&(!talent.warbreaker&cooldown.colossus_smash.remains<4|talent.warbreaker&cooldown.warbreaker.remains<4)&target.time_to_die>12
actions.execute+=/avatar,if=cooldown.colossus_smash.ready|debuff.colossus_smash.up|target.time_to_die<20
actions.execute+=/champions_spear,if=cooldown.colossus_smash.remains<=gcd
actions.execute+=/warbreaker,if=raid_event.adds.in>22
actions.execute+=/colossus_smash
actions.execute+=/thunderous_roar,if=(talent.test_of_might&rage<40)|(!talent.test_of_might&(buff.avatar.up|debuff.colossus_smash.up)&rage<70)
actions.execute+=/cleave,if=spell_targets.whirlwind>2&dot.deep_wounds.remains<=gcd
actions.execute+=/bladestorm,if=raid_event.adds.in>45&talent.hurricane&rage<40
actions.execute+=/mortal_strike,if=debuff.executioners_precision.stack=2
actions.execute+=/execute,if=buff.sudden_death.react&dot.deep_wounds.remains
actions.execute+=/overpower,if=rage<40&buff.martial_prowess.stack<2
actions.execute+=/skullsplitter,if=rage<40
actions.execute+=/execute,if=rage>=40
actions.execute+=/shockwave,if=talent.sonic_boom
actions.execute+=/overpower
actions.execute+=/execute
actions.execute+=/bladestorm
actions.execute+=/wrecking_throw
actions.aoe+=/execute,if=buff.juggernaut.up&buff.juggernaut.remains<gcd&set_bonus.tier31_4pc
actions.aoe+=/whirlwind,if=buff.collateral_damage.up&debuff.colossus_smash.remains&buff.sweeping_strikes.down
actions.aoe+=/thunder_clap,if=talent.thunder_clap&talent.blood_and_thunder&talent.rend&dot.rend.remains<=dot.rend.duration*0.3
actions.aoe+=/thunderous_roar
actions.aoe+=/sweeping_strikes,if=cooldown.bladestorm.remains>15|talent.improved_sweeping_strikes&cooldown.bladestorm.remains>21|!talent.bladestorm|!talent.bladestorm&talent.blademasters_torment&cooldown.avatar.remains>15|!talent.bladestorm&talent.blademasters_torment&talent.improved_sweeping_strikes&cooldown.avatar.remains>21
actions.aoe+=/avatar,if=raid_event.adds.in>15|talent.blademasters_torment|target.time_to_die<20|buff.hurricane.remains<3
actions.aoe+=/warbreaker,if=raid_event.adds.in>22|active_enemies>1
actions.aoe+=/colossus_smash,cycle_targets=1,if=(target.health.pct<20|talent.massacre&target.health.pct<35)
actions.aoe+=/colossus_smash
actions.aoe+=/whirlwind,if=talent.storm_of_swords
actions.aoe+=/bladestorm,if=talent.unhinged&buff.sweeping_strikes.up
actions.aoe+=/execute,if=buff.sudden_death.react&set_bonus.tier31_4pc
actions.aoe+=/cleave,if=buff.martial_prowess.stack=2&(buff.sweeping_strikes.up&active_enemies>4|buff.sweeping_strikes.down)|buff.merciless_bonegrinder.up
actions.aoe+=/mortal_strike,if=buff.sweeping_strikes.up&buff.martial_prowess.stack=2&(active_enemies<=4|!talent.cleave)
actions.aoe+=/champions_spear,if=buff.test_of_might.up|debuff.colossus_smash.up|dot.deep_wounds.remains
actions.aoe+=/overpower,if=buff.sweeping_strikes.up&talent.dreadnaught
actions.aoe+=/bladestorm,if=buff.sweeping_strikes.down&(buff.hurricane.remains<3|!talent.hurricane)
actions.aoe+=/whirlwind,if=talent.fervor_of_battle&rage>70|buff.merciless_bonegrinder.up
actions.aoe+=/overpower,if=talent.dreadnaught
actions.aoe+=/mortal_strike,cycle_targets=1,if=debuff.executioners_precision.stack=2|dot.deep_wounds.remains<=gcd|active_enemies<3
actions.aoe+=/execute,cycle_targets=1,if=buff.sudden_death.react|(target.health.pct<20|talent.massacre&target.health.pct<35)|buff.sweeping_strikes.up|active_enemies<=2
actions.aoe+=/whirlwind
actions.aoe+=/thunder_clap,if=active_enemies>3
actions.aoe+=/mortal_strike
actions.aoe+=/thunder_clap,if=!talent.crushing_force
actions.aoe+=/slam
actions.aoe+=/shockwave
actions.aoe+=/wrecking_throw
actions.single_target+=/whirlwind,if=buff.collateral_damage.up&cooldown.sweeping_strikes.remains<3
actions.single_target+=/sweeping_strikes,if=active_enemies>1
actions.single_target+=/thunder_clap,if=dot.rend.remains<=gcd&talent.blood_and_thunder&talent.blademasters_torment
actions.single_target+=/thunderous_roar,if=raid_event.adds.in>15
actions.single_target+=/bladestorm,if=talent.hurricane&raid_event.add.in>22&talent.warlords_torment
actions.single_target+=/avatar,if=raid_event.adds.in>15|target.time_to_die<20
actions.single_target+=/colossus_smash
actions.single_target+=/warbreaker,if=raid_event.adds.in>22
actions.single_target+=/mortal_strike
actions.single_target+=/execute,if=(buff.juggernaut.up&buff.juggernaut.remains<gcd)|(buff.sudden_death.react&dot.deep_wounds.remains&set_bonus.tier31_2pc|buff.sudden_death.react&!dot.rend.remains&set_bonus.tier31_4pc)
actions.single_target+=/thunder_clap,if=dot.rend.remains<=gcd&talent.blood_and_thunder
actions.single_target+=/rend,if=dot.rend.remains<=gcd&!talent.blood_and_thunder
actions.single_target+=/whirlwind,if=talent.storm_of_swords&debuff.colossus_smash.up
actions.single_target+=/bladestorm,if=talent.hurricane&(buff.test_of_might.up|!talent.test_of_might&debuff.colossus_smash.up)&buff.hurricane.remains<2|talent.unhinged&(buff.test_of_might.up|!talent.test_of_might&debuff.colossus_smash.up)
actions.single_target+=/champions_spear,if=buff.test_of_might.up|debuff.colossus_smash.up
actions.single_target+=/skullsplitter
actions.single_target+=/shockwave,if=talent.sonic_boom.enabled
actions.single_target+=/whirlwind,if=talent.storm_of_swords&talent.test_of_might&cooldown.colossus_smash.remains>cooldown.whirlwind.duration
actions.single_target+=/execute,if=buff.sudden_death.react
actions.single_target+=/overpower,if=charges=2&!talent.battlelord|talent.battlelord
actions.single_target+=/whirlwind,if=talent.storm_of_swords&!talent.test_of_might
actions.single_target+=/slam,if=talent.crushing_force&dot.rend.remains>12
actions.single_target+=/thunder_clap
actions.single_target+=/whirlwind,if=buff.merciless_bonegrinder.up
actions.single_target+=/slam
actions.single_target+=/bladestorm
actions.single_target+=/cleave
actions.single_target+=/wrecking_throw
# Trinkets
actions.trinkets+=/use_item,name=fyralath_the_dreamrender,if=dot.mark_of_fyralath.ticking&!talent.blademasters_torment|dot.mark_of_fyralath.ticking&cooldown.avatar.remains>3&cooldown.bladestorm.remains>3&!debuff.colossus_smash.up
actions.trinkets+=/use_item,use_off_gcd=1,name=algethar_puzzle_box,if=cooldown.avatar.remains<=3
# Trinkets The trinket with the highest estimated value, will be used first and paired with Avatar.
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket1,if=variable.trinket_1_buffs&!variable.trinket_1_manual&(!buff.avatar.up&trinket.1.cast_time>0|!trinket.1.cast_time>0)&buff.avatar.up&(variable.trinket_2_exclude|!trinket.2.has_cooldown|trinket.2.cooldown.remains|variable.trinket_priority=1)|trinket.1.proc.any_dps.duration>=fight_remains
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket2,if=variable.trinket_2_buffs&!variable.trinket_2_manual&(!buff.avatar.up&trinket.2.cast_time>0|!trinket.2.cast_time>0)&buff.avatar.up&(variable.trinket_1_exclude|!trinket.1.has_cooldown|trinket.1.cooldown.remains|variable.trinket_priority=2)|trinket.2.proc.any_dps.duration>=fight_remains
# If only one on use trinket provides a buff, use the other on cooldown. Or if neither trinket provides a buff, use both on cooldown.
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket1,if=!variable.trinket_1_buffs&!variable.trinket_1_manual&(!variable.trinket_1_buffs&(trinket.2.cooldown.remains|!variable.trinket_2_buffs)|(trinket.1.cast_time>0&!buff.avatar.up|!trinket.1.cast_time>0)|cooldown.avatar.remains_expected>20)
actions.trinkets+=/use_item,use_off_gcd=1,slot=trinket2,if=!variable.trinket_2_buffs&!variable.trinket_2_manual&(!variable.trinket_2_buffs&(trinket.1.cooldown.remains|!variable.trinket_1_buffs)|(trinket.2.cast_time>0&!buff.avatar.up|!trinket.2.cast_time>0)|cooldown.avatar.remains_expected>20)
actions.trinkets+=/use_item,use_off_gcd=1,slot=main_hand,if=!equipped.fyralath_the_dreamrender&(!variable.trinket_1_buffs|trinket.1.cooldown.remains)&(!variable.trinket_2_buffs|trinket.2.cooldown.remains)
# Variables
actions.variables+=/variable,name=st_planning,value=active_enemies=1&(raid_event.adds.in>15|!raid_event.adds.exists)
actions.variables+=/variable,name=adds_remain,value=active_enemies>=2&(!raid_event.adds.exists|raid_event.adds.exists&raid_event.adds.remains>5)