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.
137 lines
15 KiB
137 lines
15 KiB
|
3 years ago
|
actions.precombat+=/shadowform,if=!buff.shadowform.up
|
||
|
|
actions.precombat+=/arcane_torrent
|
||
|
|
actions.precombat+=/variable,name=mind_sear_cutoff,op=set,value=2
|
||
|
|
actions.precombat+=/variable,name=pool_amount,op=set,value=60
|
||
|
|
actions.precombat+=/shadow_crash,if=raid_event.adds.in>=25&spell_targets.shadow_crash<=8&boss
|
||
|
|
actions.precombat+=/mind_blast,if=talent.damnation.enabled&(!talent.shadow_crash.enabled|raid_event.adds.in>=25&spell_targets.shadow_crash<=8|!boss)
|
||
|
|
actions.precombat+=/vampiric_touch,if=!talent.damnation.enabled&(!talent.shadow_crash.enabled|raid_event.adds.in<25|spell_targets.shadow_crash>8|!boss)
|
||
|
|
|
||
|
|
actions+=/silence
|
||
|
|
actions+=/variable,name=dp_cutoff,op=set,value=!talent.mind_sear|(spell_targets.mind_sear<=variable.mind_sear_cutoff&(!buff.mind_devourer.up|spell_targets.mind_sear=1))
|
||
|
|
actions+=/variable,name=holding_crash,op=set,value=!action.shadow_crash.known|action.shadow_crash.disabled|raid_event.adds.in<20
|
||
|
|
actions+=/run_action_list,name=aoe,strict=1,if=spell_targets.mind_sear>2|spell_targets.vampiric_touch>3
|
||
|
|
actions+=/run_action_list,name=main
|
||
|
|
|
||
|
|
actions.aoe+=/call_action_list,name=aoe_variables
|
||
|
|
actions.aoe+=/vampiric_touch,cycle_targets=1,if=refreshable&target.time_to_die>=18&(dot.vampiric_touch.ticking|!variable.vts_applied)&variable.max_vts>0&!variable.manual_vts_applied&!action.shadow_crash.in_flight
|
||
|
|
actions.aoe+=/shadow_crash,if=!variable.holding_crash
|
||
|
|
actions.aoe+=/call_action_list,name=cds,if=fight_remains<30|time_to_die>15&(!variable.holding_crash|spell_targets.mind_sear>2)
|
||
|
|
actions.aoe+=/dark_void,if=raid_event.adds.in>10
|
||
|
|
actions.aoe+=/mindbender,if=(dot.shadow_word_pain.ticking&variable.vts_applied|action.shadow_crash.in_flight)&(fight_remains<30|time_to_die>15)
|
||
|
|
## actions.aoe+=/run_action_list,name=aoe_pl_ire,if=talent.psychic_link.rank=2&talent.insidious_ire.rank=2
|
||
|
|
# Use Mind Blast when capped on charges and talented into Mind Devourer to fish for the buff. Only use when facing 3-7 targets.
|
||
|
|
actions.aoe+=/mind_blast,if=cooldown.mind_blast.full_recharge_time<=gcd.max+cast_time&talent.mind_devourer.rank=2&spell_targets.mind_sear>=3&!buff.mind_devourer.up&spell_targets.mind_sear<=7
|
||
|
|
actions.aoe+=/mind_blast,if=(cooldown.mind_blast.full_recharge_time<=gcd.max+cast_time|pet.fiend.remains<=cast_time+gcd.max)&pet.fiend.active&talent.inescapable_torment&pet.fiend.remains>cast_time&spell_targets.mind_sear<=7&!buff.mind_devourer.up
|
||
|
|
actions.aoe+=/void_bolt,if=insanity<=85
|
||
|
|
# Use Mind Sear on 3+ targets and either you have at least 75 insanity, 4pc buff is inactive, or 2pc buff is at 3 stacks, or mind devourer is up on 2+ targets. If Mind Devourer is up do not cancel mind sear.
|
||
|
|
actions.aoe+=/mind_sear,if=buff.mind_devourer.up&spell_targets.mind_sear>1|spell_targets.mind_sear>variable.mind_sear_cutoff&(insanity>=75|((!set_bonus.tier29_4pc&!set_bonus.tier29_2pc)|!buff.dark_reveries.up)|(!set_bonus.tier29_2pc|buff.gathering_shadows.stack=3))&!variable.pool_for_cds,early_chain_if=ticks>=2&!buff.mind_devourer_ms_active.up,interrupt_immediate=1,interrupt_if=ticks>=2&!buff.mind_devourer_ms_active.up
|
||
|
|
actions.aoe+=/call_action_list,name=pl_torrent,if=talent.void_torrent&talent.psychic_link&cooldown.void_torrent.remains<=3&(!variable.holding_crash|raid_event.adds.count%(active_dot.vampiric_touch+raid_event.adds.count)<1.5)&((insanity>=50|dot.devouring_plague.ticking|buff.dark_reveries.up)|buff.voidform.up|buff.dark_ascension.up)
|
||
|
|
actions.aoe+=/devouring_plague,if=(refreshable&!variable.pool_for_cds|insanity>75&(!buff.mind_flay_insanity.up&talent.mind_flay_insanity|!talent.psychic_link))&variable.dp_cutoff
|
||
|
|
actions.aoe+=/vampiric_touch,cycle_targets=1,if=refreshable&target.time_to_die>=18&(dot.vampiric_touch.ticking|!variable.vts_applied)&variable.max_vts>0&(cooldown.shadow_crash.remains>=dot.vampiric_touch.remains|variable.holding_crash)&!action.shadow_crash.in_flight
|
||
|
|
actions.aoe+=/shadow_word_pain,if=refreshable&target.time_to_die>=18&!talent.misery.enabled
|
||
|
|
# TODO: Check Yshaarj Gains for pressing this during Inescapable Torment.
|
||
|
|
actions.aoe+=/shadow_word_death,cycle_targets=1,if=target.time_to_die<=5&insanity<=80&talent.death_and_madness
|
||
|
|
actions.aoe+=/damnation,cycle_targets=1,if=dot.vampiric_touch.refreshable&variable.is_vt_possible|dot.shadow_word_pain.refreshable
|
||
|
|
actions.aoe+=/mind_blast,if=variable.vts_applied&(!buff.mind_devourer.up|cooldown.void_eruption.up&talent.void_eruption)
|
||
|
|
actions.aoe+=/mindgames,if=spell_targets.mind_sear<5&dot.devouring_plague.ticking|talent.psychic_link
|
||
|
|
actions.aoe+=/void_torrent,cycle_targets=1,if=insanity<=35&!talent.psychic_link&variable.dots_up
|
||
|
|
# High priority action for Mind Flay: Insanity to fish for Idol of C'Thun procs
|
||
|
|
actions.aoe+=/mind_flay,if=buff.mind_flay_insanity.up&buff.surge_of_darkness.remains>=5&talent.idol_of_cthun&buff.surge_of_darkness.stack<=2,interrupt_if=ticks>=2,interrupt_immediate=1
|
||
|
|
actions.aoe+=/call_action_list,name=filler
|
||
|
|
|
||
|
|
actions.aoe_variables+=/variable,name=max_vts,op=set,default=12,value=spell_targets.vampiric_touch>?12
|
||
|
|
actions.aoe_variables+=/variable,name=is_vt_possible,op=set,value=false,default=true
|
||
|
|
actions.aoe_variables+=/variable,name=is_vt_possible,op=set,value=true,condition=dot.vampiric_touch.refreshable|active_dot.vampiric_touch<cycle_enemies&fight_remains>8
|
||
|
|
## actions.aoe_variables+=/variable,name=is_vt_possible,op=set,value=1,target_if=max(target.time_to_die*dot.vampiric_touch.refreshable),if=target.time_to_die>=18
|
||
|
|
# Todo Revamp to fix undesired behaviour with unstacked fights
|
||
|
|
actions.aoe_variables+=/variable,name=vts_applied,op=set,value=(active_dot.vampiric_touch+8*action.shadow_crash.in_flight)>=variable.max_vts|!variable.is_vt_possible
|
||
|
|
actions.aoe_variables+=/variable,name=holding_crash,op=set,value=(variable.max_vts-active_dot.vampiric_touch)<4|raid_event.adds.in<10&raid_event.adds.count>(variable.max_vts-active_dot.vampiric_touch),if=variable.holding_crash
|
||
|
|
actions.aoe_variables+=/variable,name=manual_vts_applied,op=set,value=(active_dot.vampiric_touch+8*!variable.holding_crash)>=variable.max_vts|!variable.is_vt_possible
|
||
|
|
actions.aoe_variables+=/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)|talent.void_torrent&talent.psychic_link&cooldown.void_torrent.remains<=4&(!raid_event.adds.exists&spell_targets.vampiric_touch>1|raid_event.adds.in<=5|raid_event.adds.remains>=6&!variable.holding_crash)&!buff.voidform.up
|
||
|
|
|
||
|
|
# Todo Check VE/DA enter conditions based on dots
|
||
|
|
actions.cds+=/potion,if=buff.voidform.up|buff.power_infusion.up|buff.dark_ascension.up&(fight_remains<=cooldown.power_infusion.remains+15)|boss&fight_remains<=30
|
||
|
|
actions.cds+=/fireblood,if=buff.power_infusion.up|boss&fight_remains<=8
|
||
|
|
actions.cds+=/berserking,if=buff.power_infusion.up|boss&fight_remains<=12
|
||
|
|
actions.cds+=/blood_fury,if=buff.power_infusion.up|boss&fight_remains<=15
|
||
|
|
actions.cds+=/ancestral_call,if=buff.power_infusion.up|boss&fight_remains<=15
|
||
|
|
# Sync Power Infusion with Voidform or Dark Ascension
|
||
|
|
actions.cds+=/power_infusion,if=(buff.voidform.up|buff.dark_ascension.up)
|
||
|
|
# Make sure Mindbender is active before popping Void Eruption and dump charges of Mind Blast before casting
|
||
|
|
actions.cds+=/void_eruption,if=!cooldown.fiend.up&(pet.fiend.active|!talent.mindbender|spell_targets.mind_sear>2&talent.inescapable_torment.rank<2)&(cooldown.mind_blast.charges=0|time>15|buff.shadowy_insight.up&cooldown.mind_blast.charges=buff.shadowy_insight.stack)
|
||
|
|
# Make sure Mindbender is active before popping Dark Ascension unless you have insignificant talent points or too many targets
|
||
|
|
actions.cds+=/dark_ascension,if=pet.fiend.active|!talent.mindbender&!cooldown.fiend.up|spell_targets.mind_sear>2&talent.inescapable_torment.rank<2
|
||
|
|
actions.cds+=/call_action_list,name=trinkets
|
||
|
|
actions.cds+=/mindbender,if=(dot.shadow_word_pain.ticking&variable.vts_applied|action.shadow_crash.in_flight)
|
||
|
|
# Use Desperate Prayer to heal up should Shadow Word: Death or other damage bring you below 75%
|
||
|
|
actions.cds+=/desperate_prayer,if=health.pct<=75
|
||
|
|
|
||
|
|
actions.filler+=/mind_flay,if=buff.mind_flay_insanity.up&dot.vampiric_touch.ticking&dot.shadow_word_pain.ticking&(!buff.surge_of_darkness.up|talent.screams_of_the_void)
|
||
|
|
actions.filler+=/vampiric_touch,cycle_targets=1,if=refreshable&buff.unfurling_darkness.up
|
||
|
|
actions.filler+=/mind_spike,if=buff.surge_of_darkness.up
|
||
|
|
actions.filler+=/lights_judgment,if=!raid_event.adds.exists|raid_event.adds.in>75|spell_targets.lights_judgment>1
|
||
|
|
# Save up to 20s if adds are coming soon.
|
||
|
|
actions.filler+=/halo,if=raid_event.adds.in>20
|
||
|
|
actions.filler+=/shadow_word_death,cycle_targets=1,if=target.health.pct<20&(spell_targets.mind_sear<4|talent.inescapable_torment.rank=2&pet.fiend.active)
|
||
|
|
# Save up to 10s if adds are coming soon.
|
||
|
|
actions.filler+=/divine_star,if=raid_event.adds.in>10
|
||
|
|
actions.filler+=/mind_spike,if=(!talent.mental_decay|dot.vampiric_touch.remains>=(cooldown.shadow_crash.remains+action.shadow_crash.travel_time))&!talent.idol_of_cthun
|
||
|
|
actions.filler+=/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.filler+=/shadow_crash,if=raid_event.adds.in>30
|
||
|
|
# Use Shadow Word: Death while moving as a low-priority action in execute
|
||
|
|
actions.filler+=/shadow_word_death,cycle_targets=1,if=target.health.pct<20
|
||
|
|
# Use Divine Star while moving as a low-priority action
|
||
|
|
actions.filler+=/divine_star
|
||
|
|
# Use Shadow Word: Death while moving as a low-priority action
|
||
|
|
actions.filler+=/shadow_word_death
|
||
|
|
# Use Shadow Word: Pain while moving as a low-priority action
|
||
|
|
actions.filler+=/shadow_word_pain,cycle_targets=1
|
||
|
|
|
||
|
|
actions.main+=/call_action_list,name=main_variables
|
||
|
|
actions.main+=/call_action_list,name=cds,if=fight_remains<30|time_to_die>15&(!variable.holding_crash|spell_targets.mind_sear>2)
|
||
|
|
actions.main+=/mindbender,if=variable.dots_up&(fight_remains<30|time_to_die>15)
|
||
|
|
# High priority Mind Blast action when using Inescapable Torment
|
||
|
|
actions.main+=/mind_blast,if=(cooldown.mind_blast.full_recharge_time<=gcd.max+cast_time|pet.fiend.remains<=cast_time+gcd.max)&pet.fiend.active&talent.inescapable_torment&pet.fiend.remains>cast_time&spell_targets.mind_sear<=7
|
||
|
|
actions.main+=/damnation,cycle_targets=1,if=dot.vampiric_touch.refreshable|dot.shadow_word_pain.refreshable
|
||
|
|
actions.main+=/void_bolt,if=variable.dots_up&insanity<=85
|
||
|
|
# Use Mind Devourer Procs on Mind Sear when facing 2 or more targets
|
||
|
|
actions.main+=/mind_sear,if=spell_targets.mind_sear>1&buff.mind_devourer.up
|
||
|
|
actions.main+=/devouring_plague,if=(refreshable&!variable.pool_for_cds|insanity>75|talent.void_torrent&cooldown.void_torrent.remains<=3*gcd)&variable.dp_cutoff
|
||
|
|
actions.main+=/vampiric_touch,cycle_targets=1,if=refreshable&target.time_to_die>=12&(cooldown.shadow_crash.remains>=dot.vampiric_touch.remains&!action.shadow_crash.in_flight|variable.holding_crash)
|
||
|
|
actions.main+=/shadow_word_pain,cycle_targets=1,if=refreshable&target.time_to_die>=18&!talent.misery.enabled
|
||
|
|
# High Priority Mind Flay: Insanity to fish for C'Thun procs when Mind Blast is not capped and Void Torrent is not available and Mindbender is not active
|
||
|
|
actions.main+=/mind_flay,if=buff.mind_flay_insanity.up&variable.dots_up&(talent.inescapable_torment.rank<2|!pet.fiend.active)&cooldown.mind_blast.full_recharge_time>=gcd*3&talent.idol_of_cthun&(!cooldown.void_torrent.up|!talent.void_torrent)
|
||
|
|
actions.main+=/shadow_word_death,cycle_targets=1,if=(target.health.pct<20&spell_targets.mind_sear<4)&(talent.inescapable_torment.rank<2|cooldown.fiend.remains>=10)|(pet.fiend.active&talent.inescapable_torment.rank>1&spell_targets.mind_sear<=7)|buff.deathspeaker.up
|
||
|
|
actions.main+=/mind_blast,if=variable.dots_up&(!buff.mind_devourer.up|cooldown.void_eruption.up&talent.void_eruption)
|
||
|
|
# TODO: Dont use if add events are coming soon when talented into PL
|
||
|
|
actions.main+=/mindgames,if=spell_targets.mind_sear<5&variable.all_dots_up
|
||
|
|
actions.main+=/shadow_crash,if=!variable.holding_crash
|
||
|
|
actions.main+=/dark_void,if=raid_event.adds.in>20
|
||
|
|
actions.main+=/devouring_plague,if=buff.voidform.up&variable.dots_up&variable.dp_cutoff
|
||
|
|
# TODO: Dont use if add events are coming soon when talented into PL
|
||
|
|
actions.main+=/void_torrent,cycle_targets=1,if=variable.all_dots_up&insanity<=35&!variable.holding_crash
|
||
|
|
actions.main+=/call_action_list,name=filler
|
||
|
|
|
||
|
|
actions.main_variables+=/variable,name=dots_up,op=set,value=(dot.shadow_word_pain.ticking&dot.vampiric_touch.ticking)|action.shadow_crash.in_flight
|
||
|
|
actions.main_variables+=/variable,name=all_dots_up,op=set,value=target.time_to_die<8|(dot.shadow_word_pain.ticking&dot.vampiric_touch.ticking|action.shadow_crash.in_flight)&dot.devouring_plague.ticking
|
||
|
|
actions.main_variables+=/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)|talent.void_torrent&talent.psychic_link&cooldown.void_torrent.remains<=4&(!raid_event.adds.exists&spell_targets.vampiric_touch>1|raid_event.adds.in<=5|raid_event.adds.remains>=6&!variable.holding_crash)&!buff.voidform.up
|
||
|
|
# Set vts_applied for single-target to support Mindbender entry in cds action list.
|
||
|
|
actions.main_variables+=/variable,name=vts_applied,op=set,value=dot.vampiric_touch.ticking
|
||
|
|
|
||
|
|
actions.pl_torrent+=/void_bolt
|
||
|
|
actions.pl_torrent+=/vampiric_touch,if=remains<=6&cooldown.void_torrent.remains<gcd*2
|
||
|
|
# Use Devouring Plague before Void Torrent cast if Voidform is not active and Mind Devourer is not active and fighting 4 or less targets or less not talented into Mind Sear
|
||
|
|
actions.pl_torrent+=/devouring_plague,if=remains<=4&cooldown.void_torrent.remains<gcd*2&!buff.voidform.up&(!talent.mind_sear|spell_targets.mind_sear<=4|!talent.surge_of_darkness&cooldown.mind_blast.full_recharge_time>=3)&!buff.mind_devourer.up
|
||
|
|
actions.pl_torrent+=/mind_sear,if=!variable.dp_cutoff|buff.mind_devourer.up
|
||
|
|
actions.pl_torrent+=/mind_blast,if=!talent.mindgames|cooldown.mindgames.remains>=3&!prev_gcd.1.mind_blast
|
||
|
|
actions.pl_torrent+=/void_torrent,if=dot.vampiric_touch.ticking&dot.shadow_word_pain.ticking|buff.voidform.up
|
||
|
|
actions.pl_torrent+=/mindgames,if=dot.vampiric_touch.ticking&dot.shadow_word_pain.ticking&dot.devouring_plague.ticking|buff.voidform.up
|
||
|
|
|
||
|
|
actions.trinkets+=/use_item,name=voidmenders_shadowgem,if=buff.power_infusion.up|boss&fight_remains<20
|
||
|
|
actions.trinkets+=/use_item,name=darkmoon_deck_box_inferno
|
||
|
|
actions.trinkets+=/use_item,name=darkmoon_deck_box_rime
|
||
|
|
actions.trinkets+=/use_item,name=darkmoon_deck_box_dance
|
||
|
|
actions.trinkets+=/use_items,if=buff.voidform.up|buff.power_infusion.up|buff.dark_ascension.up|(cooldown.void_eruption.remains>10&trinket.cooldown.duration<=60)|boss&fight_remains<20
|
||
|
|
# Sync with cooldowns for Ancient Madness or use when the fight will end soon or at full stacks
|
||
|
|
actions.trinkets+=/use_item,name=desperate_invokers_codex,if=boss&fight_remains<20|!talent.ancient_madness|(cooldown.dark_ascension.remains>10&talent.dark_ascension)|(cooldown.void_eruption.remains>10&talent.void_eruption)|(!talent.void_eruption&!talent.dark_ascension)
|