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.

86 lines
8.4 KiB

actions.precombat+=/fleshcraft,if=soulbind.pustule_eruption|soulbind.volatilall_dots_upe_solvent
actions.precombat+=/shadowform,if=!buff.shadowform.up
actions.precombat+=/arcane_torrent
actions.precombat+=/use_item,name=shadowed_orb_of_torment
actions.precombat+=/variable,name=mind_sear_cutoff,op=set,value=2
actions.precombat+=/shadow_crash,if=talent.shadow_crash.enabled
actions.precombat+=/mind_blast,if=talent.damnation.enabled&!talent.shadow_crash.enabled
actions.precombat+=/vampiric_touch,if=!talent.damnation.enabled&!talent.shadow_crash.enabled
actions+=/silence
actions+=/potion,if=buff.voidform.up|buff.power_infusion.up|buff.dark_ascension.up
actions+=/variable,name=dots_up,op=set,value=target.time_to_die<8|dot.shadow_word_pain.ticking&dot.vampiric_touch.ticking
actions+=/variable,name=all_dots_up,op=set,value=target.time_to_die<8|dot.shadow_word_pain.ticking&dot.vampiric_touch.ticking&dot.devouring_plague.ticking
actions+=/variable,name=max_vts,op=set,default=1,value=spell_targets.vampiric_touch
actions+=/variable,name=max_vts,op=set,value=(spell_targets.mind_sear<=5)*spell_targets.mind_sear,if=buff.voidform.up
actions+=/variable,name=is_vt_possible,op=set,value=0,default=1
actions+=/variable,name=is_vt_possible,op=set,value=1,if=active_dot.vampiric_touch<cycle_enemies|dot.vampiric_touch.refreshable&target.time_to_die>=18
actions+=/variable,name=vts_applied,op=set,value=active_dot.vampiric_touch>=variable.max_vts|!variable.is_vt_possible
actions+=/variable,name=sfp,op=set,value=runeforge.shadowflame_prism.equipped|talent.inescapable_torment
actions+=/variable,name=pool_for_cds,op=set,value=(cooldown.void_eruption.remains<=gcd.max*3&talent.void_eruption|cooldown.dark_ascension.up&talent.dark_ascension)
actions+=/fireblood,if=buff.power_infusion.up|boss&fight_remains<=8
actions+=/berserking,if=buff.power_infusion.up|boss&fight_remains<=12
actions+=/blood_fury,if=buff.power_infusion.up|boss&fight_remains<=15
actions+=/ancestral_call,if=buff.power_infusion.up|boss&fight_remains<=15
actions+=/variable,name=pool_amount,op=set,value=60
actions+=/run_action_list,name=main
actions.boon=ascended_blast,if=spell_targets.mind_sear<=3
actions.boon+=/ascended_nova,if=spell_targets.ascended_nova>1&spell_targets.mind_sear>1
actions.cds=power_infusion,if=(buff.voidform.up|buff.dark_ascension.up)
actions.cds+=/void_eruption,if=!cooldown.fiend.up&(pet.fiend.active|!talent.mindbender|action.fae_guardians.known)&(cooldown.mind_blast.charges=0|time>15|buff.shadowy_insight.up&cooldown.mind_blast.charges=buff.shadowy_insight.stack)
actions.cds+=/dark_ascension,if=pet.fiend.active&cooldown.mind_blast.charges<2|!talent.mindbender&!cooldown.fiend.up|action.fae_guardians.known&cooldown.fiend.remains>=15&cooldown.fae_guardians.remains>=4*gcd.max
actions.cds+=/boon_of_the_ascended,if=!buff.voidform.up&!cooldown.void_eruption.up&spell_targets.mind_sear>1&!talent.searing_nightmare.enabled|(buff.voidform.up&spell_targets.mind_sear<2&!talent.searing_nightmare.enabled&(prev_gcd.1.void_bolt|equipped.empyreal_ordnance&trinket.empyreal_ordnance.cooldown.remains<=162))|(buff.voidform.up&talent.searing_nightmare.enabled)
actions.cds+=/call_action_list,name=trinkets
actions.cds+=/unholy_nova,if=dot.shadow_word_pain.ticking&variable.vts_applied|action.shadow_crash.in_flight
actions.cds+=/fae_guardians,if=(dot.shadow_word_pain.ticking&variable.vts_applied|action.shadow_crash.in_flight)&(!talent.void_eruption|buff.voidform.up&!cooldown.void_bolt.up&cooldown.mind_blast.full_recharge_time>gcd.max|!cooldown.void_eruption.up)
actions.cds+=/mindbender,if=(dot.shadow_word_pain.ticking&variable.vts_applied|action.shadow_crash.in_flight)
actions.cds+=/desperate_prayer,if=health.pct<=75
actions.main+=/call_action_list,name=boon,if=buff.boon_of_the_ascended.up
actions.main+=/call_action_list,name=cds
actions.main+=/shadow_word_death,if=pet.fiend.active&variable.sfp&(pet.fiend.remains<=gcd|target.health.pct<20)&spell_targets.mind_sear<=7
actions.main+=/mind_blast,if=(cooldown.mind_blast.full_recharge_time<=gcd.max|pet.fiend.remains<=cast_time+gcd.max)&pet.fiend.active&variable.sfp&pet.fiend.remains>cast_time&spell_targets.mind_sear<=7
actions.main+=/damnation,cycle_targets=1,if=dot.vampiric_touch.refreshable&variable.is_vt_possible|dot.shadow_word_pain.refreshable
actions.main+=/void_bolt,if=variable.dots_up&insanity<=85
actions.main+=/mind_sear,cycle_targets=1,if=(spell_targets.mind_sear>variable.mind_sear_cutoff|buff.voidform.up)&buff.mind_devourer.up
actions.main+=/mind_sear,cycle_targets=1,if=spell_targets.mind_sear>variable.mind_sear_cutoff,chain=1,interrupt_immediate=1,interrupt_if=ticks>=2
actions.main+=/devouring_plague,if=(refreshable&!variable.pool_for_cds|insanity>75|talent.void_torrent&cooldown.void_torrent.remains<=3*gcd|buff.mind_devourer.up&cooldown.mind_blast.full_recharge_time<=2*gcd.max&!cooldown.void_eruption.up&talent.void_eruption)
actions.main+=/shadow_word_death,cycle_targets=1,if=(target.health.pct<20&spell_targets.mind_sear<4)&(!variable.sfp|cooldown.fiend.remains>=10)|(pet.fiend.active&variable.sfp&spell_targets.mind_sear<=7)|buff.deathspeaker.up&(cooldown.fiend.remains+gcd.max)>buff.deathspeaker.remains
actions.main+=/vampiric_touch,cycle_targets=1,if=(refreshable&target.time_to_die>=18&(dot.vampiric_touch.ticking|!variable.vts_applied)&variable.max_vts>0|(talent.misery.enabled&dot.shadow_word_pain.refreshable))&cooldown.shadow_crash.remains>=dot.vampiric_touch.remains&!action.shadow_crash.in_flight
actions.main+=/shadow_word_pain,cycle_targets=1,if=refreshable&target.time_to_die>=18&!talent.misery.enabled
actions.main+=/mind_blast,if=variable.vts_applied&(!buff.mind_devourer.up|cooldown.void_eruption.up&talent.void_eruption)
actions.main+=/mindgames,if=spell_targets.mind_sear<5&variable.all_dots_up
actions.main+=/shadow_crash,if=raid_event.adds.in>10
actions.main+=/dark_void,if=raid_event.adds.in>20
actions.main+=/devouring_plague,if=buff.voidform.up&variable.dots_up
actions.main+=/void_torrent,if=insanity<=35,cycle_targets=1,if=variable.dots_up
actions.main+=/mind_blast,if=raid_event.movement.in>cast_time+0.5&(!variable.sfp|!cooldown.fiend.up&variable.sfp|variable.vts_applied)
actions.main+=/vampiric_touch,if=buff.unfurling_darkness.up
actions.main+=/mind_flay,if=buff.mind_flay_insanity.up&variable.dots_up&(!buff.surge_of_darkness.up|talent.screams_of_the_void)
# Use Halo if all DoTS are active and you are not in Voidform or it will hit at least 2 targets. Save up to 20s if adds are coming soon.
actions.main+=/halo,if=raid_event.adds.in>20&(spell_targets.halo>1|(variable.all_dots_up&!buff.voidform.up))
# Use when it will hit at least 2 targets or 3 targets with Dark Ascension.
actions.main+=/divine_star,if=spell_targets.divine_star>1+talent.dark_ascension
actions.main+=/lights_judgment,if=spell_targets.lights_judgment>=2|(!raid_event.adds.exists|raid_event.adds.in>75)
actions.main+=/mind_spike,if=buff.surge_of_darkness.up|!conduit.dissonant_echoes&(!talent.mental_decay|dot.vampiric_touch.remains>=(cooldown.shadow_crash.remains+action.shadow_crash.travel_time))&(talent.mind_melt|!talent.idol_of_cthun)
actions.main+=/mind_flay,chain=1,interrupt_immediate=1,interrupt_if=ticks>=2
# Use Shadow Crash while moving as a low-priority action when adds will not come in 30 seconds.
actions.main+=/shadow_crash,if=raid_event.adds.in>30
# Use Shadow Word: Death while moving as a low-priority action in execute
actions.main+=/shadow_word_death,cycle_targets=1,if=target.health.pct<20
# Use Divine Star while moving as a low-priority action
actions.main+=/divine_star
# Use Shadow Word: Death while moving as a low-priority action
actions.main+=/shadow_word_death
# Use Shadow Word: Pain while moving as a low-priority action
actions.main+=/shadow_word_pain
actions.trinkets=use_item,name=scars_of_fraternal_strife,if=(!buff.scars_of_fraternal_strife_4.up&time>1)|(buff.voidform.up|buff.power_infusion.up|buff.dark_ascension.up|cooldown.void_eruption.remains>10)
actions.trinkets+=/use_item,name=macabre_sheet_music,if=cooldown.void_eruption.remains>10|cooldown.dark_ascension.remains>10
actions.trinkets+=/use_item,name=soulletting_ruby,cycle_targets=1,if=buff.voidform.up|buff.power_infusion.up|buff.dark_ascension.up|cooldown.void_eruption.remains>10
# Use this on CD for max CDR
actions.trinkets+=/use_item,name=architects_ingenuity_core
# Default fallback for usable items: Use on cooldown in order by trinket slot.
actions.trinkets+=/use_items,if=buff.voidform.up|buff.power_infusion.up|buff.dark_ascension.up|cooldown.void_eruption.remains>10