Code:
rogue="1.6"
level=100
race=night_elf
role=attack
position=back
talents=2000032
glyphs=energy/hemorrhaging_veins/vanish
spec=subtlety
# Executed before combat begins. Accepts non-harmful actions only.
actions.precombat=flask,type=greater_draenic_agility_flask
actions.precombat+=/food,type=salty_squid_roll
actions.precombat+=/apply_poison,lethal=deadly
# Snapshot raid buffed stats before combat begfns and pre-potting is done.
actions.precombat+=/snapshot_stats
actions.precombat+=/potion,name=draenic_agility
actions.precombat+=/stealth
actions.precombat+=/marked_for_death
actions.precombat+=/premeditation,if=!talent.marked_for_death.enabled
actions.precombat+=/slice_and_dice
actions.precombat+=/premeditation
# Proxy Honor Among Thieves action. Generates Combo Points at a mean rate of 2.2 seconds. Comment out to disable (and use the real Honor Among Thieves).
actions.precombat+=/honor_among_thieves,cooldown=2.2,cooldown_stddev=0.1
###-------------------------------------------------- MASTER---------------------------------------------------------------- ###
actions=run_action_list,name=opener_ant,if=time<4&!dot.rupture.ticking&talent.anticipation.enabled
actions+=/run_action_list,name=opener_mfd,if=time<3.1&talent.marked_for_death.enabled
actions+=/run_action_list,name=dance_rotation_ant_ref,if=buff.shadow_dance.up&talent.anticipation.enabled&talent.shadow_reflection.enabled
#actions+=runl_action_list,name=dance_rotation_ant_dfa,if=buff.shadow_dance.up&talent.anticipation.enabled&talent.death_from_above.enabled
actions+=/run_action_list,name=dance_rotation_mfd_ref,if=buff.shadow_dance.up&talent.marked_for_death.enabled&talent.shadow_reflection.enabled
#actions+=/run_action_list,name=dance_rotation_mfd_dfa,if=buff.shadow_dance.up&talent.marked_for_death.enabled&talent.death_from_above.enabled
actions+=/run_action_list,name=vanish_rotation_ant_ref,if=(buff.vanish.up|buff.subterfuge.up)&talent.anticipation.enabled&talent.shadow_reflection.enabled
#actions+=/run_action_list,name=vanish_rotation_ant_dfa,if=(buff.vanish.up|buff.subterfuge.up)&talent.anticipation.enabled&talent.death_from_above.enabled
actions+=/run_action_list,name=vanish_rotation_mfd_ref,if=(buff.vanish.up|buff.subterfuge.up)&talent.marked_for_death.enabled&talent.shadow_reflection.enabled
#actions+=/run_action_list,name=vanish_rotation_mfd_dfa,if=(buff.vanish.up|buff.subterfuge.up)&talent.marked_for_death.enabled&talent.death_from_above.enabled
actions+=/run_action_list,name=shadowmeld_rotation,if=buff.shadowmeld.up
actions+=/call_action_list,name=cd_controller_ant,if=talent.anticipation.enabled
actions+=/call_action_list,name=cd_controller_mfd,if=talent.marked_for_death.enabled
actions+=/run_action_list,name=generators_fw_ant,if=(debuff.find_weakness.up|trinket.proc.any.react|trinket.stacking_proc.any.react|buff.archmages_greater_incandescence_agi.react)&talent.anticipation.enabled
actions+=/run_action_list,name=generators_fw_mfd,if=(debuff.find_weakness.up|trinket.proc.any.react|trinket.stacking_proc.any.react|buff.archmages_greater_incandescence_agi.react)&talent.marked_for_death.enabled
actions+=/run_action_list,name=generators_ant,if=talent.anticipation.enabled
actions+=/run_action_list,name=generators_mfd,if=talent.marked_for_death.enabled
###-------------------------------------------------- OPENER ANTICIPATION ---------------------------------------------------------------- ###
actions.opener_ant=garrote,if=time<1
actions.opener_ant+=/ambush,if=time<2&active_enemies=1
actions.opener_ant+=/fan_of_knives,if=time<2&active_enemies>2
actions.opener_ant+=/wait,sec=0.1,if=combo_points<5
actions.opener_ant+=/rupture,if=time<4&combo_points=5&!dot.rupture.ticking
###-------------------------------------------------- OPENER MFD ---------------------------------------------------------------- ###
actions.opener_mfd=premeditation,if=time<1
actions.opener_mfd+=/ambush,if=time<1
actions.opener_mfd+=/rupture,if=time<2
actions.opener_mfd+=/ambush,if=time<3
###-------------------------------------------------- DANCE ROTATION ANTICIPATION REFLECTION ---------------------------------------------------------------- ###
#safe premed
actions.dance_rotation_ant_ref=premeditation,if=(combo_points=3&anticipation_charges=3&cooldown.honor_among_thieves.remains>1)|(combo_points<=3&anticipation_charges+combo_points<=5)
#pot
actions.dance_rotation_ant_ref+=/potion,name=draenic_agility,if=buff.bloodlust.react|target.time_to_die<40|(buff.shadow_reflection.up|(!talent.shadow_reflection.enabled&buff.shadow_dance.up))&(trinket.stat.agi.up|trinket.stat.multistrike.up|buff.archmages_greater_incandescence_agi.up)|((buff.shadow_reflection.up|(!talent.shadow_reflection.enabled&buff.shadow_dance.up))&target.time_to_die<136)
#burst cds
actions.dance_rotation_ant_ref+=/shadow_reflection
actions.dance_rotation_ant_ref+=/use_item,slot=trinket2
#racial blood elf
actions.dance_rotation_ant_ref+=/Arcane_Torrent,if=energy<90
#last ambush
actions.dance_rotation_ant_ref+=/ambush,if=buff.shadow_dance.remains<=0.1
#wait if only 1gcd is left or only enough energy for 1 ambush
actions.dance_rotation_ant_ref+=/wait,sec=buff.shadow_dance.remains-0.1,if=(buff.shadow_dance.remains<=1)|energy+energy.regen*buff.shadow_dance.remains<=49
#safe neutral finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room)
actions.dance_rotation_ant_ref+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5&buff.shadow_dance.remains>1&buff.shadow_dance.remains<=2
#safe finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room) - checks for energy for last ambush
actions.dance_rotation_ant_ref+=/call_action_list,name=finishers,if=(combo_points=5&buff.shadow_dance.remains>1&buff.shadow_dance.remains<=2)&((energy+(energy.regen*buff.shadow_dance.remains))>=50)
#ambush if no FW is there - this will open the Dance essentially. ToDo: Add CP overflow protection?
actions.dance_rotation_ant_ref+=/ambush,if=debuff.find_weakness.down
#ambush/fok if room and time and low rupture and energy
actions.dance_rotation_ant_ref+=/fan_of_knives,if=(((combo_points+anticipation_charges)<(10-active_enemies))|(((combo_points+anticipation_charges)=(10-active_enemies))&cooldown.Honor_among_Thieves.remains>1))&(buff.shadow_dance.remains>2)&(dot.rupture.remains<12&dot.rupture.remains>8)&((energy+(energy.regen*buff.shadow_dance.remains))>=72)&active_enemies>=4
actions.dance_rotation_ant_ref+=/ambush,if=(((combo_points+anticipation_charges)<8)|(((combo_points+anticipation_charges)=8)&cooldown.Honor_among_Thieves.remains>1))&(buff.shadow_dance.remains>2)&(dot.rupture.remains<12&dot.rupture.remains>8)&((energy+(energy.regen*buff.shadow_dance.remains))>=72)&active_enemies=1
#Finisher if possible
actions.dance_rotation_ant_ref+=/call_action_list,name=finishers,if=combo_points=5
#Ambush filler - Watch energy for last GCD, expecting 1 energetic recovery tick
actions.dance_rotation_ant_ref+=/fan_of_knives,if=((energy+(energy.regen*buff.shadow_dance.remains))>=72)&active_enemies>=5
actions.dance_rotation_ant_ref+=/ambush,if=((energy+(energy.regen*buff.shadow_dance.remains))>=72)
###-------------------------------------------------- DANCE ROTATION ANTICIPATION DFA (untested)---------------------------------------------------------------- ###
###-------------------------------------------------- DANCE ROTATION MFD REFLECTION ---------------------------------------------------------------- ###
#safe premed
actions.dance_rotation_mfd_ref=premeditation,if=(combo_points=3&cooldown.honor_among_thieves.remains>1&debuff.find_weakness.up)|(combo_points=0)|(combo_points=1&cooldown.honor_among_thieves.remains>1)|(debuff.find_weakness.up&combo_points<=3)
#pot
actions.dance_rotation_mfd_ref+=/potion,name=draenic_agility,if=buff.bloodlust.react|target.time_to_die<40|(buff.shadow_reflection.up|(!talent.shadow_reflection.enabled&buff.shadow_dance.up))&(trinket.stat.agi.up|trinket.stat.multistrike.up|buff.archmages_greater_incandescence_agi.up)|((buff.shadow_reflection.up|(!talent.shadow_reflection.enabled&buff.shadow_dance.up))&target.time_to_die<136)
#burst cds
actions.dance_rotation_mfd_ref+=/shadow_reflection
actions.dance_rotation_mfd_ref+=/use_item,slot=trinket2
#racial blood elf
actions.dance_rotation_mfd_ref+=/Arcane_Torrent,if=energy<90
#last ambush - add spill protection
actions.dance_rotation_mfd_ref+=/ambush,if=buff.shadow_dance.remains<=0.1
#wait if only 1gcd is left or only enough energy for 1 ambush
actions.dance_rotation_mfd_ref+=/wait,sec=buff.shadow_dance.remains-0.1,if=(buff.shadow_dance.remains<=1)|energy+energy.regen*buff.shadow_dance.remains<=49
#safe neutral finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room)
actions.dance_rotation_mfd_ref+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5&buff.shadow_dance.remains>1&buff.shadow_dance.remains<=2
#safe finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room) - checks for energy for last ambush
actions.dance_rotation_mfd_ref+=/call_action_list,name=finishers,if=(combo_points=5&buff.shadow_dance.remains>1&buff.shadow_dance.remains<=2)&((energy+(energy.regen*buff.shadow_dance.remains))>=50)
#ambush if no FW is there - this will open the Dance essentially. ToDo: Add CP overflow protection?
actions.dance_rotation_mfd_ref+=/ambush,if=debuff.find_weakness.down
#mfd
actions.dance_rotation_mfd_ref+=/marked_for_death,if=combo_points=0
#Finisher if possible
actions.dance_rotation_mfd_ref+=/call_action_list,name=finishers,if=combo_points=5
#Ambush filler - Watch energy for last GCD, expecting 1 energetic recovery tick, watch for HaT Spill
actions.dance_rotation_mfd_ref+=/ambush,if=((energy+(energy.regen*buff.shadow_dance.remains))>=72)&!(combo_points=4&cooldown.honor_among_thieves.remains<1)
###-------------------------------------------------- DANCE ROTATION MFD DFA (untested)---------------------------------------------------------------- ###
###-------------------------------------------------- VANISH ROTATION ANTICIPATION REFLECTION ---------------------------------------------------------------- ###
#safe premed
actions.vanish_rotation_ant_ref=premeditation,if=(combo_points=3&anticipation_charges=3&cooldown.honor_among_thieves.remains>1)|(combo_points<=3&anticipation_charges+combo_points<=5)
#emergency premed
actions.vanish_rotation_ant_ref+=/premeditation,if=combo_points<=4&buff.vanish.down&buff.subterfuge.remains<1
#last ambush
actions.vanish_rotation_ant_ref+=/ambush,if=buff.subterfuge.remains<=0.1&buff.vanish.down
#wait if only 1gcd is left or only enough energy for 1 ambush
actions.vanish_rotation_ant_ref+=/wait,sec=buff.subterfuge.remains-0.1,if=(buff.subterfuge.remains<=1&buff.vanish.down)|(energy+energy.regen*buff.subterfuge.remains<=69&buff.vanish.down)
#safe finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room)
actions.vanish_rotation_ant_ref+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5&buff.subterfuge.remains>1&buff.subterfuge.remains<=2&(buff.vanish.remains<2|buff.vanish.down)
#safe finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room) - checks for energy for last ambush
actions.vanish_rotation_ant_ref+=/call_action_list,name=finishers,if=(combo_points=5&buff.subterfuge.remains>1&buff.subterfuge.remains<=2)&(buff.vanish.remains<2|buff.vanish.down)&((energy+energy.regen*buff.subterfuge.remains)>=70)
#ambush if no FW is there - this will open the Vanish essentially. ToDo: Add CP overflow protection?
actions.vanish_rotation_ant_ref+=/ambush,if=debuff.find_weakness.down
#Finisher if possible
actions.vanish_rotation_ant_ref+=/call_action_list,name=finishers,if=combo_points=5
#Ambush filler - Watch energy for last GCD, expecting 1 energetic recovery tic
actions.vanish_rotation_ant_ref+=/ambush,if=((energy+(energy.regen*(buff.vanish.remains+1)))>=112)
actions.vanish_rotation_ant_ref+=/preparation,if=cooldown.vanish.remains>60|target.time_to_die<17
###-------------------------------------------------- VANISH ROTATION ANTICIPATION DFA (untested) ---------------------------------------------------------------- ###
###-------------------------------------------------- VANISH ROTATION MFD REFLECTION ---------------------------------------------------------------- ###
#safe premed
actions.vanish_rotation_mfd_ref=premeditation,if=(combo_points=3&cooldown.honor_among_thieves.remains>1&debuff.find_weakness.up)|(combo_points=0)|(combo_points=1&cooldown.honor_among_thieves.remains>1)|(debuff.find_weakness.up&combo_points<=3)
#emergency premed
actions.vanish_rotation_mfd_ref+=/premeditation,if=combo_points<=4&buff.vanish.down&buff.subterfuge.remains<1
#last ambush
actions.vanish_rotation_mfd_ref+=/ambush,if=buff.subterfuge.remains<=0.1&buff.vanish.down
#wait if only 1gcd is left or only enough energy for 1 ambush
actions.vanish_rotation_mfd_ref+=/wait,sec=buff.subterfuge.remains-0.1,if=(buff.subterfuge.remains<=1&buff.vanish.down)|(energy+energy.regen*buff.subterfuge.remains<=69&buff.vanish.down)
#safe finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room)
actions.vanish_rotation_mfd_ref+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5&buff.subterfuge.remains>1&buff.subterfuge.remains<=2&(buff.vanish.remains<2|buff.vanish.down)
#safe finisher if 2 GCD left but no room for 2 ambush (5 or more cp are considered not enough room) - checks for energy for last ambush
actions.vanish_rotation_mfd_ref+=/call_action_list,name=finishers,if=(combo_points=5&buff.subterfuge.remains>1&buff.subterfuge.remains<=2)&(buff.vanish.remains<2|buff.vanish.down)&((energy+energy.regen*buff.subterfuge.remains)>=70)
#ambush if no FW is there - this will open the Vanish essentially.
actions.vanish_rotation_mfd_ref+=/ambush,if=debuff.find_weakness.down
#Finisher if possible
actions.vanish_rotation_mfd_ref+=/call_action_list,name=finishers,if=combo_points=5
#Ambush filler - Watch energy for last GCD, expecting 1 energetic recovery tick
actions.vanish_rotation_mfd_ref+=/ambush,if=((energy+(energy.regen*(buff.vanish.remains+1)))>=112)&!(combo_points=4&buff.vanish.remains>3)
actions.vanish_rotation_mfd_ref+=/preparation,if=cooldown.vanish.remains>60|target.time_to_die<17
###-------------------------------------------------- VANISH ROTATION MFD DFA (untested) ---------------------------------------------------------------- ###
###-------------------------------------------------- CD CONTROLLER ANTICIPATION ---------------------------------------------------------------- ###
#Assumes proper energy management
actions.cd_controller_ant=shadow_dance
actions.cd_controller_ant+=/vanish,if=energy>99&debuff.find_weakness.down&cooldown.shadow_dance.remains>15
#night elf racial
actions.cd_controller_ant+=/shadowmeld,if=energy>60&debuff.find_weakness.down&cooldown.shadow_dance.remains>10&cooldown.vanish.remains>10&combo_points<=3
#use if target only lives seconds
actions.cd_controller_ant+=/vanish,if=target.time_to_die<16
actions.cd_controller_ant+=/preparation,if=cooldown.vanish.remains>60|target.time_to_die<17
#pool for upcoming dance
actions.cd_controller_ant+=/call_action_list,name=pool_ant,if=energy+energy.regen*cooldown.shadow_dance.remains<=60
#pool for availible vanish
actions.cd_controller_ant+=/call_action_list,name=pool_ant,if=(energy<99&cooldown.vanish.up)&!debuff.find_weakness.up
#pool for upcoming vanish, but dont pool if shadow dance comes up too
actions.cd_controller_ant+=/call_action_list,name=pool_ant,if=(energy+energy.regen*cooldown.vanish.remains<=79&cooldown.shadow_dance.remains-15>cooldown.vanish.remains)&!debuff.find_weakness.up
###-------------------------------------------------- CD CONTROLLER MFD ---------------------------------------------------------------- ###
#Assumes proper energy management
actions.cd_controller_mfd=shadow_dance
actions.cd_controller_mfd+=/vanish,if=energy>99&debuff.find_weakness.down&cooldown.shadow_dance.remains>15&((combo_points=1&cooldown.honor_among_thieves.remains<1)|(combo_points=2))
#night elf racial
actions.cd_controller_mfd+=/shadowmeld,if=energy>60&debuff.find_weakness.down&cooldown.shadow_dance.remains>10&cooldown.vanish.remains>10&combo_points<=1
#use if target only lives seconds
actions.cd_controller_mfd+=/vanish,if=target.time_to_die<16
actions.cd_controller_mfd+=/preparation,if=cooldown.vanish.remains>60|target.time_to_die<17
#pool for upcoming dance
actions.cd_controller_mfd+=/call_action_list,name=pool_mfd,if=energy+energy.regen*cooldown.shadow_dance.remains<=60
#pool for availible vanish - start early compared to anticipation for optimal vanish
actions.cd_controller_mfd+=/call_action_list,name=pool_mfd,if=(energy<99&cooldown.vanish.up)&debuff.find_weakness.remains<5
#pool for upcoming vanish, but dont pool if shadow dance comes up too
actions.cd_controller_mfd+=/call_action_list,name=pool_mfd,if=(energy+energy.regen*cooldown.vanish.remains<=79&cooldown.shadow_dance.remains-15>cooldown.vanish.remains)&debuff.find_weakness.remains<5
###-------------------------------------------------- POOL ANTICIPATION ---------------------------------------------------------------- ###
#use Finisher to avoid capping
actions.pool_ant=call_action_list,name=finishers,if=combo_points+anticipation_charges>=9&combo_points=5
#use prep if nothing better to do, but dont delay dance because of it.
actions.pool_ant+=/preparation,if=cooldown.vanish.remains>60|target.time_to_die<17&cooldown.shadow_dance.remains>1
#wait 0.1s increments
actions.pool_ant+=/wait,sec=0.1
###-------------------------------------------------- POOL MFD ---------------------------------------------------------------- ###
#use Finisher to avoid capping
actions.pool_mfd=call_action_list,name=finishers,if=combo_points=5
#use prep if nothing better to do, but dont delay dance because of it.
actions.pool_mfd+=/preparation,if=cooldown.vanish.remains>60|target.time_to_die<17&cooldown.shadow_dance.remains>1
#wait 0.1s increments
actions.pool_mfd+=/wait,sec=0.1
###-------------------------------------------------- GENERATORS FW / PROCS ANTICIPATION---------------------------------------------------------------- ###
#fok/backstab if room and time and low rupture
actions.generators_fw_ant=fan_of_knives,if=((combo_points+anticipation_charges)<(10-active_enemies))&(dot.rupture.remains<12&dot.rupture.remains>8)&active_enemies>2
actions.generators_fw_ant+=/fan_of_knives,if=((combo_points+anticipation_charges)<(11-active_enemies))&(dot.rupture.remains<10&dot.rupture.remains>8)&active_enemies>2
actions.generators_fw_ant=backstab,if=((combo_points+anticipation_charges)<8)&(dot.rupture.remains<12&dot.rupture.remains>8)&active_enemies=1
actions.generators_fw_ant+=/backstab,if=((combo_points+anticipation_charges)<9)&(dot.rupture.remains<10&dot.rupture.remains>8)&active_enemies=1
actions.generators_fw_ant+=/call_action_list,name=finishers,if=combo_points=5
actions.generators_fw_ant+=/fan_of_knives,if=active_enemies>2
actions.generators_fw_ant+=/backstab
###-------------------------------------------------- GENERATORS FW / PROCS MFD---------------------------------------------------------------- ###
actions.generators_fw_mfd+=/call_action_list,name=finishers,if=combo_points=5
# backstab as generator, but wait if at 4 CP and HaT proc in less than 1s
actions.generators_fw_mfd+=/marked_for_death,if=combo_points=0
actions.generators_fw_mfd+=/backstab,if=!(combo_points=4&(cooldown.honor_among_thieves.remains<1))
###-------------------------------------------------- GENERATORS ANTICIPATION ---------------------------------------------------------------- ###
#use generators trying not to cap and use finishers only if needed while not capping cp
actions.generators_ant=call_action_list,name=finishers,if=combo_points=5&combo_points+anticipation_charges>=9
#maintain SnD and Rupture
actions.generators_ant+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5
#use generator to not cap
actions.generators_ant+=/fan_of_knives,if=active_enemies>2
actions.generators_ant+=/hemorrhage,if=energy>105&!dot.hemorrhage.ticking
actions.generators_ant+=/backstab,if=energy>105
#get rid of energy for Dance T17 bonus
actions.generators_ant+=/backstab,if=cooldown.shadow_dance.remains<6
###-------------------------------------------------- GENERATORS MFD ---------------------------------------------------------------- ###p
#use generators trying not to cap and use finishers only if needed while not capping cp
actions.generators_mfd=call_action_list,name=finishers,if=combo_points=5
#use generator to not cap
actions.generators_mfd+=/hemorrhage,if=energy>105&!dot.hemorrhage.ticking&!(combo_points=4&cooldown.honor_among_thieves.remains<1)
actions.generators_mfd+=/backstab,if=energy>105&!(combo_points=4&cooldown.honor_among_thieves.remains<1)
#get rid of energy for Dance T17 bonus
actions.generators_mfd+=/backstab,if=cooldown.shadow_dance.remains<6&!(combo_points=4&cooldown.honor_among_thieves.remains<1)
###-------------------------------------------------- FINISHERS ---------------------------------------------------------------- ###
#as this list is called by many others, it will include all relevant talent setups in one block.
actions.finishers=rupture,cycle_targets=1,if=remains<8
actions.finishers+=/rupture,cycle_targets=1,if=(buff.shadow_reflection.remains>8&dot.rupture.remains<12)
#safe DFA
actions.finishers+=/death_from_above,if=dot.rupture.remains>20&buff.slice_and_dice.remains>5&debuff.find_weakness.up
#safe evi
actions.finishers+=/eviscerate,if=dot.rupture.remains>20&buff.slice_and_dice.remains>5&(!cooldown.death_from_above.up|!talent.death_from_above.enabled)
actions.finishers+=/slice_and_dice,if=buff.slice_and_dice.remains<12&(buff.shadow_reflection.remains<8|!talent.shadow_reflection.enabled)
actions.finishers+=/slice_and_dice,if=buff.slice_and_dice.remains<2
actions.finishers+=/crimson_tempest,if=(active_enemies>=3&debuff.find_weakness.down)|active_enemies>=4&(cooldown.death_from_above.remains>0|!talent.death_from_above.enabled)
actions.finishers+=/death_from_above,if=talent.death_from_above.enabled
actions.finishers+=/eviscerate,if=(!cooldown.death_from_above.up|!talent.death_from_above.enabled)
###-------------------------------------------------- ENERGY NEUTRAL MAINTAINANCE FINISHERS ---------------------------------------------------------------- ###
actions.energy_neutral_finishers=rupture,cycle_targets=1,if=remains<8
actions.energy_neutral_finishers+=/slice_and_dice,if=buff.slice_and_dice.remains<12&(buff.shadow_reflection.remains<8|!talent.shadow_reflection.enabled)
actions.energy_neutral_finishers+=/slice_and_dice,if=buff.slice_and_dice.remains<2
###-------------------------------------------------- SHADOWMELD ---------------------------------------------------------------- ###
actions.shadowmeld_rotation=Premeditation
actions.shadowmeld_rotation+=/Ambush
head=poisoners_helmet,id=115572,bonus_id=567
neck=engineers_grounded_gorget,id=113892,bonus_id=567,enchant=gift_of_multistrike
shoulders=poisoners_spaulders,id=115574,bonus_id=567
back=drape_of_the_dark_hunt,id=113971,bonus_id=567,enchant=gift_of_multistrike
chest=poisoners_tunic,id=115570,bonus_id=567
wrists=bracers_of_shattered_stalactites,id=113935,bonus_id=567
hands=poisoners_gloves,id=115571,bonus_id=567
waist=conductors_multipocket_girdle,id=113964,bonus_id=567
legs=shattering_smash_leggings,id=113989,bonus_id=567
feet=treads_of_the_dark_hunt,id=113974,bonus_id=567
finger1=spellbound_runic_band_of_unrelenting_slaughter,id=118307,enchant=gift_of_multistrike
finger2=unexploded_explosive_shard,id=113877,bonus_id=567,enchant=gift_of_multistrike
trinket1=humming_blackiron_trigger,id=113985,bonus_id=567
trinket2=beating_heart_of_the_mountain,id=113931,bonus_id=567
main_hand=oregorgers_acidetched_gutripper,id=113874,bonus_id=567,enchant=mark_of_the_frostwolf
off_hand=oregorgers_acidetched_gutripper,id=113874,bonus_id=567,enchant=mark_of_the_frostwolf
# Gear Summary
# gear_agility=3964
# gear_stamina=4694
# gear_crit_rating=913
# gear_haste_rating=355
# gear_mastery_rating=1114
# gear_armor=1177
# gear_multistrike_rating=1867
# gear_versatility_rating=128
# set_bonus=tier17_2pc=1
# set_bonus=tier17_4pc=1
Code:
rogue="Rogue_Assassination_2.0"
level=100
race=blood_elf
role=attack
position=back
talents=3000032
glyphs=vendetta/energy/disappearance
spec=assassination
actions.precombat=flask,type=greater_draenic_agility_flask
actions.precombat+=/food,type=sleeper_sushi
actions.precombat+=/apply_poison,lethal=deadly
# Snapshot raid buffed stats before combat begins and pre-potting is done.
actions.precombat+=/snapshot_stats
actions.precombat+=/potion,name=draenic_agility
actions.precombat+=/stealth
actions.precombat+=/marked_for_death
#----------------------------------------------------------------- MASTER ----------------------------------------------------------------#
actions=run_action_list,name=opener_ant,if=(time<5.5|combo_points<5)&talent.anticipation.enabled
actions+=/run_action_list,name=reflection_rotation_ant_ref,if=buff.shadow_reflection.up&talent.anticipation.enabled&talent.shadow_reflection.enabled
actions+=/run_action_list,name=vanish_rotation_ant_ref,if=buff.vanish.up&talent.anticipation.enabled&talent.shadow_reflection.enabled
actions+=/call_action_list,name=cd_controller_ant,if=talent.anticipation.enabled
actions+=/run_action_list,name=generators_ant_env,if=talent.anticipation.enabled&buff.envenom.up
actions+=/run_action_list,name=generators_ant,if=talent.anticipation.enabled
#-----------------------------------------------------------------------------------------------------------------------------------------#
#-------------------------------------------------------------- OPENER -------------------------------------------------------------------#
actions.opener_ant=mutilate,if=time<1
actions.opener_ant+=/rupture,if=time<2
actions.opener_ant+=/dispatch
actions.opener_ant+=/mutilate
#------------------------------------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------- REFLECTION ROTATION --------------------------------------------------------#
#safe premed
actions.reflection_rotation_ant_ref=premeditation,if=(combo_points=3&anticipation_charges=3)|(combo_points<=3&anticipation_charges+combo_points<=5)
#pot
actions.reflection_rotation_ant_ref+=/potion,name=draenic_agility,if=buff.bloodlust.react|target.time_to_die<40|(buff.shadow_reflection.up|(!talent.shadow_reflection.enabled&buff.vendetta.up))&(trinket.stat.agi.up|trinket.stat.multistrike.up|trinket.stat.crit.up|buff.archmages_greater_incandescence_agi.up)|((buff.shadow_reflection.up|(!talent.shadow_reflection.enabled&buff.vendetta.up))&target.time_to_die<136)
#burst cds
actions.reflection_rotation_ant_ref+=/vendetta
actions.reflection_rotation_ant_ref+=/use_item,slot=trinket2
#racial blood elf
actions.reflection_rotation_ant_ref+=/Arcane_Torrent,if=energy<90
#Follow Standard rotation for now
actions.reflection_rotation_ant_ref+=/run_action_list,name=generators_ant,if=talent.anticipation.enabled
#-----------------------------------------------------------------------------------------------------------------------------------------#
#----------------------------------------------------------- VANISH ROTATION -------------------------------------------------------------#
#Nothing special, cheap combo point
actions.vanish_rotation_ant_ref=mutilate
#-----------------------------------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------- CD CONTROL ----------------------------------------------------------------#
#Assumes proper energy management (sort of... I got lazy)
actions.cd_controller_ant=shadow_reflection,if=energy>35
actions.cd_controller_ant+=/vanish,if=energy>13&!buff.stealth.up&combo_points+anticipation_charges<7&buff.blindside.down
#Prep
actions.cd_controller_ant+=/preparation,if=cooldown.vanish.remains>25
#pool for upcoming vendetta
actions.cd_controller_ant+=/call_action_list,name=pool_ant,if=energy+energy.regen*cooldown.vendetta.remains<=105
#-----------------------------------------------------------------------------------------------------------------------------------------#
#----------------------------------------------------------- POOL ANTICIPATION -----------------------------------------------------------#
#use Finisher to avoid capping
actions.pool_ant=call_action_list,name=finishers,if=combo_points+anticipation_charges>=7&combo_points=5
#use prep if nothing better to do, but dont delay vendetta because of it.
actions.pool_ant+=/preparation,if=cooldown.vanish.remains>25|target.time_to_die<17&cooldown.vendetta.remains>1
#wait 0.1s increments
actions.pool_ant+=/wait,sec=0.1
#-----------------------------------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------- POOL ENVENOM --------------------------------------------------------------#
#Not currently in use, can't seem to implement this in a way that doesn't produce negative returns
#use prep if nothing better to do, but dont delay dendetta because of it.
actions.pool_ant_env=preparation,if=cooldown.vanish.remains>25|target.time_to_die<17&cooldown.vendetta.remains>1
#wait 0.1s increments
actions.pool_ant_env+=/wait,sec=0.2
#-----------------------------------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------- GENERATORS ----------------------------------------------------------------#
#use generators to build to 5, just want to get up envenom asap
actions.generators_ant=call_action_list,name=finishers,if=combo_points=5
#maintain Rupture
actions.generators_ant+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5
#use generator to not cap
actions.generators_ant+=/dispatch
actions.generators_ant+=/mutilate
#-----------------------------------------------------------------------------------------------------------------------------------------#
#-------------------------------------------------------- GENERATORS ENVENOM -------------------------------------------------------------#
#use generators up to maximum to get more use of envenom
actions.generators_ant_env=call_action_list,name=finishers,if=combo_points=5&combo_points+anticipation_charges>=7
#maintain Rupture
actions.generators_ant_env+=/call_action_list,name=energy_neutral_finishers,if=combo_points=5
#use generator to not cap
actions.generators_ant_env+=/dispatch
actions.generators_ant_env+=/mutilate
#-----------------------------------------------------------------------------------------------------------------------------------------#
#-----------------------------------------------------------------------------------------------------------------------------------------#
#------------------------------------------------------------- FINISHERS -----------------------------------------------------------------#
#Maintain
actions.energy_neutral_finishers=rupture,if=ticks_remain<3
#General
actions.finishers=rupture,if=ticks_remain<3
actions.finishers+=/pool_resource,for_next=1,extra_amount=50
actions.finishers+=/death_from_above
actions.finishers+=/crimson_tempest,if=active_enemies>=4&remains<8
#Low Health envenom (dont want to envenom if we're about to pool for cds)
actions.finishers+=/pool_resource,for_next=1,extra_amount=66
actions.finishers+=/envenom,if=target.health.pct<35&energy+energy.regen*cooldown.vendetta.remains>=105
#Normal Envenom (dont want to envenom if we're about to pool for cds)
actions.finishers+=/pool_resource,for_next=1,extra_amount=55
actions.finishers+=/envenom,if=energy+energy.regen*cooldown.vendetta.remains>=105
#-----------------------------------------------------------------------------------------------------------------------------------------#
head=poisoners_helmet,id=115572,bonus_id=567
neck=darklight_necklace,id=113865,bonus_id=567,enchant=gift_of_mastery
shoulders=poisoners_spaulders,id=115574,bonus_id=567
back=drape_of_the_dark_hunt,id=113971,bonus_id=567,enchant=gift_of_mastery
chest=poisoners_tunic,id=115570,bonus_id=567
wrists=bracers_of_shattered_stalactites,id=113935,bonus_id=567
hands=cannonball_loaders_grips,id=113949,bonus_id=567
waist=conductors_multipocket_girdle,id=113964,bonus_id=567
legs=poisoners_legguards,id=115573,bonus_id=567
feet=furnace_tenders_treads,id=113895,bonus_id=567
finger1=spellbound_runic_band_of_unrelenting_slaughter,id=118307,enchant=gift_of_mastery
finger2=unexploded_explosive_shard,id=113877,bonus_id=567,enchant=gift_of_mastery
trinket1=humming_blackiron_trigger,id=113985,bonus_id=567
trinket2=beating_heart_of_the_mountain,id=113931,bonus_id=567
main_hand=oregorgers_acidetched_gutripper,id=113874,bonus_id=567,enchant=mark_of_the_thunderlord
off_hand=oregorgers_acidetched_gutripper,id=113874,bonus_id=567,enchant=mark_of_the_thunderlord