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.
79 lines
7.0 KiB
79 lines
7.0 KiB
actions.precombat+=/power_word_fortitude
|
|
|
|
# Always use HF if we have empyreal blaze (dot extension) or harmonious apparatus (cd reduction) or if it's not currently ticking. Otherwise, only use when refreshable to be sure we get the longest duration possible. It's worth it to cast even when the target will die soon based on just the initial hit damage. We also don't want to cast immediately once empyreal blaze is up when we are prepping divine word
|
|
actions+=/holy_fire,cycle_targets=1,if=(talent.empyreal_blaze|talent.harmonious_apparatus|!ticking|refreshable)&!(buff.empyreal_blaze.up&(cooldown.divine_word.up|buff.divine_word.up)&cooldown.holy_word_chastise.up)
|
|
# Don't cast SW:P during apotheosis or divine favor: chastise. We also don't cycle targets because it isn't worth the GCDs, since Smite deals slightly more damage than a full SW:P.
|
|
actions+=/shadow_word_pain,if=(refreshable|!ticking)&(target.time_to_die>=dot.shadow_word_pain.duration)&!buff.divine_favor_chastise.up&!buff.apotheosis.up
|
|
# Prepare to enter divine favor: chastise
|
|
actions+=/call_action_list,name=divine_favor_chastise_prep,if=talent.divine_word&talent.holy_word_chastise&buff.divine_favor_chastise.down
|
|
# Enter Divine Favor rotation with divine favor: chastise buff up
|
|
actions+=/run_action_list,name=divine_favor_chastise_active,strict=1,if=buff.divine_favor_chastise.up
|
|
# Run divine favor fillers rotation with buff down
|
|
actions+=/run_action_list,name=divine_favor_filler,if=talent.divine_word&talent.holy_word_chastise&buff.divine_favor_chastise.down
|
|
# Run divine image rotation with divine image talented
|
|
actions+=/run_action_list,name=divine_image,strict=1,if=talent.divine_image
|
|
# Otherwise generic rotation
|
|
actions+=/run_action_list,name=generic
|
|
|
|
actions.divine_favor_chastise_prep+=/variable,name=empyreal_exec_time,op=set,value=0
|
|
# apotheosis_exec_time: Store how long Apotheosis will take to execute
|
|
actions.divine_favor_chastise_prep+=/variable,name=apotheosis_exec_time,op=setif,condition=talent.apotheosis,value=action.apotheosis.execute_time,value_else=0
|
|
# Use apotheosis to get Chastise back if its on cooldown and Divine Word will be up soon. We can use Apotheosis (2min CD) to reset Chastise for every other Divine Word (1min CD).
|
|
actions.divine_favor_chastise_prep+=/apotheosis,if=(cooldown.holy_word_chastise.remains>cooldown.divine_word.remains)&(cooldown.divine_word.remains<=(variable.empyreal_exec_time+variable.apotheosis_exec_time))
|
|
# Divine Word only if we can sync with Chastise and (if talented) Empyreal Blaze
|
|
actions.divine_favor_chastise_prep+=/divine_word,if=cooldown.holy_word_chastise.up&(!talent.empyreal_blaze|buff.empyreal_blaze.up)
|
|
# Holy word chastise to trigger divine favor: chastise
|
|
actions.divine_favor_chastise_prep+=/holy_word_chastise,if=!talent.empyreal_blaze&buff.divine_word.up|talent.empyreal_blaze&buff.empyreal_blaze.down
|
|
|
|
actions.divine_favor_chastise_active+=/halo,if=spell_targets.halo>=2
|
|
actions.divine_favor_chastise_active+=/divine_star,if=spell_targets.divine_star>=2
|
|
# There are particular breakpoints combinations of rhapsody and spell targets beyond which holy nova beats everything else we can do
|
|
actions.divine_favor_chastise_active+=/holy_nova,if=(spell_targets.holy_nova>=2&buff.rhapsody.stack>=18)|(spell_targets.holy_nova>=3&buff.rhapsody.stack>=9)|(spell_targets.holy_nova>=4&buff.rhapsody.stack>=4)|spell_targets.holy_nova>=5
|
|
actions.divine_favor_chastise_active+=/mindgames
|
|
actions.divine_favor_chastise_active+=/shadow_word_death,if=target.health.pct<20
|
|
actions.divine_favor_chastise_active+=/holy_word_chastise
|
|
# We want to cycle smite to different targets to spread holy fire dots in AOE situations, this will buff holy nova's damage
|
|
actions.divine_favor_chastise_active+=/smite,cycle_targets=1,if=spell_targets.holy_nova>=2
|
|
actions.divine_favor_chastise_active+=/smite
|
|
|
|
actions.divine_favor_filler+=/halo,if=spell_targets.halo>=2
|
|
actions.divine_favor_filler+=/divine_star,if=spell_targets.divine_star>=2
|
|
# There are particular breakpoints combinations of rhapsody and spell targets beyond which holy nova beats everything else we can do
|
|
actions.divine_favor_filler+=/holy_nova,if=(spell_targets.holy_nova>=2&buff.rhapsody.stack>=18)|(spell_targets.holy_nova>=3&buff.rhapsody.stack>=9)|(spell_targets.holy_nova>=4&buff.rhapsody.stack>=4)|spell_targets.holy_nova>=5
|
|
actions.divine_favor_filler+=/mindgames
|
|
actions.divine_favor_filler+=/shadow_word_death,if=target.health.pct<20
|
|
# We can use chastise for damage as long as we will have apotheosis available before the next divine word, otherwise only use it when it will be back up at the same time as divine word
|
|
actions.divine_favor_filler+=/holy_word_chastise,if=(cooldown.apotheosis.remains<cooldown.divine_word.remains)|(cooldown.holy_word_chastise.duration_expected<=cooldown.divine_word.remains)
|
|
actions.divine_favor_filler+=/smite
|
|
|
|
actions.divine_image+=/apotheosis,if=buff.answered_prayers.down&!(cooldown.holy_word_sanctify.up|cooldown.holy_word_serenity.up|cooldown.holy_word_chastise.up)
|
|
# line_cd prevents re-casting sanctify and serenity right away, wasting GCDs that could be used to proc divine image damage. In testing, the sweet spot balance between adding more divine images, triggering apotheosis, and casting damage CDs was to let the image from each healing holy word expire before re-casting
|
|
actions.divine_image+=/holy_word_sanctify,line_cd=9
|
|
actions.divine_image+=/holy_word_serenity,line_cd=9
|
|
actions.divine_image+=/holy_word_chastise
|
|
actions.divine_image+=/halo,if=spell_targets.halo>=2
|
|
actions.divine_image+=/divine_star,if=spell_targets.divine_star>=2
|
|
# There are particular breakpoints combinations of rhapsody and spell targets beyond which holy nova beats everything else we can do
|
|
actions.divine_image+=/holy_nova,if=(spell_targets.holy_nova>=2&buff.rhapsody.stack>=18)|(spell_targets.holy_nova>=3&buff.rhapsody.stack>=9)|(spell_targets.holy_nova>=4&buff.rhapsody.stack>=4)|spell_targets.holy_nova>=5
|
|
actions.divine_image+=/mindgames
|
|
actions.divine_image+=/shadow_word_death,if=target.health.pct<20
|
|
actions.divine_image+=/smite
|
|
|
|
actions.generic+=/holy_word_chastise
|
|
# Hold Apotheosis if chastise will be up soon
|
|
actions.generic+=/apotheosis,if=cooldown.holy_word_chastise.remains>(gcd.max*3)
|
|
actions.generic+=/halo,if=spell_targets.halo>=2
|
|
actions.generic+=/divine_star,if=spell_targets.divine_star>=2
|
|
# There are particular breakpoints combinations of rhapsody and spell targets beyond which holy nova beats everything else we can do
|
|
actions.generic+=/holy_nova,if=(spell_targets.holy_nova>=2&buff.rhapsody.stack>=18)|(spell_targets.holy_nova>=3&buff.rhapsody.stack>=9)|(spell_targets.holy_nova>=4&buff.rhapsody.stack>=4)|spell_targets.holy_nova>=5
|
|
actions.generic+=/mindgames
|
|
actions.generic+=/shadow_word_death,if=target.health.pct<20
|
|
actions.generic+=/smite
|
|
|
|
actions.cooldowns+=/shadowfiend
|
|
# Sync PI with divine favor: chastise if we took divine word
|
|
actions.cooldowns+=/power_infusion,if=(!talent.divine_word|(cooldown.divine_word.up&cooldown.holy_word_chastise.up))
|
|
# Only potion in sync with power infusion
|
|
actions.cooldowns+=/potion,if=buff.power_infusion.up
|
|
# hold trinkets to use with PI
|
|
actions.cooldowns+=/use_items,if=buff.power_infusion.up
|