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.
196 lines
20 KiB
196 lines
20 KiB
|
4 years ago
|
## Demonology Warlock
|
||
|
|
## https://github.com/simulationcraft/simc/
|
||
|
|
## March 16, 2022
|
||
|
|
|
||
|
|
## Changes:
|
||
|
|
## - Spell Lock.
|
||
|
|
## - Only recommend Demonbolt pre-combat if it is instant (or hardcast for bosses).
|
||
|
|
## - Power Siphon allowed pre-combat to proc instant Demonbolt.
|
||
|
|
## - PvP talent interrupt.
|
||
|
|
## - Fleshcraft/Volatile Solvent cancel_if changed to interrupt_if.
|
||
|
|
## - Try to avoid wasting Demonic Core stacks.
|
||
|
|
## - Try to make opener priority only work if we can actually open with a Tyrant.
|
||
|
|
|
||
|
|
# Executed before combat begins. Accepts non-harmful actions only.
|
||
|
|
actions.precombat+=/summon_pet
|
||
|
|
actions.precombat+=/fleshcraft
|
||
|
|
actions.precombat+=/use_item,name=tome_of_monstrous_constructions
|
||
|
|
actions.precombat+=/use_item,name=soleahs_secret_technique
|
||
|
|
actions.precombat+=/use_item,name=shadowed_orb_of_torment
|
||
|
|
actions.precombat+=/power_siphon,if=buff.wild_imps.stack>1&buff.demonic_core.stack<=2
|
||
|
|
actions.precombat+=/demonbolt,if=(boss|action.demonbolt.cast=0)&soul_shards<4
|
||
|
|
actions.precombat+=/shadow_bolt,if=!(boss|action.demonbolt.cast=0)|soul_shards>3
|
||
|
|
## actions.precombat+=/variable,name=first_tyrant_time,op=set,value=10
|
||
|
|
actions.precombat+=/variable,name=time_limit,op=set,value=15
|
||
|
|
## actions.precombat+=/variable,name=in_opener,op=set,value=1
|
||
|
|
actions.precombat+=/variable,name=in_setup,op=set,value=1
|
||
|
|
actions.precombat+=/variable,name=in_buildup,op=set,value=0
|
||
|
|
actions.precombat+=/variable,name=back_to_five,op=set,value=0
|
||
|
|
actions.precombat+=/variable,name=first_hog,op=set,value=1
|
||
|
|
actions.precombat+=/variable,name=not_wilf,op=set,value=!runeforge.wilfreds_sigil_of_superior_summoning
|
||
|
|
actions.precombat+=/variable,name=use_bolt_timings,op=set,value=runeforge.balespiders_burning_core&runeforge.shard_of_annihilation
|
||
|
|
|
||
|
|
# Executed every time the actor is available.
|
||
|
|
actions=spell_lock
|
||
|
|
actions+=/call_felhunter
|
||
|
|
actions+=/axe_toss
|
||
|
|
actions+=/devour_magic
|
||
|
|
actions+=/variable,name=next_tyrant_cd,op=set,value=cooldown.summon_demonic_tyrant.remains_expected,if=!soulbind.field_of_blossoms|cooldown.summon_demonic_tyrant.remains_expected>cooldown.soul_rot.remains_expected
|
||
|
|
actions+=/variable,name=next_tyrant_cd,op=set,value=cooldown.soul_rot.remains_expected,if=soulbind.field_of_blossoms&cooldown.summon_demonic_tyrant.remains_expected<cooldown.soul_rot.remains_expected
|
||
|
|
actions+=/variable,name=next_tyrant_cd,op=set,value=variable.time_limit-2*gcd.max,if=!variable.use_bolt_timings&in_opener
|
||
|
|
actions+=/variable,name=in_setup,op=set,value=1,if=!variable.not_wilf&!variable.use_bolt_timings&variable.next_tyrant_cd<16&(cooldown.call_dreadstalkers.up|(cooldown.grimoire_felguard.up&talent.grimoire_felguard.enabled&cooldown.call_dreadstalkers.remains<gcd.max+action.shadow_bolt.execute_time))&!talent.summon_vilefiend.enabled
|
||
|
|
actions+=/variable,name=in_setup,op=set,value=1,if=!variable.not_wilf&!variable.use_bolt_timings&variable.next_tyrant_cd<16&(cooldown.call_dreadstalkers.remains<action.shadow_bolt.execute_time+action.summon_vilefiend.execute_time|(cooldown.grimoire_felguard.up&talent.grimoire_felguard.enabled&cooldown.call_dreadstalkers.remains<gcd.max+action.summon_vilefiend.execute_time+2*action.shadow_bolt.execute_time))&talent.summon_vilefiend.enabled
|
||
|
|
actions+=/variable,name=in_setup,op=set,value=1,if=variable.not_wilf&!variable.use_bolt_timings&variable.next_tyrant_cd<12.5&cooldown.grimoire_felguard.up&cooldown.call_dreadstalkers.remains<gcd.max+action.shadow_bolt.execute_time&!talent.summon_vilefiend.enabled&talent.grimoire_felguard.enabled
|
||
|
|
actions+=/variable,name=in_setup,op=set,value=1,if=variable.not_wilf&!variable.use_bolt_timings&variable.next_tyrant_cd<12.5&cooldown.grimoire_felguard.up&cooldown.call_dreadstalkers.remains<gcd.max+action.summon_vilefiend.execute_time+2*action.shadow_bolt.execute_time&talent.summon_vilefiend.enabled&talent.grimoire_felguard.enabled
|
||
|
|
actions+=/variable,name=in_setup,op=set,value=1,if=(variable.not_wilf|variable.use_bolt_timings)&variable.next_tyrant_cd<9.5&cooldown.call_dreadstalkers.up
|
||
|
|
actions+=/variable,name=in_buildup,op=set,value=1,if=variable.next_tyrant_cd<18
|
||
|
|
actions+=/variable,name=in_buildup,op=set,value=1,if=talent.summon_vilefiend.enabled&variable.next_tyrant_cd<20
|
||
|
|
actions+=/variable,name=in_buildup,op=set,value=0,if=variable.in_setup
|
||
|
|
actions+=/variable,name=imp_time_limit,op=set,value=time+(6*action.shadow_bolt.execute_time),if=variable.in_setup&variable.first_hog&prev_gcd.1.hand_of_guldan
|
||
|
|
actions+=/variable,name=first_hog,op=set,value=0,if=variable.in_setup&prev_gcd.1.hand_of_guldan
|
||
|
|
actions+=/variable,name=first_hog,op=set,value=1,if=pet.demonic_tyrant.active
|
||
|
|
## actions+=/variable,name=in_opener,op=set,value=0,if=pet.demonic_tyrant.active
|
||
|
|
actions+=/variable,name=in_setup,op=set,value=0,if=pet.demonic_tyrant.active
|
||
|
|
actions+=/variable,name=buff_sync_cd,op=set,value=variable.next_tyrant_cd+2*gcd.max,if=!variable.use_bolt_timings
|
||
|
|
actions+=/variable,name=buff_sync_cd,op=set,value=first_tyrant_time,if=!variable.use_bolt_timings&in_opener&!pet.dreadstalker.active
|
||
|
|
actions+=/variable,name=buff_sync_cd,op=set,value=variable.time_limit-2*gcd.max,if=!variable.use_bolt_timings&in_opener
|
||
|
|
actions+=/variable,name=buff_sync_cd,op=set,value=cooldown.decimating_bolt.remains_expected,if=variable.use_bolt_timings
|
||
|
|
actions+=/variable,name=back_to_five,op=set,value=0,if=soul_shard>4
|
||
|
|
actions+=/call_action_list,name=trinkets
|
||
|
|
actions+=/call_action_list,name=ogcd,strict=1,if=(!variable.use_bolt_timings&pet.demonic_tyrant.active)|(variable.use_bolt_timings&buff.shard_of_annihilation.up&(!talent.power_siphon.enabled|buff.power_siphon.up))
|
||
|
|
actions+=/call_action_list,name=ramp,strict=1,if=variable.in_setup
|
||
|
|
actions+=/call_action_list,name=build,strict=1,if=variable.in_buildup
|
||
|
|
actions+=/doom,if=refreshable
|
||
|
|
actions+=/implosion,if=target.time_to_die<2*gcd&buff.wild_imps.stack>0
|
||
|
|
actions+=/call_action_list,name=covenant_ability,strict=1,if=soulbind.grove_invigoration|soulbind.field_of_blossoms|soulbind.combat_meditation|covenant.necrolord
|
||
|
|
actions+=/power_siphon,if=variable.use_bolt_timings&buff.shard_of_annihilation.up
|
||
|
|
actions+=/potion,if=variable.use_bolt_timings&buff.shard_of_annihilation.up
|
||
|
|
actions+=/call_action_list,name=tyrant
|
||
|
|
actions+=/summon_vilefiend,if=variable.not_wilf&variable.next_tyrant_cd>45
|
||
|
|
actions+=/call_dreadstalkers,if=(variable.not_wilf|variable.use_bolt_timings)&cooldown.summon_demonic_tyrant.remains_expected>45
|
||
|
|
actions+=/call_dreadstalkers,if=(variable.not_wilf|variable.use_bolt_timings)&cooldown.summon_demonic_tyrant.remains_expected>28&cooldown.summon_demonic_tyrant.remains_expected<32
|
||
|
|
actions+=/call_dreadstalkers,if=!variable.not_wilf&!variable.use_bolt_timings&(variable.next_tyrant_cd>20-5*!runeforge.wilfreds_sigil_of_superior_summoning)
|
||
|
|
actions+=/demonic_strength,if=(!runeforge.wilfreds_sigil_of_superior_summoning&variable.next_tyrant_cd>9)|(pet.demonic_tyrant.active&pet.demonic_tyrant.remains<6*gcd.max)
|
||
|
|
actions+=/power_siphon,if=!variable.use_bolt_timings&buff.wild_imps.stack>1&buff.demonic_core.stack<3
|
||
|
|
actions+=/bilescourge_bombers,if=buff.tyrant.down&variable.next_tyrant_cd>5&!in_opener
|
||
|
|
actions+=/call_action_list,name=aoe,strict=1,if=!variable.in_setup
|
||
|
|
actions+=/grimoire_felguard,if=time_to_die<30
|
||
|
|
actions+=/summon_vilefiend,if=time_to_die<28
|
||
|
|
actions+=/call_dreadstalkers,if=time_to_die<20
|
||
|
|
actions+=/summon_demonic_tyrant,if=time_to_die<15
|
||
|
|
actions+=/hand_of_guldan,if=soul_shard=5
|
||
|
|
actions+=/shadow_bolt,if=soul_shard<5&runeforge.balespiders_burning_core&buff.balespiders_burning_core.remains<5
|
||
|
|
actions+=/hand_of_guldan,if=soul_shard>=1&variable.in_setup&buff.demonic_core.react&variable.time_limit<action.summon_demonic_tyrant.execute_time+action.hand_of_guldan.execute_time+gcd.max
|
||
|
|
actions+=/hand_of_guldan,if=soul_shard>=1&variable.in_setup&variable.time_limit<action.summon_demonic_tyrant.execute_time+action.hand_of_guldan.execute_time+action.shadow_bolt.execute_time
|
||
|
|
actions+=/demonbolt,if=set_bonus.tier28_2pc&buff.demonic_core.stack>1&soul_shard<4&pet.dreadstalker.active&pet.dreadstalker.remains<action.hand_of_guldan.execute_time+2*gcd.max
|
||
|
|
actions+=/hand_of_guldan,if=soul_shard>=3&(pet.dreadstalker.active|pet.demonic_tyrant.active)
|
||
|
|
actions+=/hand_of_guldan,if=soul_shard>=1&buff.nether_portal.up&cooldown.call_dreadstalkers.remains>2*gcd.max
|
||
|
|
actions+=/call_action_list,name=covenant_ability,strict=1,if=!covenant.venthyr
|
||
|
|
actions+=/soul_strike,if=!talent.sacrificed_souls.enabled
|
||
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&variable.next_tyrant_cd>20
|
||
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&variable.in_setup
|
||
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&(buff.demonic_core.stack>2|talent.sacrificed_souls.enabled)
|
||
|
|
actions+=/demonbolt,if=set_bonus.tier28_2pc&soul_shard<4&((6-soul_shard)*action.shadow_bolt.execute_time>pet.dreadstalker.remains-action.hand_of_guldan.execute_time-action.demonbolt.execute_time)&buff.demonic_core.stack>=1
|
||
|
|
actions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&active_enemies>1
|
||
|
|
actions+=/soul_strike
|
||
|
|
actions+=/call_action_list,name=covenant_ability
|
||
|
|
actions+=/hand_of_guldan,if=soul_shard>=3&variable.next_tyrant_cd>25&((talent.demonic_calling.enabled&buff.demonic_calling.up&buff.demonic_calling.remains>cooldown.call_dreadstalkers.remains)|cooldown.call_dreadstalkers.remains>((5-soul_shard)*action.shadow_bolt.execute_time)+action.hand_of_guldan.execute_time)
|
||
|
|
actions+=/doom,cycle_targets=1,if=refreshable&time>first_tyrant_time
|
||
|
|
# Use Demonbolt if you're going to lose Demonic Core stacks, even if it'd waste a soul shard.
|
||
|
|
actions+=/demonbolt,if=buff.demonic_core.react&buff.demonic_core.remains<1+gcd.max*buff.demonic_core.stack
|
||
|
|
actions+=/shadow_bolt
|
||
|
|
|
||
|
|
actions.5y_per_sec_trinkets=use_item,name=soulletting_ruby,cycle_targets=1,if=variable.buff_sync_cd<target.distance%5-(2*gcd.max*variable.use_bolt_timings)
|
||
|
|
actions.5y_per_sec_trinkets+=/use_item,name=sunblood_amethyst,if=variable.buff_sync_cd<target.distance%5+(2*variable.use_bolt_timings)
|
||
|
|
actions.5y_per_sec_trinkets+=/use_item,name=empyreal_ordnance,if=variable.buff_sync_cd<(target.distance%5)+12+(2*variable.use_bolt_timings)
|
||
|
|
|
||
|
|
actions.aoe=implosion,if=active_enemies>1+(1*talent.sacrificed_souls.enabled)&buff.wild_imps.stack>=6&buff.tyrant.down&variable.next_tyrant_cd>5
|
||
|
|
actions.aoe+=/implosion,if=active_enemies>2&buff.wild_imps.stack>=6&buff.tyrant.down&variable.next_tyrant_cd>5&!runeforge.implosive_potential&(!talent.from_the_shadows.enabled|debuff.from_the_shadows.up)
|
||
|
|
actions.aoe+=/implosion,if=active_enemies>2&buff.wild_imps.stack>=6&buff.implosive_potential.remains<2&runeforge.implosive_potential
|
||
|
|
actions.aoe+=/implosion,if=buff.wild_imps.stack>=12&talent.soul_conduit.enabled&talent.from_the_shadows.enabled&runeforge.implosive_potential&buff.tyrant.down&variable.next_tyrant_cd>5
|
||
|
|
|
||
|
|
actions.build=variable,name=current_hog,op=set,value=1,if=soul_shard=1
|
||
|
|
actions.build+=/variable,name=current_hog,op=set,value=2,if=soul_shard=2
|
||
|
|
actions.build+=/variable,name=current_hog,op=set,value=3,if=soul_shard>2
|
||
|
|
actions.build+=/variable,name=allow_db,op=set,value=0
|
||
|
|
actions.build+=/variable,name=allow_db,op=set,value=1,if=(pet.dreadstalker.active&buff.demonic_core.stack>0)|(!pet.dreadstalker.active&buff.demonic_core.stack>3)
|
||
|
|
actions.build+=/variable,name=time_to_setup,op=set,value=cooldown.call_dreadstalkers.remains-gcd.max-action.summon_vilefiend.execute_time-2*action.shadow_bolt.execute_time,if=talent.summon_vilefiend.enabled&talent.grimoire_felguard.enabled&cooldown.grimoire_felguard.remains<variable.next_tyrant_cd
|
||
|
|
actions.build+=/variable,name=time_to_setup,op=set,value=cooldown.call_dreadstalkers.remains-action.summon_vilefiend.execute_time-action.shadow_bolt.execute_time,if=talent.summon_vilefiend.enabled&(!talent.grimoire_felguard.enabled|cooldown.grimoire_felguard.remains>variable.next_tyrant_cd)
|
||
|
|
actions.build+=/variable,name=time_to_setup,op=set,value=cooldown.call_dreadstalkers.remains-gcd.max-action.shadow_bolt.execute_time,if=!talent.summon_vilefiend.enabled&talent.grimoire_felguard.enabled&cooldown.grimoire_felguard.remains<variable.next_tyrant_cd
|
||
|
|
actions.build+=/variable,name=time_to_setup,op=set,value=cooldown.call_dreadstalkers.remains,if=!talent.summon_vilefiend.enabled&(!talent.grimoire_felguard.enabled|cooldown.grimoire_felguard.remains>variable.next_tyrant_cd)
|
||
|
|
actions.build+=/variable,name=time_to_setup,op=set,value=variable.next_tyrant_cd-12.5,if=variable.not_wilf&cooldown.grimoire_felguard.remains<variable.next_tyrant_cd
|
||
|
|
actions.build+=/variable,name=time_to_setup,op=set,value=variable.next_tyrant_cd-9.5,if=variable.use_bolt_timings|(variable.not_wilf&(!talent.grimoire_felguard.enabled|cooldown.grimoire_felguard.remains>variable.next_tyrant_cd))
|
||
|
|
actions.build+=/bilescourge_bombers
|
||
|
|
actions.build+=/call_action_list,name=aoe
|
||
|
|
actions.build+=/call_action_list,name=covenant_ability,if=covenant.necrolord&soulbind.volatile_solvent&buff.volatile_solvent_humanoid.down
|
||
|
|
actions.build+=/hand_of_guldan,if=((5-(soul_shard-variable.current_hog))*action.shadow_bolt.execute_time+action.hand_of_guldan.execute_time>variable.time_to_setup|soul_shard>2)&variable.time_to_setup>(5-(soul_shard-variable.current_hog)-1)*action.shadow_bolt.execute_time+action.hand_of_guldan.execute_time
|
||
|
|
actions.build+=/hand_of_guldan,if=variable.allow_db&((5-(soul_shard-variable.current_hog)-2)*action.shadow_bolt.execute_time+gcd.max+action.hand_of_guldan.execute_time>variable.time_to_setup|soul_shard>2)&variable.time_to_setup>(5-(soul_shard-variable.current_hog)-3)*action.shadow_bolt.execute_time+gcd.max+action.hand_of_guldan.execute_time
|
||
|
|
actions.build+=/soul_strike,if=!talent.sacrificed_souls.enabled&soul_shard<5
|
||
|
|
actions.build+=/demonbolt,if=variable.allow_db&soul_shard<4
|
||
|
|
actions.build+=/shadow_bolt
|
||
|
|
|
||
|
|
actions.covenant_ability=soul_rot,if=soulbind.grove_invigoration&(variable.next_tyrant_cd<20|variable.next_tyrant_cd>30)
|
||
|
|
actions.covenant_ability+=/soul_rot,if=soulbind.field_of_blossoms&pet.demonic_tyrant.active
|
||
|
|
actions.covenant_ability+=/soul_rot,if=soulbind.wild_hunt_tactics&!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|soulbind.kevins_oozeling)&(pet.demonic_tyrant.active&soul_shard<2|!pet.demonic_tyrant.active&variable.next_tyrant_cd>30)
|
||
|
|
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<6|cooldown.summon_demonic_tyrant.remains_expected<30)
|
||
|
|
actions.covenant_ability+=/fleshcraft,if=soulbind.volatile_solvent&(buff.volatile_solvent_humanoid.down|(variable.in_buildup&buff.volatile_solvent_humanoid.remains<variable.next_tyrant_cd)),interrupt_if=buff.volatile_solvent_humanoid.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
|
||
|
|
|
||
|
|
actions.hp_trinks=use_item,name=sinful_gladiators_emblem
|
||
|
|
actions.hp_trinks+=/use_item,name=sinful_aspirants_emblem
|
||
|
|
|
||
|
|
actions.ogcd=berserking
|
||
|
|
actions.ogcd+=/blood_fury
|
||
|
|
actions.ogcd+=/fireblood
|
||
|
|
actions.ogcd+=/use_items
|
||
|
|
|
||
|
|
actions.pure_damage_trinks=use_item,name=grim_eclipse
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=resonant_reservoir
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=architects_ingenuity_core
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=cosmic_gladiators_resonator
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=dreadfire_vessel
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=soul_igniter
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=glyph_of_assimilation,if=active_enemies=1
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=darkmoon_deck_putrescence
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=ebonsoul_vise
|
||
|
|
actions.pure_damage_trinks+=/use_item,name=unchained_gladiators_shackles
|
||
|
|
|
||
|
|
actions.ramp=soul_rot,if=soulbind.grove_invigoration
|
||
|
|
actions.ramp+=/nether_portal
|
||
|
|
actions.ramp+=/grimoire_felguard
|
||
|
|
actions.ramp+=/summon_vilefiend
|
||
|
|
actions.ramp+=/variable,name=first_hog,op=set,value=1,if=active_enemies>2&buff.wild_imps.stack>=3&buff.implosive_potential.remains<1&runeforge.implosive_potential&variable.time_limit>5*gcd.max
|
||
|
|
actions.ramp+=/implosion,if=active_enemies>2&buff.wild_imps.stack>=3&buff.implosive_potential.remains<2&runeforge.implosive_potential&variable.time_limit>5*gcd.max
|
||
|
|
actions.ramp+=/demonbolt,if=soul_shard<4&buff.demonic_core.stack>2&cooldown.call_dreadstalkers.remains<gcd.max&!pet.dreadstalker.active&(pet.vilefiend.active|pet.grimoire_felguard.active)
|
||
|
|
actions.ramp+=/shadow_bolt,if=soul_shard<5&!pet.dreadstalker.active&(pet.vilefiend.active|pet.grimoire_felguard.active)
|
||
|
|
actions.ramp+=/shadow_bolt,if=variable.use_bolt_timings&soul_shard<5&buff.balespiders_burning_core.stack<4
|
||
|
|
actions.ramp+=/variable,name=back_to_five,op=set,value=1,if=!pet.dreadstalker.active&(talent.grimoire_felguard.enabled|talent.summon_vilefiend.enabled|covenant.night_fae|in_opener|variable.use_bolt_timings)
|
||
|
|
actions.ramp+=/call_dreadstalkers
|
||
|
|
actions.ramp+=/demonbolt,if=variable.back_to_five&soul_shard<4&buff.demonic_core.stack>2&(talent.grimoire_felguard.enabled|talent.summon_vilefiend.enabled|covenant.night_fae|in_opener|variable.use_bolt_timings)
|
||
|
|
actions.ramp+=/shadow_bolt,if=variable.back_to_five&(talent.grimoire_felguard.enabled|talent.summon_vilefiend.enabled|covenant.night_fae|in_opener|variable.use_bolt_timings)
|
||
|
|
|
||
|
|
actions.trinkets=use_item,name=shadowed_orb_of_torment,if=variable.buff_sync_cd<22
|
||
|
|
actions.trinkets+=/use_item,name=scars_of_fraternal_strife
|
||
|
|
actions.trinkets+=/call_action_list,name=hp_trinks,if=talent.demonic_consumption.enabled&variable.next_tyrant_cd<20
|
||
|
|
actions.trinkets+=/call_action_list,name=5y_per_sec_trinkets
|
||
|
|
actions.trinkets+=/use_item,name=overflowing_anima_cage,if=(!variable.use_bolt_timings&pet.demonic_tyrant.active)|(variable.use_bolt_timings&buff.shard_of_annihilation.up)
|
||
|
|
actions.trinkets+=/use_item,slot=trinket1,if=trinket.1.has_use_buff&((!variable.use_bolt_timings&pet.demonic_tyrant.active)|(variable.use_bolt_timings&buff.shard_of_annihilation.up))
|
||
|
|
actions.trinkets+=/use_item,slot=trinket2,if=trinket.2.has_use_buff&((!variable.use_bolt_timings&pet.demonic_tyrant.active)|(variable.use_bolt_timings&buff.shard_of_annihilation.up))
|
||
|
|
actions.trinkets+=/call_action_list,name=pure_damage_trinks,if=time>first_tyrant_time&variable.buff_sync_cd>20
|
||
|
|
|
||
|
|
actions.tyrant=variable,name=time_limit,op=set,value=20,if=variable.in_setup
|
||
|
|
actions.tyrant+=/variable,name=time_limit,op=set,value=variable.imp_time_limit-time,if=variable.in_setup&!variable.first_hog
|
||
|
|
actions.tyrant+=/variable,name=time_limit,op=set,value=buff.grimoire_felguard.remains,if=buff.grimoire_felguard.up&buff.grimoire_felguard.remains<variable.time_limit&variable.in_setup
|
||
|
|
actions.tyrant+=/variable,name=time_limit,op=set,value=pet.vilefiend.remains,if=pet.vilefiend.active&pet.vilefiend.remains<variable.time_limit&variable.in_setup
|
||
|
|
actions.tyrant+=/variable,name=time_limit,op=set,value=pet.dreadstalker.remains,if=pet.dreadstalker.active&pet.dreadstalker.remains<variable.time_limit&variable.in_setup
|
||
|
|
actions.tyrant+=/potion,if=soul_shard=0&buff.demonic_core.stack=0&variable.time_limit<action.summon_demonic_tyrant.execute_time+action.shadow_bolt.execute_time+action.hand_of_guldan.execute_time
|
||
|
|
actions.tyrant+=/potion,if=soul_shard=0&buff.demonic_core.stack>0&variable.time_limit<action.summon_demonic_tyrant.execute_time+gcd.max+action.hand_of_guldan.execute_time
|
||
|
|
actions.tyrant+=/potion,if=soul_shard>0&variable.time_limit<action.summon_demonic_tyrant.execute_time+action.hand_of_guldan.execute_time
|
||
|
|
actions.tyrant+=/summon_demonic_tyrant,if=soul_shard=0&buff.demonic_core.stack=0&variable.time_limit<action.summon_demonic_tyrant.execute_time+action.shadow_bolt.execute_time+action.hand_of_guldan.execute_time
|
||
|
|
actions.tyrant+=/summon_demonic_tyrant,if=soul_shard=0&buff.demonic_core.stack>0&variable.time_limit<action.summon_demonic_tyrant.execute_time+gcd.max+action.hand_of_guldan.execute_time
|
||
|
|
actions.tyrant+=/summon_demonic_tyrant,if=soul_shard>0&variable.time_limit<action.summon_demonic_tyrant.execute_time+action.hand_of_guldan.execute_time
|