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.
101 lines
8.7 KiB
101 lines
8.7 KiB
actions.precombat+=/summon_pet
|
|
actions.precombat+=/inquisitors_gaze
|
|
## actions.precombat+=/variable,name=first_tyrant_time,op=set,value=12
|
|
## actions.precombat+=/variable,name=first_tyrant_time,op=set,value=15,if=talent.nether_portal.enabled
|
|
## actions.precombat+=/variable,name=in_opener,op=set,value=1
|
|
actions.precombat+=/demonbolt,if=soul_shards<5&(boss|action.demonbolt.cast=0)
|
|
actions.precombat+=/shadow_bolt,if=soul_shards<5&!(boss|action.demonbolt.cast=0)
|
|
actions.precombat+=/variable,name=use_bolt_timings,op=set,value=talent.fel_covenant.enabled+talent.sacrificed_souls.enabled+talent.power_siphon.enabled>1
|
|
|
|
actions+=/axe_toss
|
|
actions+=/devour_magic
|
|
actions+=/variable,name=next_tyrant_cd,op=set,value=cooldown.summon_demonic_tyrant.remains_expected
|
|
actions+=/variable,name=in_opener,op=set,value=0,if=pet.demonic_tyrant.active
|
|
actions+=/variable,name=buff_sync_cd,op=set,value=variable.next_tyrant_cd
|
|
actions+=/call_action_list,name=trinkets
|
|
actions+=/call_action_list,name=ogcd,strict=1,if=pet.demonic_tyrant.active
|
|
actions+=/implosion,if=time_to_die<2*gcd
|
|
actions+=/call_action_list,name=opener,strict=1,if=time<variable.first_tyrant_time
|
|
actions+=/call_action_list,name=covenant_ability,strict=1,if=action.soul_rot.known|action.decimating_bolt.known|action.scouring_tithe.known|action.impending_catastrophe.known
|
|
actions+=/potion,if=variable.next_tyrant_cd<gcd.max&time>variable.first_tyrant_time
|
|
actions+=/call_action_list,name=tyrant_setup
|
|
actions+=/guillotine,if=active_enemies>1
|
|
actions+=/power_siphon,if=variable.use_bolt_timings&pet.demonic_tyrant.active&(buff.demonic_power.remains<5|buff.stolen_power_final.up)
|
|
actions+=/demonic_strength,if=(!(legendary.wilfreds_sigil_of_superior_summoning.enabled|talent.grand_warlocks_design.enabled)&variable.next_tyrant_cd>9)|(pet.demonic_tyrant.active&(soul_shard<3|buff.demonic_power.remains<12))
|
|
actions+=/bilescourge_bombers,if=buff.tyrant.down&variable.next_tyrant_cd>10&buff.nether_portal.down&buff.power_siphon.down
|
|
actions+=/call_dreadstalkers,if=variable.use_bolt_timings&cooldown.summon_demonic_tyrant.remains_expected>22
|
|
actions+=/call_dreadstalkers,if=!variable.use_bolt_timings&(variable.next_tyrant_cd>20-5*!(legendary.wilfreds_sigil_of_superior_summoning.enabled|talent.grand_warlocks_design.enabled))
|
|
actions+=/implosion,if=active_enemies>1+(1*talent.sacrificed_souls.enabled)&buff.wild_imps.stack>=6&buff.tyrant.down&variable.next_tyrant_cd>5
|
|
actions+=/grimoire_felguard,if=time_to_die<30
|
|
actions+=/summon_vilefiend,if=time_to_die<28
|
|
actions+=/summon_demonic_tyrant,if=time_to_die<15
|
|
actions+=/hand_of_guldan,if=soul_shard=5
|
|
actions+=/shadow_bolt,if=soul_shard<5&talent.fel_covenant.enabled&buff.fel_covenant.remains<5
|
|
# Pop one Doom at irrelevant # of demons before tyrant and replace the kazaaks value with a higher one right before the tick.
|
|
actions+=/doom,if=refreshable&dot.doom.remains<2&talent.kazaaks_final_curse.enabled&pet.demonic_tyrant.active
|
|
actions+=/doom,if=dot.doom.remains=0&talent.kazaaks_final_curse.enabled&(variable.next_tyrant_cd<3|(time>variable.first_tyrant_time-3&time<variable.first_tyrant_time))
|
|
actions+=/guillotine,if=buff.demonic_power.up
|
|
# If Dreadstalkers are already active, no need to save shards
|
|
actions+=/hand_of_guldan,if=soul_shard>=3&(pet.dreadstalker.active|pet.demonic_tyrant.active)
|
|
actions+=/hand_of_guldan,if=soul_shard>=3&buff.nether_portal.up&cooldown.call_dreadstalkers.remains>2*gcd.max
|
|
actions+=/hand_of_guldan,if=soul_shard>=1&(!talent.nether_portal.enabled|cooldown.nether_portal.remains)&(!talent.grimoire_felguard.enabled|cooldown.grimoire_felguard.remains)&(!talent.summon_vilefiend.enabled|cooldown.summon_vilefiend.remains)&(buff.dreadstalkers.remains<gcd.max+cast_time+action.summon_demonic_tyrant.cast)&variable.next_tyrant_cd<gcd.max&time>variable.first_tyrant_time-gcd.max
|
|
# Without Sacrificed Souls, Soul Strike is stronger than Demonbolt, so it has a higher priority TODO: RETEST - prolly depends on mastery
|
|
actions+=/soul_strike,if=!talent.sacrificed_souls.enabled
|
|
# Spend Demonic Cores for Soul Shards until Tyrant cooldown is close to ready
|
|
actions+=/power_siphon,if=!variable.use_bolt_timings&buff.wild_imps.stack>1&buff.demonic_core.stack<3
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&variable.next_tyrant_cd>20
|
|
# During Tyrant setup, spend Demonic Cores for Soul Shards
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&variable.next_tyrant_cd<12
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&(buff.demonic_core.stack>2|talent.sacrificed_souls.enabled)
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&active_enemies>1
|
|
actions+=/soul_strike
|
|
# If you can get back to 5 Soul Shards before Dreadstalkers cooldown is ready, it's okay to spend them now
|
|
actions+=/hand_of_guldan,if=soul_shard>=3&variable.next_tyrant_cd>25&(talent.demonic_calling.enabled|cooldown.call_dreadstalkers.remains>((5-soul_shard)*action.shadow_bolt.execute_time)+action.hand_of_guldan.execute_time)
|
|
actions+=/doom,cycle_targets=1,if=dot.doom.remains=0&time>variable.first_tyrant_time&!talent.kazaaks_final_curse.enabled
|
|
actions+=/doom,cycle_targets=1,if=dot.doom.remains=0&time>variable.first_tyrant_time&talent.kazaaks_final_curse.enabled&variable.next_tyrant_cd>dot.doom.duration+7&buff.demonic_power.down
|
|
actions+=/shadow_bolt
|
|
# Straight up dps loss. castable while moving tho.
|
|
actions+=/summon_soulkeeper
|
|
## actions+=/summon_soulkeeper,if=cooldown.nether_portal.up&buff.nether_portal.down&variable.next_tyrant_cd>15&buff.demonic_power.down&buff.tormented_soul.stack=10
|
|
|
|
actions.covenant_ability=soul_rot,if=(soulbind.field_of_blossoms|runeforge.decaying_soul_satchel)&pet.demonic_tyrant.active
|
|
actions.covenant_ability+=/soul_rot,if=soulbind.grove_invigoration&!runeforge.decaying_soul_satchel&(variable.next_tyrant_cd<20|variable.next_tyrant_cd>30)
|
|
actions.covenant_ability+=/soul_rot,if=!(soulbind.field_of_blossoms|soulbind.grove_invigoration)&!runeforge.decaying_soul_satchel&!pet.demonic_tyrant.active&variable.next_tyrant_cd>18
|
|
actions.covenant_ability+=/decimating_bolt,cycle_targets=1,if=!variable.use_bolt_timings&soulbind.lead_by_example&(pet.demonic_tyrant.active&soul_shard<2|!pet.demonic_tyrant.active&variable.next_tyrant_cd>40)
|
|
actions.covenant_ability+=/decimating_bolt,cycle_targets=1,if=!variable.use_bolt_timings&soulbind.kevins_oozeling&(pet.demonic_tyrant.active|!pet.demonic_tyrant.active&variable.next_tyrant_cd>40)
|
|
actions.covenant_ability+=/decimating_bolt,cycle_targets=1,if=!variable.use_bolt_timings&(soulbind.forgeborne_reveries|(soulbind.volatile_solvent&!soulbind.kevins_oozeling))&!pet.demonic_tyrant.active
|
|
actions.covenant_ability+=/decimating_bolt,cycle_targets=1,if=variable.use_bolt_timings&(!talent.power_siphon|cooldown.power_siphon.remains<action.decimating_bolt.execute_time)&!cooldown.summon_demonic_tyrant.up&(pet.demonic_tyrant.remains<8|cooldown.summon_demonic_tyrant.remains_expected<30)
|
|
actions.covenant_ability+=/fleshcraft,if=soulbind.volatile_solvent&buff.volatile_solvent.down,interrupt_if=buff.volatile_solvent.up
|
|
actions.covenant_ability+=/scouring_tithe,if=soulbind.combat_meditation&pet.demonic_tyrant.active
|
|
actions.covenant_ability+=/scouring_tithe,if=!soulbind.combat_meditation
|
|
actions.covenant_ability+=/impending_catastrophe,if=pet.demonic_tyrant.active&soul_shard=0
|
|
|
|
# opener assumes starting at 5 shards after db precast
|
|
actions.opener+=/nether_portal
|
|
actions.opener+=/grimoire_felguard
|
|
actions.opener+=/summon_vilefiend
|
|
actions.opener+=/call_dreadstalkers,if=buff.nether_portal.up
|
|
actions.opener+=/hand_of_guldan,if=buff.nether_portal.up
|
|
# only build back to 5 shards for the first dogs cast. Hounds of War procs are used at 2 shards.
|
|
actions.opener+=/shadow_bolt,if=soul_shard<5&cooldown.call_dreadstalkers.up&!pet.dreadstalker.active
|
|
actions.opener+=/shadow_bolt,if=variable.use_bolt_timings&soul_shard<5&buff.fel_covenant.stack<4
|
|
actions.opener+=/call_dreadstalkers
|
|
|
|
actions.ogcd=berserking
|
|
actions.ogcd+=/blood_fury
|
|
actions.ogcd+=/fireblood
|
|
actions.ogcd+=/use_items
|
|
|
|
actions.trinkets=variable,name=use_buff_trinkets,value=pet.demonic_tyrant.active
|
|
actions.trinkets+=/use_item,slot=trinket1,if=trinket.1.has_use_buff&variable.use_buff_trinkets
|
|
actions.trinkets+=/use_item,slot=trinket2,if=trinket.2.has_use_buff&variable.use_buff_trinkets
|
|
actions.trinkets+=/call_action_list,name=pure_damage_trinks,if=time>variable.first_tyrant_time&variable.buff_sync_cd>20
|
|
|
|
actions.pure_damage_trinks+=/use_item,slot=trinket1,if=!trinket.1.has_use_buff
|
|
actions.pure_damage_trinks+=/use_item,slot=trinket2,if=!trinket.2.has_use_buff
|
|
|
|
actions.tyrant_setup=nether_portal,if=variable.next_tyrant_cd<15
|
|
actions.tyrant_setup+=/grimoire_felguard,if=variable.next_tyrant_cd<17
|
|
actions.tyrant_setup+=/summon_vilefiend,if=variable.next_tyrant_cd<15
|
|
actions.tyrant_setup+=/call_dreadstalkers,if=variable.next_tyrant_cd<12
|
|
actions.tyrant_setup+=/summon_demonic_tyrant,if=time>variable.first_tyrant_time
|