А чем вам не нравится ротация с дотами, разница в дпс меньше 1% если говорить о рейдовых боссах, если говорить о целях у которых здоровье до 1млн. то бесспорно тут двухфазная ротация.
да и симкрфат предлагает эти приоритеты
actions=shadowform,if=!buff.shadowform.up actions+=/use_item,slot=waist actions+=/use_item,slot=trinket2 actions+=/potion,name=draenic_intellect,if=buff.bloodlust.react|target.time_to_die<=40 actions+=/power_infusion,if=talent.power_infusion.enabled actions+=/blood_fury actions+=/berserking actions+=/arcane_torrent actions+=/call_action_list,name=pvp_dispersion,if=set_bonus.pvp_2pc actions+=/call_action_list,name=decision
actions.decision=call_action_list,name=cop_advanced_mfi_dots,if=target.health.pct>=20&(shadow_orb>=4|target.dot.shadow_word_pain.ticking|target.dot.vampiric_touch.ticking|target.dot.devouring_plague.ticking)&talent.clarity_of_power.enabled&talent.insanity.enabled&active_enemies<=2 actions.decision+=/call_action_list,name=cop_advanced_mfi,if=target.health.pct>=20&talent.clarity_of_power.enabled&talent.insanity.enabled&active_enemies<=2 actions.decision+=/call_action_list,name=cop_mfi,if=talent.clarity_of_power.enabled&talent.insanity.enabled&active_enemies<=2 actions.decision+=/call_action_list,name=cop,if=talent.clarity_of_power.enabled&(active_enemies<=2|target.health.pct<20) actions.decision+=/call_action_list,name=main
actions.pvp_dispersion=call_action_list,name=decision,if=cooldown.dispersion.remains>0 actions.pvp_dispersion+=/dispersion,interrupt=1 actions.pvp_dispersion+=/call_action_list,name=decision
actions.main=mindbender,if=talent.mindbender.enabled actions.main+=/shadowfiend,if=!talent.mindbender.enabled actions.main+=/void_entropy,if=talent.void_entropy.enabled&shadow_orb>=3&miss_react&!ticking&target.time_to_die>60&cooldown.mind_blast.remains<=gcd*2,cycle_targets=1,max_cycle_targets=3 actions.main+=/devouring_plague,if=talent.void_entropy.enabled&shadow_orb>=3&dot.void_entropy.ticking&dot.void_entropy.remains<10,cycle_targets=1,max_cycle_targets=3 actions.main+=/devouring_plague,if=talent.void_entropy.enabled&shadow_orb>=3&dot.void_entropy.ticking&dot.void_entropy.remains<20,cycle_targets=1,max_cycle_targets=3 actions.main+=/devouring_plague,if=talent.void_entropy.enabled&shadow_orb=5 actions.main+=/devouring_plague,if=!talent.void_entropy.enabled&shadow_orb>=4&!target.dot.devouring_plague_tick.ticking&talent.surge_of_darkness.enabled,cycle_targets=1 actions.main+=/devouring_plague,if=!talent.void_entropy.enabled&((shadow_orb>=4)|(shadow_orb>=3&set_bonus.tier17_2pc)) actions.main+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=1,cycle_targets=1 actions.main+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=0,cycle_targets=1 actions.main+=/mind_blast,if=!glyph.mind_harvest.enabled&active_enemies<=5&cooldown_react actions.main+=/devouring_plague,if=!talent.void_entropy.enabled&shadow_orb>=3&(cooldown.mind_blast.remains<1.5|target.health.pct<20&cooldown.shadow_word_death.remains<1.5)&!target.dot.devouring_plague_tick.ticking&talent.surge_of_darkness.enabled,cycle_targets=1 actions.main+=/devouring_plague,if=!talent.void_entropy.enabled&shadow_orb>=3&(cooldown.mind_blast.remains<1.5|target.health.pct<20&cooldown.shadow_word_death.remains<1.5) actions.main+=/mind_blast,if=glyph.mind_harvest.enabled&mind_harvest=0,cycle_targets=1 actions.main+=/mind_blast,if=active_enemies<=5&cooldown_react actions.main+=/insanity,if=buff.shadow_word_insanity.remains<0.5*gcd&active_enemies<=2,chain=1 actions.main+=/insanity,interrupt=1,chain=1,if=active_enemies<=2 actions.main+=/halo,if=talent.halo.enabled&target.distance<=30&active_enemies>2 actions.main+=/cascade,if=talent.cascade.enabled&active_enemies>2&target.distance<=40 actions.main+=/divine_star,if=talent.divine_star.enabled&active_enemies>4&target.distance<=24 actions.main+=/shadow_word_pain,if=talent.auspicious_spirits.enabled&remains<(18*0.3)&miss_react,cycle_targets=1 actions.main+=/shadow_word_pain,if=!talent.auspicious_spirits.enabled&remains<(18*0.3)&miss_react,cycle_targets=1,max_cycle_targets=5 actions.main+=/vampiric_touch,if=remains<(15*0.3+cast_time)&miss_react,cycle_targets=1,max_cycle_targets=5 actions.main+=/devouring_plague,if=!talent.void_entropy.enabled&shadow_orb>=3&ticks_remain<=1 actions.main+=/mind_spike,if=active_enemies<=5&buff.surge_of_darkness.react=3 actions.main+=/halo,if=talent.halo.enabled&target.distance<=30&target.distance>=17 actions.main+=/cascade,if=talent.cascade.enabled&((active_enemies>1|target.distance>=28)&target.distance<=40&target.distance>=11) actions.main+=/divine_star,if=talent.divine_star.enabled&(active_enemies>1|target.distance<=24) actions.main+=/wait,sec=cooldown.shadow_word_death.remains,if=target.health.pct<20&cooldown.shadow_word_death.remains&cooldown.shadow_word_death.remains<0.5&active_enemies<=1 actions.main+=/wait,sec=cooldown.mind_blast.remains,if=cooldown.mind_blast.remains<0.5&cooldown.mind_blast.remains&active_enemies<=1 actions.main+=/mind_spike,if=buff.surge_of_darkness.react&active_enemies<=5 actions.main+=/divine_star,if=talent.divine_star.enabled&target.distance<=28&active_enemies>1 actions.main+=/mind_sear,chain=1,interrupt=1,if=active_enemies>=4 actions.main+=/shadow_word_pain,if=shadow_orb>=2&ticks_remain<=3&talent.insanity.enabled actions.main+=/vampiric_touch,if=shadow_orb>=2&ticks_remain<=3.5&talent.insanity.enabled actions.main+=/mind_flay,chain=1,interrupt=1 actions.main+=/shadow_word_death,moving=1 actions.main+=/mind_blast,moving=1,if=buff.shadowy_insight.react&cooldown_react actions.main+=/divine_star,moving=1,if=talent.divine_star.enabled&target.distance<=28 actions.main+=/cascade,moving=1,if=talent.cascade.enabled&target.distance<=40 actions.main+=/shadow_word_pain,moving=1,cycle_targets=1
actions.cop=devouring_plague,if=shadow_orb>=3&(cooldown.mind_blast.remains<=gcd*1.0|cooldown.shadow_word_death.remains<=gcd*1.0)&primary_target=0,cycle_targets=1 actions.cop+=/devouring_plague,if=shadow_orb>=3&(cooldown.mind_blast.remains<=gcd*1.0|cooldown.shadow_word_death.remains<=gcd*1.0) actions.cop+=/mind_blast,if=mind_harvest=0,cycle_targets=1 actions.cop+=/mind_blast,if=active_enemies<=5&cooldown_react actions.cop+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=1,cycle_targets=1 actions.cop+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=0,cycle_targets=1 actions.cop+=/mindbender,if=talent.mindbender.enabled actions.cop+=/shadowfiend,if=!talent.mindbender.enabled actions.cop+=/halo,if=talent.halo.enabled&target.distance<=30&target.distance>=17 actions.cop+=/cascade,if=talent.cascade.enabled&((active_enemies>1|target.distance>=28)&target.distance<=40&target.distance>=11) actions.cop+=/divine_star,if=talent.divine_star.enabled&(active_enemies>1|target.distance<=24) actions.cop+=/shadow_word_pain,if=miss_react&!ticking&primary_target=0,cycle_targets=1,max_cycle_targets=5 actions.cop+=/vampiric_touch,if=remains<cast_time&miss_react&primary_target=0,cycle_targets=1,max_cycle_targets=5 actions.cop+=/mind_sear,if=active_enemies>=3,chain=1,interrupt=1 actions.cop+=/mind_spike,if=active_enemies<=8&buff.surge_of_darkness.react actions.cop+=/mind_sear,if=active_enemies>=3,chain=1,interrupt=1 actions.cop+=/mind_flay,if=target.dot.devouring_plague_tick.ticks_remain>1&active_enemies=1,chain=1,interrupt=1 actions.cop+=/mind_spike actions.cop+=/shadow_word_death,moving=1 actions.cop+=/mind_blast,if=buff.shadowy_insight.react&cooldown_react,moving=1 actions.cop+=/halo,moving=1,if=talent.halo.enabled&target.distance<=30 actions.cop+=/divine_star,if=talent.divine_star.enabled&target.distance<=28,moving=1 actions.cop+=/cascade,if=talent.cascade.enabled&target.distance<=40,moving=1 actions.cop+=/shadow_word_pain,if=primary_target=0,moving=1,cycle_targets=1
actions.cop_mfi=devouring_plague,if=shadow_orb=5 actions.cop_mfi+=/mind_blast,if=mind_harvest=0,cycle_targets=1 actions.cop_mfi+=/mind_blast,if=active_enemies<=5&cooldown_react actions.cop_mfi+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=1,cycle_targets=1 actions.cop_mfi+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=0,cycle_targets=1 actions.cop_mfi+=/devouring_plague,if=shadow_orb>=3&(cooldown.mind_blast.remains<1.5|target.health.pct<20&cooldown.shadow_word_death.remains<1.5) actions.cop_mfi+=/mindbender,if=talent.mindbender.enabled actions.cop_mfi+=/shadowfiend,if=!talent.mindbender.enabled actions.cop_mfi+=/insanity,if=buff.shadow_word_insanity.remains<0.5*gcd&active_enemies<=2,chain=1 actions.cop_mfi+=/insanity,if=active_enemies<=2,interrupt=1,chain=1 actions.cop_mfi+=/halo,if=talent.halo.enabled&target.distance<=30&target.distance>=17 actions.cop_mfi+=/cascade,if=talent.cascade.enabled&((active_enemies>1|target.distance>=28)&target.distance<=40&target.distance>=11) actions.cop_mfi+=/divine_star,if=talent.divine_star.enabled&(active_enemies>1|target.distance<=24) actions.cop_mfi+=/shadow_word_pain,if=remains<(18*0.3)&miss_react&primary_target=0,cycle_targets=1,max_cycle_targets=5 actions.cop_mfi+=/vampiric_touch,if=remains<(15*0.3+cast_time)&miss_react&primary_target=0,cycle_targets=1,max_cycle_targets=5 actions.cop_mfi+=/mind_sear,if=active_enemies>=6,chain=1,interrupt=1 actions.cop_mfi+=/mind_spike actions.cop_mfi+=/shadow_word_death,moving=1 actions.cop_mfi+=/mind_blast,if=buff.shadowy_insight.react&cooldown_react,moving=1 actions.cop_mfi+=/halo,if=talent.halo.enabled&target.distance<=30,moving=1 actions.cop_mfi+=/divine_star,if=talent.divine_star.enabled&target.distance<=28,moving=1 actions.cop_mfi+=/cascade,if=talent.cascade.enabled&target.distance<=40,moving=1 actions.cop_mfi+=/shadow_word_pain,if=primary_target=0,moving=1,cycle_targets=1
actions.cop_advanced_mfi=mind_blast,if=mind_harvest=0,cycle_targets=1 actions.cop_advanced_mfi+=/mind_blast,if=active_enemies<=5&cooldown_react actions.cop_advanced_mfi+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=1,cycle_targets=1 actions.cop_advanced_mfi+=/shadow_word_death,if=buff.shadow_word_death_reset_cooldown.stack=0,cycle_targets=1 actions.cop_advanced_mfi+=/mindbender,if=talent.mindbender.enabled actions.cop_advanced_mfi+=/shadowfiend,if=!talent.mindbender.enabled actions.cop_advanced_mfi+=/halo,if=talent.halo.enabled&target.distance<=30&target.distance>=17 actions.cop_advanced_mfi+=/cascade,if=talent.cascade.enabled&((active_enemies>1|target.distance>=28)&target.distance<=40&target.distance>=11) actions.cop_advanced_mfi+=/divine_star,if=talent.divine_star.enabled&(active_enemies>1|target.distance<=24) actions.cop_advanced_mfi+=/shadow_word_pain,if=remains<(18*0.3)&miss_react&primary_target=0,cycle_targets=1,max_cycle_targets=5 actions.cop_advanced_mfi+=/vampiric_touch,if=remains<(15*0.3+cast_time)&miss_react&primary_target=0,cycle_targets=1,max_cycle_targets=5 actions.cop_advanced_mfi+=/mind_sear,if=active_enemies>=6,chain=1,interrupt=1 actions.cop_advanced_mfi+=/mind_spike actions.cop_advanced_mfi+=/shadow_word_death,moving=1 actions.cop_advanced_mfi+=/mind_blast,if=buff.shadowy_insight.react&cooldown_react,moving=1 actions.cop_advanced_mfi+=/halo,if=talent.halo.enabled&target.distance<=30,moving=1 actions.cop_advanced_mfi+=/divine_star,if=talent.divine_star.enabled&target.distance<=28,moving=1 actions.cop_advanced_mfi+=/cascade,if=talent.cascade.enabled&target.distance<=40,moving=1 actions.cop_advanced_mfi+=/shadow_word_pain,if=primary_target=0,moving=1,cycle_targets=1
actions.cop_advanced_mfi_dots=mind_spike,if=(target.dot.shadow_word_pain.ticking&target.dot.shadow_word_pain.remains<gcd*0.5)|(target.dot.vampiric_touch.ticking&target.dot.vampiric_touch.remains<gcd*0.5) actions.cop_advanced_mfi_dots+=/shadow_word_pain,if=!ticking&miss_react&!target.dot.vampiric_touch.ticking actions.cop_advanced_mfi_dots+=/vampiric_touch,if=!ticking&miss_react actions.cop_advanced_mfi_dots+=/mind_blast actions.cop_advanced_mfi_dots+=/devouring_plague,if=shadow_orb>=3&target.dot.shadow_word_pain.ticking&target.dot.vampiric_touch.ticking actions.cop_advanced_mfi_dots+=/insanity,if=buff.shadow_word_insanity.remains<0.5*gcd&active_enemies<=2,chain=1 actions.cop_advanced_mfi_dots+=/insanity,if=active_enemies<=2,interrupt=1,chain=1 actions.cop_advanced_mfi_dots+=/mind_spike,if=(target.dot.shadow_word_pain.ticking&target.dot.shadow_word_pain.remains<gcd*2)|(target.dot.vampiric_touch.ticking&target.dot.vampiric_touch.remains<gcd*2) actions.cop_advanced_mfi_dots+=/mind_flay,chain=1,interrupt=1
|