HekiliDB = { ["namespaces"] = { ["LibDualSpec-1.0"] = { }, }, ["profileKeys"] = { ["Quillidania - Deathwing"] = "Quillidania - Deathwing", ["Quillox - Deathwing"] = "Default", ["Quillandria - Thunderhorn"] = "Quillandria - Thunderhorn", ["Quillstrum - Deathwing"] = "Quillstrum - Deathwing", ["Quilligan - Deathwing"] = "Default", ["Quillmog - Deathwing"] = "Quillmog - Deathwing", ["Quilago - Thunderhorn"] = "Quilago - Thunderhorn", ["Quillphis - Deathwing"] = "Quillphis - Deathwing", ["Quillspeth - Thunderhorn"] = "Quillspeth - Thunderhorn", ["Quillandrus - Deathwing"] = "Default", ["Quilberg - Thunderhorn"] = "Quilberg - Thunderhorn", ["Quilkin - Thunderhorn"] = "Quilkin - Thunderhorn", ["Quillum - Deathwing"] = "Quillum - Deathwing", ["Quilladin - Deathwing"] = "Default", ["Quildra - Deathwing"] = "Quildra - Deathwing", ["Quillten - Deathwing"] = "Quillten - Deathwing", ["Quilldraka - Deathwing"] = "Default", ["Quillcroft - Thunderhorn"] = "Quillcroft - Thunderhorn", ["Quillzana - Thunderhorn"] = "Quillzana - Thunderhorn", ["Quillick - Thunderhorn"] = "Quillick - Thunderhorn", ["Quillson - Thunderhorn"] = "Quillson - Thunderhorn", ["Quillastra - Deathwing"] = "Quillastra - Deathwing", ["Quillikus - Thunderhorn"] = "Quillikus - Thunderhorn", ["Quillisium - Deathwing"] = "Quillisium - Deathwing", ["Quillikan - Deathwing"] = "Quillikan - Deathwing", ["Quillika - Thunderhorn"] = "Quillika - Thunderhorn", ["Quilenko - Thunderhorn"] = "Quilenko - Thunderhorn", ["Quilbee - Thunderhorn"] = "Quilbee - Thunderhorn", ["Quillika - Deathwing"] = "Quillika - Deathwing", }, ["profiles"] = { ["Quillidania - Deathwing"] = { ["runOnce"] = { ["forceReloadAllDefaultPriorities_20220228"] = true, ["resetPotionsToDefaults_20190717"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["updateMaxRefreshToNewSpecOptions_20220222"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["enableAllOfTheThings_20180820"] = true, ["resetRogueMfDOption_20200226"] = true, ["forceReloadClassDefaultOptions_20220306_581"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["forceReloadClassDefaultOptions_20220306_577"] = true, ["forceEnableAllClassesOnceDueToBug_20220225"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [581] = { ["maxRefresh"] = 10, ["settings"] = { ["infernal_charges"] = 1, }, ["potionsReset"] = 20180919.1, ["maxTime"] = 33, ["potion"] = "superior_steelskin_potion", }, [577] = { ["maxRefresh"] = 10, ["settings"] = { ["recommend_movement"] = false, ["demon_blades_acknowledged"] = false, ["unbound_movement"] = false, }, ["potionsReset"] = 20180919.1, ["maxTime"] = 33, ["potion"] = "potion_of_unbridled_fury", }, }, ["displays"] = { ["Interrupts"] = { ["rel"] = "CENTER", ["y"] = -224.9999542236328, }, ["Cooldowns"] = { ["rel"] = "CENTER", ["x"] = -25, }, ["Primary"] = { ["rel"] = "CENTER", ["x"] = -50, ["y"] = -432, ["elvuiCooldown"] = true, }, ["AOE"] = { ["rel"] = "CENTER", ["x"] = -50, ["y"] = -492, }, ["Defensives"] = { ["rel"] = "CENTER", ["x"] = -75, ["y"] = -324.9998779296875, }, }, ["packs"] = { ["Havoc"] = { ["source"] = "SimulationCraft", ["builtIn"] = true, ["date"] = 20220821, ["spec"] = 577, ["desc"] = "Demon Hunter Havoc\nAugust 21, 2022\n\nChanges:\n- Metamorphosis and Potion usage \"before fight ends\" logic adjusted to apply only to boss fights.\n- Loosen up syncing of Metamorphosis (min of fight remains vs. trinket CD rather than max).", ["profile"] = "## Demon Hunter Havoc\n## August 21, 2022\n\n## Changes:\n## - Metamorphosis and Potion usage \"before fight ends\" logic adjusted to apply only to boss fights.\n## - Loosen up syncing of Metamorphosis (min of fight remains vs. trinket CD rather than max).\n\nactions.precombat=bottled_flayedwing_toxin\nactions.precombat+=/variable,name=trinket_sync_slot,value=1,if=trinket.1.has_use_buff&(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)\nactions.precombat+=/variable,name=trinket_sync_slot,value=2,if=trinket.2.has_use_buff&(!trinket.1.has_use_buff||trinket.2.cooldown.duration>trinket.1.cooldown.duration)\n# Use Eye Beam at low Fury with Blind Fury along with either Darkglare or Demon Blades unless using Agony Gaze\nactions.precombat+=/variable,name=use_eye_beam_fury_condition,value=talent.blind_fury.enabled&(runeforge.darkglare_medallion||talent.demon_blades.enabled&!runeforge.agony_gaze)\nactions.precombat+=/fleshcraft,if=soulbind.pustule_eruption||soulbind.volatile_solvent\nactions.precombat+=/arcane_torrent\n\n## Executed every time the actor is available.\nactions=disrupt\nactions+=/consume_magic\n## We don't do this target swapping to apply Burning Wound\n## actions+=/retarget_auto_attack,line_cd=1,target_if=min:debuff.burning_wound.remains,if=runeforge.burning_wound&talent.demon_blades.enabled\n# Without Chaos Theory or Darkglare, Blade Dance with First Blood or at 3+ (2+ with Trail of Ruin) targets\nactions+=/variable,name=blade_dance,if=!runeforge.chaos_theory&!runeforge.darkglare_medallion,value=talent.first_blood.enabled||spell_targets.blade_dance1>=(3-talent.trail_of_ruin.enabled)\n# With Chaos Theory, Blade Dance when the buff is down, with First Blood at 2+ (1+ with Trail of Ruin) or with Essence Break at 4+ (3+ with Trail of Ruin) targets\nactions+=/variable,name=blade_dance,if=runeforge.chaos_theory,value=buff.chaos_theory.down||talent.first_blood.enabled&spell_targets.blade_dance1>=(2-talent.trail_of_ruin.enabled)||!talent.cycle_of_hatred.enabled&spell_targets.blade_dance1>=(4-talent.trail_of_ruin.enabled)\n# With Darkglare, Blade Dance at normal target count when buffed by a secondary effect, or always at 4T+ for non-Demonic\nactions+=/variable,name=blade_dance,if=runeforge.darkglare_medallion,value=talent.first_blood.enabled||(buff.metamorphosis.up||talent.trail_of_ruin.enabled||debuff.essence_break.up)&spell_targets.blade_dance1>=(3-talent.trail_of_ruin.enabled)||!talent.demonic.enabled&spell_targets.blade_dance1>=4\n# Use Essence Break before Blade Dance if it is available and off cooldown\nactions+=/variable,name=blade_dance,op=reset,if=talent.essence_break.enabled&cooldown.essence_break.ready\n# With Agony Gaze and Cycle of Hatred, avoid using Blade Dance when there is the possibility to extend an AoE Sinful Brand\nactions+=/variable,name=blade_dance,if=runeforge.agony_gaze&talent.cycle_of_hatred,value=variable.blade_dance&active_dot.sinful_brand<2\nactions+=/variable,name=pooling_for_meta,value=!talent.demonic.enabled&cooldown.metamorphosis.remains<6&fury.deficit>30\nactions+=/variable,name=pooling_for_blade_dance,value=variable.blade_dance&(fury<75-talent.first_blood.enabled*20)\nactions+=/variable,name=pooling_for_eye_beam,value=talent.demonic.enabled&!talent.blind_fury.enabled&cooldown.eye_beam.remains<(gcd.max*2)&fury.deficit>20\n# With Agony Gaze, attempt to sync Eye Beam and cooldown usage for maximum duration, unless at 3T+\nactions+=/variable,name=waiting_for_agony_gaze,if=runeforge.agony_gaze,value=!dot.sinful_brand.ticking&cooldown.sinful_brand.remains0\n## actions+=/pick_up_fragment,mode=nearest,if=(talent.demonic_appetite.enabled&fury.deficit>=35||runeforge.blind_faith&buff.blind_faith.up)&(!cooldown.eye_beam.ready||fury<30)\nactions+=/throw_glaive,if=buff.fel_bombardment.stack=5&(buff.immolation_aura.up||!buff.metamorphosis.up)\nactions+=/run_action_list,name=demonic,strict=1,if=talent.demonic.enabled\nactions+=/run_action_list,name=normal\n\n# Cast Metamorphosis if we will get a full Eye Beam refresh or if the encounter is almost over\nactions.cooldown=metamorphosis,if=!talent.demonic.enabled&(cooldown.eye_beam.remains>20||fight_remains<25)\nactions.cooldown+=/metamorphosis,if=talent.demonic.enabled&(cooldown.eye_beam.remains>20&(!variable.blade_dance||cooldown.blade_dance.remains>gcd.max)||fight_remains<25)\nactions.cooldown+=/potion,if=buff.metamorphosis.remains>25||boss&fight_remains<60\nactions.cooldown+=/use_item,name=wraps_of_electrostatic_potential\nactions.cooldown+=/use_item,name=ring_of_collapsing_futures,if=buff.temptation.down||fight_remains<30\nactions.cooldown+=/use_item,name=cache_of_acquired_treasures,if=buff.acquired_axe.up&((active_enemies=desired_targets&raid_event.adds.in>60||active_enemies>desired_targets)&(active_enemies<3||cooldown.eye_beam.remains<20)||boss&fight_remains<25)\n# Default use item logic\nactions.cooldown+=/trinket1,if=variable.trinket_sync_slot=1&(buff.metamorphosis.up||(!talent.demonic.enabled&boss&cooldown.metamorphosis.remains>(fight_remains(fight_remains=30))&(!cooldown.metamorphosis.up||active_enemies=1)\nactions.cooldown+=/the_hunt,if=!talent.demonic.enabled&!variable.waiting_for_momentum&!variable.pooling_for_meta||buff.furious_gaze.up\nactions.cooldown+=/elysian_decree,if=(active_enemies>desired_targets||raid_event.adds.in>30)\nactions.cooldown+=/fleshcraft,if=soulbind.volatile_solvent&!buff.volatile_solvent_humanoid.up,interrupt_immediate=1,interrupt_global=1,interrupt_if=soulbind.volatile_solvent\n\nactions.demonic=eye_beam,if=runeforge.agony_gaze&(active_enemies>desired_targets||raid_event.adds.in>25-talent.cycle_of_hatred*10)&dot.sinful_brand.ticking&dot.sinful_brand.remains<=gcd\nactions.demonic+=/fel_rush,if=talent.unbound_chaos.enabled&buff.unbound_chaos.up&(charges=2||(raid_event.movement.in>10&raid_event.adds.in>10))\nactions.demonic+=/death_sweep,if=variable.blade_dance\nactions.demonic+=/glaive_tempest,if=active_enemies>desired_targets||raid_event.adds.in>10\nactions.demonic+=/throw_glaive,if=conduit.serrated_glaive.enabled&cooldown.eye_beam.remains<6&!buff.metamorphosis.up&!debuff.exposed_wound.up\nactions.demonic+=/eye_beam,if=active_enemies>desired_targets||raid_event.adds.in>25-talent.cycle_of_hatred*10&(!variable.use_eye_beam_fury_condition||spell_targets>1||fury<70)&!variable.waiting_for_agony_gaze\nactions.demonic+=/blade_dance,if=variable.blade_dance&!cooldown.metamorphosis.ready&(cooldown.eye_beam.remains>5||(raid_event.adds.in>cooldown&raid_event.adds.in<25))\nactions.demonic+=/immolation_aura,if=!buff.immolation_aura.up\nactions.demonic+=/annihilation,if=!variable.pooling_for_blade_dance\nactions.demonic+=/felblade,if=fury.deficit>=40\nactions.demonic+=/essence_break\nactions.demonic+=/chaos_strike,if=!variable.pooling_for_blade_dance&!variable.pooling_for_eye_beam\nactions.demonic+=/fel_rush,if=talent.demon_blades.enabled&!cooldown.eye_beam.ready&(charges=2||(raid_event.movement.in>10&raid_event.adds.in>10))\nactions.demonic+=/demons_bite,cycle_targets=1,if=runeforge.burning_wound&debuff.burning_wound.remains<4\nactions.demonic+=/fel_rush,if=!talent.demon_blades.enabled&spell_targets>1&(charges=2||(raid_event.movement.in>10&raid_event.adds.in>10))\nactions.demonic+=/demons_bite\nactions.demonic+=/throw_glaive,if=buff.out_of_range.up\nactions.demonic+=/fel_rush,if=movement.distance>15||buff.out_of_range.up\nactions.demonic+=/vengeful_retreat,if=movement.distance>15\nactions.demonic+=/throw_glaive,if=talent.demon_blades.enabled\n\nactions.normal=eye_beam,if=runeforge.agony_gaze&(active_enemies>desired_targets||raid_event.adds.in>15)&dot.sinful_brand.ticking&dot.sinful_brand.remains<=gcd\nactions.normal+=/vengeful_retreat,if=talent.momentum.enabled&buff.prepared.down&time>1\nactions.normal+=/fel_rush,if=(buff.unbound_chaos.up||variable.waiting_for_momentum&(!talent.unbound_chaos.enabled||!cooldown.immolation_aura.ready))&(charges=2||(raid_event.movement.in>10&raid_event.adds.in>10))\nactions.normal+=/fel_barrage,if=active_enemies>desired_targets||raid_event.adds.in>30\nactions.normal+=/death_sweep,if=variable.blade_dance\nactions.normal+=/immolation_aura,if=!buff.immolation_aura.up\nactions.normal+=/glaive_tempest,if=!variable.waiting_for_momentum&(active_enemies>desired_targets||raid_event.adds.in>10)\nactions.normal+=/throw_glaive,if=conduit.serrated_glaive.enabled&cooldown.eye_beam.remains<6&!buff.metamorphosis.up&!debuff.exposed_wound.up\nactions.normal+=/eye_beam,if=!variable.waiting_for_momentum&(active_enemies>desired_targets||raid_event.adds.in>15&(!variable.use_eye_beam_fury_condition||spell_targets>1||fury<70)&!variable.waiting_for_agony_gaze)\nactions.normal+=/blade_dance,if=variable.blade_dance\nactions.normal+=/felblade,if=fury.deficit>=40\nactions.normal+=/essence_break\nactions.normal+=/annihilation,if=(talent.demon_blades.enabled||!variable.waiting_for_momentum||fury.deficit<30||buff.metamorphosis.remains<5)&!variable.pooling_for_blade_dance\nactions.normal+=/chaos_strike,if=(talent.demon_blades.enabled||!variable.waiting_for_momentum||fury.deficit<30)&!variable.pooling_for_meta&!variable.pooling_for_blade_dance\nactions.normal+=/eye_beam,if=talent.blind_fury.enabled&raid_event.adds.in>cooldown&!variable.waiting_for_agony_gaze\nactions.normal+=/demons_bite,cycle_targets=1,if=runeforge.burning_wound&debuff.burning_wound.remains<4\nactions.normal+=/demons_bite\nactions.normal+=/fel_rush,if=!talent.momentum.enabled&raid_event.movement.in>charges*10&talent.demon_blades.enabled\nactions.normal+=/felblade,if=movement.distance>15||buff.out_of_range.up\nactions.normal+=/fel_rush,if=movement.distance>15||(buff.out_of_range.up&!talent.momentum.enabled)\nactions.normal+=/vengeful_retreat,if=movement.distance>15\nactions.normal+=/throw_glaive,if=talent.demon_blades.enabled", ["version"] = 20220821, ["warnings"] = "WARNING: The import for 'normal' required some automated changes.\nLine 1: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 16: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'default' required some automated changes.\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 5: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 7: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 11: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nWARNING: The import for 'precombat' required some automated changes.\nLine 2: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 2: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 3: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 3: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (2x).\nLine 5: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 5: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nWARNING: The import for 'cooldown' required some automated changes.\nLine 7: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 7: Converted 'trinket.1.X' to 'trinket.t1.X' (1x).\nLine 7: Converted 'trinket.2.X' to 'trinket.t2.X' (1x).\nLine 8: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 8: Converted 'trinket.1.X' to 'trinket.t1.X' (1x).\nLine 8: Converted 'trinket.2.X' to 'trinket.t2.X' (1x).\nLine 10: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 13: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\n\nWARNING: The import for 'demonic' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 1: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 14: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nImported 5 action lists.\n", ["lists"] = { ["normal"] = { { ["enabled"] = true, ["criteria"] = "runeforge.agony_gaze.enabled & ( active_enemies > desired_targets || raid_event.adds.in > 15 ) & dot.sinful_brand.ticking & dot.sinful_brand.remains <= gcd", ["action"] = "eye_beam", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.momentum.enabled & buff.prepared.down & time > 1", ["action"] = "vengeful_retreat", }, -- [2] { ["enabled"] = true, ["criteria"] = "( buff.unbound_chaos.up || variable.waiting_for_momentum & ( ! talent.unbound_chaos.enabled || ! cooldown.immolation_aura.ready ) ) & ( charges = 2 || ( raid_event.movement.in > 10 & raid_event.adds.in > 10 ) )", ["action"] = "fel_rush", }, -- [3] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 30", ["action"] = "fel_barrage", }, -- [4] { ["enabled"] = true, ["criteria"] = "variable.blade_dance", ["action"] = "death_sweep", }, -- [5] { ["enabled"] = true, ["criteria"] = "! buff.immolation_aura.up", ["action"] = "immolation_aura", }, -- [6] { ["enabled"] = true, ["criteria"] = "! variable.waiting_for_momentum & ( active_enemies > desired_targets || raid_event.adds.in > 10 )", ["action"] = "glaive_tempest", }, -- [7] { ["enabled"] = true, ["criteria"] = "conduit.serrated_glaive.enabled & cooldown.eye_beam.remains < 6 & ! buff.metamorphosis.up & ! debuff.exposed_wound.up", ["action"] = "throw_glaive", }, -- [8] { ["enabled"] = true, ["criteria"] = "! variable.waiting_for_momentum & ( active_enemies > desired_targets || raid_event.adds.in > 15 & ( ! variable.use_eye_beam_fury_condition || spell_targets > 1 || fury < 70 ) & ! variable.waiting_for_agony_gaze )", ["action"] = "eye_beam", }, -- [9] { ["enabled"] = true, ["criteria"] = "variable.blade_dance", ["action"] = "blade_dance", }, -- [10] { ["enabled"] = true, ["criteria"] = "fury.deficit >= 40", ["action"] = "felblade", }, -- [11] { ["action"] = "essence_break", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "( talent.demon_blades.enabled || ! variable.waiting_for_momentum || fury.deficit < 30 || buff.metamorphosis.remains < 5 ) & ! variable.pooling_for_blade_dance", ["action"] = "annihilation", }, -- [13] { ["enabled"] = true, ["criteria"] = "( talent.demon_blades.enabled || ! variable.waiting_for_momentum || fury.deficit < 30 ) & ! variable.pooling_for_meta & ! variable.pooling_for_blade_dance", ["action"] = "chaos_strike", }, -- [14] { ["enabled"] = true, ["criteria"] = "talent.blind_fury.enabled & raid_event.adds.in > action_cooldown & ! variable.waiting_for_agony_gaze", ["action"] = "eye_beam", }, -- [15] { ["enabled"] = true, ["criteria"] = "runeforge.burning_wound.enabled & debuff.burning_wound.remains < 4", ["action"] = "demons_bite", ["cycle_targets"] = 1, }, -- [16] { ["action"] = "demons_bite", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["criteria"] = "! talent.momentum.enabled & raid_event.movement.in > charges * 10 & talent.demon_blades.enabled", ["action"] = "fel_rush", }, -- [18] { ["enabled"] = true, ["criteria"] = "movement.distance > 15 || buff.out_of_range.up", ["action"] = "felblade", }, -- [19] { ["enabled"] = true, ["criteria"] = "movement.distance > 15 || ( buff.out_of_range.up & ! talent.momentum.enabled )", ["action"] = "fel_rush", }, -- [20] { ["enabled"] = true, ["criteria"] = "movement.distance > 15", ["action"] = "vengeful_retreat", }, -- [21] { ["enabled"] = true, ["criteria"] = "talent.demon_blades.enabled", ["action"] = "throw_glaive", }, -- [22] }, ["default"] = { { ["action"] = "disrupt", ["enabled"] = true, }, -- [1] { ["action"] = "consume_magic", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["var_name"] = "blade_dance", ["value"] = "talent.first_blood.enabled || spell_targets.blade_dance1 >= ( 3 - talent.trail_of_ruin.enabled )", ["description"] = "Without Chaos Theory or Darkglare, Blade Dance with First Blood or at 3+ (2+ with Trail of Ruin) targets", ["criteria"] = "! runeforge.chaos_theory.enabled & ! runeforge.darkglare_medallion.enabled", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["var_name"] = "blade_dance", ["value"] = "buff.chaos_theory.down || talent.first_blood.enabled & spell_targets.blade_dance1 >= ( 2 - talent.trail_of_ruin.enabled ) || ! talent.cycle_of_hatred.enabled & spell_targets.blade_dance1 >= ( 4 - talent.trail_of_ruin.enabled )", ["description"] = "With Chaos Theory, Blade Dance when the buff is down, with First Blood at 2+ (1+ with Trail of Ruin) or with Essence Break at 4+ (3+ with Trail of Ruin) targets", ["criteria"] = "runeforge.chaos_theory.enabled", }, -- [4] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["var_name"] = "blade_dance", ["value"] = "talent.first_blood.enabled || ( buff.metamorphosis.up || talent.trail_of_ruin.enabled || debuff.essence_break.up ) & spell_targets.blade_dance1 >= ( 3 - talent.trail_of_ruin.enabled ) || ! talent.demonic.enabled & spell_targets.blade_dance1 >= 4", ["description"] = "With Darkglare, Blade Dance at normal target count when buffed by a secondary effect, or always at 4T+ for non-Demonic", ["criteria"] = "runeforge.darkglare_medallion.enabled", }, -- [5] { ["enabled"] = true, ["op"] = "reset", ["action"] = "variable", ["var_name"] = "blade_dance", ["description"] = "Use Essence Break before Blade Dance if it is available and off cooldown", ["criteria"] = "talent.essence_break.enabled & cooldown.essence_break.ready", }, -- [6] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["var_name"] = "blade_dance", ["value"] = "variable.blade_dance & active_dot.sinful_brand < 2", ["description"] = "With Agony Gaze and Cycle of Hatred, avoid using Blade Dance when there is the possibility to extend an AoE Sinful Brand", ["criteria"] = "runeforge.agony_gaze.enabled & talent.cycle_of_hatred.enabled", }, -- [7] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "! talent.demonic.enabled & cooldown.metamorphosis.remains < 6 & fury.deficit > 30", ["var_name"] = "pooling_for_meta", }, -- [8] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "variable.blade_dance & ( fury < 75 - talent.first_blood.enabled * 20 )", ["var_name"] = "pooling_for_blade_dance", }, -- [9] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.demonic.enabled & ! talent.blind_fury.enabled & cooldown.eye_beam.remains < ( gcd.max * 2 ) & fury.deficit > 20", ["var_name"] = "pooling_for_eye_beam", }, -- [10] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["var_name"] = "waiting_for_agony_gaze", ["value"] = "! dot.sinful_brand.ticking & cooldown.sinful_brand.remains < gcd.max * 4 & ( ! cooldown.metamorphosis.up || active_enemies = 1 ) & spell_targets.eye_beam <= 3", ["description"] = "With Agony Gaze, attempt to sync Eye Beam and cooldown usage for maximum duration, unless at 3T+", ["criteria"] = "runeforge.agony_gaze.enabled", }, -- [11] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.momentum.enabled & ! buff.momentum.up", ["var_name"] = "waiting_for_momentum", }, -- [12] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldown", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.fel_bombardment.stack = 5 & ( buff.immolation_aura.up || ! buff.metamorphosis.up )", ["action"] = "throw_glaive", }, -- [14] { ["enabled"] = true, ["action"] = "run_action_list", ["strict"] = 1, ["criteria"] = "talent.demonic.enabled", ["list_name"] = "demonic", }, -- [15] { ["enabled"] = true, ["action"] = "run_action_list", ["list_name"] = "normal", }, -- [16] }, ["demonic"] = { { ["enabled"] = true, ["criteria"] = "runeforge.agony_gaze.enabled & ( active_enemies > desired_targets || raid_event.adds.in > 25 - talent.cycle_of_hatred.enabled * 10 ) & dot.sinful_brand.ticking & dot.sinful_brand.remains <= gcd", ["action"] = "eye_beam", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.unbound_chaos.enabled & buff.unbound_chaos.up & ( charges = 2 || ( raid_event.movement.in > 10 & raid_event.adds.in > 10 ) )", ["action"] = "fel_rush", }, -- [2] { ["enabled"] = true, ["criteria"] = "variable.blade_dance", ["action"] = "death_sweep", }, -- [3] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 10", ["action"] = "glaive_tempest", }, -- [4] { ["enabled"] = true, ["criteria"] = "conduit.serrated_glaive.enabled & cooldown.eye_beam.remains < 6 & ! buff.metamorphosis.up & ! debuff.exposed_wound.up", ["action"] = "throw_glaive", }, -- [5] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 25 - talent.cycle_of_hatred.enabled * 10 & ( ! variable.use_eye_beam_fury_condition || spell_targets > 1 || fury < 70 ) & ! variable.waiting_for_agony_gaze", ["action"] = "eye_beam", }, -- [6] { ["enabled"] = true, ["criteria"] = "variable.blade_dance & ! cooldown.metamorphosis.ready & ( cooldown.eye_beam.remains > 5 || ( raid_event.adds.in > action_cooldown & raid_event.adds.in < 25 ) )", ["action"] = "blade_dance", }, -- [7] { ["enabled"] = true, ["criteria"] = "! buff.immolation_aura.up", ["action"] = "immolation_aura", }, -- [8] { ["enabled"] = true, ["criteria"] = "! variable.pooling_for_blade_dance", ["action"] = "annihilation", }, -- [9] { ["enabled"] = true, ["criteria"] = "fury.deficit >= 40", ["action"] = "felblade", }, -- [10] { ["action"] = "essence_break", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "! variable.pooling_for_blade_dance & ! variable.pooling_for_eye_beam", ["action"] = "chaos_strike", }, -- [12] { ["enabled"] = true, ["criteria"] = "talent.demon_blades.enabled & ! cooldown.eye_beam.ready & ( charges = 2 || ( raid_event.movement.in > 10 & raid_event.adds.in > 10 ) )", ["action"] = "fel_rush", }, -- [13] { ["enabled"] = true, ["criteria"] = "runeforge.burning_wound.enabled & debuff.burning_wound.remains < 4", ["action"] = "demons_bite", ["cycle_targets"] = 1, }, -- [14] { ["enabled"] = true, ["criteria"] = "! talent.demon_blades.enabled & spell_targets > 1 & ( charges = 2 || ( raid_event.movement.in > 10 & raid_event.adds.in > 10 ) )", ["action"] = "fel_rush", }, -- [15] { ["action"] = "demons_bite", ["enabled"] = true, }, -- [16] { ["enabled"] = true, ["criteria"] = "buff.out_of_range.up", ["action"] = "throw_glaive", }, -- [17] { ["enabled"] = true, ["criteria"] = "movement.distance > 15 || buff.out_of_range.up", ["action"] = "fel_rush", }, -- [18] { ["enabled"] = true, ["criteria"] = "movement.distance > 15", ["action"] = "vengeful_retreat", }, -- [19] { ["enabled"] = true, ["criteria"] = "talent.demon_blades.enabled", ["action"] = "throw_glaive", }, -- [20] }, ["cooldown"] = { { ["enabled"] = true, ["description"] = "Cast Metamorphosis if we will get a full Eye Beam refresh or if the encounter is almost over", ["criteria"] = "! talent.demonic.enabled & ( cooldown.eye_beam.remains > 20 || fight_remains < 25 )", ["action"] = "metamorphosis", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.demonic.enabled & ( cooldown.eye_beam.remains > 20 & ( ! variable.blade_dance || cooldown.blade_dance.remains > gcd.max ) || fight_remains < 25 )", ["action"] = "metamorphosis", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.metamorphosis.remains > 25 || boss & fight_remains < 60", ["action"] = "potion", }, -- [3] { ["enabled"] = true, ["name"] = "wraps_of_electrostatic_potential", ["action"] = "wraps_of_electrostatic_potential", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.temptation.down || fight_remains < 30", ["name"] = "ring_of_collapsing_futures", ["action"] = "ring_of_collapsing_futures", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.acquired_axe.up & ( ( active_enemies = desired_targets & raid_event.adds.in > 60 || active_enemies > desired_targets ) & ( active_enemies < 3 || cooldown.eye_beam.remains < 20 ) || boss & fight_remains < 25 )", ["name"] = "cache_of_acquired_treasures", ["action"] = "cache_of_acquired_treasures", }, -- [6] { ["enabled"] = true, ["description"] = "Default use item logic", ["criteria"] = "variable.trinket_sync_slot = 1 & ( buff.metamorphosis.up || ( ! talent.demonic.enabled & boss & cooldown.metamorphosis.remains > ( fight_remains ( fight_remains = 30 ) ) & ( ! cooldown.metamorphosis.up || active_enemies = 1 )", ["action"] = "sinful_brand", }, -- [10] { ["enabled"] = true, ["criteria"] = "! talent.demonic.enabled & ! variable.waiting_for_momentum & ! variable.pooling_for_meta || buff.furious_gaze.up", ["action"] = "the_hunt", }, -- [11] { ["enabled"] = true, ["criteria"] = "( active_enemies > desired_targets || raid_event.adds.in > 30 )", ["action"] = "elysian_decree", }, -- [12] { ["enabled"] = true, ["criteria"] = "soulbind.volatile_solvent.enabled & ! buff.volatile_solvent_humanoid.up", ["interrupt_if"] = "soulbind.volatile_solvent", ["interrupt_immediate"] = "1", ["action"] = "fleshcraft", ["interrupt_global"] = "1", }, -- [13] }, ["precombat"] = { { ["action"] = "bottled_flayedwing_toxin", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "1", ["var_name"] = "trinket_sync_slot", ["criteria"] = "trinket.t1.has_use_buff & ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration )", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "2", ["var_name"] = "trinket_sync_slot", ["criteria"] = "trinket.t2.has_use_buff & ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration > trinket.t1.cooldown.duration )", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.blind_fury.enabled & ( runeforge.darkglare_medallion.enabled || talent.demon_blades.enabled & ! runeforge.agony_gaze.enabled )", ["var_name"] = "use_eye_beam_fury_condition", ["description"] = "Use Eye Beam at low Fury with Blind Fury along with either Darkglare or Demon Blades unless using Agony Gaze", }, -- [4] { ["enabled"] = true, ["criteria"] = "soulbind.pustule_eruption.enabled || soulbind.volatile_solvent.enabled", ["action"] = "fleshcraft", }, -- [5] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [6] }, }, ["author"] = "SimC", }, ["Vengeance"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220306, ["spec"] = 581, ["desc"] = "Demon Hunter Vengeance\nMarch 6, 2022\n\nAllow Fracture at low Fury (prevents Fury issues with Spirit Bomb).", ["profile"] = "## Demon Hunter Vengeance\n## March 6, 2022\n\n## Allow Fracture at low Fury (prevents Fury issues with Spirit Bomb).\n\nactions.precombat=bottled_flayedwing_toxin\nactions.precombat+=/fleshcraft,if=soulbind.pustule_eruption||soulbind.volatile_solvent\n\n# Executed every time the actor is available.\nactions+=/variable,name=brand_build,value=talent.agonizing_flames.enabled&talent.burning_alive.enabled&talent.charred_flesh.enabled\nactions+=/disrupt\nactions+=/consume_magic\nactions+=/reverse_magic\nactions+=/throw_glaive,if=buff.fel_bombardment.stack=5&(buff.immolation_aura.up||!buff.metamorphosis.up)\nactions+=/call_action_list,name=brand,strict=1,if=variable.brand_build\nactions+=/call_action_list,name=defensives\nactions+=/call_action_list,name=cooldowns\nactions+=/call_action_list,name=normal\n\n# Fiery Brand Rotation\nactions.brand=fiery_brand\nactions.brand+=/immolation_aura,if=dot.fiery_brand.ticking\n\nactions.cooldowns=potion\nactions.cooldowns+=/concentrated_flame,if=(!dot.concentrated_flame_burn.ticking&!action.concentrated_flame.in_flight||full_recharge_time80||target.health.pct<=20)&(active_enemies=1||fight_remains>29))||(target.time_to_pct_20>30&(active_enemies=1||fight_remains>44))\n# Default fallback for usable essences.\nactions.cooldowns+=/heart_essence\nactions.cooldowns+=/use_item,effect_name=cyclotronic_blast,if=buff.memory_of_lucid_dreams.down\nactions.cooldowns+=/use_item,name=ashvanes_razor_coral,if=debuff.razor_coral_debuff.down||debuff.conductive_ink_debuff.up&target.health.pct<31||target.time_to_die<20\n# Default fallback for usable items.\nactions.cooldowns+=/use_items\nactions.cooldowns+=/sinful_brand,if=!dot.sinful_brand.ticking\nactions.cooldowns+=/the_hunt\nactions.cooldowns+=/elysian_decree\n\n# Defensives\nactions.defensives=demon_spikes,if=tanking&((full_recharge_time<1&incoming_damage_3s)||(active_enemies>3&incoming_damage_3s&buff.demon_spikes.down)||(incoming_damage_5s>0.25*health.max))\nactions.defensives+=/soul_barrier,if=(active_enemies>3&incoming_damage_3s&buff.demon_spikes.down)||(incoming_damage_5s>0.4*health.max)\nactions.defensives+=/bulk_extraction,if=health.percent<50\nactions.defensives+=/metamorphosis,if=!(talent.demonic.enabled)&(!covenant.venthyr||!dot.sinful_brand.ticking)||(boss&fight_remains<15)\nactions.defensives+=/fiery_brand\n\n# Normal Rotation\nactions.normal+=/infernal_strike,if=full_recharge_time<1&(!talent.flame_crash.enabled||(dot.sigil_of_flame.remains<3&!action.infernal_strike.sigil_placed))\nactions.normal+=/bulk_extraction\nactions.normal+=/spirit_bomb,if=((buff.metamorphosis.up&talent.fracture.enabled&soul_fragments>=3)||soul_fragments>=4)\nactions.normal+=/fel_devastation,if=tanking&(active_enemies>1||talent.demonic.enabled)\nactions.normal+=/soul_cleave,if=((talent.spirit_bomb.enabled&soul_fragments=0)||!talent.spirit_bomb.enabled)&((talent.fracture.enabled&fury>=55)||(!talent.fracture.enabled&fury>=70)||cooldown.fel_devastation.remains>target.time_to_die||(buff.metamorphosis.up&((talent.fracture.enabled&fury>=35)||(!talent.fracture.enabled&fury>=50))))\nactions.normal+=/immolation_aura,if=((variable.brand_build&cooldown.fiery_brand.remains>10)||!variable.brand_build)&fury<=90\nactions.normal+=/felblade,if=fury<=60\nactions.normal+=/fracture,if=fury<30||((talent.spirit_bomb.enabled&soul_fragments<=3)||(!talent.spirit_bomb.enabled&((buff.metamorphosis.up&fury<=55)||(buff.metamorphosis.down&fury<=70))))\nactions.normal+=/sigil_of_flame,if=!(covenant.kyrian&runeforge.razelikhs_defilement)\nactions.normal+=/shear\nactions.normal+=/throw_glaive", ["version"] = 20220306, ["warnings"] = "WARNING: The import for 'precombat' required some automated changes.\nLine 2: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 2: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nWARNING: The import for 'normal' required some automated changes.\nLine 9: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nImported 6 action lists.\n", ["lists"] = { ["brand"] = { { ["enabled"] = true, ["description"] = "Fiery Brand Rotation", ["action"] = "fiery_brand", }, -- [1] { ["enabled"] = true, ["criteria"] = "dot.fiery_brand.ticking", ["action"] = "immolation_aura", }, -- [2] }, ["default"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.agonizing_flames.enabled & talent.burning_alive.enabled & talent.charred_flesh.enabled", ["description"] = "Executed every time the actor is available.", ["var_name"] = "brand_build", }, -- [1] { ["action"] = "disrupt", ["enabled"] = true, }, -- [2] { ["action"] = "consume_magic", ["enabled"] = true, }, -- [3] { ["action"] = "reverse_magic", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.fel_bombardment.stack = 5 & ( buff.immolation_aura.up || ! buff.metamorphosis.up )", ["action"] = "throw_glaive", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "variable.brand_build", ["list_name"] = "brand", }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "defensives", }, -- [7] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [8] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "normal", }, -- [9] }, ["precombat"] = { { ["action"] = "bottled_flayedwing_toxin", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "soulbind.pustule_eruption.enabled || soulbind.volatile_solvent.enabled", ["action"] = "fleshcraft", }, -- [2] }, ["cooldowns"] = { { ["action"] = "potion", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "( ! dot.concentrated_flame_burn.ticking & ! action.concentrated_flame.in_flight || full_recharge_time < gcd.max )", ["action"] = "concentrated_flame", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.lifeblood.stack < 3", ["action"] = "worldvein_resonance", }, -- [3] { ["action"] = "memory_of_lucid_dreams", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 1.5 || ( ( target.health.pct > 80 || target.health.pct <= 20 ) & ( active_enemies = 1 || fight_remains > 29 ) ) || ( target.time_to_pct_20 > 30 & ( active_enemies = 1 || fight_remains > 44 ) )", ["action"] = "reaping_flames", ["description"] = "Hold Reaping Flames for execute range or kill buffs, if possible. Always try to get the lowest cooldown based on available enemies.", }, -- [5] { ["enabled"] = true, ["description"] = "Default fallback for usable essences.", ["action"] = "heart_essence", }, -- [6] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "buff.memory_of_lucid_dreams.down", ["effect_name"] = "cyclotronic_blast", }, -- [7] { ["enabled"] = true, ["name"] = "ashvanes_razor_coral", ["action"] = "ashvanes_razor_coral", ["criteria"] = "debuff.razor_coral_debuff.down || debuff.conductive_ink_debuff.up & target.health.pct < 31 || target.time_to_die < 20", }, -- [8] { ["enabled"] = true, ["description"] = "Default fallback for usable items.", ["action"] = "use_items", }, -- [9] { ["enabled"] = true, ["criteria"] = "! dot.sinful_brand.ticking", ["action"] = "sinful_brand", }, -- [10] { ["action"] = "the_hunt", ["enabled"] = true, }, -- [11] { ["action"] = "elysian_decree", ["enabled"] = true, }, -- [12] }, ["defensives"] = { { ["enabled"] = true, ["criteria"] = "tanking & ( ( full_recharge_time < 1 & incoming_damage_3s ) || ( active_enemies > 3 & incoming_damage_3s & buff.demon_spikes.down ) || ( incoming_damage_5s > 0.25 * health.max ) )", ["action"] = "demon_spikes", ["description"] = "Defensives", }, -- [1] { ["enabled"] = true, ["criteria"] = "( active_enemies > 3 & incoming_damage_3s & buff.demon_spikes.down ) || ( incoming_damage_5s > 0.4 * health.max )", ["action"] = "soul_barrier", }, -- [2] { ["enabled"] = true, ["criteria"] = "health.percent < 50", ["action"] = "bulk_extraction", }, -- [3] { ["enabled"] = true, ["criteria"] = "! ( talent.demonic.enabled ) & ( ! covenant.venthyr || ! dot.sinful_brand.ticking ) || ( boss & fight_remains < 15 )", ["action"] = "metamorphosis", }, -- [4] { ["action"] = "fiery_brand", ["enabled"] = true, }, -- [5] }, ["normal"] = { { ["enabled"] = true, ["criteria"] = "full_recharge_time < 1 & ( ! talent.flame_crash.enabled || ( dot.sigil_of_flame.remains < 3 & ! action.infernal_strike.sigil_placed ) )", ["action"] = "infernal_strike", ["description"] = "Normal Rotation", }, -- [1] { ["action"] = "bulk_extraction", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "( ( buff.metamorphosis.up & talent.fracture.enabled & soul_fragments >= 3 ) || soul_fragments >= 4 )", ["action"] = "spirit_bomb", }, -- [3] { ["enabled"] = true, ["criteria"] = "tanking & ( active_enemies > 1 || talent.demonic.enabled )", ["action"] = "fel_devastation", }, -- [4] { ["enabled"] = true, ["criteria"] = "( ( talent.spirit_bomb.enabled & soul_fragments = 0 ) || ! talent.spirit_bomb.enabled ) & ( ( talent.fracture.enabled & fury >= 55 ) || ( ! talent.fracture.enabled & fury >= 70 ) || cooldown.fel_devastation.remains > target.time_to_die || ( buff.metamorphosis.up & ( ( talent.fracture.enabled & fury >= 35 ) || ( ! talent.fracture.enabled & fury >= 50 ) ) ) )", ["action"] = "soul_cleave", }, -- [5] { ["enabled"] = true, ["criteria"] = "( ( variable.brand_build & cooldown.fiery_brand.remains > 10 ) || ! variable.brand_build ) & fury <= 90", ["action"] = "immolation_aura", }, -- [6] { ["enabled"] = true, ["criteria"] = "fury <= 60", ["action"] = "felblade", }, -- [7] { ["enabled"] = true, ["criteria"] = "fury < 30 || ( ( talent.spirit_bomb.enabled & soul_fragments <= 3 ) || ( ! talent.spirit_bomb.enabled & ( ( buff.metamorphosis.up & fury <= 55 ) || ( buff.metamorphosis.down & fury <= 70 ) ) ) )", ["action"] = "fracture", }, -- [8] { ["enabled"] = true, ["criteria"] = "! ( covenant.kyrian & runeforge.razelikhs_defilement.enabled )", ["action"] = "sigil_of_flame", }, -- [9] { ["action"] = "shear", ["enabled"] = true, }, -- [10] { ["action"] = "throw_glaive", ["enabled"] = true, }, -- [11] }, }, ["author"] = "SimC", }, }, ["notifications"] = { ["enabled"] = false, }, }, ["Quillandria - Thunderhorn"] = { ["runOnce"] = { ["autoconvertGlowsForCustomGlow_20190326"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["resetRogueMfDOption_20200226"] = true, ["enableAllOfTheThings_20180820"] = true, ["resetGlobalCooldownSync_20210403"] = true, ["resetPotionsToDefaults_20190717"] = true, ["resetAllPotions_20201209"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [266] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["aoe"] = 3, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["petbased"] = false, ["maxTime"] = 33, ["package"] = "Demonology", ["custom1Name"] = "Custom 1", ["potionsReset"] = 20180919.1, ["buffPadding"] = 0, ["cycle"] = true, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "spectral_intellect", ["damage"] = true, ["nameplates"] = false, ["damageExpiration"] = 6, ["debuffPadding"] = 0, ["damageRange"] = 0, }, [267] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["aoe"] = 3, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["petbased"] = false, ["maxTime"] = 33, ["package"] = "Destruction", ["custom1Name"] = "Custom 1", ["potionsReset"] = 20180919.1, ["buffPadding"] = 0, ["cycle"] = true, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "spectral_intellect", ["damage"] = true, ["nameplates"] = false, ["damageExpiration"] = 6, ["debuffPadding"] = 0, ["damageRange"] = 0, }, [265] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["settings"] = { ["manage_ds_ticks"] = false, }, ["aoe"] = 3, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["petbased"] = false, ["maxTime"] = 33, ["package"] = "Affliction", ["custom1Name"] = "Custom 1", ["potionsReset"] = 20180919.1, ["buffPadding"] = 0, ["cycle"] = false, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "spectral_intellect", ["damage"] = true, ["nameplates"] = false, ["damageExpiration"] = 6, ["debuffPadding"] = 0, ["damageRange"] = 0, }, [102] = { ["enhancedRecheck"] = true, }, }, ["packs"] = { ["Demonology"] = { ["source"] = "SimC", ["builtIn"] = true, ["date"] = 20211102, ["spec"] = 266, ["desc"] = "Demonology Warlock\nhttps://github.com/simulationcraft/simc/\nNovember 2, 2021\n\nChanges:\n- Spell Lock.\n- Only recommend Demonbolt pre-combat if it is instant (or hardcast for bosses).\n- Power Siphon allowed pre-combat to proc instant Demonbolt.\n- PvP talent interrupt.\n- Avoid SB->HoG spam when you're not about to summon a Tyrant.\n- Fleshcraft/Volatile Solvent cancel_if changed to interrupt_if.\n- Try to avoid wasting Demonic Core stacks.\n- Try to make opener priority only work if we can actually open with a Tyrant.", ["lists"] = { ["slow_trinkets"] = { { ["enabled"] = true, ["name"] = "soulletting_ruby", ["action"] = "soulletting_ruby", ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < target.distance / 5 & time > variable.first_tyrant_time - ( target.distance / 5 )", }, -- [1] { ["enabled"] = true, ["name"] = "sunblood_amethyst", ["action"] = "sunblood_amethyst", ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < target.distance / 5 & time > variable.first_tyrant_time - ( target.distance / 5 )", }, -- [2] { ["enabled"] = true, ["name"] = "empyreal_ordnance", ["action"] = "empyreal_ordnance", ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < ( target.distance / 5 ) + 12 & cooldown.summon_demonic_tyrant.remains_expected > ( ( ( target.distance / 5 ) + 12 ) - 15 ) & time > variable.first_tyrant_time - ( ( target.distance / 5 ) + 12 )", ["description"] = "Ordnance has a 12 second delay and is therefore skipped for first Tyrant to line up with the rest", }, -- [3] }, ["hp_trinks"] = { { ["enabled"] = true, ["name"] = "sinful_gladiators_emblem", ["action"] = "sinful_gladiators_emblem", }, -- [1] { ["enabled"] = true, ["name"] = "sinful_aspirants_emblem", ["action"] = "sinful_aspirants_emblem", }, -- [2] }, ["covenant_ability"] = { { ["enabled"] = true, ["criteria"] = "soulbind.grove_invigoration.enabled & ( cooldown.summon_demonic_tyrant.remains_expected < 20 || cooldown.summon_demonic_tyrant.remains_expected > 30 )", ["action"] = "soul_rot", }, -- [1] { ["enabled"] = true, ["criteria"] = "soulbind.field_of_blossoms.enabled & pet.demonic_tyrant.active", ["action"] = "soul_rot", }, -- [2] { ["enabled"] = true, ["criteria"] = "soulbind.wild_hunt_tactics.enabled & ! pet.demonic_tyrant.active & cooldown.summon_demonic_tyrant.remains_expected > 18", ["action"] = "soul_rot", }, -- [3] { ["enabled"] = true, ["criteria"] = "( soulbind.lead_by_example.enabled || soulbind.kevins_oozeling.enabled ) & ( pet.demonic_tyrant.active & soul_shard < 2 || ! pet.demonic_tyrant.active & cooldown.summon_demonic_tyrant.remains_expected > 40 )", ["action"] = "decimating_bolt", }, -- [4] { ["enabled"] = true, ["criteria"] = "( soulbind.forgeborne_reveries.enabled || ( soulbind.volatile_solvent.enabled & ! soulbind.kevins_oozeling.enabled ) ) & ! pet.demonic_tyrant.active", ["action"] = "decimating_bolt", }, -- [5] { ["enabled"] = true, ["interrupt_if"] = "buff.volatile_solvent.up", ["criteria"] = "soulbind.volatile_solvent.enabled", ["action"] = "fleshcraft", }, -- [6] { ["enabled"] = true, ["criteria"] = "soulbind.combat_meditation.enabled & pet.demonic_tyrant.active", ["action"] = "scouring_tithe", }, -- [7] { ["enabled"] = true, ["criteria"] = "! soulbind.combat_meditation.enabled", ["action"] = "scouring_tithe", }, -- [8] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & soul_shard = 0", ["action"] = "impending_catastrophe", }, -- [9] }, ["tyrant_setup"] = { { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < 15", ["action"] = "nether_portal", }, -- [1] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < 17 - ( action.summon_demonic_tyrant.execute_time + action.shadow_bolt.execute_time ) & ( cooldown.call_dreadstalkers.remains < 17 - ( action.summon_demonic_tyrant.execute_time + action.summon_vilefiend.execute_time + action.shadow_bolt.execute_time ) || pet.dreadstalker.remains > cooldown.summon_demonic_tyrant.remains_expected + action.summon_demonic_tyrant.execute_time )", ["action"] = "grimoire_felguard", }, -- [2] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains_expected < 15 - ( action.summon_demonic_tyrant.execute_time ) & ( cooldown.call_dreadstalkers.remains < 15 - ( action.summon_demonic_tyrant.execute_time + action.summon_vilefiend.execute_time ) || pet.dreadstalker.remains > cooldown.summon_demonic_tyrant.remains_expected + action.summon_demonic_tyrant.execute_time ) ) || ( ! runeforge.wilfreds_sigil_of_superior_summoning.enabled & cooldown.summon_demonic_tyrant.remains_expected > 40 )", ["action"] = "summon_vilefiend", }, -- [3] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < 12 - ( action.summon_demonic_tyrant.execute_time + action.shadow_bolt.execute_time )", ["action"] = "call_dreadstalkers", }, -- [4] { ["enabled"] = true, ["criteria"] = "time > variable.first_tyrant_time & ( pet.dreadstalker.active & pet.dreadstalker.remains > action.summon_demonic_tyrant.execute_time ) & ( ! talent.summon_vilefiend.enabled || pet.vilefiend.active ) & ( soul_shard = 0 || ( pet.dreadstalker.active & pet.dreadstalker.remains < action.summon_demonic_tyrant.execute_time + action.shadow_bolt.execute_time ) || ( pet.vilefiend.active & pet.vilefiend.remains < action.summon_demonic_tyrant.execute_time + action.shadow_bolt.execute_time ) || ( buff.grimoire_felguard.up & buff.grimoire_felguard.remains < action.summon_demonic_tyrant.execute_time + action.shadow_bolt.execute_time ) )", ["action"] = "summon_demonic_tyrant", }, -- [5] }, ["default"] = { { ["enabled"] = true, ["description"] = "Executed every time the actor is available.", ["action"] = "spell_lock", }, -- [1] { ["action"] = "call_felhunter", ["enabled"] = true, }, -- [2] { ["action"] = "axe_toss", ["enabled"] = true, }, -- [3] { ["action"] = "devour_magic", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "trinkets", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "toggle.cooldowns & time < variable.first_tyrant_time & cooldown.summon_demonic_tyrant.remains < variable.first_tyrant_time - time", ["list_name"] = "opener", }, -- [6] { ["enabled"] = true, ["criteria"] = "refreshable", ["action"] = "doom", }, -- [7] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "soulbind.grove_invigoration.enabled || soulbind.field_of_blossoms.enabled || soulbind.combat_meditation.enabled || covenant.necrolord", ["list_name"] = "covenant_ability", }, -- [8] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains_expected = 0 & time > variable.first_tyrant_time || soulbind.refined_palate.enabled & cooldown.summon_demonic_tyrant.remains_expected < 38 )", ["action"] = "potion", }, -- [9] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "tyrant_setup", }, -- [10] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "pet.demonic_tyrant.active", ["list_name"] = "ogcd", }, -- [11] { ["enabled"] = true, ["criteria"] = "( ! runeforge.wilfreds_sigil_of_superior_summoning.enabled & cooldown.summon_demonic_tyrant.remains_expected > 9 ) || ( pet.demonic_tyrant.active & pet.demonic_tyrant.remains < 6 * gcd.max )", ["action"] = "demonic_strength", }, -- [12] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected > 20 - 5 * ! runeforge.wilfreds_sigil_of_superior_summoning.enabled", ["action"] = "call_dreadstalkers", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.wild_imps.stack > 1 & buff.demonic_core.stack < 3", ["action"] = "power_siphon", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.tyrant.down & cooldown.summon_demonic_tyrant.remains_expected > 5", ["action"] = "bilescourge_bombers", }, -- [15] { ["enabled"] = true, ["criteria"] = "active_enemies > 1 + ( 1 * talent.sacrificed_souls.enabled ) & buff.wild_imps.stack >= 6 & buff.tyrant.down & cooldown.summon_demonic_tyrant.remains_expected > 5", ["action"] = "implosion", }, -- [16] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 & buff.wild_imps.stack >= 6 & buff.tyrant.down & cooldown.summon_demonic_tyrant.remains_expected > 5 & ! runeforge.implosive_potential.enabled & ( ! talent.from_the_shadows.enabled || buff.from_the_shadows.up )", ["action"] = "implosion", }, -- [17] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 & buff.wild_imps.stack >= 6 & buff.implosive_potential.remains < 2 & runeforge.implosive_potential.enabled", ["action"] = "implosion", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.wild_imps.stack >= 12 & talent.soul_conduit.enabled & talent.from_the_shadows.enabled & runeforge.implosive_potential.enabled & buff.tyrant.down & cooldown.summon_demonic_tyrant.remains_expected > 5", ["action"] = "implosion", }, -- [19] { ["enabled"] = true, ["criteria"] = "boss & time_to_die < 30", ["action"] = "grimoire_felguard", }, -- [20] { ["enabled"] = true, ["criteria"] = "boss & time_to_die < 28", ["action"] = "summon_vilefiend", }, -- [21] { ["enabled"] = true, ["criteria"] = "boss & time_to_die < 15", ["action"] = "summon_demonic_tyrant", }, -- [22] { ["enabled"] = true, ["criteria"] = "soul_shard = 5", ["action"] = "hand_of_guldan", }, -- [23] { ["enabled"] = true, ["criteria"] = "soul_shard >= 3 & ( pet.dreadstalker.active || pet.demonic_tyrant.active )", ["action"] = "hand_of_guldan", ["description"] = "If Dreadstalkers are already active, no need to save shards", }, -- [24] { ["enabled"] = true, ["criteria"] = "soul_shard >= 1 & buff.nether_portal.up & cooldown.call_dreadstalkers.remains > 2 * gcd.max", ["action"] = "hand_of_guldan", }, -- [25] { ["enabled"] = true, ["criteria"] = "soul_shard >= 1 & cooldown.summon_demonic_tyrant.remains_expected < gcd.max & time > 12 - gcd.max & ( buff.dreadstalkers.up & buff.dreadstalkers.remains > action.hand_of_guldan.execute_time + action.summon_demonic_tyrant.execute_time ) & ( ! talent.summon_vilefiend.enabled || buff.vilefiend.up )", ["action"] = "hand_of_guldan", }, -- [26] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "! covenant.venthyr", ["list_name"] = "covenant_ability", }, -- [27] { ["enabled"] = true, ["criteria"] = "! talent.sacrificed_souls.enabled", ["action"] = "soul_strike", ["description"] = "Without Sacrificed Souls, Soul Strike is stronger than Demonbolt, so it has a higher priority", }, -- [28] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.react & soul_shard < 4 & cooldown.summon_demonic_tyrant.remains_expected > 20", ["action"] = "demonbolt", ["description"] = "Spend Demonic Cores for Soul Shards until Tyrant cooldown is close to ready", }, -- [29] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.react & soul_shard < 4 & cooldown.summon_demonic_tyrant.remains_expected < 12", ["action"] = "demonbolt", ["description"] = "During Tyrant setup, spend Demonic Cores for Soul Shards", }, -- [30] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.react & soul_shard < 4 & ( buff.demonic_core.stack > 2 || talent.sacrificed_souls.enabled )", ["action"] = "demonbolt", }, -- [31] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.react & soul_shard < 4 & active_enemies > 1", ["action"] = "demonbolt", }, -- [32] { ["action"] = "soul_strike", ["enabled"] = true, }, -- [33] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "covenant_ability", }, -- [34] { ["enabled"] = true, ["criteria"] = "soul_shard >= 3 & cooldown.summon_demonic_tyrant.remains_expected > 25 & ( talent.demonic_calling.enabled || cooldown.call_dreadstalkers.remains > ( ( 5 - soul_shard ) * action.shadow_bolt.execute_time ) + action.hand_of_guldan.execute_time )", ["action"] = "hand_of_guldan", ["description"] = "If you can get back to 5 Soul Shards before Dreadstalkers cooldown is ready, it's okay to spend them now", }, -- [35] { ["enabled"] = true, ["criteria"] = "refreshable & time > variable.first_tyrant_time", ["action"] = "doom", ["cycle_targets"] = 1, }, -- [36] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.react & buff.demonic_core.remains < 1 + gcd.max * buff.demonic_core.stack", ["action"] = "demonbolt", ["description"] = "Use Demonbolt if you're going to lose Demonic Core stacks, even if it'd waste a soul shard.", }, -- [37] { ["action"] = "shadow_bolt", ["enabled"] = true, }, -- [38] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "set", ["description"] = "Executed before combat begins. Accepts non-harmful actions only.", ["var_name"] = "first_tyrant_time", ["value"] = "10", ["action"] = "variable", ["value_else"] = "12", ["criteria"] = "buff.bloodlust.up", }, -- [1] { ["enabled"] = true, ["name"] = "shadowed_orb_of_torment", ["action"] = "shadowed_orb_of_torment", }, -- [2] { ["enabled"] = true, ["criteria"] = "time > 0 & ! pet.alive", ["action"] = "fel_domination", }, -- [3] { ["action"] = "summon_felguard", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["name"] = "tome_of_monstrous_constructions", ["action"] = "tome_of_monstrous_constructions", }, -- [5] { ["enabled"] = true, ["name"] = "soleahs_secret_technique", ["action"] = "soleahs_secret_technique", }, -- [6] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.wild_imps.stack > 1 & buff.demonic_core.stack <= 2", ["action"] = "power_siphon", }, -- [8] { ["enabled"] = true, ["criteria"] = "( boss || action.demonbolt.cast = 0 ) & soul_shards < 4", ["action"] = "demonbolt", }, -- [9] { ["enabled"] = true, ["criteria"] = "! ( boss || action.demonbolt.cast = 0 ) || soul_shards > 3", ["action"] = "shadow_bolt", }, -- [10] }, ["opener"] = { { ["enabled"] = true, ["criteria"] = "soulbind.grove_invigoration.enabled", ["action"] = "soul_rot", }, -- [1] { ["action"] = "nether_portal", ["enabled"] = true, }, -- [2] { ["action"] = "grimoire_felguard", ["enabled"] = true, }, -- [3] { ["action"] = "summon_vilefiend", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.react & soul_shard < 4 & cooldown.call_dreadstalkers.up", ["action"] = "demonbolt", }, -- [5] { ["enabled"] = true, ["criteria"] = "soul_shard < 5 & cooldown.call_dreadstalkers.up", ["action"] = "shadow_bolt", }, -- [6] { ["action"] = "call_dreadstalkers", ["enabled"] = true, }, -- [7] }, ["trinkets"] = { { ["enabled"] = true, ["name"] = "shadowed_orb_of_torment", ["action"] = "shadowed_orb_of_torment", ["criteria"] = "cooldown.summon_demonic_tyrant.remains_expected < 22", }, -- [1] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "talent.demonic_consumption.enabled & cooldown.summon_demonic_tyrant.remains_expected < 20", ["list_name"] = "hp_trinks", }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "Effects that travel slowly to target require additional, separate handling", ["list_name"] = "slow_trinkets", }, -- [3] { ["enabled"] = true, ["name"] = "overflowing_anima_cage", ["action"] = "overflowing_anima_cage", ["criteria"] = "pet.demonic_tyrant.active", }, -- [4] { ["enabled"] = true, ["criteria"] = "trinket.t1.has_use_buff & pet.demonic_tyrant.active", ["action"] = "trinket1", }, -- [5] { ["enabled"] = true, ["criteria"] = "trinket.t2.has_use_buff & pet.demonic_tyrant.active", ["action"] = "trinket2", }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "time > variable.first_tyrant_time & cooldown.summon_demonic_tyrant.remains_expected > 20", ["list_name"] = "pure_damage_trinks", }, -- [7] }, ["pure_damage_trinks"] = { { ["enabled"] = true, ["name"] = "dreadfire_vessel", ["action"] = "dreadfire_vessel", }, -- [1] { ["enabled"] = true, ["name"] = "soul_igniter", ["action"] = "soul_igniter", }, -- [2] { ["enabled"] = true, ["name"] = "glyph_of_assimilation", ["action"] = "glyph_of_assimilation", ["criteria"] = "active_enemies = 1", }, -- [3] { ["enabled"] = true, ["name"] = "darkmoon_deck_putrescence", ["action"] = "darkmoon_deck_putrescence", }, -- [4] { ["enabled"] = true, ["name"] = "ebonsoul_vise", ["action"] = "ebonsoul_vise", }, -- [5] { ["enabled"] = true, ["name"] = "unchained_gladiators_shackles", ["action"] = "unchained_gladiators_shackles", }, -- [6] }, ["ogcd"] = { { ["action"] = "berserking", ["enabled"] = true, }, -- [1] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [2] { ["action"] = "fireblood", ["enabled"] = true, }, -- [3] { ["action"] = "use_items", ["enabled"] = true, }, -- [4] }, }, ["version"] = 20211102, ["warnings"] = "WARNING: The import for 'slow_trinkets' required some automated changes.\nLine 1: Converted SimC syntax % to Lua division operator (/) (2x).\nLine 2: Converted SimC syntax % to Lua division operator (/) (2x).\nLine 3: Converted SimC syntax % to Lua division operator (/) (3x).\n\nWARNING: The import for 'covenant_ability' required some automated changes.\nLine 1: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 2: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 3: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 4: Converted 'soulbind.X' to 'soulbind.X.enabled' (2x).\nLine 5: Converted 'soulbind.X' to 'soulbind.X.enabled' (3x).\nLine 6: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\nLine 7: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 8: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nWARNING: The import for 'tyrant_setup' required some automated changes.\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'default' required some automated changes.\nLine 8: Converted 'soulbind.X' to 'soulbind.X.enabled' (3x).\nLine 9: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 12: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 13: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 17: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 18: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 19: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'trinkets' required some automated changes.\nLine 5: Converted 'trinket.1.X' to 'trinket.t1.X' (1x).\nLine 6: Converted 'trinket.2.X' to 'trinket.t2.X' (1x).\n\nWARNING: The import for 'opener' required some automated changes.\nLine 1: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nImported 10 action lists.\n", ["profile"] = "## Demonology Warlock\n## https://github.com/simulationcraft/simc/\n## November 2, 2021\n\n## Changes:\n## - Spell Lock.\n## - Only recommend Demonbolt pre-combat if it is instant (or hardcast for bosses).\n## - Power Siphon allowed pre-combat to proc instant Demonbolt.\n## - PvP talent interrupt.\n## - Avoid SB->HoG spam when you're not about to summon a Tyrant.\n## - Fleshcraft/Volatile Solvent cancel_if changed to interrupt_if.\n## - Try to avoid wasting Demonic Core stacks.\n## - Try to make opener priority only work if we can actually open with a Tyrant.\n\n# Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat+=/variable,name=first_tyrant_time,op=set,if=buff.bloodlust.up,value=10,value_else=12\nactions.precombat+=/use_item,name=shadowed_orb_of_torment\nactions.precombat+=/fel_domination,if=time>0&!pet.alive\nactions.precombat+=/summon_pet\nactions.precombat+=/use_item,name=tome_of_monstrous_constructions\nactions.precombat+=/use_item,name=soleahs_secret_technique\nactions.precombat+=/fleshcraft\nactions.precombat+=/power_siphon,if=buff.wild_imps.stack>1&buff.demonic_core.stack<=2\nactions.precombat+=/demonbolt,if=(boss||action.demonbolt.cast=0)&soul_shards<4\nactions.precombat+=/shadow_bolt,if=!(boss||action.demonbolt.cast=0)||soul_shards>3\n\n# Executed every time the actor is available.\nactions=spell_lock\nactions+=/call_felhunter\nactions+=/axe_toss\nactions+=/devour_magic\nactions+=/call_action_list,name=trinkets\nactions+=/call_action_list,name=opener,strict=1,if=toggle.cooldowns&timevariable.first_tyrant_time||soulbind.refined_palate&cooldown.summon_demonic_tyrant.remains_expected<38)\nactions+=/call_action_list,name=tyrant_setup\nactions+=/call_action_list,name=ogcd,strict=1,if=pet.demonic_tyrant.active\nactions+=/demonic_strength,if=(!runeforge.wilfreds_sigil_of_superior_summoning&cooldown.summon_demonic_tyrant.remains_expected>9)||(pet.demonic_tyrant.active&pet.demonic_tyrant.remains<6*gcd.max)\nactions+=/call_dreadstalkers,if=cooldown.summon_demonic_tyrant.remains_expected>20-5*!runeforge.wilfreds_sigil_of_superior_summoning\nactions+=/power_siphon,if=buff.wild_imps.stack>1&buff.demonic_core.stack<3\nactions+=/bilescourge_bombers,if=buff.tyrant.down&cooldown.summon_demonic_tyrant.remains_expected>5\nactions+=/implosion,if=active_enemies>1+(1*talent.sacrificed_souls.enabled)&buff.wild_imps.stack>=6&buff.tyrant.down&cooldown.summon_demonic_tyrant.remains_expected>5\nactions+=/implosion,if=active_enemies>2&buff.wild_imps.stack>=6&buff.tyrant.down&cooldown.summon_demonic_tyrant.remains_expected>5&!runeforge.implosive_potential&(!talent.from_the_shadows.enabled||buff.from_the_shadows.up)\nactions+=/implosion,if=active_enemies>2&buff.wild_imps.stack>=6&buff.implosive_potential.remains<2&runeforge.implosive_potential\nactions+=/implosion,if=buff.wild_imps.stack>=12&talent.soul_conduit.enabled&talent.from_the_shadows.enabled&runeforge.implosive_potential&buff.tyrant.down&cooldown.summon_demonic_tyrant.remains_expected>5\nactions+=/grimoire_felguard,if=boss&time_to_die<30\nactions+=/summon_vilefiend,if=boss&time_to_die<28\nactions+=/summon_demonic_tyrant,if=boss&time_to_die<15\nactions+=/hand_of_guldan,if=soul_shard=5\n# If Dreadstalkers are already active, no need to save shards\nactions+=/hand_of_guldan,if=soul_shard>=3&(pet.dreadstalker.active||pet.demonic_tyrant.active)\nactions+=/hand_of_guldan,if=soul_shard>=1&buff.nether_portal.up&cooldown.call_dreadstalkers.remains>2*gcd.max\nactions+=/hand_of_guldan,if=soul_shard>=1&cooldown.summon_demonic_tyrant.remains_expected12-gcd.max&(buff.dreadstalkers.up&buff.dreadstalkers.remains>action.hand_of_guldan.execute_time+action.summon_demonic_tyrant.execute_time)&(!talent.summon_vilefiend.enabled||buff.vilefiend.up)\nactions+=/call_action_list,name=covenant_ability,strict=1,if=!covenant.venthyr\n# Without Sacrificed Souls, Soul Strike is stronger than Demonbolt, so it has a higher priority\nactions+=/soul_strike,if=!talent.sacrificed_souls.enabled\n# Spend Demonic Cores for Soul Shards until Tyrant cooldown is close to ready\nactions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&cooldown.summon_demonic_tyrant.remains_expected>20\n# During Tyrant setup, spend Demonic Cores for Soul Shards\nactions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&cooldown.summon_demonic_tyrant.remains_expected<12\nactions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&(buff.demonic_core.stack>2||talent.sacrificed_souls.enabled)\nactions+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&active_enemies>1\nactions+=/soul_strike\nactions+=/call_action_list,name=covenant_ability\n# If you can get back to 5 Soul Shards before Dreadstalkers cooldown is ready, it's okay to spend them now\nactions+=/hand_of_guldan,if=soul_shard>=3&cooldown.summon_demonic_tyrant.remains_expected>25&(talent.demonic_calling.enabled||cooldown.call_dreadstalkers.remains>((5-soul_shard)*action.shadow_bolt.execute_time)+action.hand_of_guldan.execute_time)\nactions+=/doom,cycle_targets=1,if=refreshable&time>variable.first_tyrant_time\n# Use Demonbolt if you're going to lose Demonic Core stacks, even if it'd waste a soul shard.\nactions+=/demonbolt,if=buff.demonic_core.react&buff.demonic_core.remains<1+gcd.max*buff.demonic_core.stack\nactions+=/shadow_bolt\n\nactions.slow_trinkets=use_item,name=soulletting_ruby,if=cooldown.summon_demonic_tyrant.remains_expectedvariable.first_tyrant_time-(target.distance%5)\nactions.slow_trinkets+=/use_item,name=sunblood_amethyst,if=cooldown.summon_demonic_tyrant.remains_expectedvariable.first_tyrant_time-(target.distance%5)\n# Ordnance has a 12 second delay and is therefore skipped for first Tyrant to line up with the rest\nactions.slow_trinkets+=/use_item,name=empyreal_ordnance,if=cooldown.summon_demonic_tyrant.remains_expected<(target.distance%5)+12&cooldown.summon_demonic_tyrant.remains_expected>(((target.distance%5)+12)-15)&time>variable.first_tyrant_time-((target.distance%5)+12)\n\nactions.covenant_ability=soul_rot,if=soulbind.grove_invigoration&(cooldown.summon_demonic_tyrant.remains_expected<20||cooldown.summon_demonic_tyrant.remains_expected>30)\nactions.covenant_ability+=/soul_rot,if=soulbind.field_of_blossoms&pet.demonic_tyrant.active\nactions.covenant_ability+=/soul_rot,if=soulbind.wild_hunt_tactics&!pet.demonic_tyrant.active&cooldown.summon_demonic_tyrant.remains_expected>18\nactions.covenant_ability+=/decimating_bolt,if=(soulbind.lead_by_example||soulbind.kevins_oozeling)&(pet.demonic_tyrant.active&soul_shard<2||!pet.demonic_tyrant.active&cooldown.summon_demonic_tyrant.remains_expected>40)\nactions.covenant_ability+=/decimating_bolt,if=(soulbind.forgeborne_reveries||(soulbind.volatile_solvent&!soulbind.kevins_oozeling))&!pet.demonic_tyrant.active\nactions.covenant_ability+=/fleshcraft,if=soulbind.volatile_solvent,interrupt_if=buff.volatile_solvent.up\nactions.covenant_ability+=/scouring_tithe,if=soulbind.combat_meditation&pet.demonic_tyrant.active\nactions.covenant_ability+=/scouring_tithe,if=!soulbind.combat_meditation\nactions.covenant_ability+=/impending_catastrophe,if=pet.demonic_tyrant.active&soul_shard=0\n\nactions.hp_trinks=use_item,name=sinful_gladiators_emblem\nactions.hp_trinks+=/use_item,name=sinful_aspirants_emblem\n\nactions.ogcd=berserking\nactions.ogcd+=/blood_fury\nactions.ogcd+=/fireblood\nactions.ogcd+=/use_items\n\nactions.opener=soul_rot,if=soulbind.grove_invigoration\nactions.opener+=/nether_portal\nactions.opener+=/grimoire_felguard\nactions.opener+=/summon_vilefiend\nactions.opener+=/demonbolt,if=buff.demonic_core.react&soul_shard<4&cooldown.call_dreadstalkers.up\nactions.opener+=/shadow_bolt,if=soul_shard<5&cooldown.call_dreadstalkers.up\nactions.opener+=/call_dreadstalkers\n\nactions.pure_damage_trinks=use_item,name=dreadfire_vessel\nactions.pure_damage_trinks+=/use_item,name=soul_igniter\nactions.pure_damage_trinks+=/use_item,name=glyph_of_assimilation,if=active_enemies=1\nactions.pure_damage_trinks+=/use_item,name=darkmoon_deck_putrescence\nactions.pure_damage_trinks+=/use_item,name=ebonsoul_vise\nactions.pure_damage_trinks+=/use_item,name=unchained_gladiators_shackles\n\nactions.trinkets=use_item,name=shadowed_orb_of_torment,if=cooldown.summon_demonic_tyrant.remains_expected<22\nactions.trinkets+=/call_action_list,name=hp_trinks,if=talent.demonic_consumption.enabled&cooldown.summon_demonic_tyrant.remains_expected<20\n# Effects that travel slowly to target require additional, separate handling\nactions.trinkets+=/call_action_list,name=slow_trinkets\nactions.trinkets+=/use_item,name=overflowing_anima_cage,if=pet.demonic_tyrant.active\nactions.trinkets+=/trinket1,if=trinket.1.has_use_buff&pet.demonic_tyrant.active\nactions.trinkets+=/trinket2,if=trinket.2.has_use_buff&pet.demonic_tyrant.active\nactions.trinkets+=/call_action_list,name=pure_damage_trinks,if=time>variable.first_tyrant_time&cooldown.summon_demonic_tyrant.remains_expected>20\n\nactions.tyrant_setup=nether_portal,if=cooldown.summon_demonic_tyrant.remains_expected<15\nactions.tyrant_setup+=/grimoire_felguard,if=cooldown.summon_demonic_tyrant.remains_expected<17-(action.summon_demonic_tyrant.execute_time+action.shadow_bolt.execute_time)&(cooldown.call_dreadstalkers.remains<17-(action.summon_demonic_tyrant.execute_time+action.summon_vilefiend.execute_time+action.shadow_bolt.execute_time)||pet.dreadstalker.remains>cooldown.summon_demonic_tyrant.remains_expected+action.summon_demonic_tyrant.execute_time)\nactions.tyrant_setup+=/summon_vilefiend,if=(cooldown.summon_demonic_tyrant.remains_expected<15-(action.summon_demonic_tyrant.execute_time)&(cooldown.call_dreadstalkers.remains<15-(action.summon_demonic_tyrant.execute_time+action.summon_vilefiend.execute_time)||pet.dreadstalker.remains>cooldown.summon_demonic_tyrant.remains_expected+action.summon_demonic_tyrant.execute_time))||(!runeforge.wilfreds_sigil_of_superior_summoning&cooldown.summon_demonic_tyrant.remains_expected>40)\nactions.tyrant_setup+=/call_dreadstalkers,if=cooldown.summon_demonic_tyrant.remains_expected<12-(action.summon_demonic_tyrant.execute_time+action.shadow_bolt.execute_time)\nactions.tyrant_setup+=/summon_demonic_tyrant,if=time>variable.first_tyrant_time&(pet.dreadstalker.active&pet.dreadstalker.remains>action.summon_demonic_tyrant.execute_time)&(!talent.summon_vilefiend.enabled||pet.vilefiend.active)&(soul_shard=0||(pet.dreadstalker.active&pet.dreadstalker.remains0&!pet.alive&!buff.grimoire_of_sacrifice.up\nactions.precombat+=/summon_pet\nactions.precombat+=/use_item,name=tome_of_monstrous_constructions\nactions.precombat+=/use_item,name=soleahs_secret_technique\nactions.precombat+=/grimoire_of_sacrifice,if=talent.grimoire_of_sacrifice.enabled\nactions.precombat+=/fleshcraft\nactions.precombat+=/variable,name=dots_ready,value=active_dot.corruption>0&active_dot.agony>0&active_dot.unstable_affliction>0&(!talent.siphon_life.enabled||active_dot.siphon_life>0)&(dot.phantom_singularity.ticking||!talent.phantom_singularity.enabled)\nactions.precombat+=/use_item,name=azsharas_font_of_power\nactions.precombat+=/seed_of_corruption,line_cd=10,if=spell_targets.seed_of_corruption_aoe>=3\nactions.precombat+=/haunt\nactions.precombat+=/unstable_affliction\n\n## Executed every time the actor is available.\nactions=spell_lock\nactions+=/devour_magic\nactions+=/call_action_list,name=aoe,strict=1,if=active_enemies>3\n# Action lists for trinket behavior. Stats are saved for before Soul Rot/Impending Catastrophe/Phantom Singularity, otherwise on cooldown\nactions+=/call_action_list,name=trinket_split_check\nactions+=/call_action_list,name=delayed_trinkets\nactions+=/call_action_list,name=stat_trinkets,strict=1,if=(dot.soul_rot.ticking||dot.impending_catastrophe_dot.ticking||dot.phantom_singularity.ticking)&soul_shard>3||dot.vile_taint.ticking||talent.sow_the_seeds\nactions+=/call_action_list,name=damage_trinkets,if=covenant.night_fae&(!variable.trinket_split||cooldown.soul_rot.remains>20||(variable.trinket_one&cooldown.soul_rot.remains20||(variable.trinket_one&cooldown.impending_catastrophe.remains20||(variable.trinket_one&cooldown.phantom_singularity.remains20||(variable.trinket_one&cooldown.summon_darkglare.remains2||!talent.phantom_singularity))||(covenant.night_fae&dot.soul_rot.ticking&cooldown.summon_darkglare.remains<2&(dot.phantom_singularity.remains>2||!talent.phantom_singularity))||((covenant.necrolord||covenant.kyrian||covenant.none)&dot.phantom_singularity.ticking&dot.phantom_singularity.remains<2)\n# Refresh dots early if going into a shard spending phase\nactions+=/call_action_list,name=dot_prep,if=(covenant.night_fae&!dot.soul_rot.ticking&cooldown.soul_rot.remains<4)||(covenant.venthyr&!dot.impending_catastrophe_dot.ticking&cooldown.impending_catastrophe.remains<4)||((covenant.necrolord||covenant.kyrian||covenant.none)&talent.phantom_singularity&!dot.phantom_singularity.ticking&cooldown.phantom_singularity.remains<4)\n# If Phantom Singularity is ticking, it is safe to use Dark Soul\nactions+=/dark_soul,if=dot.phantom_singularity.ticking\nactions+=/dark_soul,if=!talent.phantom_singularity&(dot.soul_rot.ticking||dot.impending_catastrophe_dot.ticking)\n# Sync Phantom Singularity with Venthyr/Night Fae covenant dot, otherwise use on cooldown. If Empyreal Ordnance buff is incoming, hold until it's ready (18 seconds after use)\nactions+=/phantom_singularity,if=covenant.night_fae&time>5&cooldown.soul_rot.remains<1&(trinket.empyreal_ordnance.cooldown.remains<162||!equipped.empyreal_ordnance)\nactions+=/phantom_singularity,if=covenant.venthyr&time>5&cooldown.impending_catastrophe.remains<1&(trinket.empyreal_ordnance.cooldown.remains<162||!equipped.empyreal_ordnance)\n# Necrolord with Malefic Wrath casts phantom singularity in line with Decimating Bolt\nactions+=/phantom_singularity,if=covenant.necrolord&runeforge.malefic_wrath&time>5&cooldown.decimating_bolt.remains<3&(trinket.empyreal_ordnance.cooldown.remains<162||!equipped.empyreal_ordnance)\n# Other covenants (including non-MW Necro) cast PS on cooldown\nactions+=/phantom_singularity,if=(covenant.kyrian||covenant.none||(covenant.necrolord&!runeforge.malefic_wrath))&(trinket.empyreal_ordnance.cooldown.remains<162||!equipped.empyreal_ordnance)\nactions+=/phantom_singularity,if=boss&fight_remains<16\n# If Phantom Singularity is ticking, it's time to use other major dots\nactions+=/call_action_list,name=covenant,if=dot.phantom_singularity.ticking&(covenant.night_fae||covenant.venthyr)\nactions+=/agony,cycle_targets=1,if=dot.agony.remains<4\nactions+=/haunt\n# Sow the Seeds on 3 targets if it isn't currently in flight or on the target. With Siphon Life it's also better to use Seed over manually applying 3 Corruptions.\nactions+=/seed_of_corruption,if=active_enemies>2&talent.sow_the_seeds&!dot.seed_of_corruption.ticking&!in_flight\nactions+=/seed_of_corruption,if=active_enemies>2&talent.siphon_life&!dot.seed_of_corruption.ticking&!in_flight&dot.corruption.remains<4\nactions+=/vile_taint,if=(soul_shard>1||active_enemies>2)&cooldown.summon_darkglare.remains>12\nactions+=/unstable_affliction,if=active_dot.unstable_affliction=0||ticking&dot.unstable_affliction.remains<4\nactions+=/siphon_life,cycle_targets=1,if=dot.siphon_life.remains<4\nactions+=/call_action_list,name=covenant,strict=1,if=!covenant.necrolord\n# Apply Corruption manually on 1-2 targets, or on 3 with Absolute Corruption\nactions+=/corruption,cycle_targets=1,if=active_enemies<4-(talent.sow_the_seeds||talent.siphon_life)&dot.corruption.remains<2\n# After the opener, spend a shard when at 5 on Malefic Rapture to avoid overcapping\nactions+=/malefic_rapture,if=soul_shard>4&time>21\n# When not syncing Phantom Singularity to Venthyr/Night Fae, Summon Darkglare if all dots are applied\nactions+=/call_action_list,name=darkglare_prep,if=(covenant.venthyr&!talent.phantom_singularity&dot.impending_catastrophe_dot.ticking&cooldown.summon_darkglare.ready)||(covenant.night_fae&!talent.phantom_singularity&dot.soul_rot.ticking&cooldown.summon_darkglare.ready)||((covenant.necrolord||covenant.kyrian||covenant.none)&cooldown.summon_darkglare.ready)\n# Use Dark Soul if Darkglare won't be ready again, or if there will be at least 2 more Darkglare uses\nactions+=/dark_soul,if=boss&cooldown.summon_darkglare.remains>fight_remains&(!talent.phantom_singularity||cooldown.phantom_singularity.remains>fight_remains)\nactions+=/dark_soul,if=boss&!talent.phantom_singularity&cooldown.summon_darkglare.remains+cooldown.summon_darkglare.duration1)\n# Use Malefic Rapture to maintain the malefic wrath buff until shards need to be generated for the next burst window (20 seconds is more than sufficient to generate 3 shards)\nactions+=/malefic_rapture,if=runeforge.malefic_wrath&cooldown.soul_rot.remains>20&buff.malefic_wrath.remains<4\n# Maintain Malefic Wrath at all times for the Necrolord or Kyrian covenant\nactions+=/malefic_rapture,if=runeforge.malefic_wrath&(covenant.necrolord||covenant.kyrian)&buff.malefic_wrath.remains<4\n# Use Malefic Rapture on Phantom Singularity casts, making sure to save a shard to stack Malefic Wrath if using it\nactions+=/malefic_rapture,if=talent.phantom_singularity&(dot.phantom_singularity.ticking||cooldown.phantom_singularity.remains>25||boss&time_to_die1)\nactions+=/malefic_rapture,if=talent.sow_the_seeds\n# Drain Life is only a DPS gain with Inevitable Demise near max stacks. If fight is about to end do not miss spending the stacks\nactions+=/drain_life,if=buff.inevitable_demise.stack>40||buff.inevitable_demise.up&boss&fight_remains<4\nactions+=/call_action_list,name=covenant\nactions+=/agony,cycle_targets=1,if=refreshable\nactions+=/unstable_affliction,if=active_dot.unstable_affliction=0||ticking&refreshable\nactions+=/siphon_life,cycle_targets=1,if=refreshable\nactions+=/corruption,cycle_targets=1,if=refreshable&active_enemies<4-(talent.sow_the_seeds||talent.siphon_life)\nactions+=/fleshcraft,if=soulbind.volatile_solvent,interrupt_if=buff.volatile_solvent.up\nactions+=/drain_soul,interrupt=1\nactions+=/shadow_bolt\n\nactions.aoe=phantom_singularity\nactions.aoe+=/haunt\nactions.aoe+=/call_action_list,name=darkglare_prep,if=covenant.venthyr&dot.impending_catastrophe_dot.ticking&cooldown.summon_darkglare.ready&(dot.phantom_singularity.remains>2||!talent.phantom_singularity)||covenant.night_fae&dot.soul_rot.ticking&cooldown.summon_darkglare.ready&(dot.phantom_singularity.remains>2||!talent.phantom_singularity)||(covenant.necrolord||covenant.kyrian||covenant.none)&dot.phantom_singularity.ticking&dot.phantom_singularity.remains<2\nactions.aoe+=/seed_of_corruption,if=talent.sow_the_seeds&can_seed\nactions.aoe+=/seed_of_corruption,if=!talent.sow_the_seeds&!dot.seed_of_corruption.ticking&!in_flight&dot.corruption.refreshable\nactions.aoe+=/agony,cycle_targets=1,if=active_dot.agony<4&!dot.agony.ticking\nactions.aoe+=/agony,cycle_targets=1,if=active_dot.agony>=4&refreshable&dot.agony.ticking\nactions.aoe+=/unstable_affliction,if=active_dot.unstable_affliction=0||ticking&refreshable\nactions.aoe+=/unstable_affliction,cycle_targets=1,if=!ticking&pvptalent.rampant_afflictions.enabled&active_dot.unstable_affliction<3\nactions.aoe+=/vile_taint,if=soul_shard>1\nactions.aoe+=/call_action_list,name=covenant,strict=1,if=!covenant.necrolord\nactions.aoe+=/call_action_list,name=darkglare_prep,if=(covenant.venthyr&(cooldown.impending_catastrophe.ready||dot.impending_catastrophe_dot.ticking)&cooldown.summon_darkglare.ready&(dot.phantom_singularity.remains>2||!talent.phantom_singularity))&((covenant.necrolord||covenant.kyrian||covenant.none)&cooldown.summon_darkglare.remains<2&(dot.phantom_singularity.remains>2||!talent.phantom_singularity))||(covenant.night_fae&(cooldown.soul_rot.ready||dot.soul_rot.ticking)&cooldown.summon_darkglare.remains<2&(dot.phantom_singularity.remains>2||!talent.phantom_singularity))\nactions.aoe+=/dark_soul,if=boss&cooldown.summon_darkglare.remains>fight_remains&(!talent.phantom_singularity||cooldown.phantom_singularity.remains>fight_remains)\nactions.aoe+=/dark_soul,if=boss&cooldown.summon_darkglare.remains+cooldown.summon_darkglare.duration4\nactions.aoe+=/siphon_life,cycle_targets=1,if=active_dot.siphon_life<=3&refreshable&!dot.siphon_life.ticking\nactions.aoe+=/call_action_list,name=covenant,strict=1,if=covenant.necrolord\nactions.aoe+=/drain_life,if=buff.inevitable_demise.stack>=50||boss&buff.inevitable_demise.up&fight_remains<5||buff.inevitable_demise.stack>=35&dot.soul_rot.ticking\nactions.aoe+=/fleshcraft,if=soulbind.volatile_solvent,interrupt_if=buff.volatile_solvent.up\nactions.aoe+=/drain_soul,interrupt=1\nactions.aoe+=/shadow_bolt\n\nactions.covenant=impending_catastrophe,if=!talent.phantom_singularity&(cooldown.summon_darkglare.remains<10||cooldown.summon_darkglare.remains>50||cooldown.summon_darkglare.remains>25&conduit.corrupting_leer)\nactions.covenant+=/impending_catastrophe,if=talent.phantom_singularity&dot.phantom_singularity.ticking\nactions.covenant+=/decimating_bolt,if=cooldown.summon_darkglare.remains>5&(debuff.haunt.remains>4||!talent.haunt)\nactions.covenant+=/soul_rot,if=!talent.phantom_singularity&(cooldown.summon_darkglare.remains<5||cooldown.summon_darkglare.remains>50||cooldown.summon_darkglare.remains>25&conduit.corrupting_leer)\nactions.covenant+=/soul_rot,if=talent.phantom_singularity&dot.phantom_singularity.ticking\nactions.covenant+=/scouring_tithe\n\nactions.damage_trinkets=use_item,name=soul_igniter\nactions.damage_trinkets+=/use_item,name=dreadfire_vessel\nactions.damage_trinkets+=/use_item,name=glyph_of_assimilation\nactions.damage_trinkets+=/use_item,name=unchained_gladiators_shackles\nactions.damage_trinkets+=/use_item,name=ebonsoul_vice\n\nactions.darkglare_prep=vile_taint\nactions.darkglare_prep+=/dark_soul\nactions.darkglare_prep+=/potion\nactions.darkglare_prep+=/fireblood\nactions.darkglare_prep+=/blood_fury\nactions.darkglare_prep+=/berserking\nactions.darkglare_prep+=/call_action_list,name=covenant,if=!covenant.necrolord\nactions.darkglare_prep+=/summon_darkglare\n\nactions.delayed_trinkets=use_item,name=empyreal_ordnance,if=(covenant.night_fae&cooldown.soul_rot.remains<20)||(covenant.venthyr&cooldown.impending_catastrophe.remains<20)||(covenant.necrolord||covenant.kyrian||covenant.none)\nactions.delayed_trinkets+=/use_item,name=sunblood_amethyst,if=(covenant.night_fae&cooldown.soul_rot.remains<6)||(covenant.venthyr&cooldown.impending_catastrophe.remains<6)||(covenant.necrolord||covenant.kyrian||covenant.none)\nactions.delayed_trinkets+=/use_item,name=soulletting_ruby,if=(covenant.night_fae&cooldown.soul_rot.remains<8)||(covenant.venthyr&cooldown.impending_catastrophe.remains<8)||(covenant.necrolord||covenant.kyrian||covenant.none)\nactions.delayed_trinkets+=/use_item,name=shadowed_orb_of_torment,if=(covenant.night_fae&cooldown.soul_rot.remains<4)||(covenant.venthyr&cooldown.impending_catastrophe.remains<4)||(covenant.necrolord||covenant.kyrian||covenant.none)\n\nactions.dot_prep=agony,if=dot.agony.remains<8&cooldown.summon_darkglare.remains>dot.agony.remains\nactions.dot_prep+=/siphon_life,if=dot.siphon_life.remains<8&cooldown.summon_darkglare.remains>dot.siphon_life.remains\nactions.dot_prep+=/unstable_affliction,if=dot.unstable_affliction.remains<8&cooldown.summon_darkglare.remains>dot.unstable_affliction.remains\nactions.dot_prep+=/corruption,if=dot.corruption.remains<8&cooldown.summon_darkglare.remains>dot.corruption.remains\n\nactions.item=use_items\n\nactions.se=haunt\nactions.se+=/drain_soul,interrupt_global=1,interrupt_if=debuff.shadow_embrace.stack>=3\nactions.se+=/shadow_bolt\n\nactions.stat_trinkets=use_item,name=inscrutable_quantum_device\nactions.stat_trinkets+=/use_item,name=instructors_divine_bell\nactions.stat_trinkets+=/use_item,name=overflowing_anima_cage\nactions.stat_trinkets+=/use_item,name=darkmoon_deck_putrescence\nactions.stat_trinkets+=/use_item,name=macabre_sheet_music\nactions.stat_trinkets+=/use_item,name=flame_of_battle\nactions.stat_trinkets+=/use_item,name=wakeners_frond\nactions.stat_trinkets+=/use_item,name=tablet_of_despair\nactions.stat_trinkets+=/use_item,name=sinful_aspirants_badge_of_ferocity\nactions.stat_trinkets+=/use_item,name=sinful_gladiators_badge_of_ferocity\nactions.stat_trinkets+=/blood_fury\nactions.stat_trinkets+=/fireblood\nactions.stat_trinkets+=/berserking\n\n# We don't support ^ as XOR in Lua, so I've converted this to arithmetic.\nactions.trinket_split_check=variable,name=special_equipped,value=((1*equipped.empyreal_ordnance)+(1*equipped.inscrutable_quantum_device)+(1*equipped.soulletting_ruby)+(1*equipped.sunblood_amethyst))=1\nactions.trinket_split_check+=/variable,name=trinket_one,value=(trinket.1.has_proc&trinket.1.has_cooldown)\nactions.trinket_split_check+=/variable,name=trinket_two,value=(trinket.2.has_proc&trinket.2.has_cooldown)\nactions.trinket_split_check+=/variable,name=damage_trinket,value=(!(trinket.1.has_proc&trinket.1.has_cooldown))||(!(trinket.2.has_proc&trinket.2.has_cooldown))||equipped.glyph_of_assimilation\nactions.trinket_split_check+=/variable,name=trinket_split,value=(variable.trinket_one&variable.damage_trinket)||(variable.trinket_two&variable.damage_trinket)||(1*variable.trinket_one)+(1*variable.special_equipped)=1||(1*variable.trinket_two)+(1*variable.special_equipped)=1", ["version"] = 20210818, ["warnings"] = "WARNING: The import for 'trinket_split_check' required some automated changes.\nLine 2: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 3: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 4: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 4: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\n\nWARNING: The import for 'covenant' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 1: Converted 'conduit.X' to 'conduit.X.enabled' (1x).\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'conduit.X' to 'conduit.X.enabled' (1x).\nLine 5: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'default' required some automated changes.\nLine 6: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 7: Converted 'trinket.1.X' to 'trinket.t1.X' (4x).\nLine 7: Converted 'trinket.2.X' to 'trinket.t2.X' (4x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 12: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 13: Converted 'trinket.abc.cooldown' to 'cooldown.abc' (1x).\nLine 14: Converted 'trinket.abc.cooldown' to 'cooldown.abc' (1x).\nLine 15: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 15: Converted 'trinket.abc.cooldown' to 'cooldown.abc' (1x).\nLine 16: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 16: Converted 'trinket.abc.cooldown' to 'cooldown.abc' (1x).\nLine 21: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 22: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 27: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 29: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 30: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 31: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 34: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 35: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 36: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 37: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 37: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 38: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 44: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 45: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nWARNING: The import for 'aoe' required some automated changes.\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 5: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 12: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 13: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 18: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 20: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 21: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 26: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nImported 12 action lists.\n", ["author"] = "SimC", ["lists"] = { ["darkglare_prep"] = { { ["action"] = "vile_taint", ["enabled"] = true, }, -- [1] { ["action"] = "dark_soul", ["enabled"] = true, }, -- [2] { ["action"] = "potion", ["enabled"] = true, }, -- [3] { ["action"] = "fireblood", ["enabled"] = true, }, -- [4] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [5] { ["action"] = "berserking", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "! covenant.necrolord", ["list_name"] = "covenant", }, -- [7] { ["action"] = "summon_darkglare", ["enabled"] = true, }, -- [8] }, ["trinket_split_check"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( ( 1 * equipped.empyreal_ordnance ) + ( 1 * equipped.inscrutable_quantum_device ) + ( 1 * equipped.soulletting_ruby ) + ( 1 * equipped.sunblood_amethyst ) ) = 1", ["var_name"] = "special_equipped", ["description"] = "We don't support ", }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( trinket.t1.has_proc & trinket.t1.has_cooldown )", ["var_name"] = "trinket_one", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( trinket.t2.has_proc & trinket.t2.has_cooldown )", ["var_name"] = "trinket_two", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( ! ( trinket.t1.has_proc & trinket.t1.has_cooldown ) ) || ( ! ( trinket.t2.has_proc & trinket.t2.has_cooldown ) ) || equipped.glyph_of_assimilation", ["var_name"] = "damage_trinket", }, -- [4] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( variable.trinket_one & variable.damage_trinket ) || ( variable.trinket_two & variable.damage_trinket ) || ( 1 * variable.trinket_one ) + ( 1 * variable.special_equipped ) = 1 || ( 1 * variable.trinket_two ) + ( 1 * variable.special_equipped ) = 1", ["var_name"] = "trinket_split", }, -- [5] }, ["damage_trinkets"] = { { ["enabled"] = true, ["name"] = "soul_igniter", ["action"] = "soul_igniter", }, -- [1] { ["enabled"] = true, ["name"] = "dreadfire_vessel", ["action"] = "dreadfire_vessel", }, -- [2] { ["enabled"] = true, ["name"] = "glyph_of_assimilation", ["action"] = "glyph_of_assimilation", }, -- [3] { ["enabled"] = true, ["name"] = "unchained_gladiators_shackles", ["action"] = "unchained_gladiators_shackles", }, -- [4] { ["enabled"] = true, ["name"] = "ebonsoul_vice", ["action"] = "ebonsoul_vice", }, -- [5] }, ["delayed_trinkets"] = { { ["enabled"] = true, ["name"] = "empyreal_ordnance", ["action"] = "empyreal_ordnance", ["criteria"] = "( covenant.night_fae & cooldown.soul_rot.remains < 20 ) || ( covenant.venthyr & cooldown.impending_catastrophe.remains < 20 ) || ( covenant.necrolord || covenant.kyrian || covenant.none )", }, -- [1] { ["enabled"] = true, ["name"] = "sunblood_amethyst", ["action"] = "sunblood_amethyst", ["criteria"] = "( covenant.night_fae & cooldown.soul_rot.remains < 6 ) || ( covenant.venthyr & cooldown.impending_catastrophe.remains < 6 ) || ( covenant.necrolord || covenant.kyrian || covenant.none )", }, -- [2] { ["enabled"] = true, ["name"] = "soulletting_ruby", ["action"] = "soulletting_ruby", ["criteria"] = "( covenant.night_fae & cooldown.soul_rot.remains < 8 ) || ( covenant.venthyr & cooldown.impending_catastrophe.remains < 8 ) || ( covenant.necrolord || covenant.kyrian || covenant.none )", }, -- [3] { ["enabled"] = true, ["name"] = "shadowed_orb_of_torment", ["action"] = "shadowed_orb_of_torment", ["criteria"] = "( covenant.night_fae & cooldown.soul_rot.remains < 4 ) || ( covenant.venthyr & cooldown.impending_catastrophe.remains < 4 ) || ( covenant.necrolord || covenant.kyrian || covenant.none )", }, -- [4] }, ["covenant"] = { { ["enabled"] = true, ["criteria"] = "! talent.phantom_singularity.enabled & ( cooldown.summon_darkglare.remains < 10 || cooldown.summon_darkglare.remains > 50 || cooldown.summon_darkglare.remains > 25 & conduit.corrupting_leer.enabled )", ["action"] = "impending_catastrophe", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.phantom_singularity.enabled & dot.phantom_singularity.ticking", ["action"] = "impending_catastrophe", }, -- [2] { ["enabled"] = true, ["criteria"] = "cooldown.summon_darkglare.remains > 5 & ( debuff.haunt.remains > 4 || ! talent.haunt.enabled )", ["action"] = "decimating_bolt", }, -- [3] { ["enabled"] = true, ["criteria"] = "! talent.phantom_singularity.enabled & ( cooldown.summon_darkglare.remains < 5 || cooldown.summon_darkglare.remains > 50 || cooldown.summon_darkglare.remains > 25 & conduit.corrupting_leer.enabled )", ["action"] = "soul_rot", }, -- [4] { ["enabled"] = true, ["criteria"] = "talent.phantom_singularity.enabled & dot.phantom_singularity.ticking", ["action"] = "soul_rot", }, -- [5] { ["action"] = "scouring_tithe", ["enabled"] = true, }, -- [6] }, ["dot_prep"] = { { ["enabled"] = true, ["criteria"] = "dot.agony.remains < 8 & cooldown.summon_darkglare.remains > dot.agony.remains", ["action"] = "agony", }, -- [1] { ["enabled"] = true, ["criteria"] = "dot.siphon_life.remains < 8 & cooldown.summon_darkglare.remains > dot.siphon_life.remains", ["action"] = "siphon_life", }, -- [2] { ["enabled"] = true, ["criteria"] = "dot.unstable_affliction.remains < 8 & cooldown.summon_darkglare.remains > dot.unstable_affliction.remains", ["action"] = "unstable_affliction", }, -- [3] { ["enabled"] = true, ["criteria"] = "dot.corruption.remains < 8 & cooldown.summon_darkglare.remains > dot.corruption.remains", ["action"] = "corruption", }, -- [4] }, ["default"] = { { ["action"] = "spell_lock", ["enabled"] = true, }, -- [1] { ["action"] = "devour_magic", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies > 3", ["list_name"] = "aoe", }, -- [3] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "Action lists for trinket behavior. Stats are saved for before Soul Rot/Impending Catastrophe/Phantom Singularity, otherwise on cooldown", ["list_name"] = "trinket_split_check", }, -- [4] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "delayed_trinkets", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "( dot.soul_rot.ticking || dot.impending_catastrophe_dot.ticking || dot.phantom_singularity.ticking ) & soul_shard > 3 || dot.vile_taint.ticking || talent.sow_the_seeds.enabled", ["list_name"] = "stat_trinkets", }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "covenant.night_fae & ( ! variable.trinket_split || cooldown.soul_rot.remains > 20 || ( variable.trinket_one & cooldown.soul_rot.remains < trinket.t1.cooldown.remains ) || ( variable.trinket_two & cooldown.soul_rot.remains < trinket.t2.cooldown.remains ) ) || covenant.venthyr & ( ! variable.trinket_split || cooldown.impending_catastrophe.remains > 20 || ( variable.trinket_one & cooldown.impending_catastrophe.remains < trinket.t1.cooldown.remains ) || ( variable.trinket_two & cooldown.impending_catastrophe.remains < trinket.t2.cooldown.remains ) ) || ( covenant.necrolord || covenant.kyrian || covenant.none ) & ( ! variable.trinket_split || cooldown.phantom_singularity.remains > 20 || ( variable.trinket_one & cooldown.phantom_singularity.remains < trinket.t1.cooldown.remains ) || ( variable.trinket_two & cooldown.phantom_singularity.remains < trinket.t2.cooldown.remains ) ) || ! talent.phantom_singularity.enabled & ( ! variable.trinket_split || cooldown.summon_darkglare.remains > 20 || ( variable.trinket_one & cooldown.summon_darkglare.remains < trinket.t1.cooldown.remains ) || ( variable.trinket_two & cooldown.summon_darkglare.remains < trinket.t2.cooldown.remains ) )", ["list_name"] = "damage_trinkets", }, -- [7] { ["enabled"] = true, ["criteria"] = "boss & fight_remains < execute_time * soul_shard & dot.unstable_affliction.ticking", ["action"] = "malefic_rapture", ["description"] = "Burn soul shards if fight is almost over", }, -- [8] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "If covenant dot/Phantom Singularity is running, use Darkglare to extend the current set", ["criteria"] = "( covenant.venthyr & dot.impending_catastrophe_dot.ticking & cooldown.summon_darkglare.remains < 2 & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) ) || ( covenant.night_fae & dot.soul_rot.ticking & cooldown.summon_darkglare.remains < 2 & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) ) || ( ( covenant.necrolord || covenant.kyrian || covenant.none ) & dot.phantom_singularity.ticking & dot.phantom_singularity.remains < 2 )", ["list_name"] = "darkglare_prep", }, -- [9] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "Refresh dots early if going into a shard spending phase", ["criteria"] = "( covenant.night_fae & ! dot.soul_rot.ticking & cooldown.soul_rot.remains < 4 ) || ( covenant.venthyr & ! dot.impending_catastrophe_dot.ticking & cooldown.impending_catastrophe.remains < 4 ) || ( ( covenant.necrolord || covenant.kyrian || covenant.none ) & talent.phantom_singularity.enabled & ! dot.phantom_singularity.ticking & cooldown.phantom_singularity.remains < 4 )", ["list_name"] = "dot_prep", }, -- [10] { ["enabled"] = true, ["criteria"] = "dot.phantom_singularity.ticking", ["action"] = "dark_soul", ["description"] = "If Phantom Singularity is ticking, it is safe to use Dark Soul", }, -- [11] { ["enabled"] = true, ["criteria"] = "! talent.phantom_singularity.enabled & ( dot.soul_rot.ticking || dot.impending_catastrophe_dot.ticking )", ["action"] = "dark_soul", }, -- [12] { ["enabled"] = true, ["criteria"] = "covenant.night_fae & time > 5 & cooldown.soul_rot.remains < 1 & ( cooldown.empyreal_ordnance.remains < 162 || ! equipped.empyreal_ordnance )", ["action"] = "phantom_singularity", ["description"] = "Sync Phantom Singularity with Venthyr/Night Fae covenant dot, otherwise use on cooldown. If Empyreal Ordnance buff is incoming, hold until it's ready (18 seconds after use)", }, -- [13] { ["enabled"] = true, ["criteria"] = "covenant.venthyr & time > 5 & cooldown.impending_catastrophe.remains < 1 & ( cooldown.empyreal_ordnance.remains < 162 || ! equipped.empyreal_ordnance )", ["action"] = "phantom_singularity", }, -- [14] { ["enabled"] = true, ["criteria"] = "covenant.necrolord & runeforge.malefic_wrath.enabled & time > 5 & cooldown.decimating_bolt.remains < 3 & ( cooldown.empyreal_ordnance.remains < 162 || ! equipped.empyreal_ordnance )", ["action"] = "phantom_singularity", ["description"] = "Necrolord with Malefic Wrath casts phantom singularity in line with Decimating Bolt", }, -- [15] { ["enabled"] = true, ["criteria"] = "( covenant.kyrian || covenant.none || ( covenant.necrolord & ! runeforge.malefic_wrath.enabled ) ) & ( cooldown.empyreal_ordnance.remains < 162 || ! equipped.empyreal_ordnance )", ["action"] = "phantom_singularity", ["description"] = "Other covenants (including non-MW Necro) cast PS on cooldown", }, -- [16] { ["enabled"] = true, ["criteria"] = "boss & fight_remains < 16", ["action"] = "phantom_singularity", }, -- [17] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "If Phantom Singularity is ticking, it's time to use other major dots", ["criteria"] = "dot.phantom_singularity.ticking & ( covenant.night_fae || covenant.venthyr )", ["list_name"] = "covenant", }, -- [18] { ["enabled"] = true, ["criteria"] = "dot.agony.remains < 4", ["action"] = "agony", ["cycle_targets"] = 1, }, -- [19] { ["action"] = "haunt", ["enabled"] = true, }, -- [20] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 & talent.sow_the_seeds.enabled & ! dot.seed_of_corruption.ticking & ! in_flight", ["action"] = "seed_of_corruption", ["description"] = "Sow the Seeds on 3 targets if it isn't currently in flight or on the target. With Siphon Life it's also better to use Seed over manually applying 3 Corruptions.", }, -- [21] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 & talent.siphon_life.enabled & ! dot.seed_of_corruption.ticking & ! in_flight & dot.corruption.remains < 4", ["action"] = "seed_of_corruption", }, -- [22] { ["enabled"] = true, ["criteria"] = "( soul_shard > 1 || active_enemies > 2 ) & cooldown.summon_darkglare.remains > 12", ["action"] = "vile_taint", }, -- [23] { ["enabled"] = true, ["criteria"] = "active_dot.unstable_affliction = 0 || ticking & dot.unstable_affliction.remains < 4", ["action"] = "unstable_affliction", }, -- [24] { ["enabled"] = true, ["criteria"] = "dot.siphon_life.remains < 4", ["action"] = "siphon_life", ["cycle_targets"] = 1, }, -- [25] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "! covenant.necrolord", ["list_name"] = "covenant", }, -- [26] { ["enabled"] = true, ["action"] = "corruption", ["cycle_targets"] = 1, ["description"] = "Apply Corruption manually on 1-2 targets, or on 3 with Absolute Corruption", ["criteria"] = "active_enemies < 4 - ( talent.sow_the_seeds.enabled || talent.siphon_life.enabled ) & dot.corruption.remains < 2", }, -- [27] { ["enabled"] = true, ["criteria"] = "soul_shard > 4 & time > 21", ["action"] = "malefic_rapture", ["description"] = "After the opener, spend a shard when at 5 on Malefic Rapture to avoid overcapping", }, -- [28] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "When not syncing Phantom Singularity to Venthyr/Night Fae, Summon Darkglare if all dots are applied", ["criteria"] = "( covenant.venthyr & ! talent.phantom_singularity.enabled & dot.impending_catastrophe_dot.ticking & cooldown.summon_darkglare.ready ) || ( covenant.night_fae & ! talent.phantom_singularity.enabled & dot.soul_rot.ticking & cooldown.summon_darkglare.ready ) || ( ( covenant.necrolord || covenant.kyrian || covenant.none ) & cooldown.summon_darkglare.ready )", ["list_name"] = "darkglare_prep", }, -- [29] { ["enabled"] = true, ["criteria"] = "boss & cooldown.summon_darkglare.remains > fight_remains & ( ! talent.phantom_singularity.enabled || cooldown.phantom_singularity.remains > fight_remains )", ["action"] = "dark_soul", ["description"] = "Use Dark Soul if Darkglare won't be ready again, or if there will be at least 2 more Darkglare uses", }, -- [30] { ["enabled"] = true, ["criteria"] = "boss & ! talent.phantom_singularity.enabled & cooldown.summon_darkglare.remains + cooldown.summon_darkglare.duration < fight_remains", ["action"] = "dark_soul", }, -- [31] { ["enabled"] = true, ["action"] = "call_action_list", ["description"] = "Catch-all item usage for anything not specified elsewhere", ["list_name"] = "item", }, -- [32] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "talent.shadow_embrace.enabled & ( debuff.shadow_embrace.stack < ( 2 - action.shadow_bolt.in_flight ) || debuff.shadow_embrace.remains < 3 )", ["list_name"] = "se", }, -- [33] { ["enabled"] = true, ["criteria"] = "( dot.vile_taint.ticking || dot.impending_catastrophe_dot.ticking || dot.soul_rot.ticking ) & ( ! runeforge.malefic_wrath.enabled || buff.malefic_wrath.stack < 3 || soul_shard > 1 )", ["action"] = "malefic_rapture", ["description"] = "Use Malefic Rapture when major dots are up, or if there will be significant time until the next Phantom Singularity. If utilizing Malefic Wrath, hold a shard to refresh the buff", }, -- [34] { ["enabled"] = true, ["criteria"] = "runeforge.malefic_wrath.enabled & cooldown.soul_rot.remains > 20 & buff.malefic_wrath.remains < 4", ["action"] = "malefic_rapture", ["description"] = "Use Malefic Rapture to maintain the malefic wrath buff until shards need to be generated for the next burst window (20 seconds is more than sufficient to generate 3 shards)", }, -- [35] { ["enabled"] = true, ["criteria"] = "runeforge.malefic_wrath.enabled & ( covenant.necrolord || covenant.kyrian ) & buff.malefic_wrath.remains < 4", ["action"] = "malefic_rapture", ["description"] = "Maintain Malefic Wrath at all times for the Necrolord or Kyrian covenant", }, -- [36] { ["enabled"] = true, ["criteria"] = "talent.phantom_singularity.enabled & ( dot.phantom_singularity.ticking || cooldown.phantom_singularity.remains > 25 || boss & time_to_die < cooldown.phantom_singularity.remains ) & ( ! runeforge.malefic_wrath.enabled || buff.malefic_wrath.stack < 3 || soul_shard > 1 )", ["action"] = "malefic_rapture", ["description"] = "Use Malefic Rapture on Phantom Singularity casts, making sure to save a shard to stack Malefic Wrath if using it", }, -- [37] { ["enabled"] = true, ["criteria"] = "talent.sow_the_seeds.enabled", ["action"] = "malefic_rapture", }, -- [38] { ["enabled"] = true, ["criteria"] = "buff.inevitable_demise.stack > 40 || buff.inevitable_demise.up & boss & fight_remains < 4", ["action"] = "drain_life", ["description"] = "Drain Life is only a DPS gain with Inevitable Demise near max stacks. If fight is about to end do not miss spending the stacks", }, -- [39] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "covenant", }, -- [40] { ["enabled"] = true, ["criteria"] = "refreshable", ["action"] = "agony", ["cycle_targets"] = 1, }, -- [41] { ["enabled"] = true, ["criteria"] = "active_dot.unstable_affliction = 0 || ticking & refreshable", ["action"] = "unstable_affliction", }, -- [42] { ["enabled"] = true, ["criteria"] = "refreshable", ["action"] = "siphon_life", ["cycle_targets"] = 1, }, -- [43] { ["enabled"] = true, ["criteria"] = "refreshable & active_enemies < 4 - ( talent.sow_the_seeds.enabled || talent.siphon_life.enabled )", ["action"] = "corruption", ["cycle_targets"] = 1, }, -- [44] { ["enabled"] = true, ["interrupt_if"] = "buff.volatile_solvent.up", ["criteria"] = "soulbind.volatile_solvent.enabled", ["action"] = "fleshcraft", }, -- [45] { ["interrupt"] = "1", ["action"] = "drain_soul", ["enabled"] = true, }, -- [46] { ["action"] = "shadow_bolt", ["enabled"] = true, }, -- [47] }, ["precombat"] = { { ["enabled"] = true, ["criteria"] = "time > 0 & ! pet.alive & ! buff.grimoire_of_sacrifice.up", ["action"] = "fel_domination", }, -- [1] { ["action"] = "summon_felhunter", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["name"] = "tome_of_monstrous_constructions", ["action"] = "tome_of_monstrous_constructions", }, -- [3] { ["enabled"] = true, ["name"] = "soleahs_secret_technique", ["action"] = "soleahs_secret_technique", }, -- [4] { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_sacrifice.enabled", ["action"] = "grimoire_of_sacrifice", }, -- [5] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_dot.corruption > 0 & active_dot.agony > 0 & active_dot.unstable_affliction > 0 & ( ! talent.siphon_life.enabled || active_dot.siphon_life > 0 ) & ( dot.phantom_singularity.ticking || ! talent.phantom_singularity.enabled )", ["var_name"] = "dots_ready", }, -- [7] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [8] { ["enabled"] = true, ["criteria"] = "spell_targets.seed_of_corruption_aoe >= 3", ["action"] = "seed_of_corruption", ["line_cd"] = "10", }, -- [9] { ["action"] = "haunt", ["enabled"] = true, }, -- [10] { ["action"] = "unstable_affliction", ["enabled"] = true, }, -- [11] }, ["aoe"] = { { ["action"] = "phantom_singularity", ["enabled"] = true, }, -- [1] { ["action"] = "haunt", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "covenant.venthyr & dot.impending_catastrophe_dot.ticking & cooldown.summon_darkglare.ready & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) || covenant.night_fae & dot.soul_rot.ticking & cooldown.summon_darkglare.ready & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) || ( covenant.necrolord || covenant.kyrian || covenant.none ) & dot.phantom_singularity.ticking & dot.phantom_singularity.remains < 2", ["list_name"] = "darkglare_prep", }, -- [3] { ["enabled"] = true, ["criteria"] = "talent.sow_the_seeds.enabled & can_seed", ["action"] = "seed_of_corruption", }, -- [4] { ["enabled"] = true, ["criteria"] = "! talent.sow_the_seeds.enabled & ! dot.seed_of_corruption.ticking & ! in_flight & dot.corruption.refreshable", ["action"] = "seed_of_corruption", }, -- [5] { ["enabled"] = true, ["criteria"] = "active_dot.agony < 4 & ! dot.agony.ticking", ["action"] = "agony", ["cycle_targets"] = 1, }, -- [6] { ["enabled"] = true, ["criteria"] = "active_dot.agony >= 4 & refreshable & dot.agony.ticking", ["action"] = "agony", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["criteria"] = "active_dot.unstable_affliction = 0 || ticking & refreshable", ["action"] = "unstable_affliction", }, -- [8] { ["enabled"] = true, ["criteria"] = "! ticking & pvptalent.rampant_afflictions.enabled & active_dot.unstable_affliction < 3", ["action"] = "unstable_affliction", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["criteria"] = "soul_shard > 1", ["action"] = "vile_taint", }, -- [10] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "! covenant.necrolord", ["list_name"] = "covenant", }, -- [11] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "( covenant.venthyr & ( cooldown.impending_catastrophe.ready || dot.impending_catastrophe_dot.ticking ) & cooldown.summon_darkglare.ready & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) ) & ( ( covenant.necrolord || covenant.kyrian || covenant.none ) & cooldown.summon_darkglare.remains < 2 & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) ) || ( covenant.night_fae & ( cooldown.soul_rot.ready || dot.soul_rot.ticking ) & cooldown.summon_darkglare.remains < 2 & ( dot.phantom_singularity.remains > 2 || ! talent.phantom_singularity.enabled ) )", ["list_name"] = "darkglare_prep", }, -- [12] { ["enabled"] = true, ["criteria"] = "boss & cooldown.summon_darkglare.remains > fight_remains & ( ! talent.phantom_singularity.enabled || cooldown.phantom_singularity.remains > fight_remains )", ["action"] = "dark_soul", }, -- [13] { ["enabled"] = true, ["criteria"] = "boss & cooldown.summon_darkglare.remains + cooldown.summon_darkglare.duration < fight_remains", ["action"] = "dark_soul", }, -- [14] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "item", }, -- [15] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "delayed_trinkets", }, -- [16] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "damage_trinkets", }, -- [17] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "dot.phantom_singularity.ticking || ! talent.phantom_singularity.enabled", ["list_name"] = "stat_trinkets", }, -- [18] { ["enabled"] = true, ["criteria"] = "dot.vile_taint.ticking", ["action"] = "malefic_rapture", }, -- [19] { ["enabled"] = true, ["criteria"] = "dot.soul_rot.ticking & ! talent.sow_the_seeds.enabled", ["action"] = "malefic_rapture", }, -- [20] { ["enabled"] = true, ["criteria"] = "! talent.vile_taint.enabled", ["action"] = "malefic_rapture", }, -- [21] { ["enabled"] = true, ["criteria"] = "soul_shard > 4", ["action"] = "malefic_rapture", }, -- [22] { ["enabled"] = true, ["criteria"] = "active_dot.siphon_life <= 3 & refreshable & ! dot.siphon_life.ticking", ["action"] = "siphon_life", ["cycle_targets"] = 1, }, -- [23] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "covenant.necrolord", ["list_name"] = "covenant", }, -- [24] { ["enabled"] = true, ["criteria"] = "buff.inevitable_demise.stack >= 50 || boss & buff.inevitable_demise.up & fight_remains < 5 || buff.inevitable_demise.stack >= 35 & dot.soul_rot.ticking", ["action"] = "drain_life", }, -- [25] { ["enabled"] = true, ["interrupt_if"] = "buff.volatile_solvent.up", ["criteria"] = "soulbind.volatile_solvent.enabled", ["action"] = "fleshcraft", }, -- [26] { ["interrupt"] = "1", ["action"] = "drain_soul", ["enabled"] = true, }, -- [27] { ["action"] = "shadow_bolt", ["enabled"] = true, }, -- [28] }, ["stat_trinkets"] = { { ["enabled"] = true, ["name"] = "inscrutable_quantum_device", ["action"] = "inscrutable_quantum_device", }, -- [1] { ["enabled"] = true, ["name"] = "instructors_divine_bell", ["action"] = "instructors_divine_bell", }, -- [2] { ["enabled"] = true, ["name"] = "overflowing_anima_cage", ["action"] = "overflowing_anima_cage", }, -- [3] { ["enabled"] = true, ["name"] = "darkmoon_deck_putrescence", ["action"] = "darkmoon_deck_putrescence", }, -- [4] { ["enabled"] = true, ["name"] = "macabre_sheet_music", ["action"] = "macabre_sheet_music", }, -- [5] { ["enabled"] = true, ["name"] = "flame_of_battle", ["action"] = "flame_of_battle", }, -- [6] { ["enabled"] = true, ["name"] = "wakeners_frond", ["action"] = "wakeners_frond", }, -- [7] { ["enabled"] = true, ["name"] = "tablet_of_despair", ["action"] = "tablet_of_despair", }, -- [8] { ["enabled"] = true, ["name"] = "sinful_aspirants_badge_of_ferocity", ["action"] = "sinful_aspirants_badge_of_ferocity", }, -- [9] { ["enabled"] = true, ["name"] = "sinful_gladiators_badge_of_ferocity", ["action"] = "sinful_gladiators_badge_of_ferocity", }, -- [10] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [11] { ["action"] = "fireblood", ["enabled"] = true, }, -- [12] { ["action"] = "berserking", ["enabled"] = true, }, -- [13] }, ["se"] = { { ["action"] = "haunt", ["enabled"] = true, }, -- [1] { ["interrupt_if"] = "debuff.shadow_embrace.stack>=3", ["enabled"] = true, ["action"] = "drain_soul", ["interrupt_global"] = "1", }, -- [2] { ["action"] = "shadow_bolt", ["enabled"] = true, }, -- [3] }, ["item"] = { { ["action"] = "use_items", ["enabled"] = true, }, -- [1] }, }, }, ["Destruction"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210916, ["author"] = "SimC", ["desc"] = "Destruction Warlock\nSeptember 16, 2021\n\nChanges:\n- Fleshcraft/Volatile Solvent cancel_if changed to interrupt_if.", ["lists"] = { ["essences"] = { { ["action"] = "worldvein_resonance", ["enabled"] = true, }, -- [1] { ["action"] = "memory_of_lucid_dreams", ["enabled"] = true, }, -- [2] { ["action"] = "blood_of_the_enemy", ["enabled"] = true, }, -- [3] { ["action"] = "guardian_of_azeroth", ["enabled"] = true, }, -- [4] { ["action"] = "ripple_in_space", ["enabled"] = true, }, -- [5] { ["action"] = "focused_azerite_beam", ["enabled"] = true, }, -- [6] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "target.health_pct > 80 || target.health_pct < 20 || fight_remains < 20 || target.time_to_pct_20 > 40", ["action"] = "reaping_flames", }, -- [8] { ["action"] = "concentrated_flame", ["enabled"] = true, }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.remains", ["action"] = "the_unbound_force", }, -- [10] }, ["havoc"] = { { ["enabled"] = true, ["criteria"] = "buff.backdraft.down & soul_shard >= 1 & soul_shard <= 4", ["action"] = "conflagrate", }, -- [1] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains", ["action"] = "soul_fire", }, -- [2] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains & soulbind.lead_by_example.enabled", ["action"] = "decimating_bolt", }, -- [3] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains", ["action"] = "scouring_tithe", }, -- [4] { ["enabled"] = true, ["criteria"] = "talent.internal_combustion.enabled & remains < duration * 0.5 || ! talent.internal_combustion.enabled & refreshable", ["action"] = "immolate", }, -- [5] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains", ["action"] = "chaos_bolt", }, -- [6] { ["action"] = "shadowburn", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains", ["action"] = "incinerate", }, -- [8] }, ["precombat"] = { { ["enabled"] = true, ["criteria"] = "time > 0 & ! pet.alive", ["action"] = "fel_domination", ["description"] = "Executed before combat begins. Accepts non-harmful actions only.", }, -- [1] { ["action"] = "summon_imp", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["name"] = "tome_of_monstrous_constructions", ["action"] = "tome_of_monstrous_constructions", }, -- [3] { ["enabled"] = true, ["name"] = "soleahs_secret_technique", ["action"] = "soleahs_secret_technique", }, -- [4] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_sacrifice.enabled", ["action"] = "grimoire_of_sacrifice", }, -- [6] { ["enabled"] = true, ["name"] = "shadowed_orb_of_torment", ["action"] = "shadowed_orb_of_torment", }, -- [7] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [8] { ["action"] = "incinerate", ["enabled"] = true, }, -- [9] }, ["aoe"] = { { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( ! cooldown.havoc.ready || active_enemies > 3 )", ["action"] = "rain_of_fire", }, -- [1] { ["action"] = "soul_rot", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains > cast_time", ["action"] = "channel_demonfire", }, -- [3] { ["enabled"] = true, ["criteria"] = "remains < 5 & ( ! talent.cataclysm.enabled || cooldown.cataclysm.remains > remains )", ["action"] = "immolate", ["cycle_targets"] = 1, }, -- [4] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "essences", }, -- [6] { ["enabled"] = true, ["criteria"] = "active_enemies < 4", ["action"] = "havoc", ["cycle_targets"] = 1, }, -- [7] { ["action"] = "rain_of_fire", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["action"] = "havoc", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["criteria"] = "( soulbind.lead_by_example.enabled || ! talent.fire_and_brimstone.enabled )", ["action"] = "decimating_bolt", }, -- [10] { ["enabled"] = true, ["criteria"] = "talent.fire_and_brimstone.enabled & buff.backdraft.up & soul_shard < 5 - 0.2 * active_enemies", ["action"] = "incinerate", }, -- [11] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.backdraft.down", ["action"] = "conflagrate", }, -- [13] { ["enabled"] = true, ["criteria"] = "target.health.pct < 20", ["action"] = "shadowburn", }, -- [14] { ["enabled"] = true, ["criteria"] = "! ( talent.fire_and_brimstone.enabled || talent.inferno.enabled )", ["action"] = "scouring_tithe", }, -- [15] { ["enabled"] = true, ["criteria"] = "! ( talent.fire_and_brimstone.enabled || talent.inferno.enabled )", ["action"] = "impending_catastrophe", }, -- [16] { ["action"] = "incinerate", ["enabled"] = true, }, -- [17] }, ["cds"] = { { ["enabled"] = true, ["name"] = "shadowed_orb_of_torment", ["action"] = "shadowed_orb_of_torment", ["criteria"] = "cooldown.summon_infernal.remains < 3 || target.time_to_die < 42", }, -- [1] { ["action"] = "summon_infernal", ["enabled"] = true, }, -- [2] { ["action"] = "dark_soul_instability", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["criteria"] = "pet.infernal.active", ["action"] = "potion", }, -- [4] { ["enabled"] = true, ["criteria"] = "pet.infernal.active", ["action"] = "berserking", }, -- [5] { ["enabled"] = true, ["criteria"] = "pet.infernal.active", ["action"] = "blood_fury", }, -- [6] { ["enabled"] = true, ["criteria"] = "pet.infernal.active", ["action"] = "fireblood", }, -- [7] { ["enabled"] = true, ["criteria"] = "pet.infernal.active || target.time_to_die < 20", ["action"] = "use_items", }, -- [8] }, ["default"] = { { ["enabled"] = true, ["description"] = "Executed every time the actor is available.", ["action"] = "spell_lock", }, -- [1] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "havoc_active & active_enemies > 1 & active_enemies < 5 - talent.inferno.enabled + ( talent.inferno.enabled & talent.internal_combustion.enabled )", ["list_name"] = "havoc", }, -- [2] { ["enabled"] = true, ["interrupt_if"] = "buff.volatile_solvent.up", ["criteria"] = "soulbind.volatile_solvent.enabled", ["action"] = "fleshcraft", }, -- [3] { ["enabled"] = true, ["criteria"] = "talent.roaring_blaze.enabled & debuff.roaring_blaze.remains < 1.5", ["action"] = "conflagrate", }, -- [4] { ["enabled"] = true, ["criteria"] = "! ( pet.infernal.active & dot.immolate.remains + 1 > pet.infernal.remains ) || spell_targets.cataclysm > 1", ["action"] = "cataclysm", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "active_enemies > 2", ["list_name"] = "aoe", }, -- [6] { ["enabled"] = true, ["criteria"] = "refreshable & soul_shard <= 4 & ( ! talent.cataclysm.enabled || cooldown.cataclysm.remains > remains )", ["action"] = "soul_fire", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["criteria"] = "refreshable & ( ! talent.cataclysm.enabled || cooldown.cataclysm.remains > remains )", ["action"] = "immolate", ["cycle_targets"] = 1, }, -- [8] { ["enabled"] = true, ["criteria"] = "talent.internal_combustion.enabled & action.chaos_bolt.in_flight & remains < duration * 0.5", ["action"] = "immolate", }, -- [9] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [10] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "essences", }, -- [11] { ["action"] = "channel_demonfire", ["enabled"] = true, }, -- [12] { ["action"] = "scouring_tithe", ["enabled"] = true, }, -- [13] { ["action"] = "decimating_bolt", ["enabled"] = true, }, -- [14] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains > dot.immolate.duration * 0.5 || ! talent.internal_combustion.enabled", ["action"] = "havoc", ["cycle_targets"] = 1, }, -- [15] { ["action"] = "impending_catastrophe", ["enabled"] = true, }, -- [16] { ["action"] = "soul_rot", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["criteria"] = "runeforge.odr_shawl_of_the_ymirjar.equipped", ["action"] = "havoc", }, -- [18] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_enemies > 1 & cooldown.havoc.remains <= 10 || cooldown.summon_infernal.remains <= 15 & talent.dark_soul_instability.enabled & cooldown.dark_soul_instability.remains <= 15 || talent.dark_soul_instability.enabled & cooldown.dark_soul_instability.remains <= 15 & ( cooldown.summon_infernal.remains > target.time_to_die || cooldown.summon_infernal.remains + cooldown.summon_infernal.duration > target.time_to_die )", ["var_name"] = "pool_soul_shards", }, -- [19] { ["enabled"] = true, ["criteria"] = "buff.backdraft.down & soul_shard >= 1.5 - 0.3 * talent.flashover.enabled & ! variable.pool_soul_shards", ["action"] = "conflagrate", }, -- [20] { ["enabled"] = true, ["criteria"] = "buff.dark_soul_instability.up", ["action"] = "chaos_bolt", }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.backdraft.up & ! variable.pool_soul_shards & ! talent.eradication.enabled", ["action"] = "chaos_bolt", }, -- [22] { ["enabled"] = true, ["criteria"] = "! variable.pool_soul_shards & talent.eradication.enabled & ( debuff.eradication.remains < cast_time || buff.backdraft.up )", ["action"] = "chaos_bolt", }, -- [23] { ["enabled"] = true, ["criteria"] = "! variable.pool_soul_shards || soul_shard >= 4.5", ["action"] = "shadowburn", }, -- [24] { ["enabled"] = true, ["criteria"] = "( soul_shard >= 4.5 - 0.2 * active_enemies )", ["action"] = "chaos_bolt", }, -- [25] { ["enabled"] = true, ["criteria"] = "charges > 1", ["action"] = "conflagrate", }, -- [26] { ["action"] = "incinerate", ["enabled"] = true, }, -- [27] }, }, ["version"] = 20210916, ["warnings"] = "WARNING: The import for 'default' required some automated changes.\nLine 3: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nImported 6 action lists.\n", ["spec"] = 267, ["profile"] = "## Destruction Warlock\n## September 16, 2021\n\n## Changes:\n## - Fleshcraft/Volatile Solvent cancel_if changed to interrupt_if.\n\n# Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat=fel_domination,if=time>0&!pet.alive\nactions.precombat+=/summon_pet\nactions.precombat+=/use_item,name=tome_of_monstrous_constructions\nactions.precombat+=/use_item,name=soleahs_secret_technique\nactions.precombat+=/fleshcraft\nactions.precombat+=/grimoire_of_sacrifice,if=talent.grimoire_of_sacrifice.enabled\nactions.precombat+=/use_item,name=shadowed_orb_of_torment\nactions.precombat+=/soul_fire\nactions.precombat+=/incinerate\n\n# Executed every time the actor is available.\nactions=spell_lock\nactions=call_action_list,name=havoc,if=havoc_active&active_enemies>1&active_enemies<5-talent.inferno.enabled+(talent.inferno.enabled&talent.internal_combustion.enabled)\nactions+=/fleshcraft,if=soulbind.volatile_solvent,interrupt_if=buff.volatile_solvent.up\nactions+=/conflagrate,if=talent.roaring_blaze.enabled&debuff.roaring_blaze.remains<1.5\nactions+=/cataclysm,if=!(pet.infernal.active&dot.immolate.remains+1>pet.infernal.remains)||spell_targets.cataclysm>1\nactions+=/call_action_list,name=aoe,if=active_enemies>2\nactions+=/soul_fire,cycle_targets=1,if=refreshable&soul_shard<=4&(!talent.cataclysm.enabled||cooldown.cataclysm.remains>remains)\nactions+=/immolate,cycle_targets=1,if=refreshable&(!talent.cataclysm.enabled||cooldown.cataclysm.remains>remains)\nactions+=/immolate,if=talent.internal_combustion.enabled&action.chaos_bolt.in_flight&remainsdot.immolate.duration*0.5||!talent.internal_combustion.enabled\nactions+=/impending_catastrophe\nactions+=/soul_rot\nactions+=/havoc,if=runeforge.odr_shawl_of_the_ymirjar.equipped\nactions+=/variable,name=pool_soul_shards,value=active_enemies>1&cooldown.havoc.remains<=10||cooldown.summon_infernal.remains<=15&talent.dark_soul_instability.enabled&cooldown.dark_soul_instability.remains<=15||talent.dark_soul_instability.enabled&cooldown.dark_soul_instability.remains<=15&(cooldown.summon_infernal.remains>target.time_to_die||cooldown.summon_infernal.remains+cooldown.summon_infernal.duration>target.time_to_die)\nactions+=/conflagrate,if=buff.backdraft.down&soul_shard>=1.5-0.3*talent.flashover.enabled&!variable.pool_soul_shards\nactions+=/chaos_bolt,if=buff.dark_soul_instability.up\nactions+=/chaos_bolt,if=buff.backdraft.up&!variable.pool_soul_shards&!talent.eradication.enabled\nactions+=/chaos_bolt,if=!variable.pool_soul_shards&talent.eradication.enabled&(debuff.eradication.remains=4.5\nactions+=/chaos_bolt,if=(soul_shard>=4.5-0.2*active_enemies)\nactions+=/conflagrate,if=charges>1\nactions+=/incinerate\n\nactions.aoe=rain_of_fire,if=pet.infernal.active&(!cooldown.havoc.ready||active_enemies>3)\nactions.aoe+=/soul_rot\nactions.aoe+=/channel_demonfire,if=dot.immolate.remains>cast_time\nactions.aoe+=/immolate,cycle_targets=1,if=remains<5&(!talent.cataclysm.enabled||cooldown.cataclysm.remains>remains)\nactions.aoe+=/call_action_list,name=cds\nactions.aoe+=/call_action_list,name=essences\nactions.aoe+=/havoc,cycle_targets=1,if=active_enemies<4\nactions.aoe+=/rain_of_fire\nactions.aoe+=/havoc,cycle_targets=1\nactions.aoe+=/decimating_bolt,if=(soulbind.lead_by_example.enabled||!talent.fire_and_brimstone.enabled)\nactions.aoe+=/incinerate,if=talent.fire_and_brimstone.enabled&buff.backdraft.up&soul_shard<5-0.2*active_enemies\nactions.aoe+=/soul_fire\nactions.aoe+=/conflagrate,if=buff.backdraft.down\nactions.aoe+=/shadowburn,if=target.health.pct<20\nactions.aoe+=/scouring_tithe,if=!(talent.fire_and_brimstone.enabled||talent.inferno.enabled)\nactions.aoe+=/impending_catastrophe,if=!(talent.fire_and_brimstone.enabled||talent.inferno.enabled)\nactions.aoe+=/incinerate\n\nactions.cds=use_item,name=shadowed_orb_of_torment,if=cooldown.summon_infernal.remains<3||target.time_to_die<42\nactions.cds+=/summon_infernal\nactions.cds+=/dark_soul_instability\nactions.cds+=/potion,if=pet.infernal.active\nactions.cds+=/berserking,if=pet.infernal.active\nactions.cds+=/blood_fury,if=pet.infernal.active\nactions.cds+=/fireblood,if=pet.infernal.active\nactions.cds+=/use_items,if=pet.infernal.active||target.time_to_die<20\n\nactions.havoc=conflagrate,if=buff.backdraft.down&soul_shard>=1&soul_shard<=4\nactions.havoc+=/soul_fire,if=cast_time80||target.health_pct<20||fight_remains<20||target.time_to_pct_20>40\nactions.essences+=/concentrated_flame\nactions.essences+=/the_unbound_force,if=buff.reckless_force.remains", }, }, }, ["Quillstrum - Deathwing"] = { ["runOnce"] = { ["forceReloadClassDefaultOptions_20220306_73"] = true, ["forceReloadAllDefaultPriorities_20220228"] = true, ["resetPotionsToDefaults_20190717"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["updateMaxRefreshToNewSpecOptions_20220222"] = true, ["resetGlobalCooldownSync_20210403"] = true, ["forceReloadClassDefaultOptions_20220306_71"] = true, ["forceReloadClassDefaultOptions_20220306_72"] = true, ["resetRogueMfDOption_20200226"] = true, ["resetAllPotions_20201209"] = true, ["enableAllOfTheThings_20180820"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["forceEnableAllClassesOnceDueToBug_20220225"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [73] = { ["potionsReset"] = 20180919.1, ["maxRefresh"] = 10, ["settings"] = { ["stack_shield_block"] = false, ["overlap_ignore_pain"] = false, ["shockwave_interrupt"] = true, ["free_revenge"] = true, ["heroic_charge"] = false, }, ["maxTime"] = 33, }, [71] = { ["potionsReset"] = 20180919.1, ["maxRefresh"] = 10, ["maxTime"] = 33, }, [72] = { ["potionsReset"] = 20180919.1, ["maxRefresh"] = 10, ["settings"] = { ["check_ww_range"] = false, ["heroic_charge"] = false, }, ["maxTime"] = 33, }, [102] = { ["enhancedRecheck"] = true, }, }, ["displays"] = { ["Defensives"] = { ["rel"] = "CENTER", ["y"] = -224.9999847412109, }, ["Primary"] = { ["rel"] = "CENTER", ["x"] = -49.99994277954102, ["y"] = -397.4990844726563, }, ["AOE"] = { ["rel"] = "CENTER", ["x"] = 118.3330764770508, ["y"] = -397.4996643066406, }, ["Interrupts"] = { ["rel"] = "CENTER", ["y"] = -224.9999847412109, }, }, ["packs"] = { ["Arms"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220723, ["author"] = "SimulationCraft", ["desc"] = "Arms Warrior\nJuly 23, 2022\n\nChanges:\n- Update for 9.2; add target swapping for Execute/Condemn.\n- Use MS more during Hectic Add-Cleave.", ["lists"] = { ["single_target"] = { { ["enabled"] = true, ["criteria"] = "remains <= gcd", ["action"] = "rend", }, -- [1] { ["enabled"] = true, ["criteria"] = "fight_remains > 140", ["action"] = "conquerors_banner", }, -- [2] { ["action"] = "avatar", ["enabled"] = true, }, -- [3] { ["action"] = "ravager", ["enabled"] = true, }, -- [4] { ["action"] = "warbreaker", ["enabled"] = true, }, -- [5] { ["action"] = "colossus_smash", ["enabled"] = true, }, -- [6] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [7] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "charges = 2", ["action"] = "overpower", }, -- [9] { ["enabled"] = true, ["criteria"] = "runeforge.enduring_blow.enabled || runeforge.battlelord.enabled || buff.overpower.stack >= 2", ["action"] = "mortal_strike", }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.sudden_death.react", ["action"] = "condemn", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.sudden_death.react", ["action"] = "execute", }, -- [12] { ["enabled"] = true, ["criteria"] = "rage.deficit > 45 & buff.deadly_calm.down", ["action"] = "skullsplitter", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.deadly_calm.down & rage < 30", ["action"] = "bladestorm", }, -- [14] { ["action"] = "deadly_calm", ["enabled"] = true, }, -- [15] { ["action"] = "overpower", ["enabled"] = true, }, -- [16] { ["action"] = "mortal_strike", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["criteria"] = "remains < duration * 0.3", ["action"] = "rend", }, -- [18] { ["enabled"] = true, ["criteria"] = "spell_targets.whirlwind > 1", ["action"] = "cleave", }, -- [19] { ["enabled"] = true, ["criteria"] = "talent.fervor_of_battle.enabled || spell_targets.whirlwind > 4 || spell_targets.whirlwind > 2 & buff.sweeping_strikes.down", ["action"] = "whirlwind", }, -- [20] { ["enabled"] = true, ["criteria"] = "! talent.fervor_of_battle.enabled & ( rage > 50 || debuff.colossus_smash.up || ! runeforge.enduring_blow.enabled )", ["action"] = "slam", }, -- [21] }, ["default"] = { { ["action"] = "charge", ["enabled"] = true, }, -- [1] { ["action"] = "pummel", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "gcd.remains = 0 & debuff.colossus_smash.remains > 8 || boss & fight_remains < 25", ["action"] = "potion", }, -- [3] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.up", ["action"] = "blood_fury", }, -- [4] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.remains > 6", ["action"] = "berserking", }, -- [5] { ["enabled"] = true, ["criteria"] = "cooldown.mortal_strike.remains > 1.5 & rage < 50", ["action"] = "arcane_torrent", }, -- [6] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.down & cooldown.mortal_strike.remains", ["action"] = "lights_judgment", }, -- [7] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.up", ["action"] = "fireblood", }, -- [8] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.up", ["action"] = "ancestral_call", }, -- [9] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.down & cooldown.mortal_strike.remains", ["action"] = "bag_of_tricks", }, -- [10] { ["enabled"] = true, ["name"] = "scars_of_fraternal_strife", ["action"] = "scars_of_fraternal_strife", }, -- [11] { ["enabled"] = true, ["name"] = "gavel_of_the_first_arbiter", ["action"] = "gavel_of_the_first_arbiter", }, -- [12] { ["action"] = "use_items", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "spell_targets.whirlwind > 1 & ( cooldown.bladestorm.remains > 15 || talent.ravager.enabled )", ["action"] = "sweeping_strikes", }, -- [14] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "talent.massacre.enabled & target.health.pct < 35 || target.health.pct < 20 || covenant.venthyr & target.health.pct > 80 || cycle_for_execute || cycle_for_condemn", ["list_name"] = "execute", }, -- [15] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "raid_event.adds.up || spell_targets.whirlwind > 1", ["list_name"] = "hac", }, -- [16] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "single_target", }, -- [17] { ["action"] = "victory_rush", ["enabled"] = true, }, -- [18] { ["action"] = "impending_victory", ["enabled"] = true, }, -- [19] }, ["precombat"] = { { ["action"] = "battle_shout", ["enabled"] = true, }, -- [1] }, ["execute"] = { { ["action"] = "deadly_calm", ["enabled"] = true, }, -- [1] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["buff_name"] = "bladestorm", ["action"] = "cancel_buff", ["criteria"] = "spell_targets.whirlwind = 1 & gcd.remains = 0 & ( rage > 75 || rage > 50 & buff.recklessness.up )", }, -- [3] { ["enabled"] = true, ["criteria"] = "gcd.remains = 0 || target.time_to_die < 20", ["action"] = "avatar", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.ashen_juggernaut.up & buff.ashen_juggernaut.remains < gcd & conduit.ashen_juggernaut.rank > 1", ["action"] = "condemn", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.ashen_juggernaut.up & buff.ashen_juggernaut.remains < gcd & conduit.ashen_juggernaut.rank > 1", ["action"] = "execute", ["cycle_targets"] = 1, }, -- [6] { ["action"] = "ravager", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "remains <= gcd & ( ! talent.warbreaker.enabled & cooldown.colossus_smash.remains < 4 || talent.warbreaker.enabled & cooldown.warbreaker.remains < 4 ) & target.time_to_die > 12", ["action"] = "rend", }, -- [8] { ["action"] = "warbreaker", ["enabled"] = true, }, -- [9] { ["action"] = "colossus_smash", ["enabled"] = true, }, -- [10] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [11] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "runeforge.signet_of_tormented_kings.enabled & ( rage.deficit < 25 || debuff.colossus_smash.up & rage > 40 || buff.sudden_death.react || buff.deadly_calm.up )", ["action"] = "condemn", ["cycle_targets"] = 1, }, -- [13] { ["enabled"] = true, ["criteria"] = "charges = 2", ["action"] = "overpower", }, -- [14] { ["enabled"] = true, ["criteria"] = "spell_targets.whirlwind > 1 & dot.deep_wounds.remains < gcd", ["action"] = "cleave", }, -- [15] { ["enabled"] = true, ["criteria"] = "dot.deep_wounds.remains <= gcd || runeforge.enduring_blow.enabled || buff.overpower.stack = 2 & debuff.exploiter.stack = 2 || buff.battlelord.up", ["action"] = "mortal_strike", }, -- [16] { ["enabled"] = true, ["criteria"] = "rage.deficit < 25 || buff.deadly_calm.up", ["action"] = "condemn", ["cycle_targets"] = 1, }, -- [17] { ["enabled"] = true, ["criteria"] = "rage < 45", ["action"] = "skullsplitter", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.deadly_calm.down & ( rage < 20 || ! runeforge.sinful_surge.enabled & rage < 50 )", ["action"] = "bladestorm", }, -- [19] { ["action"] = "overpower", ["enabled"] = true, }, -- [20] { ["enabled"] = true, ["action"] = "condemn", ["cycle_targets"] = 1, }, -- [21] { ["enabled"] = true, ["action"] = "execute", ["cycle_targets"] = 1, }, -- [22] }, ["hac"] = { { ["enabled"] = true, ["criteria"] = "rage < 60 & buff.deadly_calm.down", ["action"] = "skullsplitter", }, -- [1] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "cooldown.colossus_smash.remains < 1", ["action"] = "avatar", }, -- [3] { ["action"] = "warbreaker", ["enabled"] = true, }, -- [4] { ["action"] = "colossus_smash", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "dot.deep_wounds.remains <= gcd", ["action"] = "cleave", }, -- [6] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [7] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [8] { ["action"] = "bladestorm", ["enabled"] = true, }, -- [9] { ["action"] = "ravager", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.sweeping_strikes.up || dot.deep_wounds.remains < gcd & ! talent.cleave.enabled", ["action"] = "mortal_strike", }, -- [11] { ["enabled"] = true, ["criteria"] = "remains <= duration * 0.3 & buff.sweeping_strikes.up", ["action"] = "rend", }, -- [12] { ["action"] = "cleave", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "talent.dreadnaught.enabled", ["action"] = "overpower", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.sweeping_strikes.up", ["action"] = "execute", }, -- [15] { ["enabled"] = true, ["criteria"] = "buff.sudden_death.react", ["action"] = "execute", }, -- [16] { ["action"] = "mortal_strike", ["enabled"] = true, }, -- [17] { ["action"] = "overpower", ["enabled"] = true, }, -- [18] { ["action"] = "whirlwind", ["enabled"] = true, }, -- [19] }, }, ["version"] = 20220723, ["warnings"] = "WARNING: The import for 'single_target' required some automated changes.\nLine 10: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 10: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 21: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'execute' required some automated changes.\nLine 13: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 16: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 19: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nImported 5 action lists.\n", ["spec"] = 71, ["profile"] = "## Arms Warrior\n## July 23, 2022\n\n## Changes:\n## - Update for 9.2; add target swapping for Execute/Condemn.\n## - Use MS more during Hectic Add-Cleave.\n\n## Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat+=/battle_shout\n\n## Executed every time the actor is available.\nactions=charge\nactions+=/pummel\nactions+=/potion,if=gcd.remains=0&debuff.colossus_smash.remains>8||boss&fight_remains<25\nactions+=/blood_fury,if=debuff.colossus_smash.up\nactions+=/berserking,if=debuff.colossus_smash.remains>6\nactions+=/arcane_torrent,if=cooldown.mortal_strike.remains>1.5&rage<50\nactions+=/lights_judgment,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains\nactions+=/fireblood,if=debuff.colossus_smash.up\nactions+=/ancestral_call,if=debuff.colossus_smash.up\nactions+=/bag_of_tricks,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains\nactions+=/use_item,name=scars_of_fraternal_strife\nactions+=/use_item,name=gavel_of_the_first_arbiter\nactions+=/use_items\nactions+=/sweeping_strikes,if=spell_targets.whirlwind>1&(cooldown.bladestorm.remains>15||talent.ravager.enabled)\nactions+=/call_action_list,name=execute,strict=1,if=talent.massacre.enabled&target.health.pct<35||target.health.pct<20||covenant.venthyr&target.health.pct>80||cycle_for_execute||cycle_for_condemn\nactions+=/call_action_list,name=hac,strict=1,if=raid_event.adds.up||spell_targets.whirlwind>1\nactions+=/call_action_list,name=single_target\nactions+=/victory_rush\nactions+=/impending_victory\n\nactions.execute=deadly_calm\nactions.execute+=/conquerors_banner\nactions.execute+=/cancel_buff,name=bladestorm,if=spell_targets.whirlwind=1&gcd.remains=0&(rage>75||rage>50&buff.recklessness.up)\nactions.execute+=/avatar,if=gcd.remains=0||target.time_to_die<20\nactions.execute+=/condemn,cycle_targets=1,if=buff.ashen_juggernaut.up&buff.ashen_juggernaut.remains1\nactions.execute+=/execute,cycle_targets=1,if=buff.ashen_juggernaut.up&buff.ashen_juggernaut.remains1\nactions.execute+=/ravager\nactions.execute+=/rend,if=remains<=gcd&(!talent.warbreaker.enabled&cooldown.colossus_smash.remains<4||talent.warbreaker.enabled&cooldown.warbreaker.remains<4)&target.time_to_die>12\nactions.execute+=/warbreaker\nactions.execute+=/colossus_smash\nactions.execute+=/ancient_aftershock\nactions.execute+=/spear_of_bastion\nactions.execute+=/condemn,cycle_targets=1,if=runeforge.signet_of_tormented_kings&(rage.deficit<25||debuff.colossus_smash.up&rage>40||buff.sudden_death.react||buff.deadly_calm.up)\nactions.execute+=/overpower,if=charges=2\nactions.execute+=/cleave,if=spell_targets.whirlwind>1&dot.deep_wounds.remains140\nactions.single_target+=/avatar\nactions.single_target+=/ravager\nactions.single_target+=/warbreaker\nactions.single_target+=/colossus_smash\nactions.single_target+=/ancient_aftershock\nactions.single_target+=/spear_of_bastion\nactions.single_target+=/overpower,if=charges=2\nactions.single_target+=/mortal_strike,if=runeforge.enduring_blow||runeforge.battlelord||buff.overpower.stack>=2\nactions.single_target+=/condemn,if=buff.sudden_death.react\nactions.single_target+=/execute,if=buff.sudden_death.react\nactions.single_target+=/skullsplitter,if=rage.deficit>45&buff.deadly_calm.down\nactions.single_target+=/bladestorm,if=buff.deadly_calm.down&rage<30\nactions.single_target+=/deadly_calm\nactions.single_target+=/overpower\nactions.single_target+=/mortal_strike\nactions.single_target+=/rend,if=remains1\nactions.single_target+=/whirlwind,if=talent.fervor_of_battle.enabled||spell_targets.whirlwind>4||spell_targets.whirlwind>2&buff.sweeping_strikes.down\nactions.single_target+=/slam,if=!talent.fervor_of_battle.enabled&(rage>50||debuff.colossus_smash.up||!runeforge.enduring_blow)", }, ["Protection Warrior"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220407, ["spec"] = 73, ["desc"] = "Protection Warrior\nApril 7, 2022\n\nChanges\n- Add Mitigation logic to new SimC APL.\n- Lighten Shield Block and Ignore Pain damage intake requirements.\n- Remove rotational usage of Last Stand.\n- Respect \"Free Revenge\" setting and remove other restrictions.\n- Fall back to single-target priority if the AOE action list has nothing to do.", ["profile"] = "## Protection Warrior\n## April 7, 2022\n\n## Changes\n## - Add Mitigation logic to new SimC APL.\n## - Lighten Shield Block and Ignore Pain damage intake requirements.\n## - Remove rotational usage of Last Stand.\n## - Respect \"Free Revenge\" setting and remove other restrictions.\n## - Fall back to single-target priority if the AOE action list has nothing to do.\n\n# Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat=battle_shout\nactions.precombat+=/fleshcraft\nactions.precombat+=/conquerors_banner\nactions.precombat+=/potion\n\n# Executed every time the actor is available.\nactions=charge\n# Default APL's \"Heroic Charge\" is a Heroic Leap followed by Charge to do some damage and generate Rage.\nactions+=/heroic_leap,if=settings.heroic_charge&runeforge.reprisal&cooldown.charge.remains0\nactions+=/conquerors_banner,if=runeforge.glory\nactions+=/avatar\nactions+=/ancient_aftershock\nactions+=/spear_of_bastion\nactions+=/conquerors_banner\nactions+=/shield_block,if=buff.shield_block.down\nactions+=/shield_slam,if=buff.outburst.up\nactions+=/run_action_list,name=aoe,strict=1,if=spell_targets.thunder_clap>=3\nactions+=/call_action_list,name=generic\n\nactions.aoe=ravager\nactions.aoe+=/dragon_roar\nactions.aoe+=/thunder_clap\nactions.aoe+=/revenge\nactions.aoe+=/shield_slam\n\nactions.generic=ravager\nactions.generic+=/dragon_roar\nactions.generic+=/shield_slam,if=buff.shield_block.up||buff.outburst.up&rage<=55\nactions.generic+=/condemn\nactions.generic+=/execute\nactions.generic+=/shield_slam\nactions.generic+=/thunder_clap,if=spell_targets.thunder_clap>1||cooldown.shield_slam.remains&buff.outburst.down\nactions.generic+=/revenge,if=rage>=60&target.health.pct>20||buff.revenge.up&target.health.pct<=20&rage<=18&cooldown.shield_slam.remains||buff.revenge.up&target.health.pct>20\nactions.generic+=/thunder_clap,if=buff.outburst.down\nactions.generic+=/revenge\nactions.generic+=/victory_rush\nactions.generic+=/impending_victory\nactions.generic+=/devastate\n\nactions.mitigation=ignore_pain,if=rage>50&buff.ignore_pain.down,use_off_gcd=1\nactions.mitigation+=/ignore_pain,if=target.health.pct>=20&(target.health.pct>=80&!covenant.venthyr)&(rage>=85&cooldown.shield_slam.ready||rage>=60&cooldown.demoralizing_shout.ready&talent.booming_voice.enabled||rage>=70&cooldown.avatar.ready||rage>=40&cooldown.demoralizing_shout.ready&talent.booming_voice.enabled&buff.last_stand.up||rage>=55&cooldown.avatar.ready&buff.last_stand.up||rage>=80||rage>=55&cooldown.shield_slam.ready&buff.outburst.up||rage>=30&cooldown.shield_slam.ready&buff.outburst.up&buff.last_stand.up),use_off_gcd=1\nactions.mitigation+=/shield_block,if=(!talent.bolster.enabled||!buff.last_stand.up)&(charges_fractional>1.8||incoming_damage_5s)\nactions.mitigation+=/demoralizing_shout,line_cd=6,if=(target.within10||active_enemies>1)&((incoming_damage_5s>0.15*health.max||health.pct<30)||(!talent.booming_voice.enabled||rage.max-rage<40))\nactions.mitigation+=/last_stand,if=incoming_damage_3s>health&cooldown.anima_of_death.remains<=2\nactions.mitigation+=/shield_wall,if=incoming_damage_5s>health||health.pct<20", ["version"] = 20220407, ["warnings"] = "WARNING: The import for 'default' required some automated changes.\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 17: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nImported 5 action lists.\n", ["author"] = "SimulationCraft", ["lists"] = { ["generic"] = { { ["action"] = "ravager", ["enabled"] = true, }, -- [1] { ["action"] = "dragon_roar", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.shield_block.up || buff.outburst.up & rage <= 55", ["action"] = "shield_slam", }, -- [3] { ["action"] = "condemn", ["enabled"] = true, }, -- [4] { ["action"] = "execute", ["enabled"] = true, }, -- [5] { ["action"] = "shield_slam", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["criteria"] = "spell_targets.thunder_clap > 1 || cooldown.shield_slam.remains & buff.outburst.down", ["action"] = "thunder_clap", }, -- [7] { ["enabled"] = true, ["criteria"] = "rage >= 60 & target.health.pct > 20 || buff.revenge.up & target.health.pct <= 20 & rage <= 18 & cooldown.shield_slam.remains || buff.revenge.up & target.health.pct > 20", ["action"] = "revenge", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.outburst.down", ["action"] = "thunder_clap", }, -- [9] { ["action"] = "revenge", ["enabled"] = true, }, -- [10] { ["action"] = "victory_rush", ["enabled"] = true, }, -- [11] { ["action"] = "impending_victory", ["enabled"] = true, }, -- [12] { ["action"] = "devastate", ["enabled"] = true, }, -- [13] }, ["default"] = { { ["enabled"] = true, ["description"] = "Executed every time the actor is available.", ["action"] = "charge", }, -- [1] { ["enabled"] = true, ["action"] = "heroic_leap", ["description"] = "Default APL's Heroic Charge is a Heroic Leap followed by Charge to do some damage and generate Rage.", ["criteria"] = "settings.heroic_charge & runeforge.reprisal.enabled & cooldown.charge.remains < gcd", }, -- [2] { ["enabled"] = true, ["criteria"] = "settings.heroic_charge & runeforge.reprisal.enabled & prev.1.heroic_leap", ["action"] = "charge", }, -- [3] { ["action"] = "pummel", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "debuff.casting.up & ! target.is_boss", ["action"] = "shockwave", }, -- [5] { ["enabled"] = true, ["criteria"] = "cooldown.avatar.remains <= gcd || buff.avatar.up", ["action"] = "use_items", }, -- [6] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [7] { ["action"] = "berserking", ["enabled"] = true, }, -- [8] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [9] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [10] { ["action"] = "fireblood", ["enabled"] = true, }, -- [11] { ["action"] = "ancestral_call", ["enabled"] = true, }, -- [12] { ["action"] = "bag_of_tricks", ["enabled"] = true, }, -- [13] { ["action"] = "avatar", ["enabled"] = true, }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.avatar.up || boss & fight_remains < 25", ["action"] = "potion", }, -- [15] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "incoming_damage_5s > 0", ["list_name"] = "mitigation", }, -- [16] { ["enabled"] = true, ["criteria"] = "runeforge.glory.enabled", ["action"] = "conquerors_banner", }, -- [17] { ["action"] = "avatar", ["enabled"] = true, }, -- [18] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [19] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [20] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.shield_block.down", ["action"] = "shield_block", }, -- [22] { ["enabled"] = true, ["criteria"] = "buff.outburst.up", ["action"] = "shield_slam", }, -- [23] { ["enabled"] = true, ["action"] = "run_action_list", ["strict"] = 1, ["criteria"] = "spell_targets.thunder_clap >= 3", ["list_name"] = "aoe", }, -- [24] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "generic", }, -- [25] }, ["precombat"] = { { ["enabled"] = true, ["description"] = "Executed before combat begins. Accepts non-harmful actions only.", ["action"] = "battle_shout", }, -- [1] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [2] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [3] { ["action"] = "potion", ["enabled"] = true, }, -- [4] }, ["mitigation"] = { { ["enabled"] = true, ["use_off_gcd"] = 1, ["action"] = "ignore_pain", ["criteria"] = "rage > 50 & buff.ignore_pain.down", }, -- [1] { ["enabled"] = true, ["use_off_gcd"] = 1, ["action"] = "ignore_pain", ["criteria"] = "target.health.pct >= 20 & ( target.health.pct >= 80 & ! covenant.venthyr ) & ( rage >= 85 & cooldown.shield_slam.ready || rage >= 60 & cooldown.demoralizing_shout.ready & talent.booming_voice.enabled || rage >= 70 & cooldown.avatar.ready || rage >= 40 & cooldown.demoralizing_shout.ready & talent.booming_voice.enabled & buff.last_stand.up || rage >= 55 & cooldown.avatar.ready & buff.last_stand.up || rage >= 80 || rage >= 55 & cooldown.shield_slam.ready & buff.outburst.up || rage >= 30 & cooldown.shield_slam.ready & buff.outburst.up & buff.last_stand.up )", }, -- [2] { ["enabled"] = true, ["criteria"] = "( ! talent.bolster.enabled || ! buff.last_stand.up ) & ( charges_fractional > 1.8 || incoming_damage_5s )", ["action"] = "shield_block", }, -- [3] { ["enabled"] = true, ["criteria"] = "( target.within10 || active_enemies > 1 ) & ( ( incoming_damage_5s > 0.15 * health.max || health.pct < 30 ) || ( ! talent.booming_voice.enabled || rage.max - rage < 40 ) )", ["action"] = "demoralizing_shout", ["line_cd"] = "6", }, -- [4] { ["enabled"] = true, ["criteria"] = "incoming_damage_3s > health & cooldown.anima_of_death.remains <= 2", ["action"] = "last_stand", }, -- [5] { ["enabled"] = true, ["criteria"] = "incoming_damage_5s > health || health.pct < 20", ["action"] = "shield_wall", }, -- [6] }, ["aoe"] = { { ["action"] = "ravager", ["enabled"] = true, }, -- [1] { ["action"] = "dragon_roar", ["enabled"] = true, }, -- [2] { ["action"] = "thunder_clap", ["enabled"] = true, }, -- [3] { ["action"] = "revenge", ["enabled"] = true, }, -- [4] { ["action"] = "shield_slam", ["enabled"] = true, }, -- [5] }, }, }, ["Fury"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220319, ["author"] = "SimC / Archimtiros", ["desc"] = "Fury Warrior\nMarch 19, 2022\n\nChanges:\n- Added Pummel.\n- Disabled movement / Heroic Leap call (not needed for in-game context).\n- Moved Bladestorm and Dragon Roar above Bloodthirst to improve frequency of recommendations (sims roughly equal).\n- Added Battle Shout to precombat APL.\n- Added Use Items.\n- Tweak for Whirlwind before level 37.\n- Removed Essences.\n- Don't use Siegebreaker if it's already up (Deathmaker).\n- Setup fake sequences for Signet opener.", ["lists"] = { ["single_target"] = { { ["enabled"] = true, ["criteria"] = "runeforge.will_of_the_berserker.equipped & buff.will_of_the_berserker.remains < gcd", ["action"] = "raging_blow", }, -- [1] { ["enabled"] = true, ["criteria"] = "runeforge.will_of_the_berserker.equipped & buff.will_of_the_berserker.remains < gcd", ["action"] = "crushing_blow", }, -- [2] { ["enabled"] = true, ["buff_name"] = "bladestorm", ["criteria"] = "spell_targets.whirlwind = 1 & gcd.remains = 0 & ( talent.massacre.enabled || covenant.venthyr ) & variable.execute_phase & ( rage > 90 || ! cooldown.condemn.remains )", ["action"] = "cancel_buff", }, -- [3] { ["enabled"] = true, ["criteria"] = "( buff.enrage.up || buff.recklessness.up & runeforge.sinful_surge.enabled ) & variable.execute_phase", ["action"] = "condemn", }, -- [4] { ["enabled"] = true, ["criteria"] = "debuff.siegebreaker.down & ( spell_targets.whirlwind > 1 || raid_event.adds.in > 15 )", ["action"] = "siegebreaker", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.recklessness.up || ( buff.enrage.remains < gcd || rage > 80 ) || buff.frenzy.remains < 1.5", ["action"] = "rampage", }, -- [6] { ["enabled"] = true, ["criteria"] = "set_bonus.tier28_2pc || charges = 2 || ( buff.recklessness.up & variable.execute_phase & talent.massacre.enabled )", ["action"] = "crushing_blow", }, -- [7] { ["action"] = "condemn", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & cooldown.recklessness.remains > 5 & ( boss & fight_remains > 95 || buff.recklessness.up || boss & fight_remains < 20 ) & raid_event.adds.in > 75", ["action"] = "ancient_aftershock", }, -- [9] { ["action"] = "execute", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["criteria"] = "runeforge.elysian_might.enabled & buff.enrage.up & cooldown.recklessness.remains > 5 & ( buff.recklessness.up || boss & fight_remains < 20 || debuff.siegebreaker.up || ! talent.siegebreaker.enabled & boss & fight_remains > 68 ) & raid_event.adds.in > 55", ["action"] = "spear_of_bastion", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & ( ! buff.recklessness.remains || rage < 50 ) & ( spell_targets.whirlwind = 1 & raid_event.adds.in > 45 || spell_targets.whirlwind = 2 )", ["action"] = "bladestorm", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & cooldown.recklessness.remains > 5 & ( buff.recklessness.up || boss & fight_remains < 20 || debuff.siegebreaker.up || ! talent.siegebreaker.enabled & boss & fight_remains > 68 ) & raid_event.adds.in > 55", ["action"] = "spear_of_bastion", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.enrage.down || conduit.vicious_contempt.rank > 5 & target.health.pct < 35", ["action"] = "bloodthirst", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.enrage.down || conduit.vicious_contempt.rank > 5 & target.health.pct < 35 & ! talent.cruelty.enabled", ["action"] = "bloodbath", }, -- [15] { ["enabled"] = true, ["criteria"] = "buff.merciless_bonegrinder.up & spell_targets.whirlwind > 1", ["action"] = "whirlwind", }, -- [16] { ["enabled"] = true, ["criteria"] = "set_bonus.tier28_2pc || charges = 2 || ( buff.recklessness.up & variable.execute_phase & talent.massacre.enabled )", ["action"] = "raging_blow", }, -- [17] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & ( spell_targets.whirlwind > 1 || raid_event.adds.in > 15 )", ["action"] = "dragon_roar", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.enrage.up", ["action"] = "onslaught", }, -- [19] { ["action"] = "bloodthirst", ["enabled"] = true, }, -- [20] { ["action"] = "bloodbath", ["enabled"] = true, }, -- [21] { ["action"] = "raging_blow", ["enabled"] = true, }, -- [22] { ["action"] = "crushing_blow", ["enabled"] = true, }, -- [23] { ["action"] = "whirlwind", ["enabled"] = true, }, -- [24] }, ["aoe"] = { { ["enabled"] = true, ["buff_name"] = "bladestorm", ["criteria"] = "gcd.remains = 0 & soulbind.first_strike.enabled & buff.first_strike.remains & buff.enrage.remains < gcd", ["action"] = "cancel_buff", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & cooldown.recklessness.remains > 5", ["action"] = "ancient_aftershock", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & rage < 40", ["action"] = "spear_of_bastion", }, -- [3] { ["enabled"] = true, ["interrupt_if"] = "gcd.remains=0&soulbind.first_strike&buff.first_strike.remains&buff.enrage.remains1&(buff.tigers_fury.up&(buff.bloodtalons.up||!talent.bloodtalons.enabled)&(!talent.lunar_inspiration.enabled||dot.moonfire_cat.ticking)&!ticking)\nactions.opener+=/rip,if=active_enemies=1&(buff.tigers_fury.up&(buff.bloodtalons.up||!talent.bloodtalons.enabled)&dot.rake.ticking&(!talent.lunar_inspiration.enabled||dot.moonfire_cat.ticking)&!ticking)\n\nactions.balance=sunfire,if=refreshable||(active_enemies>1&(dot.sunfire.refreshable||active_dot.sunfire4||(active_enemies>1&buff.lunar_empowerment.up)\nactions.balance+=/solar_wrath,if=active_enemies>2&buff.solar_empowerment.up\nactions.balance+=/starsurge\nactions.balance+=/solar_wrath,if=buff.solar_empowerment.up\nactions.balance+=/lunar_strike,if=buff.lunar_empowerment.up\nactions.balance+=/solar_wrath", ["version"] = 20200222, ["warnings"] = "Imported 8 action lists.\n", ["author"] = "SimC", ["lists"] = { ["opener"] = { { ["action"] = "tigers_fury", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "! ticking || buff.prowl.up", ["action"] = "rake", }, -- [2] { ["enabled"] = true, ["criteria"] = "! ticking", ["action"] = "moonfire_cat", }, -- [3] { ["enabled"] = true, ["criteria"] = "active_enemies > 1 & ( buff.tigers_fury.up & ( buff.bloodtalons.up || ! talent.bloodtalons.enabled ) & ( ! talent.lunar_inspiration.enabled || dot.moonfire_cat.ticking ) & ! ticking )", ["action"] = "primal_wrath", }, -- [4] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & ( buff.tigers_fury.up & ( buff.bloodtalons.up || ! talent.bloodtalons.enabled ) & dot.rake.ticking & ( ! talent.lunar_inspiration.enabled || dot.moonfire_cat.ticking ) & ! ticking )", ["action"] = "rip", }, -- [5] }, ["generators_aoe"] = { { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [1] { ["enabled"] = true, ["criteria"] = "( refreshable || active_dot.thrash_cat < active_enemies % 2 ) & spell_targets.thrash_cat > 2 || talent.scent_of_blood.enabled & buff.scent_of_blood.down & spell_targets.thrash_cat > 3 || ! ticking & azerite.wild_fleshrending.enabled", ["action"] = "thrash_cat", }, -- [2] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [3] { ["enabled"] = true, ["criteria"] = "spell_targets.brutal_slash > desired_targets", ["action"] = "brutal_slash", }, -- [4] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.scent_of_blood.up", ["action"] = "swipe_cat", }, -- [6] }, ["default"] = { { ["enabled"] = true, ["criteria"] = "! buff.prowl.up & ! buff.shadowmeld.up", ["action"] = "skull_bash", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.balance_affinity.enabled & buff.moonkin_form.up", ["action"] = "run_action_list", ["list_name"] = "balance", }, -- [2] { ["enabled"] = true, ["criteria"] = "! opener_done & talent.sabertooth.enabled & ( buff.berserk.up || buff.incarnation.up )", ["action"] = "call_action_list", ["list_name"] = "opener", }, -- [3] { ["enabled"] = true, ["criteria"] = "! buff.cat_form.up", ["action"] = "cat_form", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.prowl.up || buff.shadowmeld.up", ["action"] = "rake", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [6] { ["enabled"] = true, ["action"] = "ferocious_bite", ["criteria"] = "dot.rip.ticking & dot.rip.remains < 3 & target.time_to_die > 10 & ( talent.sabertooth.enabled )", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["action"] = "ferocious_bite", ["criteria"] = "talent.sabertooth.enabled & combo_points > spell_targets.thrash_cat & dot.rip.ticking & dot.rip.remains < 3 & target.time_to_die > dot.rip.remains + variable.rip_ticks * action.rip.tick_time", ["cycle_targets"] = 1, }, -- [8] { ["enabled"] = true, ["criteria"] = "combo_points > 4", ["action"] = "run_action_list", ["list_name"] = "finishers", }, -- [9] { ["enabled"] = true, ["criteria"] = "spell_targets.thrash_cat > 1", ["action"] = "call_action_list", ["list_name"] = "generators_aoe", }, -- [10] { ["enabled"] = true, ["action"] = "run_action_list", ["list_name"] = "generators", }, -- [11] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "0", ["var_name"] = "use_thrash", }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "2", ["criteria"] = "azerite.wild_fleshrending.enabled", ["var_name"] = "use_thrash", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "8", ["var_name"] = "rip_ticks", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down & talent.bloodtalons.enabled", ["action"] = "regrowth", }, -- [4] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down", ["action"] = "prowl", }, -- [6] { ["action"] = "potion", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down", ["action"] = "berserk", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down & buff.tigers_fury.down", ["action"] = "tigers_fury", }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down", ["action"] = "cat_form", }, -- [10] }, ["generators"] = { { ["enabled"] = true, ["criteria"] = "talent.bloodtalons.enabled & buff.predatory_swiftness.up & buff.bloodtalons.down & combo_points = 4 & dot.rake.remains < 4", ["action"] = "regrowth", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.bloodtalons.enabled & buff.bloodtalons.down & buff.predatory_swiftness.up & talent.lunar_inspiration.enabled & dot.rake.remains < 1", ["action"] = "regrowth", }, -- [2] { ["enabled"] = true, ["criteria"] = "spell_targets.brutal_slash > desired_targets & ( ! azerite.wild_fleshrending.enabled || dot.thrash_cat.ticking )", ["action"] = "brutal_slash", }, -- [3] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [4] { ["enabled"] = true, ["criteria"] = "( refreshable & spell_targets.thrash_cat > 2 )", ["action"] = "thrash_cat", }, -- [5] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [6] { ["enabled"] = true, ["criteria"] = "( talent.scent_of_blood.enabled & buff.scent_of_blood.down ) & spell_targets.thrash_cat > 3", ["action"] = "thrash_cat", }, -- [7] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.scent_of_blood.up || ( action.swipe_cat.damage * spell_targets.swipe_cat > ( action.rake.damage + ( action.rake_bleed.tick_damage * 5 ) ) )", ["action"] = "swipe_cat", }, -- [9] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [10] { ["enabled"] = true, ["action"] = "rake", ["criteria"] = "! ticking || ( ! talent.bloodtalons.enabled & remains < duration * 0.3 ) & target.time_to_die > 4", ["cycle_targets"] = 1, }, -- [11] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [12] { ["enabled"] = true, ["action"] = "rake", ["criteria"] = "talent.bloodtalons.enabled & buff.bloodtalons.up & ( ( remains <= 7 ) & persistent_multiplier > dot.rake.pmultiplier * 0.85 ) & target.time_to_die > 4", ["cycle_targets"] = 1, }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.bloodtalons.up & buff.predatory_swiftness.down & combo_points < 5", ["action"] = "moonfire_cat", }, -- [14] { ["enabled"] = true, ["action"] = "moonfire_cat", ["criteria"] = "refreshable", ["cycle_targets"] = 1, }, -- [15] { ["enabled"] = true, ["criteria"] = "( ! azerite.wild_fleshrending.enabled || dot.thrash_cat.ticking ) & buff.tigers_fury.up & ( raid_event.adds.in > ( 1 + max_charges - charges_fractional ) * recharge_time )", ["action"] = "brutal_slash", }, -- [16] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [17] { ["enabled"] = true, ["criteria"] = "refreshable & ( ( variable.use_thrash = 2 & ( ! buff.incarnation.up || azerite.wild_fleshrending.enabled ) ) || spell_targets.thrash_cat > 1 )", ["action"] = "thrash_cat", }, -- [18] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [19] { ["enabled"] = true, ["criteria"] = "spell_targets.swipe_cat > 1", ["action"] = "swipe_cat", }, -- [20] { ["enabled"] = true, ["criteria"] = "dot.rake.remains > ( action.shred.cost + action.rake.cost - energy ) % energy.regen || buff.clearcasting.react", ["action"] = "shred", }, -- [21] }, ["finishers"] = { { ["enabled"] = true, ["criteria"] = "buff.predatory_swiftness.up & talent.bloodtalons.enabled & buff.bloodtalons.stack < 2", ["action"] = "regrowth", }, -- [1] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.savage_roar.down", ["action"] = "savage_roar", }, -- [3] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [4] { ["enabled"] = true, ["action"] = "primal_wrath", ["criteria"] = "spell_targets.primal_wrath > 1 & dot.rip.remains < 4", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [6] { ["enabled"] = true, ["action"] = "primal_wrath", ["criteria"] = "spell_targets.primal_wrath >= 2", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [8] { ["enabled"] = true, ["action"] = "rip", ["criteria"] = "! talent.sabertooth.enabled & refreshable & target.time_to_die > dot.rip.remains + variable.rip_ticks * action.rip.tick_time", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [10] { ["enabled"] = true, ["action"] = "rip", ["criteria"] = "talent.sabertooth.enabled & ( ! ticking || remains <= duration * 0.3 & persistent_multiplier > dot.rip.pmultiplier ) & target.time_to_die > dot.rip.remains + variable.rip_ticks * ( 1 + dot.rip.ticking * 3 ) * action.rip.tick_time", ["cycle_targets"] = 1, }, -- [11] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.savage_roar.remains < 12", ["action"] = "savage_roar", }, -- [13] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.iron_jaws.up", ["action"] = "maim", }, -- [15] { ["max_energy"] = "1", ["enabled"] = true, ["action"] = "ferocious_bite", ["cycle_targets"] = 1, }, -- [16] }, ["cooldowns"] = { { ["enabled"] = true, ["criteria"] = "energy >= 30 & ( cooldown.tigers_fury.remains > 5 || buff.tigers_fury.up )", ["action"] = "berserk", }, -- [1] { ["enabled"] = true, ["criteria"] = "energy.deficit >= 60 || buff.tigers_fury.down", ["action"] = "tigers_fury", }, -- [2] { ["action"] = "berserking", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 45", ["action"] = "thorns", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.up || buff.tigers_fury.up", ["action"] = "the_unbound_force", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up & buff.berserk.down", ["action"] = "memory_of_lucid_dreams", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "blood_of_the_enemy", }, -- [7] { ["enabled"] = true, ["criteria"] = "combo_points = 0", ["action"] = "feral_frenzy", }, -- [8] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || ( raid_event.adds.in > 90 & energy.deficit >= 50 )", ["action"] = "focused_azerite_beam", }, -- [9] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 60", ["action"] = "purifying_blast", }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "guardian_of_azeroth", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "concentrated_flame", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "ripple_in_space", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "worldvein_resonance", }, -- [14] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 1.5 || ( ( target.health.pct > 80 || target.health.pct <= 20 ) & target.time_to_die > 29 ) || ( target.time_to_pct_20 > 30 & target.time_to_die > 44 )", ["action"] = "reaping_flames", }, -- [15] { ["enabled"] = true, ["criteria"] = "energy >= 30 & ( cooldown.tigers_fury.remains > 15 || buff.tigers_fury.up )", ["action"] = "incarnation", }, -- [16] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 65 || ( time_to_die < 180 & ( buff.berserk.up || buff.incarnation.up ) )", ["action"] = "potion", }, -- [17] { ["enabled"] = true, ["criteria"] = "combo_points < 5 & energy >= action.rake.cost & dot.rake.pmultiplier < 2.1 & buff.tigers_fury.up & ( buff.bloodtalons.up || ! talent.bloodtalons.enabled ) & ( ! talent.incarnation.enabled || cooldown.incarnation.remains > 18 ) & ! buff.incarnation.up", ["action"] = "shadowmeld", }, -- [18] { ["enabled"] = true, ["action"] = "ashvanes_razor_coral", ["criteria"] = "debuff.razor_coral_debuff.down || debuff.conductive_ink_debuff.up & target.time_to_pct_30 < 1.5 || ! debuff.conductive_ink_debuff.up & ( debuff.razor_coral_debuff.stack >= 25 - 10 * debuff.blood_of_the_enemy.up || time_to_die < 40 ) & buff.tigers_fury.remains > 10", ["name"] = "ashvanes_razor_coral", }, -- [19] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "( energy.deficit >= energy.regen * 3 ) & buff.tigers_fury.down & ! azerite.jungle_fury.enabled", ["effect_name"] = "cyclotronic_blast", }, -- [20] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "buff.tigers_fury.up & azerite.jungle_fury.enabled", ["effect_name"] = "cyclotronic_blast", }, -- [21] { ["enabled"] = true, ["action"] = "azsharas_font_of_power", ["criteria"] = "energy.deficit >= 50", ["effect_name"] = "azsharas_font_of_power", }, -- [22] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up || time_to_die < 20", ["action"] = "use_items", }, -- [23] }, ["balance"] = { { ["enabled"] = true, ["criteria"] = "refreshable || ( active_enemies > 1 & ( dot.sunfire.refreshable || active_dot.sunfire < active_enemies ) )", ["action"] = "sunfire", }, -- [1] { ["enabled"] = true, ["criteria"] = "active_enemies > 4 || ( active_enemies > 1 & buff.lunar_empowerment.up )", ["action"] = "lunar_strike", }, -- [2] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 & buff.solar_empowerment.up", ["action"] = "solar_wrath", }, -- [3] { ["action"] = "starsurge", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.solar_empowerment.up", ["action"] = "solar_wrath", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.lunar_empowerment.up", ["action"] = "lunar_strike", }, -- [6] { ["action"] = "solar_wrath", ["enabled"] = true, }, -- [7] }, }, }, ["Balance"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20200614, ["author"] = "SimC", ["desc"] = "# Balance Druid\n# https://github.com/simulationcraft/simc/\n# June 14, 2020\n\n# Changes:\n# - Added Solar Beam.\n# - Changed target_if cases to cycle_targets.\n# - Simplify Azerite trait lookups (don't use unnecessary variable syntax).\n# - Removed Lively Spirit condition for Celestial Alignment; you'll have it or you won't since Innervate is higher priority.", ["lists"] = { ["default"] = { { ["action"] = "solar_beam", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up", ["action"] = "berserking", }, -- [2] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", ["criteria"] = "! buff.ca_inc.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", }, -- [3] { ["enabled"] = true, ["criteria"] = "( ! talent.starlord.enabled || buff.starlord.up ) & ! buff.ca_inc.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["action"] = "guardian_of_azeroth", }, -- [4] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "! buff.ca_inc.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["effect_name"] = "cyclotronic_blast", }, -- [5] { ["enabled"] = true, ["name"] = "shiver_venom_relic", ["action"] = "shiver_venom_relic", ["criteria"] = "! buff.ca_inc.up & ! buff.bloodlust.up", ["target_if"] = "dot.shiver_venom.stack >= 5", }, -- [6] { ["enabled"] = true, ["name"] = "manifesto_of_madness", ["action"] = "manifesto_of_madness", ["criteria"] = "buff.ca_inc.remains > 10 || buff.ca_inc.remains > 4 & buff.arcanic_pulsar.stack > 6 || fight_remains < 21", }, -- [7] { ["enabled"] = true, ["criteria"] = "cooldown.ca_inc.remains > 30", ["action"] = "blood_of_the_enemy", }, -- [8] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & ( astral_power < 25 || cooldown.ca_inc.remains > 30 ) & dot.sunfire.remains > 10 & dot.moonfire.remains > 10 & ( ! talent.stellar_flare.enabled || dot.stellar_flare.remains > 10 )", ["action"] = "memory_of_lucid_dreams", }, -- [9] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [10] { ["action"] = "ripple_in_space", ["enabled"] = true, }, -- [11] { ["action"] = "concentrated_flame", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["action"] = "the_unbound_force", }, -- [13] { ["action"] = "worldvein_resonance", ["enabled"] = true, }, -- [14] { ["enabled"] = true, ["criteria"] = "( ! variable.az_ss || ! buff.ca_inc.up ) & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["action"] = "focused_azerite_beam", }, -- [15] { ["action"] = "thorns", ["enabled"] = true, }, -- [16] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up || fight_remains < 20", ["action"] = "use_items", }, -- [17] { ["action"] = "warrior_of_elune", ["enabled"] = true, }, -- [18] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & ( buff.memory_of_lucid_dreams.up || ( ( cooldown.memory_of_lucid_dreams.remains > 20 || ! essence.memory_of_lucid_dreams.major ) & ap_check ) ) & ( buff.memory_of_lucid_dreams.up || ap_check ) & dot.sunfire.remains > 8 & dot.moonfire.remains > 12 & ( dot.stellar_flare.remains > 6 || ! talent.stellar_flare.enabled )", ["action"] = "incarnation", }, -- [19] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & ( buff.memory_of_lucid_dreams.up || ( ( cooldown.memory_of_lucid_dreams.remains > 20 || ! essence.memory_of_lucid_dreams.major ) & ap_check ) ) & ( dot.sunfire.remains > 2 & dot.moonfire.ticking & ( dot.stellar_flare.ticking || ! talent.stellar_flare.enabled ) )", ["action"] = "celestial_alignment", }, -- [20] { ["enabled"] = true, ["criteria"] = "( buff.ca_inc.up || cooldown.ca_inc.remains > 30 ) & solar_wrath.ap_check", ["action"] = "fury_of_elune", }, -- [21] { ["enabled"] = true, ["criteria"] = "( buff.ca_inc.up || cooldown.ca_inc.remains > 30 ) & ap_check", ["action"] = "force_of_nature", }, -- [22] { ["enabled"] = true, ["criteria"] = "buff.starlord.remains < 3 & ! solar_wrath.ap_check", ["action"] = "cancel_buff", ["buff_name"] = "starlord", }, -- [23] { ["enabled"] = true, ["criteria"] = "( ! solar_wrath.ap_check || ( buff.starlord.stack < 3 || buff.starlord.remains >= 8 ) & ( fight_remains + 1 ) * spell_targets > cost % 2.5 ) & spell_targets >= variable.sf_targets", ["action"] = "starfall", }, -- [24] { ["enabled"] = true, ["criteria"] = "( ( talent.starlord.enabled & ( buff.starlord.stack < 3 || buff.starlord.remains >= 5 & buff.arcanic_pulsar.stack < 8 ) || ! talent.starlord.enabled & ( buff.arcanic_pulsar.stack < 8 || buff.ca_inc.up ) ) & buff.solar_empowerment.stack < 3 & buff.lunar_empowerment.stack < 3 & buff.reckless_force_counter.stack < 19 || buff.reckless_force.up ) & spell_targets.starfall < variable.sf_targets & ( ! variable.az_ss || ! buff.ca_inc.up || ! prev.starsurge ) || fight_remains <= execute_time * astral_power % 40 || ! solar_wrath.ap_check", ["action"] = "starsurge", }, -- [25] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up & buff.ca_inc.remains < gcd.max & azerite.streaking_stars.rank & dot.moonfire.remains > remains", ["action"] = "sunfire", }, -- [26] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up & buff.ca_inc.remains < gcd.max & azerite.streaking_stars.rank", ["action"] = "moonfire", }, -- [27] { ["enabled"] = true, ["action"] = "sunfire", ["criteria"] = "refreshable & ap_check & floor ( target.time_to_die % ( 2 * spell_haste ) ) * spell_targets >= ceil ( floor ( 2 % spell_targets ) * 1.5 ) + 2 * spell_targets & ( spell_targets > 1 + talent.twin_moons.enabled || dot.moonfire.ticking ) & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.sunfire ) & ( buff.ca_inc.remains > remains || ! buff.ca_inc.up )", ["cycle_targets"] = 1, }, -- [28] { ["enabled"] = true, ["action"] = "moonfire", ["criteria"] = "refreshable & ap_check & floor ( target.time_to_die % ( 2 * spell_haste ) ) * spell_targets >= 6 & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.moonfire ) & ( buff.ca_inc.remains > remains || ! buff.ca_inc.up )", ["cycle_targets"] = 1, }, -- [29] { ["enabled"] = true, ["action"] = "stellar_flare", ["criteria"] = "refreshable & ap_check & floor ( target.time_to_die % ( 2 * spell_haste ) ) >= 5 & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.stellar_flare )", ["cycle_targets"] = 1, }, -- [30] { ["enabled"] = true, ["criteria"] = "ap_check", ["action"] = "new_moon", }, -- [31] { ["enabled"] = true, ["criteria"] = "ap_check", ["action"] = "half_moon", }, -- [32] { ["enabled"] = true, ["criteria"] = "ap_check", ["action"] = "full_moon", }, -- [33] { ["enabled"] = true, ["criteria"] = "buff.solar_empowerment.stack < 3 & ( ap_check || buff.lunar_empowerment.stack = 3 ) & ( ( buff.warrior_of_elune.up || buff.lunar_empowerment.up || spell_targets >= 2 & ! buff.solar_empowerment.up ) & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up ) || azerite.streaking_stars.rank & buff.ca_inc.up & prev.solar_wrath )", ["action"] = "lunar_strike", }, -- [34] { ["enabled"] = true, ["criteria"] = "azerite.streaking_stars.rank < 3 || ! buff.ca_inc.up || ! prev.solar_wrath", ["action"] = "solar_wrath", }, -- [35] { ["action"] = "sunfire", ["enabled"] = true, }, -- [36] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "4", ["var_name"] = "sf_targets", }, -- [1] { ["enabled"] = true, ["op"] = "add", ["action"] = "variable", ["value"] = "1", ["criteria"] = "azerite.arcanic_pulsar.enabled", ["var_name"] = "sf_targets", }, -- [2] { ["enabled"] = true, ["op"] = "add", ["action"] = "variable", ["value"] = "1", ["criteria"] = "talent.starlord.enabled", ["var_name"] = "sf_targets", }, -- [3] { ["enabled"] = true, ["op"] = "add", ["action"] = "variable", ["value"] = "1", ["criteria"] = "azerite.streaking_stars.rank > 2 & azerite.arcanic_pulsar.enabled", ["var_name"] = "sf_targets", }, -- [4] { ["enabled"] = true, ["op"] = "sub", ["action"] = "variable", ["value"] = "1", ["criteria"] = "! talent.twin_moons.enabled", ["var_name"] = "sf_targets", }, -- [5] { ["action"] = "moonkin_form", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [7] { ["enabled"] = true, ["action"] = "potion", ["dynamic_prepot"] = "1", }, -- [8] { ["action"] = "solar_wrath", ["enabled"] = true, }, -- [9] { ["action"] = "starsurge", ["enabled"] = true, }, -- [10] }, }, ["version"] = 20200614, ["warnings"] = "Imported 2 action lists.\n", ["spec"] = 102, ["profile"] = "# Balance Druid\n# https://github.com/simulationcraft/simc/\n# June 14, 2020\n\n# Changes:\n# - Added Solar Beam.\n# - Changed target_if cases to cycle_targets.\n# - Simplify Azerite trait lookups (don't use unnecessary variable syntax).\n# - Removed Lively Spirit condition for Celestial Alignment; you'll have it or you won't since Innervate is higher priority.\n\n# Executed before combat begins. Accepts non-harmful actions only.\n# actions.precombat=flask\n# actions.precombat+=/food\n# actions.precombat+=/augmentation\n\n# Azerite variables\n# actions.precombat+=/variable,name=az_ss,value=azerite.streaking_stars.rank\n# actions.precombat+=/variable,name=az_ap,value=azerite.arcanic_pulsar.rank\n\n# Starfall v Starsurge target cutoff\nactions.precombat=variable,name=sf_targets,value=4\nactions.precombat+=/variable,name=sf_targets,op=add,value=1,if=azerite.arcanic_pulsar.enabled\nactions.precombat+=/variable,name=sf_targets,op=add,value=1,if=talent.starlord.enabled\nactions.precombat+=/variable,name=sf_targets,op=add,value=1,if=azerite.streaking_stars.rank>2&azerite.arcanic_pulsar.enabled\nactions.precombat+=/variable,name=sf_targets,op=sub,value=1,if=!talent.twin_moons.enabled\nactions.precombat+=/moonkin_form\n\n# Snapshot raid buffed stats before combat begins and pre-potting is done.\n# actions.precombat+=/snapshot_stats\nactions.precombat+=/use_item,name=azsharas_font_of_power\nactions.precombat+=/potion,dynamic_prepot=1\nactions.precombat+=/solar_wrath\nactions.precombat+=/starsurge\n\n# Executed every time the actor is available.\nactions=solar_beam\n# CDs\nactions+=/berserking,if=buff.ca_inc.up\nactions+=/use_item,name=azsharas_font_of_power,if=!buff.ca_inc.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/guardian_of_azeroth,if=(!talent.starlord.enabled||buff.starlord.up)&!buff.ca_inc.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/use_item,effect_name=cyclotronic_blast,if=!buff.ca_inc.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/use_item,name=shiver_venom_relic,if=!buff.ca_inc.up&!buff.bloodlust.up,target_if=dot.shiver_venom.stack>=5\nactions+=/use_item,name=manifesto_of_madness,if=buff.ca_inc.remains>10||buff.ca_inc.remains>4&buff.arcanic_pulsar.stack>6||fight_remains<21\nactions+=/blood_of_the_enemy,if=cooldown.ca_inc.remains>30\nactions+=/memory_of_lucid_dreams,if=!buff.ca_inc.up&(astral_power<25||cooldown.ca_inc.remains>30)&dot.sunfire.remains>10&dot.moonfire.remains>10&(!talent.stellar_flare.enabled||dot.stellar_flare.remains>10)\nactions+=/purifying_blast\nactions+=/ripple_in_space\nactions+=/concentrated_flame\nactions+=/the_unbound_force,if=buff.reckless_force.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/worldvein_resonance\nactions+=/focused_azerite_beam,if=(!variable.az_ss||!buff.ca_inc.up)&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/thorns\nactions+=/use_items,if=buff.ca_inc.up||fight_remains<20\nactions+=/warrior_of_elune\n# actions+=/innervate,if=azerite.lively_spirit.enabled&(cooldown.incarnation.remains<2||cooldown.celestial_alignment.remains<12)\nactions+=/incarnation,if=!buff.ca_inc.up&(buff.memory_of_lucid_dreams.up||((cooldown.memory_of_lucid_dreams.remains>20||!essence.memory_of_lucid_dreams.major)&ap_check))&(buff.memory_of_lucid_dreams.up||ap_check)&dot.sunfire.remains>8&dot.moonfire.remains>12&(dot.stellar_flare.remains>6||!talent.stellar_flare.enabled)\nactions+=/celestial_alignment,if=!buff.ca_inc.up&(buff.memory_of_lucid_dreams.up||((cooldown.memory_of_lucid_dreams.remains>20||!essence.memory_of_lucid_dreams.major)&ap_check))&(dot.sunfire.remains>2&dot.moonfire.ticking&(dot.stellar_flare.ticking||!talent.stellar_flare.enabled))\nactions+=/fury_of_elune,if=(buff.ca_inc.up||cooldown.ca_inc.remains>30)&solar_wrath.ap_check\nactions+=/force_of_nature,if=(buff.ca_inc.up||cooldown.ca_inc.remains>30)&ap_check\n\n# Spenders\nactions+=/cancel_buff,name=starlord,if=buff.starlord.remains<3&!solar_wrath.ap_check\nactions+=/starfall,if=(!solar_wrath.ap_check||(buff.starlord.stack<3||buff.starlord.remains>=8)&(fight_remains+1)*spell_targets>cost%2.5)&spell_targets>=variable.sf_targets\nactions+=/starsurge,if=((talent.starlord.enabled&(buff.starlord.stack<3||buff.starlord.remains>=5&buff.arcanic_pulsar.stack<8)||!talent.starlord.enabled&(buff.arcanic_pulsar.stack<8||buff.ca_inc.up))&buff.solar_empowerment.stack<3&buff.lunar_empowerment.stack<3&buff.reckless_force_counter.stack<19||buff.reckless_force.up)&spell_targets.starfallremains\nactions+=/moonfire,if=buff.ca_inc.up&buff.ca_inc.remains=ceil(floor(2%spell_targets)*1.5)+2*spell_targets&(spell_targets>1+talent.twin_moons.enabled||dot.moonfire.ticking)&(!azerite.streaking_stars.rank||!buff.ca_inc.up||!prev.sunfire)&(buff.ca_inc.remains>remains||!buff.ca_inc.up)\nactions+=/moonfire,cycle_targets=1,if=refreshable&ap_check&floor(target.time_to_die%(2*spell_haste))*spell_targets>=6&(!azerite.streaking_stars.rank||!buff.ca_inc.up||!prev.moonfire)&(buff.ca_inc.remains>remains||!buff.ca_inc.up)\nactions+=/stellar_flare,cycle_targets=1,if=refreshable&ap_check&floor(target.time_to_die%(2*spell_haste))>=5&(!azerite.streaking_stars.rank||!buff.ca_inc.up||!prev.stellar_flare)\n\n# Generators\nactions+=/new_moon,if=ap_check\nactions+=/half_moon,if=ap_check\nactions+=/full_moon,if=ap_check\nactions+=/lunar_strike,if=buff.solar_empowerment.stack<3&(ap_check||buff.lunar_empowerment.stack=3)&((buff.warrior_of_elune.up||buff.lunar_empowerment.up||spell_targets>=2&!buff.solar_empowerment.up)&(!azerite.streaking_stars.rank||!buff.ca_inc.up)||azerite.streaking_stars.rank&buff.ca_inc.up&prev.solar_wrath)\nactions+=/solar_wrath,if=azerite.streaking_stars.rank<3||!buff.ca_inc.up||!prev.solar_wrath\n\n# Fallthru for movement\nactions+=/sunfire", }, ["Guardian"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20190818, ["author"] = "SimC", ["desc"] = "# Guardian Druid\n# https://github.com/simulationcraft/simc/\n# August 18, 2019 - 14:00\n\n# Changes:\n# - Added Mitigation abilities.\n# - Added Skull Bash.\n# - Added ironfur_damage_threshold option.", ["lists"] = { ["mitigation"] = { { ["enabled"] = true, ["criteria"] = "incoming_damage_5s > ironfur_damage_threshold & buff.ironfur.remains < gcd * 2", ["action"] = "ironfur", }, -- [1] { ["enabled"] = true, ["criteria"] = "health.current < 0.75 * health.max", ["action"] = "frenzied_regeneration", }, -- [2] { ["enabled"] = true, ["criteria"] = "toggle.defensives & health.pct < 80", ["action"] = "anima_of_death", }, -- [3] { ["enabled"] = true, ["criteria"] = "health.pct < 75 & incoming_damage_5s > 0.25 * health.max", ["action"] = "barkskin", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.survival_instincts.down & buff.barkskin.down & health.pct < 60 & incoming_damage_5s > 0.25 * health.max", ["action"] = "survival_instincts", }, -- [5] }, ["cooldowns"] = { { ["action"] = "potion", ["enabled"] = true, }, -- [1] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [2] { ["action"] = "berserking", ["enabled"] = true, }, -- [3] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [4] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [5] { ["action"] = "fireblood", ["enabled"] = true, }, -- [6] { ["action"] = "ancestral_call", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.bear_form.up", ["action"] = "lunar_beam", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.bear_form.up", ["action"] = "bristling_fur", }, -- [9] { ["enabled"] = true, ["criteria"] = "( dot.moonfire.ticking || active_enemies > 1 ) & dot.thrash_bear.ticking", ["action"] = "incarnation", }, -- [10] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["effect_name"] = "cyclotronic_blast", }, -- [11] { ["enabled"] = true, ["criteria"] = "toggle.cooldowns & ( time_to_die < action_cooldown % 2 || active_enemies > 1 )", ["action"] = "anima_of_death", }, -- [12] { ["action"] = "memory_of_lucid_dreams", ["enabled"] = true, }, -- [13] { ["action"] = "use_items", ["enabled"] = true, }, -- [14] }, ["default"] = { { ["action"] = "skull_bash", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "mitigation", }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [3] { ["enabled"] = true, ["criteria"] = "rage.deficit < 20 & active_enemies < 4", ["action"] = "maul", }, -- [4] { ["enabled"] = true, ["criteria"] = "rage.deficit < 20 & essence.conflict_and_strife.major & ! buff.sharpened_claws.up", ["action"] = "maul", }, -- [5] { ["enabled"] = true, ["criteria"] = "cost = 0 || ( rage > cost & azerite.layered_mane.enabled & active_enemies > 2 )", ["action"] = "ironfur", }, -- [6] { ["enabled"] = true, ["criteria"] = "dot.thrash_bear.stack = dot.thrash_bear.max_stacks", ["action"] = "pulverize", }, -- [7] { ["enabled"] = true, ["criteria"] = "dot.moonfire.refreshable & active_enemies < 2", ["action"] = "moonfire", }, -- [8] { ["enabled"] = true, ["criteria"] = "( buff.incarnation.down & active_enemies > 1 ) || ( buff.incarnation.up & active_enemies > 4 )", ["action"] = "thrash_bear", }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.incarnation.down & active_enemies > 4", ["action"] = "swipe_bear", }, -- [10] { ["enabled"] = true, ["criteria"] = "dot.thrash_bear.ticking", ["action"] = "mangle", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.galactic_guardian.up & active_enemies < 2", ["action"] = "moonfire", }, -- [12] { ["action"] = "thrash_bear", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "azerite.power_of_the_moon.rank > 1 & active_enemies = 1", ["action"] = "moonfire", }, -- [14] { ["action"] = "swipe_bear", ["enabled"] = true, }, -- [15] }, ["precombat"] = { { ["action"] = "bear_form", ["enabled"] = true, }, -- [1] { ["action"] = "memory_of_lucid_dreams", ["enabled"] = true, }, -- [2] { ["action"] = "potion", ["enabled"] = true, }, -- [3] }, }, ["version"] = 20190818, ["warnings"] = "Imported 4 action lists.\n", ["spec"] = 104, ["profile"] = "# Guardian Druid\n# https://github.com/simulationcraft/simc/\n# August 18, 2019 - 14:00\n\n# Changes:\n# - Added Mitigation abilities.\n# - Added Skull Bash.\n# - Added ironfur_damage_threshold option.\n\n# Executed before combat begins. Accepts non-harmful actions only.\n# actions.precombat=flask\n# actions.precombat+=/food\n# actions.precombat+=/augmentation\nactions.precombat+=/bear_form\n# Snapshot raid buffed stats before combat begins and pre-potting is done.\n# actions.precombat+=/snapshot_stats\nactions.precombat+=/memory_of_lucid_dreams\nactions.precombat+=/potion\n\n# Executed every time the actor is available.\nactions=skull_bash\nactions+=/call_action_list,name=mitigation\nactions+=/call_action_list,name=cooldowns\nactions+=/maul,if=rage.deficit<20&active_enemies<4\nactions+=/maul,if=rage.deficit<20&essence.conflict_and_strife.major&!buff.sharpened_claws.up\nactions+=/ironfur,if=cost=0||(rage>cost&azerite.layered_mane.enabled&active_enemies>2)\nactions+=/pulverize,target_if=dot.thrash_bear.stack=dot.thrash_bear.max_stacks\nactions+=/moonfire,target_if=dot.moonfire.refreshable&active_enemies<2\nactions+=/thrash,if=(buff.incarnation.down&active_enemies>1)||(buff.incarnation.up&active_enemies>4)\nactions+=/swipe,if=buff.incarnation.down&active_enemies>4\nactions+=/mangle,if=dot.thrash_bear.ticking\nactions+=/moonfire,target_if=buff.galactic_guardian.up&active_enemies<2\nactions+=/thrash\n# Fill with Moonfire with PotMx2\nactions+=/moonfire,if=azerite.power_of_the_moon.rank>1&active_enemies=1\nactions+=/swipe\n\nactions.mitigation=ironfur,if=incoming_damage_5s>ironfur_damage_threshold&buff.ironfur.remains0.25*health.max\nactions.mitigation+=/survival_instincts,if=buff.survival_instincts.down&buff.barkskin.down&health.pct<60&incoming_damage_5s>0.25*health.max\n\nactions.cooldowns=potion\n# actions.cooldowns+=/heart_essence\nactions.cooldowns+=/blood_fury\nactions.cooldowns+=/berserking\nactions.cooldowns+=/arcane_torrent\nactions.cooldowns+=/lights_judgment\nactions.cooldowns+=/fireblood\nactions.cooldowns+=/ancestral_call\nactions.cooldowns+=/lunar_beam,if=buff.bear_form.up\nactions.cooldowns+=/bristling_fur,if=buff.bear_form.up\nactions.cooldowns+=/incarnation,if=(dot.moonfire.ticking||active_enemies>1)&dot.thrash_bear.ticking\nactions.cooldowns+=/use_item,effect_name=cyclotronic_blast\nactions.cooldowns+=/anima_of_death,if=toggle.cooldowns&(time_to_die1)\nactions.cooldowns+=/memory_of_lucid_dreams\nactions.cooldowns+=/use_items", }, }, }, ["Quillphis - Deathwing"] = { ["runOnce"] = { ["resetPotionsToDefaults_20190717"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["resetRogueMfDOption_20200226"] = true, ["enableAllOfTheThings_20180820"] = true, ["resetGlobalCooldownSync_20210403"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["resetAllPotions_20201209"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [252] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["aoe"] = 2, ["settings"] = { ["festermight_cycle"] = false, }, ["damageExpiration"] = 8, ["enhancedRecheck"] = true, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["petbased"] = false, ["maxTime"] = 33, ["potionsReset"] = 20180919.1, ["custom1Name"] = "Custom 1", ["damage"] = true, ["debuffPadding"] = 0, ["cycle"] = true, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "potion_of_spectral_strength", ["buffPadding"] = 0, ["nameplates"] = true, ["cycleDebuff"] = "festering_wound", ["package"] = "Unholy", ["damageRange"] = 0, }, [251] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["package"] = "Frost DK", ["damagePets"] = false, ["settings"] = { ["bos_rp"] = 50, }, ["aoe"] = 2, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["petbased"] = false, ["maxTime"] = 33, ["throttleRefresh"] = false, ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["buffPadding"] = 0, ["cycle"] = false, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "potion_of_spectral_strength", ["damage"] = true, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["debuffPadding"] = 0, ["damageRange"] = 0, }, [250] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["package"] = "Blood", ["damagePets"] = false, ["settings"] = { ["save_blood_shield"] = true, }, ["aoe"] = 2, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["petbased"] = false, ["maxTime"] = 33, ["throttleRefresh"] = false, ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["buffPadding"] = 0, ["cycle"] = false, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "potion_of_phantom_fire", ["damage"] = true, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["debuffPadding"] = 0, ["damageRange"] = 0, }, [102] = { ["enhancedRecheck"] = true, }, }, ["packs"] = { ["Unholy"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210708, ["spec"] = 252, ["desc"] = "Death Knight Unholy\nJuly 8, 2021\n\nChanges:\n- Adjustments to DnD/Defile/Deaths Due to only count targets who are expected to live long enough to matter (aoe_setup #1).\n- Disabled Sacrificial Pact because dead ghouls make for sad DKs.\n- Using Wound Spender abilities more flexibly (at 4+ stacks instead of 5+); DPS neutral and may prevent some no-rec situations.\n- Using Festering Strike in AOE if you have nothing else to do and won't overcap wounds is DPS neutral.\n- Changed many 'fight_remains' conditionals to apply in boss fights only (less CD waste on trash).\n- Added another Outbreak entry to set up stronger Epidemics.\n- Relax ST vs. AOE logic since it relies on confabulated raid_events.\n- TODO: Factor Strength procs into trinket logic.", ["lists"] = { ["aoe_setup"] = { { ["enabled"] = true, ["criteria"] = "death_knight.fwounded_targets >= cycle_enemies || death_knight.fwounded_targets >= 5 || ! talent.bursting_sores.enabled || raid_event.adds.exists & raid_event.adds.remains <= 11 || fight_remains <= 11", ["action"] = "any_dnd", }, -- [1] { ["enabled"] = true, ["criteria"] = "! variable.pooling_runic_power & ( buff.dark_transformation.up & runeforge.deadliest_coil.enabled & active_enemies <= 3 || active_enemies = 2 )", ["action"] = "death_coil", }, -- [2] { ["enabled"] = true, ["criteria"] = "! variable.pooling_runic_power", ["action"] = "epidemic", }, -- [3] { ["enabled"] = true, ["action"] = "festering_strike", ["criteria"] = "debuff.festering_wound.stack <= 3 & cooldown.apocalypse.remains < 3", ["cycle_targets"] = 1, }, -- [4] { ["enabled"] = true, ["action"] = "festering_strike", ["criteria"] = "debuff.festering_wound.stack < 1", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["action"] = "festering_strike", ["criteria"] = "rune.time_to_4 < ( cooldown.death_and_decay.remains & ! talent.defile.enabled || cooldown.defile.remains & talent.defile.enabled || covenant.night_fae & cooldown.deaths_due.remains )", ["cycle_targets"] = 1, }, -- [6] { ["enabled"] = true, ["action"] = "wound_spender", ["description"] = "When target swaps are disabled, this will let you spend runes/wounds instead of waiting for DnD/Defile/Death's Due.", ["criteria"] = "( ! settings.cycle || death_knight.fwounded_targets >= cycle_enemies ) & debuff.festering_wound.stack > 3 & rune.time_to_3 < cooldown.any_dnd.remains", }, -- [7] }, ["aoe_burst"] = { { ["enabled"] = true, ["criteria"] = "active_enemies <= 5", ["action"] = "clawing_shadows", }, -- [1] { ["enabled"] = true, ["criteria"] = "active_enemies = 6 & death_knight.fwounded_targets >= 3", ["action"] = "clawing_shadows", }, -- [2] { ["enabled"] = true, ["criteria"] = "talent.bursting_sores.enabled & ( death_knight.fwounded_targets = active_enemies || death_knight.fwounded_targets >= 3 ) || talent.bursting_sores.enabled & talent.clawing_shadows.enabled & death_knight.fwounded_targets >= 1", ["action"] = "wound_spender", }, -- [3] { ["enabled"] = true, ["criteria"] = "( buff.sudden_doom.react || ! variable.pooling_runic_power ) & ( buff.dark_transformation.up & runeforge.deadliest_coil.enabled & active_enemies <= 3 || active_enemies = 2 )", ["action"] = "death_coil", }, -- [4] { ["enabled"] = true, ["criteria"] = "runic_power.deficit < ( 10 + death_knight.fwounded_targets * 3 ) & death_knight.fwounded_targets < 6 & ! variable.pooling_runic_power || buff.swarming_mist.up", ["action"] = "epidemic", }, -- [5] { ["enabled"] = true, ["criteria"] = "runic_power.deficit < 25 & death_knight.fwounded_targets > 5 & ! variable.pooling_runic_power", ["action"] = "epidemic", }, -- [6] { ["enabled"] = true, ["criteria"] = "! death_knight.fwounded_targets & ! variable.pooling_runic_power || fight_remains < 5 || raid_event.adds.exists & raid_event.adds.remains < 5", ["action"] = "epidemic", }, -- [7] { ["action"] = "wound_spender", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "! variable.pooling_runic_power", ["action"] = "epidemic", }, -- [9] }, ["trinkets"] = { { ["enabled"] = true, ["action"] = "inscrutable_quantum_device", ["criteria"] = "( cooldown.unholy_blight.remains > 20 || cooldown.dark_transformation.remains_expected > 20 ) & ( active_enemies >= 2 || pet.army_ghoul.active || pet.apoc_ghoul.active & ( talent.unholy_assault.enabled || death_knight.disable_aotd ) || pet.gargoyle.active ) || boss & fight_remains < 21 || target.time_to_pct_20 < 5", ["name"] = "inscrutable_quantum_device", }, -- [1] { ["enabled"] = true, ["action"] = "trinket1", ["description"] = "The trinket with the highest estimated value, will be used first and paired with Apocalypse (if buff is 15 seconds or less) or Blight/DT (if greater than 15 seconds)", ["criteria"] = "! variable.specified_trinket & ( ( trinket.t1.buff_duration <= 15 & cooldown.apocalypse.remains > 20 || trinket.t1.buff_duration > 15 & ( cooldown.unholy_blight.remains > 20 || cooldown.dark_transformation.remains_expected > 20 ) || active_enemies >= 2 & buff.dark_transformation.up ) & ( ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || variable.trinket_priority = 1 ) ) || trinket.t1.buff_duration >= fight_remains", }, -- [2] { ["enabled"] = true, ["criteria"] = "! variable.specified_trinket & ( ( trinket.t2.buff_duration <= 15 & cooldown.apocalypse.remains > 20 || trinket.t2.buff_duration > 15 & ( cooldown.unholy_blight.remains > 20 || cooldown.dark_transformation.remains_expected > 20 ) || active_enemies >= 2 & buff.dark_transformation.up ) & ( ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || variable.trinket_priority = 2 ) ) || trinket.t2.buff_duration >= fight_remains", ["action"] = "trinket2", }, -- [3] { ["enabled"] = true, ["action"] = "trinket1", ["description"] = "If only one on use trinket provides a buff, use the other on cooldown. Or if neither trinket provides a buff, use both on cooldown.", ["criteria"] = "! trinket.t1.has_use_buff & ( trinket.t2.cooldown.remains || ! trinket.t2.has_use_buff )", }, -- [4] { ["enabled"] = true, ["criteria"] = "! trinket.t2.has_use_buff & ( trinket.t1.cooldown.remains || ! trinket.t1.has_use_buff )", ["action"] = "trinket2", }, -- [5] }, ["generic"] = { { ["enabled"] = true, ["criteria"] = "! variable.pooling_runic_power & ( buff.sudden_doom.react || runic_power.deficit <= 13 ) || pet.gargoyle.active & rune <= 3 || fight_remains < 10 & ! debuff.festering_wound.up", ["action"] = "death_coil", }, -- [1] { ["enabled"] = true, ["criteria"] = "( talent.defile.enabled || covenant.night_fae || runeforge.phearomones.enabled ) & ( ! variable.pooling_runes || boss & fight_remains < 5 )", ["action"] = "any_dnd", }, -- [2] { ["enabled"] = true, ["criteria"] = "variable.major_procs_active & debuff.festering_wound.stack >= 1 & cooldown.apocalypse.remains_expected > 5 & ! variable.pooling_runes", ["action"] = "wound_spender", }, -- [3] { ["enabled"] = true, ["criteria"] = "debuff.festering_wound.stack > 3 & ! variable.pooling_runes || debuff.festering_wound.up & fight_remains < ( debuff.festering_wound.stack * gcd )", ["action"] = "wound_spender", }, -- [4] { ["enabled"] = true, ["criteria"] = "runic_power.deficit <= 20 & ! variable.pooling_runic_power", ["action"] = "death_coil", }, -- [5] { ["enabled"] = true, ["criteria"] = "debuff.festering_wound.stack < 4 & ! variable.pooling_runes", ["action"] = "festering_strike", }, -- [6] { ["enabled"] = true, ["criteria"] = "! variable.pooling_runic_power", ["action"] = "death_coil", }, -- [7] { ["enabled"] = true, ["criteria"] = "debuff.festering_wound.stack >= 1 & rune < 2 & ! variable.pooling_runes & cooldown.apocalypse.remains_expected > 5", ["action"] = "wound_spender", }, -- [8] }, ["covenants"] = { { ["enabled"] = true, ["criteria"] = "variable.st_planning & runic_power.deficit > 16 & ( cooldown.apocalypse.remains || ! talent.army_of_the_damned.enabled & cooldown.dark_transformation.remains ) || boss & fight_remains < 11", ["action"] = "swarming_mist", }, -- [1] { ["enabled"] = true, ["action"] = "swarming_mist", ["description"] = "Set to use after apoc is on CD as to prevent overcapping RP while setting up CD's", ["criteria"] = "cooldown.apocalypse.remains & ( active_enemies >= 2 & active_enemies <= 5 & runic_power.deficit > 10 + ( active_enemies * 6 ) & variable.adds_remain || active_enemies > 5 & runic_power.deficit > 40 )", }, -- [2] { ["enabled"] = true, ["criteria"] = "variable.st_planning & ! soulbind.lead_by_example.enabled & ( cooldown.apocalypse.remains || ! talent.army_of_the_damned.enabled & cooldown.dark_transformation.remains ) & rune.time_to_4 > buff.runic_corruption.remains || boss & fight_remains < 21", ["action"] = "abomination_limb", }, -- [3] { ["enabled"] = true, ["criteria"] = "variable.st_planning & ( soulbind.lead_by_example.enabled || soulbind.kevins_oozeling.enabled ) & ( dot.unholy_blight_dot.remains > 11 || ! talent.unholy_blight.enabled & cooldown.dark_transformation.remains )", ["action"] = "abomination_limb", }, -- [4] { ["enabled"] = true, ["criteria"] = "variable.adds_remain & rune.time_to_4 > buff.runic_corruption.remains", ["action"] = "abomination_limb", }, -- [5] { ["enabled"] = true, ["criteria"] = "variable.st_planning & ( cooldown.apocalypse.remains > 10 || ! talent.army_of_the_damned.enabled & cooldown.dark_transformation.remains ) || boss & fight_remains < 15", ["action"] = "shackle_the_unworthy", }, -- [6] { ["enabled"] = true, ["criteria"] = "variable.adds_remain & ( death_and_decay.ticking || raid_event.adds.remains <= 14 )", ["action"] = "shackle_the_unworthy", }, -- [7] { ["enabled"] = true, ["criteria"] = "soulbind.pustule_eruption.enabled", ["action"] = "fleshcraft", }, -- [8] }, ["precombat"] = { { ["action"] = "potion", ["enabled"] = true, }, -- [1] { ["action"] = "raise_dead", ["enabled"] = true, }, -- [2] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["action"] = "army_of_the_dead", ["criteria"] = "! talent.summon_gargoyle.enabled", ["precombat_time"] = "3", }, -- [4] { ["enabled"] = true, ["op"] = "setif", ["description"] = "Evaluates a trinkets cooldown, divided by 45. This was chosen as unholy works on 45 second burst cycles, but has too many cdr effects to give a cooldown.x.duration divisor instead. If it's value has no remainder return 1, else return 0.5.", ["criteria"] = "trinket.t1.has_use_buff & ( trinket.t1.cooldown.duration % 45 = 0 )", ["value"] = "1", ["action"] = "variable", ["value_else"] = "0.5", ["var_name"] = "trinket_1_sync", }, -- [5] { ["enabled"] = true, ["op"] = "setif", ["action"] = "variable", ["var_name"] = "trinket_2_sync", ["criteria"] = "trinket.t2.has_use_buff & ( trinket.t2.cooldown.duration % 45 = 0 )", ["value_else"] = "0.5", ["value"] = "1", }, -- [6] { ["enabled"] = true, ["op"] = "setif", ["description"] = "Estimates a trinkets value by comparing the cooldown of the trinket, divided by the duration of the buff it provides. Has a strength modifier to give a higher priority to strength trinkets, as well as a modifier for if a trinket will or will not sync with cooldowns.", ["criteria"] = "! trinket.t1.has_use_buff & trinket.t2.has_use_buff || trinket.t2.has_use_buff & ( ( trinket.t2.cooldown.duration / trinket.t2.buff_duration ) * ( 1.5 + trinket.t2.has_buff ) * ( variable.trinket_2_sync ) ) > ( ( trinket.t1.cooldown.duration / trinket.t1.buff_duration ) * ( 1.5 + trinket.t1.has_buff ) * ( variable.trinket_1_sync ) )", ["value"] = "2", ["action"] = "variable", ["value_else"] = "1", ["var_name"] = "trinket_priority", }, -- [7] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.army_of_the_damned.enabled & conduit.convocation_of_the_dead.rank >= 9", ["description"] = "Evaluates current setup for the quantity of Apocalypse CDR effects", ["var_name"] = "full_cdr", }, -- [8] }, ["racials"] = { { ["enabled"] = true, ["action"] = "arcane_torrent", ["description"] = "Racials", ["criteria"] = "runic_power.deficit > 65 & ( pet.gargoyle.active || ! talent.summon_gargoyle.enabled ) & rune.deficit >= 5", }, -- [1] { ["enabled"] = true, ["criteria"] = "variable.major_cooldowns_active || pet.gargoyle.active & pet.gargoyle.remains <= buff.blood_fury.duration || boss & fight_remains <= buff.blood_fury.duration", ["action"] = "blood_fury", }, -- [2] { ["enabled"] = true, ["criteria"] = "variable.major_cooldowns_active || pet.gargoyle.active & pet.gargoyle.remains <= buff.berserking.duration || boss & fight_remains <= buff.berserking.duration", ["action"] = "berserking", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.unholy_strength.up", ["action"] = "lights_judgment", }, -- [4] { ["enabled"] = true, ["action"] = "ancestral_call", ["description"] = "Ancestral Call can trigger 4 potential buffs, each lasting 15 seconds. Utilized hard coded time as a trigger to keep it readable.", ["criteria"] = "variable.major_cooldowns_active || pet.gargoyle.active & pet.gargoyle.remains <= 15 || boss & fight_remains <= 15", }, -- [5] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2 || ( rune.deficit >= 5 & runic_power.deficit >= 60 )", ["action"] = "arcane_pulse", }, -- [6] { ["enabled"] = true, ["criteria"] = "variable.major_cooldowns_active || pet.gargoyle.active & pet.gargoyle.remains <= buff.fireblood.duration || boss & fight_remains <= buff.fireblood.duration", ["action"] = "fireblood", }, -- [7] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & ( buff.unholy_strength.up || boss & fight_remains < 5 )", ["action"] = "bag_of_tricks", }, -- [8] }, ["generic_aoe"] = { { ["enabled"] = true, ["sec"] = "cooldown.soul_reaper.remains", ["action"] = "wait", ["criteria"] = "talent.soul_reaper.enabled & target.time_to_pct_35 < 5 & fight_remains > 5 & cooldown.soul_reaper.remains < ( gcd * 0.75 ) & active_enemies <= 3", }, -- [1] { ["enabled"] = true, ["criteria"] = "( ! variable.pooling_runic_power || buff.sudden_doom.react ) & ( buff.dark_transformation.up & runeforge.deadliest_coil.enabled & active_enemies <= 3 || active_enemies = 2 )", ["action"] = "death_coil", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.sudden_doom.react || ! variable.pooling_runic_power", ["action"] = "epidemic", }, -- [3] { ["enabled"] = true, ["action"] = "run_action_list", ["description"] = "If target cycling is disabled, switch back to the single-target generic list instead.", ["strict"] = 1, ["criteria"] = "cycle_enemies = 1", ["list_name"] = "generic", }, -- [4] { ["enabled"] = true, ["action"] = "wound_spender", ["criteria"] = "( cooldown.apocalypse.remains > 5 & debuff.festering_wound.up || debuff.festering_wound.stack > 3 ) & ( fight_remains < cooldown.death_and_decay.remains + 10 || fight_remains > cooldown.apocalypse.remains )", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["action"] = "festering_strike", ["criteria"] = "debuff.festering_wound.stack <= 3 & cooldown.apocalypse.remains < 5 || debuff.festering_wound.stack < 1", ["cycle_targets"] = 1, }, -- [6] { ["enabled"] = true, ["action"] = "festering_strike", ["criteria"] = "cooldown.apocalypse.remains > 5 & debuff.festering_wound.stack < 1", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["action"] = "festering_strike", ["description"] = "This is effectively filler which sims DPS neutral, but should prevent a scenario where the addon has nothing to recommend.", ["criteria"] = "active_dot.festering_wound >= cycle_enemies & debuff.festering_wound.stack < 4", }, -- [8] }, ["default"] = { { ["action"] = "mind_freeze", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( equipped.inscrutable_quantum_device & cooldown.inscrutable_quantum_device.ready )", ["description"] = "Prevent specified trinkets being used with automatic lines", ["var_name"] = "specified_trinket", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "cooldown.summon_gargoyle.remains < 5 & talent.summon_gargoyle.enabled & ( talent.unholy_blight.enabled & cooldown.unholy_blight.remains < 13 & cooldown.dark_transformation.remains_expected < 13 || ! talent.unholy_blight.enabled )", ["var_name"] = "pooling_runic_power", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.soul_reaper.enabled & rune < 2 & target.time_to_pct_35 < 5 & fight_remains > 5", ["var_name"] = "pooling_runes", }, -- [4] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_enemies = 1 & ( ! raid_event.adds.exists || raid_event.adds.in > 15 )", ["var_name"] = "st_planning", }, -- [5] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_enemies >= 2 & ( ! raid_event.adds.exists || raid_event.adds.exists & ( raid_event.adds.remains > 5 || fight_remains > 10 ) )", ["var_name"] = "adds_remain", }, -- [6] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( talent.summon_gargoyle.enabled & ! pet.gargoyle.active & cooldown.summon_gargoyle.remains || ! talent.summon_gargoyle.enabled ) & ( buff.unholy_assault.up || talent.army_of_the_damned.enabled & pet.apoc_ghoul.active || buff.dark_transformation.up || active_enemies >= 2 & death_and_decay.ticking )", ["var_name"] = "major_cooldowns_active", }, -- [7] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "covenant.night_fae & death_and_decay.ticking & buff.deaths_due.stack < 4 || buff.marrowed_gemstone_enhancement.up || buff.thrill_seeker.up || buff.frenzied_monstrosity.up || buff.lead_by_example.up", ["var_name"] = "major_procs_active", }, -- [8] { ["enabled"] = true, ["action"] = "outbreak", ["description"] = "Maintaining Virulent Plague is a priority", ["criteria"] = "dot.virulent_plague.refreshable & ! talent.unholy_blight.enabled & ! raid_event.adds.exists", }, -- [9] { ["enabled"] = true, ["action"] = "outbreak", ["criteria"] = "dot.virulent_plague.refreshable & active_enemies >= 2 & ( ! talent.unholy_blight.enabled || cooldown.unholy_blight.remains & buff.unholy_blight_buff.down )", ["cycle_targets"] = 1, }, -- [10] { ["enabled"] = true, ["action"] = "outbreak", ["line_cd"] = "6", ["criteria"] = "active_dot.virulent_plague < active_enemies & active_enemies >= 2 & ( ! talent.unholy_blight.enabled || cooldown.unholy_blight.remains & buff.unholy_blight_buff.down )", ["description"] = "If there are enemies missing VP, apply it (but no more than once per 6 seconds).", }, -- [11] { ["enabled"] = true, ["criteria"] = "runeforge.superstrain.enabled & ( dot.frost_fever.refreshable || dot.blood_plague.refreshable )", ["action"] = "outbreak", }, -- [12] { ["enabled"] = true, ["action"] = "wound_spender", ["description"] = "Refreshes Deaths Due's buff just before deaths due ends", ["criteria"] = "covenant.night_fae & death_and_decay.active_remains < ( gcd * 1.5 ) & death_and_decay.ticking", }, -- [13] { ["enabled"] = true, ["sec"] = "cooldown.soul_reaper.remains", ["action"] = "wait", ["criteria"] = "talent.soul_reaper.enabled & target.time_to_pct_35 < 5 & target.time_to_die > 5 & cooldown.soul_reaper.remains < ( gcd * 0.75 ) & active_enemies = 1", }, -- [14] { ["enabled"] = true, ["action"] = "wait", ["sec"] = "cooldown.deaths_due.remains", ["description"] = "Wait for Death's Due/Defile if Night Fae to get strength buff back asap", ["criteria"] = "covenant.night_fae & cooldown.deaths_due.remains < gcd & active_enemies = 1", }, -- [15] { ["enabled"] = true, ["sec"] = "cooldown.defile.remains", ["action"] = "wait", ["criteria"] = "covenant.night_fae & cooldown.defile.remains < gcd & active_enemies = 1", }, -- [16] { ["enabled"] = true, ["description"] = "Action Lists and Openers (Openers/Sequences unsupported in addon.)", ["action"] = "call_action_list", ["list_name"] = "trinkets", }, -- [17] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "covenants", }, -- [18] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "racials", }, -- [19] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [20] { ["enabled"] = true, ["criteria"] = "variable.adds_remain & ( cooldown.death_and_decay.remains < 10 & ! talent.defile.enabled || cooldown.defile.remains < 10 & talent.defile.enabled || covenant.night_fae & cooldown.deaths_due.remains < 10 ) & ! death_and_decay.ticking", ["action"] = "run_action_list", ["list_name"] = "aoe_setup", }, -- [21] { ["enabled"] = true, ["action"] = "run_action_list", ["strict"] = 1, ["criteria"] = "active_enemies >= 2 & death_and_decay.ticking", ["list_name"] = "aoe_burst", }, -- [22] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2 & ( ! death_and_decay.ticking & ( cooldown.death_and_decay.remains > 10 & ! talent.defile.enabled || cooldown.defile.remains > 10 & talent.defile.enabled || covenant.night_fae & cooldown.deaths_due.remains > 10 ) || ! variable.adds_remain )", ["action"] = "run_action_list", ["list_name"] = "generic_aoe", }, -- [23] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies = 1 || ! variable.adds_remain", ["list_name"] = "generic", }, -- [24] }, ["cooldowns"] = { { ["enabled"] = true, ["criteria"] = "variable.major_cooldowns_active || pet.gargoyle.active & pet.gargoyle.remains <= 26 || fight_remains < 26", ["action"] = "potion", }, -- [1] { ["enabled"] = true, ["criteria"] = "cooldown.unholy_blight.remains < 7 & cooldown.dark_transformation.remains_expected < 7 & talent.unholy_blight.enabled & ( cooldown.apocalypse.remains_expected < 7 & variable.full_cdr || ! variable.full_cdr ) || ! talent.unholy_blight.enabled || boss & fight_remains < 35", ["action"] = "army_of_the_dead", }, -- [2] { ["enabled"] = true, ["action"] = "soul_reaper", ["criteria"] = "target.time_to_pct_35 < 5 & target.time_to_die > 5 & active_enemies <= 3", ["cycle_targets"] = 1, }, -- [3] { ["enabled"] = true, ["action"] = "unholy_blight", ["description"] = "Holds Blight for up to 5 seconds to sync with Apocalypse, Otherwise, use with Dark Transformation.", ["criteria"] = "variable.st_planning & ( cooldown.apocalypse.remains_expected < 5 || cooldown.apocalypse.remains_expected > 10 ) & ( cooldown.dark_transformation.remains < gcd || buff.dark_transformation.up )", }, -- [4] { ["enabled"] = true, ["criteria"] = "variable.adds_remain || boss & fight_remains < 21", ["action"] = "unholy_blight", }, -- [5] { ["enabled"] = true, ["criteria"] = "variable.st_planning & ( dot.unholy_blight_dot.remains || ! talent.unholy_blight.enabled )", ["action"] = "dark_transformation", }, -- [6] { ["enabled"] = true, ["criteria"] = "variable.adds_remain || boss & fight_remains < 21", ["action"] = "dark_transformation", }, -- [7] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & debuff.festering_wound.stack >= 4 & ( ! variable.full_cdr || variable.full_cdr & ( cooldown.unholy_blight.remains > 10 || cooldown.dark_transformation.remains_expected > 10 & ! talent.unholy_blight.enabled ) )", ["action"] = "apocalypse", }, -- [8] { ["enabled"] = true, ["action"] = "apocalypse", ["criteria"] = "active_enemies >= 2 & debuff.festering_wound.stack > 3 & ! death_and_decay.ticking", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["criteria"] = "runic_power.deficit < 14 & cooldown.unholy_blight.remains < 13 & cooldown.dark_transformation.remains_expected < 13", ["action"] = "summon_gargoyle", }, -- [10] { ["enabled"] = true, ["criteria"] = "variable.st_planning & debuff.festering_wound.stack < 2 & ( pet.apoc_ghoul.active || buff.dark_transformation.up & cooldown.apocalypse.remains > 10 )", ["action"] = "unholy_assault", }, -- [11] { ["enabled"] = true, ["action"] = "unholy_assault", ["criteria"] = "active_enemies >= 2 & debuff.festering_wound.stack < 2 & ( pet.apoc_ghoul.active || buff.dark_transformation.up || cooldown.death_and_decay.remains < gcd )", ["cycle_targets"] = 1, }, -- [12] { ["enabled"] = true, ["criteria"] = "! pet.ghoul.active", ["action"] = "raise_dead", }, -- [13] }, }, ["version"] = 20210708, ["warnings"] = "WARNING: The import for 'aoe_setup' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (2x).\n\nWARNING: The import for 'aoe_burst' required some automated changes.\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'trinkets' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 2: Converted 'trinket.1.X' to 'trinket.t1.X' (3x).\nLine 2: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 3: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 3: Converted 'trinket.2.X' to 'trinket.t2.X' (3x).\nLine 4: Converted 'trinket.1.X' to 'trinket.t1.X' (1x).\nLine 4: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 5: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 5: Converted 'trinket.2.X' to 'trinket.t2.X' (1x).\n\nWARNING: The import for 'generic' required some automated changes.\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'covenants' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 3: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'soulbind.X' to 'soulbind.X.enabled' (2x).\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 8: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nWARNING: The import for 'precombat' required some automated changes.\nLine 4: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 5: Converted SimC syntax %% to Lua modulus operator (%) (1x).\nLine 5: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 6: Converted SimC syntax %% to Lua modulus operator (%) (1x).\nLine 6: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 7: Converted SimC syntax % to Lua division operator (/) (2x).\nLine 7: Converted 'trinket.1.X' to 'trinket.t1.X' (4x).\nLine 7: Converted 'trinket.2.X' to 'trinket.t2.X' (5x).\nLine 8: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'cooldowns' required some automated changes.\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 8: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'generic_aoe' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'default' required some automated changes.\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 11: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 12: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 14: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 21: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 23: Converted 'talent.X' to 'talent.X.enabled' (2x).\n\nThe 'use_items' action was not found in this import.\nImported 10 action lists.\n", ["profile"] = "## Death Knight Unholy\n## July 8, 2021\n\n## Changes:\n## - Adjustments to DnD/Defile/Deaths Due to only count targets who are expected to live long enough to matter (aoe_setup #1).\n## - Disabled Sacrificial Pact because dead ghouls make for sad DKs.\n## - Using Wound Spender abilities more flexibly (at 4+ stacks instead of 5+); DPS neutral and may prevent some no-rec situations.\n## - Using Festering Strike in AOE if you have nothing else to do and won't overcap wounds is DPS neutral.\n## - Changed many 'fight_remains' conditionals to apply in boss fights only (less CD waste on trash).\n## - Added another Outbreak entry to set up stronger Epidemics.\n## - Relax ST vs. AOE logic since it relies on confabulated raid_events.\n## - TODO: Factor Strength procs into trinket logic.\n\nactions.precombat+=/potion\nactions.precombat+=/raise_dead\nactions.precombat+=/fleshcraft\nactions.precombat+=/army_of_the_dead,precombat_time=3,if=!talent.summon_gargoyle\n# Evaluates a trinkets cooldown, divided by 45. This was chosen as unholy works on 45 second burst cycles, but has too many cdr effects to give a cooldown.x.duration divisor instead. If it's value has no remainder return 1, else return 0.5.\nactions.precombat+=/variable,name=trinket_1_sync,op=setif,value=1,value_else=0.5,condition=trinket.1.has_use_buff&(trinket.1.cooldown.duration%%45=0)\nactions.precombat+=/variable,name=trinket_2_sync,op=setif,value=1,value_else=0.5,condition=trinket.2.has_use_buff&(trinket.2.cooldown.duration%%45=0)\n# Estimates a trinkets value by comparing the cooldown of the trinket, divided by the duration of the buff it provides. Has a strength modifier to give a higher priority to strength trinkets, as well as a modifier for if a trinket will or will not sync with cooldowns.\nactions.precombat+=/variable,name=trinket_priority,op=setif,value=2,value_else=1,condition=!trinket.1.has_use_buff&trinket.2.has_use_buff||trinket.2.has_use_buff&((trinket.2.cooldown.duration%trinket.2.buff_duration)*(1.5+trinket.2.has_buff)*(variable.trinket_2_sync))>((trinket.1.cooldown.duration%trinket.1.buff_duration)*(1.5+trinket.1.has_buff)*(variable.trinket_1_sync))\n# Evaluates current setup for the quantity of Apocalypse CDR effects\nactions.precombat+=/variable,name=full_cdr,value=talent.army_of_the_damned&conduit.convocation_of_the_dead.rank>=9\n\n## Executed every time the actor is available.\nactions=mind_freeze\n# Prevent specified trinkets being used with automatic lines\nactions+=/variable,name=specified_trinket,value=(equipped.inscrutable_quantum_device&cooldown.inscrutable_quantum_device.ready)\n## Variables\nactions+=/variable,name=pooling_runic_power,value=cooldown.summon_gargoyle.remains<5&talent.summon_gargoyle&(talent.unholy_blight&cooldown.unholy_blight.remains<13&cooldown.dark_transformation.remains_expected<13||!talent.unholy_blight)\nactions+=/variable,name=pooling_runes,value=talent.soul_reaper&rune<2&target.time_to_pct_35<5&fight_remains>5\nactions+=/variable,name=st_planning,value=active_enemies=1&(!raid_event.adds.exists||raid_event.adds.in>15)\nactions+=/variable,name=adds_remain,value=active_enemies>=2&(!raid_event.adds.exists||raid_event.adds.exists&(raid_event.adds.remains>5||fight_remains>10))\nactions+=/variable,name=major_cooldowns_active,value=(talent.summon_gargoyle&!pet.gargoyle.active&cooldown.summon_gargoyle.remains||!talent.summon_gargoyle)&(buff.unholy_assault.up||talent.army_of_the_damned&pet.apoc_ghoul.active||buff.dark_transformation.up||active_enemies>=2&death_and_decay.ticking)\nactions+=/variable,name=major_procs_active,value=covenant.night_fae&death_and_decay.ticking&buff.deaths_due.stack<4||buff.marrowed_gemstone_enhancement.up||buff.thrill_seeker.up||buff.frenzied_monstrosity.up||buff.lead_by_example.up\n# Maintaining Virulent Plague is a priority\nactions+=/outbreak,if=dot.virulent_plague.refreshable&!talent.unholy_blight&!raid_event.adds.exists\nactions+=/outbreak,cycle_targets=1,if=dot.virulent_plague.refreshable&active_enemies>=2&(!talent.unholy_blight||cooldown.unholy_blight.remains&buff.unholy_blight_buff.down)\n# If there are enemies missing VP, apply it (but no more than once per 6 seconds).\nactions+=/outbreak,line_cd=6,if=active_dot.virulent_plague=2&(!talent.unholy_blight||cooldown.unholy_blight.remains&buff.unholy_blight_buff.down)\nactions+=/outbreak,if=runeforge.superstrain&(dot.frost_fever.refreshable||dot.blood_plague.refreshable)\n# Refreshes Deaths Due's buff just before deaths due ends\nactions+=/wound_spender,if=covenant.night_fae&death_and_decay.active_remains<(gcd*1.5)&death_and_decay.ticking\nactions+=/wait,sec=cooldown.soul_reaper.remains,if=talent.soul_reaper&target.time_to_pct_35<5&target.time_to_die>5&cooldown.soul_reaper.remains<(gcd*0.75)&active_enemies=1\n# Wait for Death's Due/Defile if Night Fae to get strength buff back asap\nactions+=/wait,sec=cooldown.deaths_due.remains,if=covenant.night_fae&cooldown.deaths_due.remains4:scourge_strike,if=debuff.festering_wound.stack>4:festering_strike\n## actions+=/sequence,if=active_enemies=1&!death_knight.disable_aotd&!talent.summon_gargoyle,name=opener:festering_strike:festering_strike:potion:unholy_blight:dark_transformation:apocalypse\nactions+=/call_action_list,name=cooldowns\nactions+=/run_action_list,name=aoe_setup,if=variable.adds_remain&(cooldown.death_and_decay.remains<10&!talent.defile||cooldown.defile.remains<10&talent.defile||covenant.night_fae&cooldown.deaths_due.remains<10)&!death_and_decay.ticking\nactions+=/run_action_list,name=aoe_burst,strict=1,if=active_enemies>=2&death_and_decay.ticking\nactions+=/run_action_list,name=generic_aoe,if=active_enemies>=2&(!death_and_decay.ticking&(cooldown.death_and_decay.remains>10&!talent.defile||cooldown.defile.remains>10&talent.defile||covenant.night_fae&cooldown.deaths_due.remains>10)||!variable.adds_remain)\nactions+=/call_action_list,name=generic,strict=1,if=active_enemies=1||!variable.adds_remain\n\n## AoE Burst\nactions.aoe_burst=clawing_shadows,if=active_enemies<=5\nactions.aoe_burst+=/clawing_shadows,if=active_enemies=6&death_knight.fwounded_targets>=3\nactions.aoe_burst+=/wound_spender,if=talent.bursting_sores&(death_knight.fwounded_targets=active_enemies||death_knight.fwounded_targets>=3)||talent.bursting_sores&talent.clawing_shadows&death_knight.fwounded_targets>=1\nactions.aoe_burst+=/death_coil,if=(buff.sudden_doom.react||!variable.pooling_runic_power)&(buff.dark_transformation.up&runeforge.deadliest_coil&active_enemies<=3||active_enemies=2)\nactions.aoe_burst+=/epidemic,if=runic_power.deficit<(10+death_knight.fwounded_targets*3)&death_knight.fwounded_targets<6&!variable.pooling_runic_power||buff.swarming_mist.up\nactions.aoe_burst+=/epidemic,if=runic_power.deficit<25&death_knight.fwounded_targets>5&!variable.pooling_runic_power\nactions.aoe_burst+=/epidemic,if=!death_knight.fwounded_targets&!variable.pooling_runic_power||fight_remains<5||raid_event.adds.exists&raid_event.adds.remains<5\nactions.aoe_burst+=/wound_spender\nactions.aoe_burst+=/epidemic,if=!variable.pooling_runic_power\n\n## AoE Setup\nactions.aoe_setup=any_dnd,if=death_knight.fwounded_targets>=cycle_enemies||death_knight.fwounded_targets>=5||!talent.bursting_sores||raid_event.adds.exists&raid_event.adds.remains<=11||fight_remains<=11\nactions.aoe_setup+=/death_coil,if=!variable.pooling_runic_power&(buff.dark_transformation.up&runeforge.deadliest_coil&active_enemies<=3||active_enemies=2)\nactions.aoe_setup+=/epidemic,if=!variable.pooling_runic_power\nactions.aoe_setup+=/festering_strike,cycle_targets=1,if=debuff.festering_wound.stack<=3&cooldown.apocalypse.remains<3\nactions.aoe_setup+=/festering_strike,cycle_targets=1,if=debuff.festering_wound.stack<1\nactions.aoe_setup+=/festering_strike,cycle_targets=1,if=rune.time_to_4<(cooldown.death_and_decay.remains&!talent.defile||cooldown.defile.remains&talent.defile||covenant.night_fae&cooldown.deaths_due.remains)\n# When target swaps are disabled, this will let you spend runes/wounds instead of waiting for DnD/Defile/Death's Due.\nactions.aoe_setup+=/wound_spender,if=(!settings.cycle||death_knight.fwounded_targets>=cycle_enemies)&debuff.festering_wound.stack>3&rune.time_to_35&active_enemies<=3\n# Holds Blight for up to 5 seconds to sync with Apocalypse, Otherwise, use with Dark Transformation.\nactions.cooldowns+=/unholy_blight,if=variable.st_planning&(cooldown.apocalypse.remains_expected<5||cooldown.apocalypse.remains_expected>10)&(cooldown.dark_transformation.remains=4&(!variable.full_cdr||variable.full_cdr&(cooldown.unholy_blight.remains>10||cooldown.dark_transformation.remains_expected>10&!talent.unholy_blight))\nactions.cooldowns+=/apocalypse,cycle_targets=1,if=active_enemies>=2&debuff.festering_wound.stack>3&!death_and_decay.ticking\nactions.cooldowns+=/summon_gargoyle,if=runic_power.deficit<14&cooldown.unholy_blight.remains<13&cooldown.dark_transformation.remains_expected<13\nactions.cooldowns+=/unholy_assault,if=variable.st_planning&debuff.festering_wound.stack<2&(pet.apoc_ghoul.active||buff.dark_transformation.up&cooldown.apocalypse.remains>10)\nactions.cooldowns+=/unholy_assault,cycle_targets=1,if=active_enemies>=2&debuff.festering_wound.stack<2&(pet.apoc_ghoul.active||buff.dark_transformation.up||cooldown.death_and_decay.remains=2&!buff.dark_transformation.up&cooldown.dark_transformation.remains>5||boss&fight_remains16&(cooldown.apocalypse.remains||!talent.army_of_the_damned&cooldown.dark_transformation.remains)||boss&fight_remains<11\n# Set to use after apoc is on CD as to prevent overcapping RP while setting up CD's\nactions.covenants+=/swarming_mist,if=cooldown.apocalypse.remains&(active_enemies>=2&active_enemies<=5&runic_power.deficit>10+(active_enemies*6)&variable.adds_remain||active_enemies>5&runic_power.deficit>40)\nactions.covenants+=/abomination_limb,if=variable.st_planning&!soulbind.lead_by_example&(cooldown.apocalypse.remains||!talent.army_of_the_damned&cooldown.dark_transformation.remains)&rune.time_to_4>buff.runic_corruption.remains||boss&fight_remains<21\nactions.covenants+=/abomination_limb,if=variable.st_planning&(soulbind.lead_by_example||soulbind.kevins_oozeling)&(dot.unholy_blight_dot.remains>11||!talent.unholy_blight&cooldown.dark_transformation.remains)\nactions.covenants+=/abomination_limb,if=variable.adds_remain&rune.time_to_4>buff.runic_corruption.remains\nactions.covenants+=/shackle_the_unworthy,if=variable.st_planning&(cooldown.apocalypse.remains>10||!talent.army_of_the_damned&cooldown.dark_transformation.remains)||boss&fight_remains<15\nactions.covenants+=/shackle_the_unworthy,if=variable.adds_remain&(death_and_decay.ticking||raid_event.adds.remains<=14)\nactions.covenants+=/fleshcraft,if=soulbind.pustule_eruption\n\n## Single Target\nactions.generic=death_coil,if=!variable.pooling_runic_power&(buff.sudden_doom.react||runic_power.deficit<=13)||pet.gargoyle.active&rune<=3||fight_remains<10&!debuff.festering_wound.up\nactions.generic+=/any_dnd,if=(talent.defile.enabled||covenant.night_fae||runeforge.phearomones)&(!variable.pooling_runes||boss&fight_remains<5)\nactions.generic+=/wound_spender,if=variable.major_procs_active&debuff.festering_wound.stack>=1&cooldown.apocalypse.remains_expected>5&!variable.pooling_runes\nactions.generic+=/wound_spender,if=debuff.festering_wound.stack>3&!variable.pooling_runes||debuff.festering_wound.up&fight_remains<(debuff.festering_wound.stack*gcd)\nactions.generic+=/death_coil,if=runic_power.deficit<=20&!variable.pooling_runic_power\nactions.generic+=/festering_strike,if=debuff.festering_wound.stack<4&!variable.pooling_runes\nactions.generic+=/death_coil,if=!variable.pooling_runic_power\nactions.generic+=/wound_spender,if=debuff.festering_wound.stack>=1&rune<2&!variable.pooling_runes&cooldown.apocalypse.remains_expected>5\n\n## Generic AoE Priority\nactions.generic_aoe=wait,sec=cooldown.soul_reaper.remains,if=talent.soul_reaper&target.time_to_pct_35<5&fight_remains>5&cooldown.soul_reaper.remains<(gcd*0.75)&active_enemies<=3\nactions.generic_aoe+=/death_coil,if=(!variable.pooling_runic_power||buff.sudden_doom.react)&(buff.dark_transformation.up&runeforge.deadliest_coil&active_enemies<=3||active_enemies=2)\nactions.generic_aoe+=/epidemic,if=buff.sudden_doom.react||!variable.pooling_runic_power\n# If target cycling is disabled, switch back to the single-target generic list instead.\nactions.generic_aoe+=/run_action_list,name=generic,strict=1,if=cycle_enemies=1\nactions.generic_aoe+=/wound_spender,cycle_targets=1,if=(cooldown.apocalypse.remains>5&debuff.festering_wound.up||debuff.festering_wound.stack>3)&(fight_remainscooldown.apocalypse.remains)\nactions.generic_aoe+=/festering_strike,cycle_targets=1,if=debuff.festering_wound.stack<=3&cooldown.apocalypse.remains<5||debuff.festering_wound.stack<1\nactions.generic_aoe+=/festering_strike,cycle_targets=1,if=cooldown.apocalypse.remains>5&debuff.festering_wound.stack<1\n# This is effectively filler which sims DPS neutral, but should prevent a scenario where the addon has nothing to recommend.\nactions.generic_aoe+=/festering_strike,if=active_dot.festering_wound>=cycle_enemies&debuff.festering_wound.stack<4\n\n# Racials\nactions.racials=arcane_torrent,if=runic_power.deficit>65&(pet.gargoyle.active||!talent.summon_gargoyle.enabled)&rune.deficit>=5\nactions.racials+=/blood_fury,if=variable.major_cooldowns_active||pet.gargoyle.active&pet.gargoyle.remains<=buff.blood_fury.duration||boss&fight_remains<=buff.blood_fury.duration\nactions.racials+=/berserking,if=variable.major_cooldowns_active||pet.gargoyle.active&pet.gargoyle.remains<=buff.berserking.duration||boss&fight_remains<=buff.berserking.duration\nactions.racials+=/lights_judgment,if=buff.unholy_strength.up\n# Ancestral Call can trigger 4 potential buffs, each lasting 15 seconds. Utilized hard coded time as a trigger to keep it readable.\nactions.racials+=/ancestral_call,if=variable.major_cooldowns_active||pet.gargoyle.active&pet.gargoyle.remains<=15||boss&fight_remains<=15\nactions.racials+=/arcane_pulse,if=active_enemies>=2||(rune.deficit>=5&runic_power.deficit>=60)\nactions.racials+=/fireblood,if=variable.major_cooldowns_active||pet.gargoyle.active&pet.gargoyle.remains<=buff.fireblood.duration||boss&fight_remains<=buff.fireblood.duration\nactions.racials+=/bag_of_tricks,if=active_enemies=1&(buff.unholy_strength.up||boss&fight_remains<5)\n\n## Trinkets\nactions.trinkets=use_item,name=inscrutable_quantum_device,if=(cooldown.unholy_blight.remains>20||cooldown.dark_transformation.remains_expected>20)&(active_enemies>=2||pet.army_ghoul.active||pet.apoc_ghoul.active&(talent.unholy_assault||death_knight.disable_aotd)||pet.gargoyle.active)||boss&fight_remains<21||target.time_to_pct_20<5\n# The trinket with the highest estimated value, will be used first and paired with Apocalypse (if buff is 15 seconds or less) or Blight/DT (if greater than 15 seconds)\nactions.trinkets+=/trinket1,if=!variable.specified_trinket&((trinket.1.buff_duration<=15&cooldown.apocalypse.remains>20||trinket.1.buff_duration>15&(cooldown.unholy_blight.remains>20||cooldown.dark_transformation.remains_expected>20)||active_enemies>=2&buff.dark_transformation.up)&(!trinket.2.has_cooldown||trinket.2.cooldown.remains||variable.trinket_priority=1))||trinket.1.buff_duration>=fight_remains\nactions.trinkets+=/trinket2,if=!variable.specified_trinket&((trinket.2.buff_duration<=15&cooldown.apocalypse.remains>20||trinket.2.buff_duration>15&(cooldown.unholy_blight.remains>20||cooldown.dark_transformation.remains_expected>20)||active_enemies>=2&buff.dark_transformation.up)&(!trinket.1.has_cooldown||trinket.1.cooldown.remains||variable.trinket_priority=2))||trinket.2.buff_duration>=fight_remains\n# If only one on use trinket provides a buff, use the other on cooldown. Or if neither trinket provides a buff, use both on cooldown.\nactions.trinkets+=/trinket1,if=!trinket.1.has_use_buff&(trinket.2.cooldown.remains||!trinket.2.has_use_buff)\nactions.trinkets+=/trinket2,if=!trinket.2.has_use_buff&(trinket.1.cooldown.remains||!trinket.1.has_use_buff)", ["author"] = "SimulationCraft", }, ["Frost DK"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210723, ["author"] = "SimC", ["desc"] = "Death Knight Frost\nJuly 21, 2021\n\nChanges\n- Removed last-second usage of Chains of Ice as it doesn't play well in practice.", ["lists"] = { ["obliteration_pooling"] = { { ["enabled"] = true, ["criteria"] = "variable.rw_buffs || active_enemies >= 2", ["action"] = "remorseless_winter", ["description"] = "Pooling For Obliteration: Starts 10 seconds before Pillar of Frost comes off CD", }, -- [1] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & variable.frost_strike_conduits", ["action"] = "frost_strike", }, -- [2] { ["enabled"] = true, ["action"] = "obliterate", ["criteria"] = "buff.killing_machine.react", ["cycle_targets"] = 1, }, -- [3] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime", ["action"] = "howling_blast", }, -- [4] { ["enabled"] = true, ["criteria"] = "spell_targets.glacial_advance >= 2 & runic_power.deficit < 60", ["action"] = "glacial_advance", }, -- [5] { ["enabled"] = true, ["action"] = "frost_strike", ["criteria"] = "runic_power.deficit < 70", ["cycle_targets"] = 1, }, -- [6] { ["enabled"] = true, ["action"] = "obliterate", ["criteria"] = "rune >= 3", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["criteria"] = "active_enemies >= 4 & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [8] }, ["cold_heart"] = { { ["enabled"] = true, ["criteria"] = "! talent.obliteration.enabled & buff.pillar_of_frost.up & buff.cold_heart.stack >= 10 & buff.pillar_of_frost.remains < gcd * ( 1 + cooldown.frostwyrms_fury.ready )", ["action"] = "chains_of_ice", ["description"] = "Use during Pillar with Icecap/Breath", }, -- [1] { ["enabled"] = true, ["criteria"] = "! talent.obliteration.enabled & death_knight.runeforge.fallen_crusader & ! buff.pillar_of_frost.up & cooldown.pillar_of_frost.remains > 15 & ( buff.cold_heart.stack >= 10 & buff.unholy_strength.up || buff.cold_heart.stack >= 13 )", ["action"] = "chains_of_ice", ["description"] = "Outside of Pillar useage with Icecap/Breath", }, -- [2] { ["enabled"] = true, ["criteria"] = "! talent.obliteration.enabled & ! death_knight.runeforge.fallen_crusader & buff.cold_heart.stack >= 10 & ! buff.pillar_of_frost.up & cooldown.pillar_of_frost.remains > 20", ["action"] = "chains_of_ice", }, -- [3] { ["enabled"] = true, ["criteria"] = "talent.obliteration.enabled & ! buff.pillar_of_frost.up & ( buff.cold_heart.stack >= 14 & buff.unholy_strength.up || buff.cold_heart.stack >= 19 || cooldown.pillar_of_frost.remains < 3 & buff.cold_heart.stack >= 14 )", ["action"] = "chains_of_ice", ["description"] = "Prevent Cold Heart overcapping during pillar", }, -- [4] }, ["obliteration"] = { { ["enabled"] = true, ["criteria"] = "active_enemies >= 3 & variable.rw_buffs", ["action"] = "remorseless_winter", ["description"] = "Obliteration rotation", }, -- [1] { ["enabled"] = true, ["criteria"] = "! dot.frost_fever.ticking & ! buff.killing_machine.up & rune >= 3", ["action"] = "howling_blast", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.killing_machine.react & spell_targets.frostscythe >= 2 & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [3] { ["enabled"] = true, ["action"] = "obliterate", ["criteria"] = "buff.killing_machine.react", ["cycle_targets"] = 1, }, -- [4] { ["enabled"] = true, ["criteria"] = "spell_targets.glacial_advance >= 2 & ( runic_power.deficit < 10 || rune.time_to_2 > gcd ) || ( debuff.razorice.stack < 5 || debuff.razorice.remains < 15 )", ["action"] = "glacial_advance", }, -- [5] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & variable.frost_strike_conduits", ["action"] = "frost_strike", }, -- [6] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime & spell_targets.howling_blast >= 2", ["action"] = "howling_blast", }, -- [7] { ["enabled"] = true, ["criteria"] = "spell_targets.glacial_advance >= 2", ["action"] = "glacial_advance", }, -- [8] { ["enabled"] = true, ["action"] = "frost_strike", ["criteria"] = "! talent.avalanche.enabled & ! buff.killing_machine.up || talent.avalanche.enabled & ! variable.rotfc_rime || variable.rotfc_rime & rune.time_to_2 >= gcd", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime", ["action"] = "howling_blast", }, -- [10] { ["enabled"] = true, ["action"] = "obliterate", ["cycle_targets"] = 1, }, -- [11] }, ["standard"] = { { ["enabled"] = true, ["criteria"] = "variable.rw_buffs", ["action"] = "remorseless_winter", ["description"] = "Standard single-target rotation", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.killing_machine.react", ["action"] = "obliterate", }, -- [2] { ["enabled"] = true, ["criteria"] = "variable.frost_strike_conduits", ["action"] = "frost_strike", }, -- [3] { ["enabled"] = true, ["criteria"] = "! death_knight.runeforge.razorice & ( debuff.razorice.stack < 5 || debuff.razorice.remains < 7 )", ["action"] = "glacial_advance", }, -- [4] { ["enabled"] = true, ["criteria"] = "cooldown.remorseless_winter.remains <= 2 * gcd & talent.gathering_storm.enabled", ["action"] = "frost_strike", }, -- [5] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime", ["action"] = "howling_blast", }, -- [6] { ["enabled"] = true, ["criteria"] = "! buff.frozen_pulse.up & talent.frozen_pulse.enabled || variable.deaths_due_active & buff.deaths_due.stack < 4 || rune.time_to_4 <= gcd", ["action"] = "obliterate", }, -- [7] { ["enabled"] = true, ["criteria"] = "runic_power.deficit < ( 15 + talent.runic_attenuation.enabled * 5 )", ["action"] = "frost_strike", }, -- [8] { ["enabled"] = true, ["criteria"] = "runic_power.deficit > ( 25 + talent.runic_attenuation.enabled * 5 )", ["action"] = "obliterate", }, -- [9] { ["action"] = "frost_strike", ["enabled"] = true, }, -- [10] { ["action"] = "horn_of_winter", ["enabled"] = true, }, -- [11] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [12] }, ["racials"] = { { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up", ["action"] = "blood_fury", ["description"] = "Racial Abilities", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up", ["action"] = "berserking", }, -- [2] { ["enabled"] = true, ["criteria"] = "( ! buff.pillar_of_frost.up & active_enemies >= 2 ) || ! buff.pillar_of_frost.up & ( rune.deficit >= 5 & runic_power.deficit >= 60 )", ["action"] = "arcane_pulse", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up", ["action"] = "lights_judgment", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up & buff.empower_rune_weapon.up", ["action"] = "ancestral_call", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.remains <= 8 & buff.empower_rune_weapon.up", ["action"] = "fireblood", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up & active_enemies = 1 & ( buff.pillar_of_frost.remains < 5 & talent.cold_heart.enabled || ! talent.cold_heart.enabled & buff.pillar_of_frost.remains < 3 )", ["action"] = "bag_of_tricks", }, -- [7] }, ["bos_pooling"] = { { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime", ["action"] = "howling_blast", ["description"] = "Breath of Sindragosa pooling rotation : starts 10s before BoS is available", }, -- [1] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2 || rune.time_to_5 <= gcd & variable.rw_buffs", ["action"] = "remorseless_winter", }, -- [2] { ["enabled"] = true, ["action"] = "obliterate", ["criteria"] = "runic_power.deficit >= 25", ["cycle_targets"] = 1, }, -- [3] { ["enabled"] = true, ["criteria"] = "runic_power.deficit < 20 & spell_targets.glacial_advance >= 2 & cooldown.pillar_of_frost.remains > 5", ["action"] = "glacial_advance", }, -- [4] { ["enabled"] = true, ["action"] = "frost_strike", ["criteria"] = "runic_power.deficit < 20 & cooldown.pillar_of_frost.remains > 5", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.killing_machine.react & runic_power.deficit > ( 15 + talent.runic_attenuation.enabled * 5 ) & spell_targets.frostscythe >= 2 & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [6] { ["enabled"] = true, ["criteria"] = "runic_power.deficit >= ( 35 + talent.runic_attenuation.enabled * 5 ) & spell_targets.frostscythe >= 2 & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [7] { ["enabled"] = true, ["criteria"] = "cooldown.pillar_of_frost.remains > rune.time_to_4 & runic_power.deficit < 40 & spell_targets.glacial_advance >= 2", ["action"] = "glacial_advance", }, -- [8] { ["enabled"] = true, ["action"] = "frost_strike", ["criteria"] = "cooldown.pillar_of_frost.remains > rune.time_to_4 & runic_power.deficit < 40", ["cycle_targets"] = 1, }, -- [9] }, ["aoe"] = { { ["enabled"] = true, ["description"] = "AoE Rotation", ["action"] = "remorseless_winter", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.frostscythe.enabled", ["action"] = "glacial_advance", }, -- [2] { ["enabled"] = true, ["action"] = "frost_strike", ["cycle_targets"] = 1, ["criteria"] = "cooldown.remorseless_winter.remains <= 2 * gcd & talent.gathering_storm.enabled", ["description"] = "Formulaic approach to create a pseudo priority target list for applying razorice in aoe", }, -- [3] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime", ["action"] = "howling_blast", }, -- [4] { ["enabled"] = true, ["criteria"] = "variable.deaths_due_active & buff.deaths_due.stack < 4", ["action"] = "obliterate", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.killing_machine.react & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [6] { ["enabled"] = true, ["criteria"] = "runic_power.deficit < ( 15 + talent.runic_attenuation.enabled * 3 )", ["action"] = "glacial_advance", }, -- [7] { ["enabled"] = true, ["action"] = "frost_strike", ["criteria"] = "runic_power.deficit < ( 15 + talent.runic_attenuation.enabled * 5 )", ["cycle_targets"] = 1, }, -- [8] { ["enabled"] = true, ["criteria"] = "! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [9] { ["enabled"] = true, ["action"] = "obliterate", ["criteria"] = "runic_power.deficit > ( 25 + talent.runic_attenuation.enabled * 5 )", ["cycle_targets"] = 1, }, -- [10] { ["action"] = "glacial_advance", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["action"] = "frost_strike", ["cycle_targets"] = 1, }, -- [12] { ["action"] = "horn_of_winter", ["enabled"] = true, }, -- [13] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [14] }, ["default"] = { { ["action"] = "mind_freeze", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( equipped.inscrutable_quantum_device & cooldown.inscrutable_quantum_device.ready )", ["description"] = "Prevent specified trinkets being used with automatic lines", ["var_name"] = "specified_trinket", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_enemies = 1 & ( raid_event.adds.in > 15 || ! raid_event.adds.exists )", ["var_name"] = "st_planning", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_enemies >= 2 & ( ! raid_event.adds.exists || raid_event.adds.exists & ( raid_event.adds.remains > 5 || fight_remains > 10 ) )", ["var_name"] = "adds_remain", }, -- [4] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "buff.rime.up & ( ! runeforge.rage_of_the_frozen_champion.enabled || runeforge.rage_of_the_frozen_champion.enabled & runic_power.deficit > 8 )", ["var_name"] = "rotfc_rime", }, -- [5] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "conduit.eradicating_blow & buff.eradicating_blow.stack = 2 || conduit.unleashed_frenzy.enabled & buff.unleashed_frenzy.remains < ( gcd * 2 )", ["var_name"] = "frost_strike_conduits", }, -- [6] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "death_and_decay.ticking & covenant.night_fae", ["var_name"] = "deaths_due_active", }, -- [7] { ["enabled"] = true, ["criteria"] = "conduit.everfrost & talent.gathering_storm.enabled & ! talent.obliteration.enabled & cooldown.pillar_of_frost.remains", ["action"] = "remorseless_winter", ["description"] = "Apply Frost Fever, maintain Icy Talons and keep Remorseless Winter rolling", }, -- [8] { ["enabled"] = true, ["action"] = "howling_blast", ["criteria"] = "dot.frost_fever.refreshable & ( talent.icecap.enabled || ! buff.breath_of_sindragosa.up & talent.breath_of_sindragosa.enabled || talent.obliteration.enabled & cooldown.pillar_of_frost.remains & ! buff.killing_machine.up )", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.icy_talons.remains <= gcd & buff.icy_talons.up & spell_targets.glacial_advance >= 2 & ( ! talent.breath_of_sindragosa.enabled || cooldown.breath_of_sindragosa.remains > 15 )", ["action"] = "glacial_advance", }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.icy_talons.remains <= gcd & buff.icy_talons.up & ( ! talent.breath_of_sindragosa.enabled || ! buff.breath_of_sindragosa.up & cooldown.breath_of_sindragosa.remains > 10 )", ["action"] = "frost_strike", }, -- [11] { ["enabled"] = true, ["description"] = "Choose Action list to run", ["action"] = "call_action_list", ["list_name"] = "covenants", }, -- [12] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "racials", }, -- [13] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "trinkets", }, -- [14] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [15] { ["enabled"] = true, ["criteria"] = "talent.cold_heart.enabled & ( ! buff.killing_machine.up || talent.breath_of_sindragosa.enabled ) & ( debuff.razorice.stack = 5 || ! death_knight.runeforge.razorice )", ["action"] = "call_action_list", ["list_name"] = "cold_heart", }, -- [16] { ["enabled"] = true, ["criteria"] = "buff.breath_of_sindragosa.up", ["action"] = "run_action_list", ["list_name"] = "bos_ticking", }, -- [17] { ["enabled"] = true, ["criteria"] = "talent.breath_of_sindragosa.enabled & ( cooldown.breath_of_sindragosa.remains < 10 ) & ( raid_event.adds.in > 25 || ! raid_event.adds.exists || cooldown.pillar_of_frost.remains < 10 & raid_event.adds.exists & raid_event.adds.in < 10 )", ["action"] = "run_action_list", ["list_name"] = "bos_pooling", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up & talent.obliteration.enabled", ["action"] = "run_action_list", ["list_name"] = "obliteration", }, -- [19] { ["enabled"] = true, ["criteria"] = "talent.obliteration.enabled & cooldown.pillar_of_frost.remains < 10 & ( variable.st_planning || raid_event.adds.exists & raid_event.adds.in < 10 || ! raid_event.adds.exists )", ["action"] = "run_action_list", ["list_name"] = "obliteration_pooling", }, -- [20] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2", ["action"] = "run_action_list", ["list_name"] = "aoe", }, -- [21] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "standard", }, -- [22] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "setif", ["description"] = "Evaluates a trinkets cooldown, divided by pillar of frost or breath of sindragosa's cooldown. If it's value has no remainder return 1, else return 0.5.", ["criteria"] = "trinket.t1.has_use_buff & ( ! talent.breath_of_sindragosa.enabled & ( trinket.t1.cooldown.duration % cooldown.pillar_of_frost.duration = 0 ) || talent.breath_of_sindragosa.enabled & ( cooldown.breath_of_sindragosa.duration % trinket.t1.cooldown.duration = 0 ) || talent.icecap.enabled )", ["var_name"] = "trinket_1_sync", ["action"] = "variable", ["value_else"] = "0.5", ["value"] = "1", }, -- [1] { ["enabled"] = true, ["op"] = "setif", ["action"] = "variable", ["var_name"] = "trinket_2_sync", ["criteria"] = "trinket.t2.has_use_buff & ( ! talent.breath_of_sindragosa.enabled & ( trinket.t2.cooldown.duration % cooldown.pillar_of_frost.duration = 0 ) || talent.breath_of_sindragosa.enabled & ( cooldown.breath_of_sindragosa.duration % trinket.t2.cooldown.duration = 0 ) || talent.icecap.enabled )", ["value_else"] = "0.5", ["value"] = "1", }, -- [2] { ["enabled"] = true, ["op"] = "setif", ["description"] = "Estimates a trinkets value by comparing the cooldown of the trinket, divided by the duration of the buff it provides. Has a strength modifier to give a higher priority to strength trinkets, as well as a modifier for if a trinket will or will not sync with cooldowns.", ["criteria"] = "! trinket.t1.has_use_buff & trinket.t2.has_use_buff || trinket.t2.has_use_buff & ( ( trinket.t2.cooldown.duration / trinket.t2.buff_duration ) * ( 1.5 + trinket.t2.has_buff.strength ) * ( variable.trinket_2_sync ) ) > ( ( trinket.t1.cooldown.duration / trinket.t1.buff_duration ) * ( 1.5 + trinket.t1.has_buff.strength ) * ( variable.trinket_1_sync ) )", ["var_name"] = "trinket_priority", ["action"] = "variable", ["value_else"] = "1", ["value"] = "2", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "talent.gathering_storm.enabled || conduit.everfrost.enabled || runeforge.biting_cold.enabled", ["var_name"] = "rw_buffs", }, -- [4] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [5] }, ["cooldowns"] = { { ["enabled"] = true, ["action"] = "potion", ["criteria"] = "buff.pillar_of_frost.up", ["description"] = "Potion", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.obliteration.enabled & rune < 6 & ( variable.st_planning || variable.adds_remain ) & ( cooldown.pillar_of_frost.remains < 5 || buff.pillar_of_frost.up ) || fight_remains < 20", ["action"] = "empower_rune_weapon", ["description"] = "Cooldowns", }, -- [2] { ["enabled"] = true, ["criteria"] = "talent.breath_of_sindragosa.enabled & runic_power.deficit > 30 & rune.time_to_5 > gcd & ( buff.breath_of_sindragosa.up || fight_remains < 20 )", ["action"] = "empower_rune_weapon", }, -- [3] { ["enabled"] = true, ["criteria"] = "talent.icecap.enabled", ["action"] = "empower_rune_weapon", }, -- [4] { ["enabled"] = true, ["criteria"] = "talent.breath_of_sindragosa.enabled & ( variable.st_planning || variable.adds_remain ) & ( cooldown.breath_of_sindragosa.remains || cooldown.breath_of_sindragosa.ready & runic_power.deficit < 50 )", ["action"] = "pillar_of_frost", }, -- [5] { ["enabled"] = true, ["criteria"] = "talent.icecap.enabled & ! buff.pillar_of_frost.up", ["action"] = "pillar_of_frost", }, -- [6] { ["enabled"] = true, ["criteria"] = "talent.obliteration.enabled & ( variable.st_planning || variable.adds_remain ) & ( talent.gathering_storm.enabled & buff.remorseless_winter.up || ! talent.gathering_storm.enabled )", ["action"] = "pillar_of_frost", }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up", ["action"] = "breath_of_sindragosa", }, -- [8] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & buff.pillar_of_frost.remains < gcd & buff.pillar_of_frost.up & ! talent.obliteration.enabled & ( ! raid_event.adds.exists || raid_event.adds.in > 30 ) || fight_remains < 3", ["action"] = "frostwyrms_fury", }, -- [9] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2 & ( buff.pillar_of_frost.up || raid_event.adds.in > cooldown.pillar_of_frost.remains ) & ( buff.pillar_of_frost.remains < gcd || raid_event.adds.remains < gcd )", ["action"] = "frostwyrms_fury", }, -- [10] { ["enabled"] = true, ["criteria"] = "talent.obliteration.enabled & buff.pillar_of_frost.up & ( ( buff.pillar_of_frost.remains < gcd || buff.unholy_strength.up & buff.unholy_strength.remains < gcd ) & ( debuff.razorice.stack = 5 || ! death_knight.runeforge.razorice ) )", ["action"] = "frostwyrms_fury", }, -- [11] { ["enabled"] = true, ["criteria"] = "talent.breath_of_sindragosa.enabled & runic_power.deficit > 40 & rune <= 3 & ( buff.breath_of_sindragosa.up || cooldown.breath_of_sindragosa.remains > 40 ) || ! talent.breath_of_sindragosa.enabled & runic_power.deficit >= 25", ["action"] = "hypothermic_presence", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up", ["action"] = "raise_dead", }, -- [13] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2 & ( boss & fight_remains < 3 || ! buff.breath_of_sindragosa.up & ( pet.ghoul.remains < gcd || raid_event.adds.remains < 3 & raid_event.adds.in > pet.ghoul.remains ) )", ["action"] = "sacrificial_pact", }, -- [14] { ["enabled"] = true, ["criteria"] = "active_enemies > 5 || runeforge.phearomones.enabled", ["action"] = "death_and_decay", }, -- [15] }, ["trinkets"] = { { ["enabled"] = true, ["criteria"] = "buff.pillar_of_frost.up || target.time_to_pct_20 < 5 || boss & fight_remains < 21", ["action"] = "inscrutable_quantum_device", ["description"] = "Trinkets", }, -- [1] { ["enabled"] = true, ["criteria"] = "! variable.specified_trinket & buff.pillar_of_frost.up & ( ! talent.icecap.enabled || talent.icecap.enabled & buff.pillar_of_frost.remains >= 10 ) & ( ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || variable.trinket_priority = 1 ) || trinket.t1.buff_duration >= fight_remains", ["action"] = "trinket1", ["description"] = "The trinket with the highest estimated value, will be used first and paired with Pillar of Frost.", }, -- [2] { ["enabled"] = true, ["criteria"] = "! variable.specified_trinket & buff.pillar_of_frost.up & ( ! talent.icecap.enabled || talent.icecap.enabled & buff.pillar_of_frost.remains >= 10 ) & ( ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || variable.trinket_priority = 2 ) || trinket.t2.buff_duration >= fight_remains", ["action"] = "trinket2", }, -- [3] { ["enabled"] = true, ["criteria"] = "! trinket.t1.has_use_buff & ( trinket.t2.cooldown.remains || ! trinket.t2.has_use_buff ) || cooldown.pillar_of_frost.remains > 20", ["action"] = "trinket1", ["description"] = "If only one on use trinket provides a buff, use the other on cooldown. Or if neither trinket provides a buff, use both on cooldown.", }, -- [4] { ["enabled"] = true, ["criteria"] = "! trinket.t2.has_use_buff & ( trinket.t1.cooldown.remains || ! trinket.t1.has_use_buff ) || cooldown.pillar_of_frost.remains > 20", ["action"] = "trinket2", }, -- [5] }, ["covenants"] = { { ["enabled"] = true, ["criteria"] = "variable.st_planning || variable.adds_remain", ["action"] = "deaths_due", ["description"] = "Covenant Abilities", }, -- [1] { ["enabled"] = true, ["criteria"] = "runic_power.deficit > 13 & cooldown.pillar_of_frost.remains < 3 & ! talent.breath_of_sindragosa.enabled & variable.st_planning", ["action"] = "swarming_mist", }, -- [2] { ["enabled"] = true, ["criteria"] = "! talent.breath_of_sindragosa.enabled & variable.adds_remain", ["action"] = "swarming_mist", }, -- [3] { ["enabled"] = true, ["criteria"] = "talent.breath_of_sindragosa.enabled & ( buff.breath_of_sindragosa.up & ( variable.st_planning & runic_power.deficit > 40 || variable.adds_remain & runic_power.deficit > 60 || variable.adds_remain & raid_event.adds.remains < 9 ) || ! buff.breath_of_sindragosa.up & cooldown.breath_of_sindragosa.remains )", ["action"] = "swarming_mist", }, -- [4] { ["enabled"] = true, ["criteria"] = "cooldown.pillar_of_frost.remains < 3 & variable.st_planning & ( talent.breath_of_sindragosa.enabled & runic_power.deficit < 60 & cooldown.breath_of_sindragosa.remains < 2 || ! talent.breath_of_sindragosa.enabled )", ["action"] = "abomination_limb", }, -- [5] { ["enabled"] = true, ["criteria"] = "variable.adds_remain", ["action"] = "abomination_limb", }, -- [6] { ["enabled"] = true, ["criteria"] = "variable.st_planning & ( cooldown.pillar_of_frost.remains < 3 || talent.icecap.enabled )", ["action"] = "shackle_the_unworthy", }, -- [7] { ["enabled"] = true, ["criteria"] = "variable.adds_remain", ["action"] = "shackle_the_unworthy", }, -- [8] { ["enabled"] = true, ["criteria"] = "! buff.pillar_of_frost.up & ( soulbind.pustule_eruption.enabled || soulbind.volatile_solvent.enabled )", ["interrupt_if"] = "soulbind.volatile_solvent", ["interrupt_immediate"] = "1", ["action"] = "fleshcraft", ["interrupt_global"] = "1", }, -- [9] }, ["bos_ticking"] = { { ["enabled"] = true, ["action"] = "obliterate", ["cycle_targets"] = 1, ["criteria"] = "runic_power.deficit >= ( 45 + talent.runic_attenuation.enabled * 5 )", ["description"] = "Breath of Sindragosa Active Rotation", }, -- [1] { ["enabled"] = true, ["criteria"] = "variable.rw_buffs || active_enemies >= 2 || runic_power < 32", ["action"] = "remorseless_winter", }, -- [2] { ["enabled"] = true, ["criteria"] = "runic_power < 32", ["action"] = "death_and_decay", }, -- [3] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime & ( runic_power.deficit < 55 || rune.time_to_3 <= gcd || runeforge.rage_of_the_frozen_champion.enabled || spell_targets.howling_blast >= 2 ) || runic_power < 32", ["action"] = "howling_blast", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.killing_machine.up & spell_targets.frostscythe >= 2 & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [5] { ["enabled"] = true, ["criteria"] = "runic_power.deficit >= 40 & rune.time_to_3 > gcd", ["action"] = "horn_of_winter", }, -- [6] { ["enabled"] = true, ["criteria"] = "spell_targets.frostscythe >= 2 & ! variable.deaths_due_active", ["action"] = "frostscythe", }, -- [7] { ["enabled"] = true, ["action"] = "obliterate", ["criteria"] = "runic_power.deficit > 25 || rune.time_to_3 < gcd", ["cycle_targets"] = 1, }, -- [8] { ["enabled"] = true, ["criteria"] = "variable.rotfc_rime", ["action"] = "howling_blast", }, -- [9] { ["enabled"] = true, ["criteria"] = "runic_power.deficit > 50", ["action"] = "arcane_torrent", }, -- [10] }, }, ["version"] = 20210723, ["warnings"] = "WARNING: The import for 'cold_heart' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'obliteration' required some automated changes.\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (2x).\n\nWARNING: The import for 'bos_ticking' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'covenants' required some automated changes.\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 5: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 9: Converted 'soulbind.X' to 'soulbind.X.enabled' (2x).\n\nWARNING: The import for 'standard' required some automated changes.\nLine 5: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 8: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'bos_pooling' required some automated changes.\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'precombat' required some automated changes.\nLine 1: Converted SimC syntax %% to Lua modulus operator (%) (2x).\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 1: Converted 'trinket.1.X' to 'trinket.t1.X' (3x).\nLine 2: Converted SimC syntax %% to Lua modulus operator (%) (2x).\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 2: Converted 'trinket.2.X' to 'trinket.t2.X' (3x).\nLine 3: Converted SimC syntax % to Lua division operator (/) (2x).\nLine 3: Converted 'trinket.1.X' to 'trinket.t1.X' (4x).\nLine 3: Converted 'trinket.2.X' to 'trinket.t2.X' (5x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 4: Converted 'conduit.X' to 'conduit.X.enabled' (1x).\n\nWARNING: The import for 'cooldowns' required some automated changes.\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 5: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 11: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 12: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 15: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nWARNING: The import for 'trinkets' required some automated changes.\nLine 2: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 2: Converted 'trinket.1.X' to 'trinket.t1.X' (1x).\nLine 2: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 3: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 3: Converted 'trinket.2.X' to 'trinket.t2.X' (1x).\nLine 4: Converted 'trinket.1.X' to 'trinket.t1.X' (1x).\nLine 4: Converted 'trinket.2.X' to 'trinket.t2.X' (2x).\nLine 5: Converted 'trinket.1.X' to 'trinket.t1.X' (2x).\nLine 5: Converted 'trinket.2.X' to 'trinket.t2.X' (1x).\n\nWARNING: The import for 'default' required some automated changes.\nLine 5: Converted 'runeforge.X' to 'runeforge.X.enabled' (2x).\nLine 6: Converted 'conduit.X' to 'conduit.X.enabled' (1x).\nLine 8: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (3x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 11: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 16: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 18: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 19: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 20: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'aoe' required some automated changes.\nLine 2: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 3: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 7: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 8: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nThe 'use_items' action was not found in this import.\nImported 13 action lists.\n", ["profile"] = "## Death Knight Frost\n## July 21, 2021\n\n## Changes\n## - Removed last-second usage of Chains of Ice as it doesn't play well in practice.\n\n# Evaluates a trinkets cooldown, divided by pillar of frost or breath of sindragosa's cooldown. If it's value has no remainder return 1, else return 0.5.\nactions.precombat+=/variable,name=trinket_1_sync,op=setif,value=1,value_else=0.5,condition=trinket.1.has_use_buff&(!talent.breath_of_sindragosa&(trinket.1.cooldown.duration%%cooldown.pillar_of_frost.duration=0)||talent.breath_of_sindragosa&(cooldown.breath_of_sindragosa.duration%%trinket.1.cooldown.duration=0)||talent.icecap)\nactions.precombat+=/variable,name=trinket_2_sync,op=setif,value=1,value_else=0.5,condition=trinket.2.has_use_buff&(!talent.breath_of_sindragosa&(trinket.2.cooldown.duration%%cooldown.pillar_of_frost.duration=0)||talent.breath_of_sindragosa&(cooldown.breath_of_sindragosa.duration%%trinket.2.cooldown.duration=0)||talent.icecap)\n# Estimates a trinkets value by comparing the cooldown of the trinket, divided by the duration of the buff it provides. Has a strength modifier to give a higher priority to strength trinkets, as well as a modifier for if a trinket will or will not sync with cooldowns.\nactions.precombat+=/variable,name=trinket_priority,op=setif,value=2,value_else=1,condition=!trinket.1.has_use_buff&trinket.2.has_use_buff||trinket.2.has_use_buff&((trinket.2.cooldown.duration%trinket.2.buff_duration)*(1.5+trinket.2.has_buff.strength)*(variable.trinket_2_sync))>((trinket.1.cooldown.duration%trinket.1.buff_duration)*(1.5+trinket.1.has_buff.strength)*(variable.trinket_1_sync))\nactions.precombat+=/variable,name=rw_buffs,value=talent.gathering_storm||conduit.everfrost||runeforge.biting_cold\nactions.precombat+=/fleshcraft\n\n## Executed every time the actor is available.\nactions=mind_freeze\n# Prevent specified trinkets being used with automatic lines\nactions+=/variable,name=specified_trinket,value=(equipped.inscrutable_quantum_device&cooldown.inscrutable_quantum_device.ready)\nactions+=/variable,name=st_planning,value=active_enemies=1&(raid_event.adds.in>15||!raid_event.adds.exists)\nactions+=/variable,name=adds_remain,value=active_enemies>=2&(!raid_event.adds.exists||raid_event.adds.exists&(raid_event.adds.remains>5||fight_remains>10))\nactions+=/variable,name=rotfc_rime,value=buff.rime.up&(!runeforge.rage_of_the_frozen_champion||runeforge.rage_of_the_frozen_champion&runic_power.deficit>8)\nactions+=/variable,name=frost_strike_conduits,value=conduit.eradicating_blow&buff.eradicating_blow.stack=2||conduit.unleashed_frenzy&buff.unleashed_frenzy.remains<(gcd*2)\nactions+=/variable,name=deaths_due_active,value=death_and_decay.ticking&covenant.night_fae\n# Apply Frost Fever, maintain Icy Talons and keep Remorseless Winter rolling\nactions+=/remorseless_winter,if=conduit.everfrost&talent.gathering_storm&!talent.obliteration&cooldown.pillar_of_frost.remains\nactions+=/howling_blast,cycle_targets=1,if=dot.frost_fever.refreshable&(talent.icecap||!buff.breath_of_sindragosa.up&talent.breath_of_sindragosa||talent.obliteration&cooldown.pillar_of_frost.remains&!buff.killing_machine.up)\nactions+=/glacial_advance,if=buff.icy_talons.remains<=gcd&buff.icy_talons.up&spell_targets.glacial_advance>=2&(!talent.breath_of_sindragosa||cooldown.breath_of_sindragosa.remains>15)\nactions+=/frost_strike,if=buff.icy_talons.remains<=gcd&buff.icy_talons.up&(!talent.breath_of_sindragosa||!buff.breath_of_sindragosa.up&cooldown.breath_of_sindragosa.remains>10)\n# Choose Action list to run\nactions+=/call_action_list,name=covenants\nactions+=/call_action_list,name=racials\nactions+=/call_action_list,name=trinkets\nactions+=/call_action_list,name=cooldowns\nactions+=/call_action_list,name=cold_heart,if=talent.cold_heart&(!buff.killing_machine.up||talent.breath_of_sindragosa)&(debuff.razorice.stack=5||!death_knight.runeforge.razorice)\nactions+=/run_action_list,name=bos_ticking,if=buff.breath_of_sindragosa.up\nactions+=/run_action_list,name=bos_pooling,if=talent.breath_of_sindragosa&(cooldown.breath_of_sindragosa.remains<10)&(raid_event.adds.in>25||!raid_event.adds.exists||cooldown.pillar_of_frost.remains<10&raid_event.adds.exists&raid_event.adds.in<10)\nactions+=/run_action_list,name=obliteration,if=buff.pillar_of_frost.up&talent.obliteration\nactions+=/run_action_list,name=obliteration_pooling,if=talent.obliteration&cooldown.pillar_of_frost.remains<10&(variable.st_planning||raid_event.adds.exists&raid_event.adds.in<10||!raid_event.adds.exists)\nactions+=/run_action_list,name=aoe,if=active_enemies>=2\nactions+=/call_action_list,name=standard\n\n# AoE Rotation\nactions.aoe=remorseless_winter\nactions.aoe+=/glacial_advance,if=talent.frostscythe\n# Formulaic approach to create a pseudo priority target list for applying razorice in aoe\nactions.aoe+=/frost_strike,cycle_targets=1,if=cooldown.remorseless_winter.remains<=2*gcd&talent.gathering_storm\nactions.aoe+=/howling_blast,if=variable.rotfc_rime\nactions.aoe+=/obliterate,if=variable.deaths_due_active&buff.deaths_due.stack<4\nactions.aoe+=/frostscythe,if=buff.killing_machine.react&!variable.deaths_due_active\nactions.aoe+=/glacial_advance,if=runic_power.deficit<(15+talent.runic_attenuation*3)\nactions.aoe+=/frost_strike,cycle_targets=1,if=runic_power.deficit<(15+talent.runic_attenuation*5)\nactions.aoe+=/frostscythe,if=!variable.deaths_due_active\nactions.aoe+=/obliterate,cycle_targets=1,if=runic_power.deficit>(25+talent.runic_attenuation*5)\nactions.aoe+=/glacial_advance\nactions.aoe+=/frost_strike,cycle_targets=1\nactions.aoe+=/horn_of_winter\nactions.aoe+=/arcane_torrent\n\n# Breath of Sindragosa pooling rotation : starts 10s before BoS is available\nactions.bos_pooling=howling_blast,if=variable.rotfc_rime\nactions.bos_pooling+=/remorseless_winter,if=active_enemies>=2||rune.time_to_5<=gcd&variable.rw_buffs\n## 'target_if=max:(debuff.razorice.stack+1)%(debuff.razorice.remains+1)*death_knight.runeforge.razorice' Repeats a lot, this is intended to target the highest priority enemy with an ability that will apply razorice if runeforged. That being an enemy with 0 stacks, or an enemy that the debuff will soon expire on.\nactions.bos_pooling+=/obliterate,cycle_targets=1,if=runic_power.deficit>=25\nactions.bos_pooling+=/glacial_advance,if=runic_power.deficit<20&spell_targets.glacial_advance>=2&cooldown.pillar_of_frost.remains>5\nactions.bos_pooling+=/frost_strike,cycle_targets=1,if=runic_power.deficit<20&cooldown.pillar_of_frost.remains>5\nactions.bos_pooling+=/frostscythe,if=buff.killing_machine.react&runic_power.deficit>(15+talent.runic_attenuation*5)&spell_targets.frostscythe>=2&!variable.deaths_due_active\nactions.bos_pooling+=/frostscythe,if=runic_power.deficit>=(35+talent.runic_attenuation*5)&spell_targets.frostscythe>=2&!variable.deaths_due_active\nactions.bos_pooling+=/glacial_advance,if=cooldown.pillar_of_frost.remains>rune.time_to_4&runic_power.deficit<40&spell_targets.glacial_advance>=2\nactions.bos_pooling+=/frost_strike,cycle_targets=1,if=cooldown.pillar_of_frost.remains>rune.time_to_4&runic_power.deficit<40\n\n# Breath of Sindragosa Active Rotation\nactions.bos_ticking=obliterate,cycle_targets=1,if=runic_power.deficit>=(45+talent.runic_attenuation*5)\nactions.bos_ticking+=/remorseless_winter,if=variable.rw_buffs||active_enemies>=2||runic_power<32\nactions.bos_ticking+=/death_and_decay,if=runic_power<32\nactions.bos_ticking+=/howling_blast,if=variable.rotfc_rime&(runic_power.deficit<55||rune.time_to_3<=gcd||runeforge.rage_of_the_frozen_champion||spell_targets.howling_blast>=2)||runic_power<32\nactions.bos_ticking+=/frostscythe,if=buff.killing_machine.up&spell_targets.frostscythe>=2&!variable.deaths_due_active\nactions.bos_ticking+=/horn_of_winter,if=runic_power.deficit>=40&rune.time_to_3>gcd\nactions.bos_ticking+=/frostscythe,if=spell_targets.frostscythe>=2&!variable.deaths_due_active\nactions.bos_ticking+=/obliterate,cycle_targets=1,if=runic_power.deficit>25||rune.time_to_350\n\n## Cold Heart Conditions\n## actions.cold_heart=chains_of_ice,if=fight_remains=4+runeforge.koltiras_favor||main_hand.2h&buff.cold_heart.stack>8+runeforge.koltiras_favor)||buff.killing_machine.up&(!main_hand.2h&buff.cold_heart.stack>8+runeforge.koltiras_favor||main_hand.2h&buff.cold_heart.stack>10+runeforge.koltiras_favor))\n# Use during Pillar with Icecap/Breath\nactions.cold_heart+=/chains_of_ice,if=!talent.obliteration&buff.pillar_of_frost.up&buff.cold_heart.stack>=10&buff.pillar_of_frost.remains15&(buff.cold_heart.stack>=10&buff.unholy_strength.up||buff.cold_heart.stack>=13)\nactions.cold_heart+=/chains_of_ice,if=!talent.obliteration&!death_knight.runeforge.fallen_crusader&buff.cold_heart.stack>=10&!buff.pillar_of_frost.up&cooldown.pillar_of_frost.remains>20\n# Prevent Cold Heart overcapping during pillar\nactions.cold_heart+=/chains_of_ice,if=talent.obliteration&!buff.pillar_of_frost.up&(buff.cold_heart.stack>=14&buff.unholy_strength.up||buff.cold_heart.stack>=19||cooldown.pillar_of_frost.remains<3&buff.cold_heart.stack>=14)\n\n# Potion\nactions.cooldowns=potion,if=buff.pillar_of_frost.up\n# Cooldowns\nactions.cooldowns+=/empower_rune_weapon,if=talent.obliteration&rune<6&(variable.st_planning||variable.adds_remain)&(cooldown.pillar_of_frost.remains<5||buff.pillar_of_frost.up)||fight_remains<20\nactions.cooldowns+=/empower_rune_weapon,if=talent.breath_of_sindragosa&runic_power.deficit>30&rune.time_to_5>gcd&(buff.breath_of_sindragosa.up||fight_remains<20)\nactions.cooldowns+=/empower_rune_weapon,if=talent.icecap\nactions.cooldowns+=/pillar_of_frost,if=talent.breath_of_sindragosa&(variable.st_planning||variable.adds_remain)&(cooldown.breath_of_sindragosa.remains||cooldown.breath_of_sindragosa.ready&runic_power.deficit<50)\nactions.cooldowns+=/pillar_of_frost,if=talent.icecap&!buff.pillar_of_frost.up\nactions.cooldowns+=/pillar_of_frost,if=talent.obliteration&(variable.st_planning||variable.adds_remain)&(talent.gathering_storm.enabled&buff.remorseless_winter.up||!talent.gathering_storm.enabled)\nactions.cooldowns+=/breath_of_sindragosa,if=buff.pillar_of_frost.up\nactions.cooldowns+=/frostwyrms_fury,if=active_enemies=1&buff.pillar_of_frost.remains30)||fight_remains<3\nactions.cooldowns+=/frostwyrms_fury,if=active_enemies>=2&(buff.pillar_of_frost.up||raid_event.adds.in>cooldown.pillar_of_frost.remains)&(buff.pillar_of_frost.remains40&rune<=3&(buff.breath_of_sindragosa.up||cooldown.breath_of_sindragosa.remains>40)||!talent.breath_of_sindragosa&runic_power.deficit>=25\nactions.cooldowns+=/raise_dead,if=buff.pillar_of_frost.up\nactions.cooldowns+=/sacrificial_pact,if=active_enemies>=2&(boss&fight_remains<3||!buff.breath_of_sindragosa.up&(pet.ghoul.remainspet.ghoul.remains))\nactions.cooldowns+=/death_and_decay,if=active_enemies>5||runeforge.phearomones\n\n# Covenant Abilities\nactions.covenants=deaths_due,if=variable.st_planning||variable.adds_remain\nactions.covenants+=/swarming_mist,if=runic_power.deficit>13&cooldown.pillar_of_frost.remains<3&!talent.breath_of_sindragosa&variable.st_planning\nactions.covenants+=/swarming_mist,if=!talent.breath_of_sindragosa&variable.adds_remain\nactions.covenants+=/swarming_mist,if=talent.breath_of_sindragosa&(buff.breath_of_sindragosa.up&(variable.st_planning&runic_power.deficit>40||variable.adds_remain&runic_power.deficit>60||variable.adds_remain&raid_event.adds.remains<9)||!buff.breath_of_sindragosa.up&cooldown.breath_of_sindragosa.remains)\nactions.covenants+=/abomination_limb,if=cooldown.pillar_of_frost.remains<3&variable.st_planning&(talent.breath_of_sindragosa&runic_power.deficit<60&cooldown.breath_of_sindragosa.remains<2||!talent.breath_of_sindragosa)\nactions.covenants+=/abomination_limb,if=variable.adds_remain\nactions.covenants+=/shackle_the_unworthy,if=variable.st_planning&(cooldown.pillar_of_frost.remains<3||talent.icecap)\nactions.covenants+=/shackle_the_unworthy,if=variable.adds_remain\nactions.covenants+=/fleshcraft,if=!buff.pillar_of_frost.up&(soulbind.pustule_eruption||soulbind.volatile_solvent),interrupt_immediate=1,interrupt_global=1,interrupt_if=soulbind.volatile_solvent\n\n# Obliteration rotation\nactions.obliteration=remorseless_winter,if=active_enemies>=3&variable.rw_buffs\nactions.obliteration+=/howling_blast,target_if=!dot.frost_fever.ticking&!buff.killing_machine.up&rune>=3\nactions.obliteration+=/frostscythe,if=buff.killing_machine.react&spell_targets.frostscythe>=2&!variable.deaths_due_active\nactions.obliteration+=/obliterate,cycle_targets=1,if=buff.killing_machine.react\nactions.obliteration+=/glacial_advance,if=spell_targets.glacial_advance>=2&(runic_power.deficit<10||rune.time_to_2>gcd)||(debuff.razorice.stack<5||debuff.razorice.remains<15)\nactions.obliteration+=/frost_strike,if=active_enemies=1&variable.frost_strike_conduits\nactions.obliteration+=/howling_blast,if=variable.rotfc_rime&spell_targets.howling_blast>=2\nactions.obliteration+=/glacial_advance,if=spell_targets.glacial_advance>=2\nactions.obliteration+=/frost_strike,cycle_targets=1,if=!talent.avalanche&!buff.killing_machine.up||talent.avalanche&!variable.rotfc_rime||variable.rotfc_rime&rune.time_to_2>=gcd\nactions.obliteration+=/howling_blast,if=variable.rotfc_rime\nactions.obliteration+=/obliterate,cycle_targets=1\n\n# Pooling For Obliteration: Starts 10 seconds before Pillar of Frost comes off CD\nactions.obliteration_pooling=remorseless_winter,if=variable.rw_buffs||active_enemies>=2\nactions.obliteration_pooling+=/frost_strike,if=active_enemies=1&variable.frost_strike_conduits\nactions.obliteration_pooling+=/obliterate,cycle_targets=1,if=buff.killing_machine.react\nactions.obliteration_pooling+=/howling_blast,if=variable.rotfc_rime\nactions.obliteration_pooling+=/glacial_advance,if=spell_targets.glacial_advance>=2&runic_power.deficit<60\nactions.obliteration_pooling+=/frost_strike,cycle_targets=1,if=runic_power.deficit<70\nactions.obliteration_pooling+=/obliterate,cycle_targets=1,if=rune>=3\nactions.obliteration_pooling+=/frostscythe,if=active_enemies>=4&!variable.deaths_due_active\n\n# Racial Abilities\nactions.racials=blood_fury,if=buff.pillar_of_frost.up\nactions.racials+=/berserking,if=buff.pillar_of_frost.up\nactions.racials+=/arcane_pulse,if=(!buff.pillar_of_frost.up&active_enemies>=2)||!buff.pillar_of_frost.up&(rune.deficit>=5&runic_power.deficit>=60)\nactions.racials+=/lights_judgment,if=buff.pillar_of_frost.up\nactions.racials+=/ancestral_call,if=buff.pillar_of_frost.up&buff.empower_rune_weapon.up\nactions.racials+=/fireblood,if=buff.pillar_of_frost.remains<=8&buff.empower_rune_weapon.up\nactions.racials+=/bag_of_tricks,if=buff.pillar_of_frost.up&active_enemies=1&(buff.pillar_of_frost.remains<5&talent.cold_heart.enabled||!talent.cold_heart.enabled&buff.pillar_of_frost.remains<3)\n\n# Standard single-target rotation\nactions.standard=remorseless_winter,if=variable.rw_buffs\nactions.standard+=/obliterate,if=buff.killing_machine.react\nactions.standard+=/frost_strike,if=variable.frost_strike_conduits\nactions.standard+=/glacial_advance,if=!death_knight.runeforge.razorice&(debuff.razorice.stack<5||debuff.razorice.remains<7)\nactions.standard+=/frost_strike,if=cooldown.remorseless_winter.remains<=2*gcd&talent.gathering_storm\nactions.standard+=/howling_blast,if=variable.rotfc_rime\nactions.standard+=/obliterate,if=!buff.frozen_pulse.up&talent.frozen_pulse||variable.deaths_due_active&buff.deaths_due.stack<4||rune.time_to_4<=gcd\nactions.standard+=/frost_strike,if=runic_power.deficit<(15+talent.runic_attenuation*5)\nactions.standard+=/obliterate,if=runic_power.deficit>(25+talent.runic_attenuation*5)\nactions.standard+=/frost_strike\nactions.standard+=/horn_of_winter\nactions.standard+=/arcane_torrent\n\n# Trinkets\nactions.trinkets=inscrutable_quantum_device,if=buff.pillar_of_frost.up||target.time_to_pct_20<5||boss&fight_remains<21\n# The trinket with the highest estimated value, will be used first and paired with Pillar of Frost.\nactions.trinkets+=/trinket1,if=!variable.specified_trinket&buff.pillar_of_frost.up&(!talent.icecap||talent.icecap&buff.pillar_of_frost.remains>=10)&(!trinket.2.has_cooldown||trinket.2.cooldown.remains||variable.trinket_priority=1)||trinket.1.buff_duration>=fight_remains\nactions.trinkets+=/trinket2,if=!variable.specified_trinket&buff.pillar_of_frost.up&(!talent.icecap||talent.icecap&buff.pillar_of_frost.remains>=10)&(!trinket.1.has_cooldown||trinket.1.cooldown.remains||variable.trinket_priority=2)||trinket.2.buff_duration>=fight_remains\n# If only one on use trinket provides a buff, use the other on cooldown. Or if neither trinket provides a buff, use both on cooldown.\nactions.trinkets+=/trinket1,if=!trinket.1.has_use_buff&(trinket.2.cooldown.remains||!trinket.2.has_use_buff)||cooldown.pillar_of_frost.remains>20\nactions.trinkets+=/trinket2,if=!trinket.2.has_use_buff&(trinket.1.cooldown.remains||!trinket.1.has_use_buff)||cooldown.pillar_of_frost.remains>20", ["spec"] = 251, }, ["Blood"] = { ["source"] = "SimulationCraft", ["builtIn"] = true, ["date"] = 20210705, ["spec"] = 250, ["desc"] = "Blood Death Knight\nJuly 5, 2021", ["lists"] = { ["default"] = { { ["enabled"] = true, ["description"] = "Executed every time the actor is available.", ["action"] = "mind_freeze", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.bone_shield.remains < 3 * gcd.execute || ( buff.bone_shield.remains <= rune.time_to_3 || buff.bone_shield.remains <= ( gcd + cooldown.blooddrinker.ready * talent.blooddrinker.enabled * 2 ) || buff.bone_shield.stack < 5 ) & runic_power.deficit >= 20", ["action"] = "marrowrend", }, -- [2] { ["enabled"] = true, ["criteria"] = "tanking || incoming_damage_5s > 0", ["action"] = "call_action_list", ["list_name"] = "mitigation", }, -- [3] { ["enabled"] = true, ["criteria"] = "cooldown.dancing_rune_weapon.ready & ( ! cooldown.blooddrinker.ready || ! talent.blooddrinker.enabled )", ["action"] = "blood_fury", }, -- [4] { ["action"] = "berserking", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "active_enemies >= 2 || rune < 1 & runic_power.deficit > 60", ["action"] = "arcane_pulse", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.unholy_strength.up", ["action"] = "lights_judgment", }, -- [7] { ["action"] = "ancestral_call", ["enabled"] = true, }, -- [8] { ["action"] = "fireblood", ["enabled"] = true, }, -- [9] { ["action"] = "bag_of_tricks", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["description"] = "Since the potion cooldown has changed, we'll sync with DRW", ["action"] = "potion", ["criteria"] = "buff.dancing_rune_weapon.up", }, -- [11] { ["action"] = "use_items", ["enabled"] = true, }, -- [12] { ["action"] = "raise_dead", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "! buff.dancing_rune_weapon.up & ( ! covenant.night_fae || buff.deaths_due.remains > 7 )", ["action"] = "blooddrinker", }, -- [14] { ["enabled"] = true, ["criteria"] = "charges >= 2 & ( covenant.kyrian || buff.dancing_rune_weapon.up )", ["action"] = "blood_boil", }, -- [15] { ["action"] = "raise_dead", ["enabled"] = true, }, -- [16] { ["enabled"] = true, ["criteria"] = "fight_remains < 3", ["action"] = "death_strike", }, -- [17] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "covenants", }, -- [18] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "standard", }, -- [19] }, ["precombat"] = { { ["enabled"] = true, ["description"] = "Executed before combat begins. Accepts non-harmful actions only.", ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [1] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["effect_name"] = "cyclotronic_blast", }, -- [2] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [3] }, ["standard"] = { { ["enabled"] = true, ["criteria"] = "runic_power.deficit <= 10 & ( ! talent.bonestorm.enabled || ! cooldown.bonestorm.ready || buff.dancing_rune_weapon.up )", ["action"] = "death_strike", }, -- [1] { ["enabled"] = true, ["criteria"] = "pet.ghoul.remains < gcd * 2", ["action"] = "sacrificial_pact", }, -- [2] { ["enabled"] = true, ["description"] = "Use blood tap to prevent overcapping charges if we have space for a rune and a GCD to spare to burn it", ["criteria"] = "rune <= 2 & rune.time_to_4 > gcd & charges_fractional >= 1.8", ["action"] = "blood_tap", }, -- [3] { ["enabled"] = true, ["criteria"] = "! talent.blooddrinker.enabled || ! cooldown.blooddrinker.ready", ["action"] = "dancing_rune_weapon", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.bone_shield.stack >= 7 & rune >= 2", ["action"] = "tombstone", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.bone_shield.stack < 6 & runic_power.deficit >= 15 & ( ! covenant.night_fae || buff.deaths_due.remains > 5 )", ["action"] = "marrowrend", }, -- [6] { ["enabled"] = true, ["criteria"] = "! talent.blooddrinker.enabled & death_and_decay.remains < 5 & runic_power.deficit <= ( 15 + buff.dancing_rune_weapon.up * 5 + spell_targets.heart_strike * talent.heartbreaker.enabled * 2 )", ["action"] = "heart_strike", }, -- [7] { ["enabled"] = true, ["criteria"] = "charges_fractional >= 1.8 & ( buff.hemostasis.stack <= ( 5 - spell_targets.blood_boil ) || spell_targets.blood_boil > 2 )", ["action"] = "blood_boil", }, -- [8] { ["enabled"] = true, ["description"] = "Mark of Blood does not pandemic-extend.", ["criteria"] = "debuff.mark_of_blood.down & fight_remains > 7.5", ["action"] = "mark_of_blood", }, -- [9] { ["enabled"] = true, ["criteria"] = "( buff.crimson_scourge.up & talent.relish_in_blood.enabled ) & runic_power.deficit > 10", ["action"] = "death_and_decay", }, -- [10] { ["enabled"] = true, ["criteria"] = "runic_power >= 100 & ! buff.dancing_rune_weapon.up", ["action"] = "bonestorm", }, -- [11] { ["enabled"] = true, ["criteria"] = "runic_power.deficit <= ( 15 + buff.dancing_rune_weapon.up * 5 + spell_targets.heart_strike * talent.heartbreaker.enabled * 2 ) || fight_remains < 10", ["action"] = "death_strike", }, -- [12] { ["enabled"] = true, ["criteria"] = "spell_targets.death_and_decay >= 3", ["action"] = "death_and_decay", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.dancing_rune_weapon.up || rune.time_to_4 < gcd", ["action"] = "heart_strike", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.dancing_rune_weapon.up", ["action"] = "blood_boil", }, -- [15] { ["enabled"] = true, ["criteria"] = "rune.time_to_3 > gcd", ["action"] = "blood_tap", }, -- [16] { ["enabled"] = true, ["criteria"] = "buff.crimson_scourge.up || talent.rapid_decomposition.enabled || spell_targets.death_and_decay >= 2", ["action"] = "death_and_decay", }, -- [17] { ["enabled"] = true, ["criteria"] = "buff.bone_shield.remains > 3 * gcd", ["action"] = "consumption", }, -- [18] { ["enabled"] = true, ["criteria"] = "charges_fractional >= 1.1 & buff.bone_shield.remains > 3 * gcd", ["action"] = "blood_boil", }, -- [19] { ["enabled"] = true, ["criteria"] = "rune > 1 & ( rune.time_to_3 < gcd || buff.bone_shield.stack > 7 & buff.bone_shield.remains > rune.time_to_3 + gcd )", ["action"] = "heart_strike", }, -- [20] { ["enabled"] = true, ["criteria"] = "runic_power.deficit > 20", ["action"] = "arcane_torrent", }, -- [21] }, ["covenants"] = { { ["enabled"] = true, ["description"] = "Burn RP if we have time between DD refreshes", ["criteria"] = "covenant.night_fae & buff.deaths_due.remains > 6 & runic_power > 70", ["action"] = "death_strike", }, -- [1] { ["enabled"] = true, ["description"] = "Make sure we never lose that buff", ["criteria"] = "covenant.night_fae & death_and_decay.ticking & ( ( buff.deaths_due.up || buff.dancing_rune_weapon.up ) & buff.deaths_due.remains < 6 )", ["action"] = "heart_strike", }, -- [2] { ["enabled"] = true, ["description"] = "And that we always cast DD as high prio when we actually need it", ["criteria"] = "! buff.deaths_due.up || buff.deaths_due.remains < 4 || buff.crimson_scourge.up", ["action"] = "deaths_due", }, -- [3] { ["enabled"] = true, ["description"] = "Attempt to sacrifice the ghoul if we predictably will not do much in the near future", ["criteria"] = "( ! covenant.night_fae || buff.deaths_due.remains > 6 ) & ! buff.dancing_rune_weapon.up & ( pet.ghoul.remains < 10 || target.time_to_die < gcd )", ["action"] = "sacrificial_pact", }, -- [4] { ["enabled"] = true, ["description"] = "Burn RP off just before swarming comes back off CD", ["criteria"] = "covenant.venthyr & runic_power > 70 & cooldown.swarming_mist.remains < 3", ["action"] = "death_strike", }, -- [5] { ["enabled"] = true, ["description"] = "And swarming as long as we're not < 3s off DRW", ["criteria"] = "! buff.dancing_rune_weapon.up", ["action"] = "swarming_mist", }, -- [6] { ["enabled"] = true, ["description"] = "Pre-AL marrow on pull in order to guarantee ossuary during the first DRW", ["criteria"] = "covenant.necrolord & buff.bone_shield.stack <= 0", ["action"] = "marrowrend", }, -- [7] { ["enabled"] = true, ["description"] = "And we cast AL", ["criteria"] = "! buff.dancing_rune_weapon.up", ["action"] = "abomination_limb", }, -- [8] { ["enabled"] = true, ["description"] = "We just don't cast this during DRW", ["criteria"] = "cooldown.dancing_rune_weapon.remains < 3 || ! buff.dancing_rune_weapon.up", ["action"] = "shackle_the_unworthy", }, -- [9] { ["enabled"] = true, ["criteria"] = "soulbind.pustule_eruption.enabled || soulbind.volatile_solvent.enabled", ["interrupt_if"] = "soulbind.volatile_solvent", ["interrupt_immediate"] = "1", ["action"] = "fleshcraft", ["interrupt_global"] = "1", }, -- [10] }, ["mitigation"] = { { ["enabled"] = true, ["criteria"] = "health.pct < 50 || ( ! group & health.pct < 66 )", ["action"] = "vampiric_blood", }, -- [1] { ["enabled"] = true, ["description"] = "Incoming damage requirement is 25% of max health solo, 50% of max health in a group.", ["criteria"] = "incoming_damage_3s >= health.current", ["action"] = "death_strike", }, -- [2] { ["enabled"] = true, ["description"] = "Don't let an existing Blood Shield drop.", ["criteria"] = "save_blood_shield & incoming_damage_5s > 0 & buff.blood_shield.up & buff.blood_shield.remains < 1.5 * gcd", ["action"] = "death_strike", }, -- [3] { ["enabled"] = true, ["criteria"] = "tanking & buff.rune_tap.down & incoming_damage_3s > health.max * 0.1", ["action"] = "rune_tap", }, -- [4] { ["enabled"] = true, ["criteria"] = "health.pct < 50 - ( 20 * buff.blood_shield.up )", ["action"] = "icebound_fortitude", }, -- [5] { ["enabled"] = true, ["criteria"] = "health.pct < 75 & pet.ghoul.remains < 5", ["action"] = "sacrificial_pact", }, -- [6] }, }, ["version"] = 20210705, ["warnings"] = "WARNING: The import for 'covenants' required some automated changes.\nLine 10: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 10: Converted 'soulbind.X' to 'soulbind.X.enabled' at EOL (1x).\n\nImported 5 action lists.\n", ["profile"] = "# Blood Death Knight\n# July 5, 2021\n\n# Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat=use_item,name=azsharas_font_of_power\nactions.precombat+=/use_item,effect_name=cyclotronic_blast\nactions.precombat+=/fleshcraft\n\n# Executed every time the actor is available.\nactions=mind_freeze\nactions+=/marrowrend,if=buff.bone_shield.remains<3*gcd.execute||(buff.bone_shield.remains<=rune.time_to_3||buff.bone_shield.remains<=(gcd+cooldown.blooddrinker.ready*talent.blooddrinker.enabled*2)||buff.bone_shield.stack<5)&runic_power.deficit>=20\nactions+=/call_action_list,name=mitigation,if=tanking||incoming_damage_5s>0\nactions+=/blood_fury,if=cooldown.dancing_rune_weapon.ready&(!cooldown.blooddrinker.ready||!talent.blooddrinker.enabled)\nactions+=/berserking\nactions+=/arcane_pulse,if=active_enemies>=2||rune<1&runic_power.deficit>60\nactions+=/lights_judgment,if=buff.unholy_strength.up\nactions+=/ancestral_call\nactions+=/fireblood\nactions+=/bag_of_tricks\n# Since the potion cooldown has changed, we'll sync with DRW\nactions+=/potion,if=buff.dancing_rune_weapon.up\nactions+=/use_items\nactions+=/raise_dead\nactions+=/blooddrinker,if=!buff.dancing_rune_weapon.up&(!covenant.night_fae||buff.deaths_due.remains>7)\nactions+=/blood_boil,if=charges>=2&(covenant.kyrian||buff.dancing_rune_weapon.up)\nactions+=/raise_dead\nactions+=/death_strike,if=fight_remains<3\nactions+=/call_action_list,name=covenants\nactions+=/call_action_list,name=standard\n\n# Burn RP if we have time between DD refreshes\nactions.covenants=death_strike,if=covenant.night_fae&buff.deaths_due.remains>6&runic_power>70\n# Make sure we never lose that buff\nactions.covenants+=/heart_strike,if=covenant.night_fae&death_and_decay.ticking&((buff.deaths_due.up||buff.dancing_rune_weapon.up)&buff.deaths_due.remains<6)\n# And that we always cast DD as high prio when we actually need it\nactions.covenants+=/deaths_due,if=!buff.deaths_due.up||buff.deaths_due.remains<4||buff.crimson_scourge.up\n# Attempt to sacrifice the ghoul if we predictably will not do much in the near future\nactions.covenants+=/sacrificial_pact,if=(!covenant.night_fae||buff.deaths_due.remains>6)&!buff.dancing_rune_weapon.up&(pet.ghoul.remains<10||target.time_to_die70&cooldown.swarming_mist.remains<3\n# And swarming as long as we're not < 3s off DRW\nactions.covenants+=/swarming_mist,if=!buff.dancing_rune_weapon.up\n# Pre-AL marrow on pull in order to guarantee ossuary during the first DRW\nactions.covenants+=/marrowrend,if=covenant.necrolord&buff.bone_shield.stack<=0\n# And we cast AL\nactions.covenants+=/abomination_limb,if=!buff.dancing_rune_weapon.up\n# We just don't cast this during DRW\nactions.covenants+=/shackle_the_unworthy,if=cooldown.dancing_rune_weapon.remains<3||!buff.dancing_rune_weapon.up\nactions.covenants+=/fleshcraft,if=soulbind.pustule_eruption||soulbind.volatile_solvent,interrupt_immediate=1,interrupt_global=1,interrupt_if=soulbind.volatile_solvent\n\nactions.mitigation=vampiric_blood,if=health.pct<50||(!group&health.pct<66)\n# Incoming damage requirement is 25% of max health solo, 50% of max health in a group.\nactions.mitigation+=/death_strike,if=incoming_damage_3s>=health.current\n# Don't let an existing Blood Shield drop.\nactions.mitigation+=/death_strike,if=save_blood_shield&incoming_damage_5s>0&buff.blood_shield.up&buff.blood_shield.remains<1.5*gcd\nactions.mitigation+=/rune_tap,if=tanking&buff.rune_tap.down&incoming_damage_3s>health.max*0.1\nactions.mitigation+=/icebound_fortitude,if=health.pct<50-(20*buff.blood_shield.up)\nactions.mitigation+=/sacrificial_pact,if=health.pct<75&pet.ghoul.remains<5\n\nactions.standard=death_strike,if=runic_power.deficit<=10&(!talent.bonestorm.enabled||!cooldown.bonestorm.ready||buff.dancing_rune_weapon.up)\nactions.standard+=/sacrificial_pact,if=pet.ghoul.remains=20\n\n# Use blood tap to prevent overcapping charges if we have space for a rune and a GCD to spare to burn it\nactions.standard=blood_tap,if=rune<=2&rune.time_to_4>gcd&charges_fractional>=1.8\nactions.standard+=/dancing_rune_weapon,if=!talent.blooddrinker.enabled||!cooldown.blooddrinker.ready\nactions.standard+=/tombstone,if=buff.bone_shield.stack>=7&rune>=2\n## actions.standard+=/marrowrend,if=(!covenant.necrolord||buff.abomination_limb.up)&(buff.bone_shield.remains<=rune.time_to_3||buff.bone_shield.remains<=(gcd+cooldown.blooddrinker.ready*talent.blooddrinker.enabled*2)||buff.bone_shield.stack<5)&runic_power.deficit>=20\n## actions.standard+=/death_strike,if=runic_power.deficit<=70\nactions.standard+=/marrowrend,if=buff.bone_shield.stack<6&runic_power.deficit>=15&(!covenant.night_fae||buff.deaths_due.remains>5)\nactions.standard+=/heart_strike,if=!talent.blooddrinker.enabled&death_and_decay.remains<5&runic_power.deficit<=(15+buff.dancing_rune_weapon.up*5+spell_targets.heart_strike*talent.heartbreaker.enabled*2)\nactions.standard+=/blood_boil,if=charges_fractional>=1.8&(buff.hemostasis.stack<=(5-spell_targets.blood_boil)||spell_targets.blood_boil>2)\n# Mark of Blood does not pandemic-extend.\nactions.standard+=/mark_of_blood,if=debuff.mark_of_blood.down&fight_remains>7.5\nactions.standard+=/death_and_decay,if=(buff.crimson_scourge.up&talent.relish_in_blood.enabled)&runic_power.deficit>10\nactions.standard+=/bonestorm,if=runic_power>=100&!buff.dancing_rune_weapon.up\nactions.standard+=/death_strike,if=runic_power.deficit<=(15+buff.dancing_rune_weapon.up*5+spell_targets.heart_strike*talent.heartbreaker.enabled*2)||fight_remains<10\nactions.standard+=/death_and_decay,if=spell_targets.death_and_decay>=3\nactions.standard+=/heart_strike,if=buff.dancing_rune_weapon.up||rune.time_to_4gcd\nactions.standard+=/death_and_decay,if=buff.crimson_scourge.up||talent.rapid_decomposition.enabled||spell_targets.death_and_decay>=2\nactions.standard+=/consumption,if=buff.bone_shield.remains>3*gcd\nactions.standard+=/blood_boil,if=charges_fractional>=1.1&buff.bone_shield.remains>3*gcd\nactions.standard+=/heart_strike,if=rune>1&(rune.time_to_37&buff.bone_shield.remains>rune.time_to_3+gcd)\nactions.standard+=/arcane_torrent,if=runic_power.deficit>20", ["author"] = "SimC + Hekili", }, }, }, ["Quilberg - Thunderhorn"] = { ["runOnce"] = { ["resetPotionsToDefaults_20190717"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["resetGlobalCooldownSync_20210403"] = true, ["resetAllPotions_20201209"] = true, ["enableAllOfTheThings_20180820"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["resetRogueMfDOption_20200226"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [73] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["settings"] = { ["shockwave_interrupt"] = true, ["free_revenge"] = true, ["heroic_charge"] = false, }, ["enhancedRecheck"] = false, ["aoe"] = 2, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["debuffPadding"] = 0, ["maxTime"] = 33, ["damage"] = true, ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["package"] = "Protection Warrior", ["cycle"] = false, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "potion_of_phantom_fire", ["buffPadding"] = 0, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["petbased"] = false, ["damageRange"] = 0, }, [71] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["enhancedRecheck"] = false, ["aoe"] = 2, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["debuffPadding"] = 0, ["maxTime"] = 33, ["package"] = "Arms", ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["damage"] = true, ["cycle"] = false, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "spectral_strength", ["buffPadding"] = 0, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["petbased"] = false, ["damageRange"] = 0, }, [72] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["settings"] = { ["check_ww_range"] = false, ["heroic_charge"] = false, }, ["enhancedRecheck"] = false, ["aoe"] = 2, ["gcdSync"] = true, ["damageDots"] = false, ["throttleTime"] = false, ["enabled"] = true, ["debuffPadding"] = 0, ["maxTime"] = 33, ["damage"] = true, ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["package"] = "Fury", ["cycle"] = false, ["cycle_min"] = 6, ["nameplateRange"] = 8, ["potion"] = "potion_of_phantom_fire", ["buffPadding"] = 0, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["petbased"] = false, ["damageRange"] = 0, }, [102] = { ["enhancedRecheck"] = true, }, }, ["packs"] = { ["Arms"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210719, ["author"] = "SimulationCraft", ["desc"] = "Arms Warrior\nJuly 19, 2021\n\nChanges:\n- Added Pummel.\n- Added Victory Rush/Impending Victory.\n- Added Battle Shout to precombat APL.\n- Executioner's Precision is deleted.\n- Added Use Items.\n- Tweak entry for Bladestorm.", ["lists"] = { ["single_target"] = { { ["enabled"] = true, ["criteria"] = "remains <= gcd", ["action"] = "rend", }, -- [1] { ["enabled"] = true, ["criteria"] = "fight_remains > 140", ["action"] = "conquerors_banner", }, -- [2] { ["action"] = "avatar", ["enabled"] = true, }, -- [3] { ["action"] = "ravager", ["enabled"] = true, }, -- [4] { ["action"] = "warbreaker", ["enabled"] = true, }, -- [5] { ["action"] = "colossus_smash", ["enabled"] = true, }, -- [6] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [7] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "charges = 2", ["action"] = "overpower", }, -- [9] { ["enabled"] = true, ["criteria"] = "runeforge.enduring_blow.enabled || runeforge.battlelord.enabled || buff.overpower.stack >= 2", ["action"] = "mortal_strike", }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.sudden_death.react", ["action"] = "condemn", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.sudden_death.react", ["action"] = "execute", }, -- [12] { ["enabled"] = true, ["criteria"] = "rage.deficit > 45 & buff.deadly_calm.down", ["action"] = "skullsplitter", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.deadly_calm.down & rage < 30", ["action"] = "bladestorm", }, -- [14] { ["action"] = "deadly_calm", ["enabled"] = true, }, -- [15] { ["action"] = "overpower", ["enabled"] = true, }, -- [16] { ["action"] = "mortal_strike", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["criteria"] = "remains < duration * 0.3", ["action"] = "rend", }, -- [18] { ["enabled"] = true, ["criteria"] = "spell_targets.whirlwind > 1", ["action"] = "cleave", }, -- [19] { ["enabled"] = true, ["criteria"] = "talent.fervor_of_battle.enabled || spell_targets.whirlwind > 4 || spell_targets.whirlwind > 2 & buff.sweeping_strikes.down", ["action"] = "whirlwind", }, -- [20] { ["enabled"] = true, ["criteria"] = "! talent.fervor_of_battle.enabled & ( rage > 50 || debuff.colossus_smash.up || ! runeforge.enduring_blow.enabled )", ["action"] = "slam", }, -- [21] }, ["default"] = { { ["action"] = "charge", ["enabled"] = true, }, -- [1] { ["action"] = "pummel", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "gcd.remains = 0 & debuff.colossus_smash.remains > 8 || boss & fight_remains < 25", ["action"] = "potion", }, -- [3] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.up", ["action"] = "blood_fury", }, -- [4] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.remains > 6", ["action"] = "berserking", }, -- [5] { ["enabled"] = true, ["criteria"] = "cooldown.mortal_strike.remains > 1.5 & rage < 50", ["action"] = "arcane_torrent", }, -- [6] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.down & cooldown.mortal_strike.remains", ["action"] = "lights_judgment", }, -- [7] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.up", ["action"] = "fireblood", }, -- [8] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.up", ["action"] = "ancestral_call", }, -- [9] { ["enabled"] = true, ["criteria"] = "debuff.colossus_smash.down & cooldown.mortal_strike.remains", ["action"] = "bag_of_tricks", }, -- [10] { ["action"] = "use_items", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "spell_targets.whirlwind > 1 & ( cooldown.bladestorm.remains > 15 || talent.ravager.enabled )", ["action"] = "sweeping_strikes", }, -- [12] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "( talent.massacre.enabled & target.health.pct < 35 ) || target.health.pct < 20 || ( target.health.pct > 80 & covenant.venthyr )", ["list_name"] = "execute", }, -- [13] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "single_target", }, -- [14] { ["action"] = "victory_rush", ["enabled"] = true, }, -- [15] { ["action"] = "impending_victory", ["enabled"] = true, }, -- [16] }, ["precombat"] = { { ["action"] = "battle_shout", ["enabled"] = true, }, -- [1] }, ["execute"] = { { ["action"] = "deadly_calm", ["enabled"] = true, }, -- [1] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["buff_name"] = "bladestorm", ["criteria"] = "spell_targets.whirlwind = 1 & gcd.remains = 0 & ( rage > 75 || rage > 50 & buff.recklessness.up )", ["action"] = "cancel_buff", }, -- [3] { ["enabled"] = true, ["criteria"] = "gcd.remains = 0 || target.time_to_die < 20", ["action"] = "avatar", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.ashen_juggernaut.up & buff.ashen_juggernaut.remains < gcd & conduit.ashen_juggernaut.rank > 1", ["action"] = "condemn", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.ashen_juggernaut.up & buff.ashen_juggernaut.remains < gcd & conduit.ashen_juggernaut.rank > 1", ["action"] = "execute", }, -- [6] { ["action"] = "ravager", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "remains <= gcd & ( ! talent.warbreaker.enabled & cooldown.colossus_smash.remains < 4 || talent.warbreaker.enabled & cooldown.warbreaker.remains < 4 ) & target.time_to_die > 12", ["action"] = "rend", }, -- [8] { ["action"] = "warbreaker", ["enabled"] = true, }, -- [9] { ["action"] = "colossus_smash", ["enabled"] = true, }, -- [10] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [11] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "runeforge.signet_of_tormented_kings.enabled & ( rage.deficit < 25 || debuff.colossus_smash.up & rage > 40 || buff.sudden_death.react || buff.deadly_calm.up )", ["action"] = "condemn", }, -- [13] { ["enabled"] = true, ["criteria"] = "charges = 2", ["action"] = "overpower", }, -- [14] { ["enabled"] = true, ["criteria"] = "spell_targets.whirlwind > 1 & dot.deep_wounds.remains < gcd", ["action"] = "cleave", }, -- [15] { ["enabled"] = true, ["criteria"] = "dot.deep_wounds.remains <= gcd || runeforge.enduring_blow.enabled || buff.overpower.stack = 2 & debuff.exploiter.stack = 2 || buff.battlelord.up", ["action"] = "mortal_strike", }, -- [16] { ["enabled"] = true, ["criteria"] = "rage.deficit < 25 || buff.deadly_calm.up", ["action"] = "condemn", }, -- [17] { ["enabled"] = true, ["criteria"] = "rage < 45", ["action"] = "skullsplitter", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.deadly_calm.down & ( rage < 20 || ! runeforge.sinful_surge.enabled & rage < 50 )", ["action"] = "bladestorm", }, -- [19] { ["action"] = "overpower", ["enabled"] = true, }, -- [20] { ["action"] = "condemn", ["enabled"] = true, }, -- [21] { ["action"] = "execute", ["enabled"] = true, }, -- [22] }, ["hac"] = { { ["enabled"] = true, ["criteria"] = "rage < 60 & buff.deadly_calm.down", ["action"] = "skullsplitter", }, -- [1] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "cooldown.colossus_smash.remains < 1", ["action"] = "avatar", }, -- [3] { ["action"] = "warbreaker", ["enabled"] = true, }, -- [4] { ["action"] = "colossus_smash", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "dot.deep_wounds.remains <= gcd", ["action"] = "cleave", }, -- [6] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [7] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [8] { ["action"] = "bladestorm", ["enabled"] = true, }, -- [9] { ["action"] = "ravager", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["criteria"] = "remains <= duration * 0.3 & buff.sweeping_strikes.up", ["action"] = "rend", }, -- [11] { ["action"] = "cleave", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.sweeping_strikes.up || dot.deep_wounds.remains < gcd & ! talent.cleave.enabled", ["action"] = "mortal_strike", }, -- [13] { ["enabled"] = true, ["criteria"] = "talent.dreadnaught.enabled", ["action"] = "overpower", }, -- [14] { ["action"] = "condemn", ["enabled"] = true, }, -- [15] { ["enabled"] = true, ["criteria"] = "buff.sweeping_strikes.up", ["action"] = "execute", }, -- [16] { ["action"] = "overpower", ["enabled"] = true, }, -- [17] { ["action"] = "whirlwind", ["enabled"] = true, }, -- [18] }, }, ["version"] = 20210719, ["warnings"] = "WARNING: The import for 'single_target' required some automated changes.\nLine 10: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 10: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 21: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'execute' required some automated changes.\nLine 13: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 16: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 19: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nImported 5 action lists.\n", ["spec"] = 71, ["profile"] = "## Arms Warrior\n## July 19, 2021\n\n## Changes:\n## - Added Pummel.\n## - Added Victory Rush/Impending Victory.\n## - Added Battle Shout to precombat APL.\n## - Executioner's Precision is deleted.\n## - Added Use Items.\n## - Tweak entry for Bladestorm.\n\n## Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat+=/battle_shout\n\n## Executed every time the actor is available.\nactions=charge\nactions+=/pummel\nactions+=/potion,if=gcd.remains=0&debuff.colossus_smash.remains>8||boss&fight_remains<25\nactions+=/blood_fury,if=debuff.colossus_smash.up\nactions+=/berserking,if=debuff.colossus_smash.remains>6\nactions+=/arcane_torrent,if=cooldown.mortal_strike.remains>1.5&rage<50\nactions+=/lights_judgment,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains\nactions+=/fireblood,if=debuff.colossus_smash.up\nactions+=/ancestral_call,if=debuff.colossus_smash.up\nactions+=/bag_of_tricks,if=debuff.colossus_smash.down&cooldown.mortal_strike.remains\nactions+=/use_items\nactions+=/sweeping_strikes,if=spell_targets.whirlwind>1&(cooldown.bladestorm.remains>15||talent.ravager.enabled)\nactions+=/call_action_list,name=execute,strict=1,if=(talent.massacre.enabled&target.health.pct<35)||target.health.pct<20||(target.health.pct>80&covenant.venthyr)\n## Hectic Add Cleave doesn't translate in-game, because how do you differentiate adds vs. sustained multi-target?\n## actions+=/call_action_list,name=hac,strict=1,if=spell_targets.whirlwind>1\nactions+=/call_action_list,name=single_target\nactions+=/victory_rush\nactions+=/impending_victory\n\nactions.execute=deadly_calm\nactions.execute+=/conquerors_banner\nactions.execute+=/cancel_buff,name=bladestorm,if=spell_targets.whirlwind=1&gcd.remains=0&(rage>75||rage>50&buff.recklessness.up)\nactions.execute+=/avatar,if=gcd.remains=0||target.time_to_die<20\nactions.execute+=/condemn,if=buff.ashen_juggernaut.up&buff.ashen_juggernaut.remains1\nactions.execute+=/execute,if=buff.ashen_juggernaut.up&buff.ashen_juggernaut.remains1\nactions.execute+=/ravager\nactions.execute+=/rend,if=remains<=gcd&(!talent.warbreaker.enabled&cooldown.colossus_smash.remains<4||talent.warbreaker.enabled&cooldown.warbreaker.remains<4)&target.time_to_die>12\nactions.execute+=/warbreaker\nactions.execute+=/colossus_smash\nactions.execute+=/ancient_aftershock\nactions.execute+=/spear_of_bastion\nactions.execute+=/condemn,if=runeforge.signet_of_tormented_kings&(rage.deficit<25||debuff.colossus_smash.up&rage>40||buff.sudden_death.react||buff.deadly_calm.up)\nactions.execute+=/overpower,if=charges=2\nactions.execute+=/cleave,if=spell_targets.whirlwind>1&dot.deep_wounds.remains140\nactions.single_target+=/avatar\nactions.single_target+=/ravager\nactions.single_target+=/warbreaker\nactions.single_target+=/colossus_smash\nactions.single_target+=/ancient_aftershock\nactions.single_target+=/spear_of_bastion\nactions.single_target+=/overpower,if=charges=2\nactions.single_target+=/mortal_strike,if=runeforge.enduring_blow||runeforge.battlelord||buff.overpower.stack>=2\nactions.single_target+=/condemn,if=buff.sudden_death.react\nactions.single_target+=/execute,if=buff.sudden_death.react\nactions.single_target+=/skullsplitter,if=rage.deficit>45&buff.deadly_calm.down\nactions.single_target+=/bladestorm,if=buff.deadly_calm.down&rage<30\nactions.single_target+=/deadly_calm\nactions.single_target+=/overpower\nactions.single_target+=/mortal_strike\nactions.single_target+=/rend,if=remains1\nactions.single_target+=/whirlwind,if=talent.fervor_of_battle.enabled||spell_targets.whirlwind>4||spell_targets.whirlwind>2&buff.sweeping_strikes.down\nactions.single_target+=/slam,if=!talent.fervor_of_battle.enabled&(rage>50||debuff.colossus_smash.up||!runeforge.enduring_blow)", }, ["Protection Warrior"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210627, ["spec"] = 73, ["desc"] = "Protection Warrior\nJune 27, 2021\n\nChanges\n- Add Mitigation logic to new SimC APL.\n- Lighten Shield Block and Ignore Pain damage intake requirements.\n- Remove rotational usage of Last Stand.\n- Respect \"Free Revenge\" setting and remove other restrictions.\n- Fall back to single-target priority if the AOE action list has nothing to do.", ["profile"] = "## Protection Warrior\n## June 27, 2021\n\n## Changes\n## - Add Mitigation logic to new SimC APL.\n## - Lighten Shield Block and Ignore Pain damage intake requirements.\n## - Remove rotational usage of Last Stand.\n## - Respect \"Free Revenge\" setting and remove other restrictions.\n## - Fall back to single-target priority if the AOE action list has nothing to do.\n\nactions.precombat+=/battle_shout\nactions.precombat+=/potion\n\n## Executed every time the actor is available.\nactions=charge\n# Default APL's \"Heroic Charge\" is a Heroic Leap followed by Charge to do some damage and generate Rage.\nactions+=/heroic_leap,if=settings.heroic_charge&runeforge.reprisal&cooldown.charge.remains0\nactions+=/conquerors_banner,if=runeforge.glory\nactions+=/avatar\nactions+=/ancient_aftershock\nactions+=/spear_of_bastion\nactions+=/conquerors_banner\nactions+=/shield_block,if=buff.shield_block.down\nactions+=/call_action_list,name=aoe,if=spell_targets.thunder_clap>=3\nactions+=/call_action_list,name=generic\n\nactions.mitigation=ignore_pain,if=rage>50&buff.ignore_pain.down\nactions.mitigation+=/shield_block,if=(!talent.bolster.enabled||!buff.last_stand.up)&(charges_fractional>1.8||incoming_damage_5s)\nactions.mitigation+=/demoralizing_shout,line_cd=6,if=(target.within10||active_enemies>1)&((incoming_damage_5s>0.15*health.max||health.pct<30)||(!talent.booming_voice.enabled||rage.max-rage<40))\nactions.mitigation+=/last_stand,if=incoming_damage_3s>health&cooldown.anima_of_death.remains<=2\nactions.mitigation+=/shield_wall,if=incoming_damage_5s>health||health.pct<20\n\nactions.aoe=ravager\nactions.aoe+=/dragon_roar\nactions.aoe+=/thunder_clap\nactions.aoe+=/revenge\nactions.aoe+=/shield_slam\n\nactions.generic=ravager\nactions.generic+=/dragon_roar\nactions.generic+=/shield_slam,if=buff.shield_block.up\nactions.generic+=/thunder_clap,if=(spell_targets.thunder_clap>1||cooldown.shield_slam.remains)&talent.unstoppable_force.enabled&buff.avatar.up\nactions.generic+=/shield_slam\nactions.generic+=/condemn\nactions.generic+=/execute\nactions.generic+=/revenge,if=rage>80&target.health.pct>20||buff.revenge.up\nactions.generic+=/thunder_clap\nactions.generic+=/revenge\nactions.generic+=/victory_rush\nactions.generic+=/impending_victory\nactions.generic+=/devastate", ["version"] = 20210627, ["warnings"] = "WARNING: The import for 'default' required some automated changes.\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 16: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nImported 5 action lists.\n", ["author"] = "SimulationCraft", ["lists"] = { ["generic"] = { { ["action"] = "ravager", ["enabled"] = true, }, -- [1] { ["action"] = "dragon_roar", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.shield_block.up", ["action"] = "shield_slam", }, -- [3] { ["enabled"] = true, ["criteria"] = "( spell_targets.thunder_clap > 1 || cooldown.shield_slam.remains ) & talent.unstoppable_force.enabled & buff.avatar.up", ["action"] = "thunder_clap", }, -- [4] { ["action"] = "shield_slam", ["enabled"] = true, }, -- [5] { ["action"] = "condemn", ["enabled"] = true, }, -- [6] { ["action"] = "execute", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "rage > 80 & target.health.pct > 20 || buff.revenge.up", ["action"] = "revenge", }, -- [8] { ["action"] = "thunder_clap", ["enabled"] = true, }, -- [9] { ["action"] = "revenge", ["enabled"] = true, }, -- [10] { ["action"] = "victory_rush", ["enabled"] = true, }, -- [11] { ["action"] = "impending_victory", ["enabled"] = true, }, -- [12] { ["action"] = "devastate", ["enabled"] = true, }, -- [13] }, ["default"] = { { ["action"] = "charge", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["action"] = "heroic_leap", ["description"] = "Default APL's Heroic Charge is a Heroic Leap followed by Charge to do some damage and generate Rage.", ["criteria"] = "settings.heroic_charge & runeforge.reprisal.enabled & cooldown.charge.remains < gcd", }, -- [2] { ["enabled"] = true, ["criteria"] = "settings.heroic_charge & runeforge.reprisal.enabled & prev.1.heroic_leap", ["action"] = "charge", }, -- [3] { ["action"] = "pummel", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "debuff.casting.up & ! target.is_boss", ["action"] = "shockwave", }, -- [5] { ["enabled"] = true, ["criteria"] = "cooldown.avatar.remains <= gcd || buff.avatar.up", ["action"] = "use_items", }, -- [6] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [7] { ["action"] = "berserking", ["enabled"] = true, }, -- [8] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [9] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [10] { ["action"] = "fireblood", ["enabled"] = true, }, -- [11] { ["action"] = "ancestral_call", ["enabled"] = true, }, -- [12] { ["action"] = "bag_of_tricks", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.avatar.up || fight_remains < 25", ["action"] = "potion", }, -- [14] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "incoming_damage_5s > 0", ["list_name"] = "mitigation", }, -- [15] { ["enabled"] = true, ["criteria"] = "runeforge.glory.enabled", ["action"] = "conquerors_banner", }, -- [16] { ["action"] = "avatar", ["enabled"] = true, }, -- [17] { ["action"] = "ancient_aftershock", ["enabled"] = true, }, -- [18] { ["action"] = "spear_of_bastion", ["enabled"] = true, }, -- [19] { ["action"] = "conquerors_banner", ["enabled"] = true, }, -- [20] { ["enabled"] = true, ["criteria"] = "buff.shield_block.down", ["action"] = "shield_block", }, -- [21] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "spell_targets.thunder_clap >= 3", ["list_name"] = "aoe", }, -- [22] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "generic", }, -- [23] }, ["precombat"] = { { ["action"] = "battle_shout", ["enabled"] = true, }, -- [1] { ["action"] = "potion", ["enabled"] = true, }, -- [2] }, ["mitigation"] = { { ["enabled"] = true, ["criteria"] = "rage > 50 & buff.ignore_pain.down", ["action"] = "ignore_pain", }, -- [1] { ["enabled"] = true, ["criteria"] = "( ! talent.bolster.enabled || ! buff.last_stand.up ) & ( charges_fractional > 1.8 || incoming_damage_5s )", ["action"] = "shield_block", }, -- [2] { ["enabled"] = true, ["criteria"] = "( target.within10 || active_enemies > 1 ) & ( ( incoming_damage_5s > 0.15 * health.max || health.pct < 30 ) || ( ! talent.booming_voice.enabled || rage.max - rage < 40 ) )", ["action"] = "demoralizing_shout", ["line_cd"] = "6", }, -- [3] { ["enabled"] = true, ["criteria"] = "incoming_damage_3s > health & cooldown.anima_of_death.remains <= 2", ["action"] = "last_stand", }, -- [4] { ["enabled"] = true, ["criteria"] = "incoming_damage_5s > health || health.pct < 20", ["action"] = "shield_wall", }, -- [5] }, ["aoe"] = { { ["action"] = "ravager", ["enabled"] = true, }, -- [1] { ["action"] = "dragon_roar", ["enabled"] = true, }, -- [2] { ["action"] = "thunder_clap", ["enabled"] = true, }, -- [3] { ["action"] = "revenge", ["enabled"] = true, }, -- [4] { ["action"] = "shield_slam", ["enabled"] = true, }, -- [5] }, }, }, ["Fury"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210705, ["author"] = "SimC / Archimtiros", ["desc"] = "Fury Warrior\nJuly 5, 2021\n\nChanges:\n- Added Pummel.\n- Disabled movement / Heroic Leap call (not needed for in-game context).\n- Moved Bladestorm and Dragon Roar above Bloodthirst to improve frequency of recommendations (sims roughly equal).\n- Added Battle Shout to precombat APL.\n- Added Use Items.\n- Tweak for Whirlwind before level 37.\n- Removed Essences.\n- Don't use Siegebreaker if it's already up (Deathmaker).\n- Setup fake sequences for Signet opener.", ["lists"] = { ["single_target"] = { { ["enabled"] = true, ["criteria"] = "runeforge.will_of_the_berserker.equipped & buff.will_of_the_berserker.remains < gcd", ["action"] = "raging_blow", }, -- [1] { ["enabled"] = true, ["criteria"] = "runeforge.will_of_the_berserker.equipped & buff.will_of_the_berserker.remains < gcd", ["action"] = "raging_blow", }, -- [2] { ["enabled"] = true, ["buff_name"] = "bladestorm", ["criteria"] = "spell_targets.whirlwind = 1 & gcd.remains = 0 & ( talent.massacre.enabled || covenant.venthyr ) & variable.execute_phase & ( rage > 90 || ! cooldown.condemn.remains )", ["action"] = "cancel_buff", }, -- [3] { ["enabled"] = true, ["criteria"] = "( buff.enrage.up || buff.recklessness.up & runeforge.sinful_surge.enabled ) & variable.execute_phase", ["action"] = "condemn", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & variable.execute_phase", ["action"] = "condemn", }, -- [5] { ["enabled"] = true, ["criteria"] = "debuff.siegebreaker.down & ( spell_targets.whirlwind > 1 || raid_event.adds.in > 15 )", ["action"] = "siegebreaker", }, -- [6] { ["enabled"] = true, ["criteria"] = "( buff.recklessness.up || buff.memory_of_lucid_dreams.up ) || ( buff.enrage.remains < gcd || rage > 90 ) || buff.frenzy.remains < 1.5", ["action"] = "rampage", }, -- [7] { ["action"] = "condemn", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & ( spell_targets.whirlwind > 1 || raid_event.adds.in > 75 )", ["action"] = "ancient_aftershock", }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & ( spell_targets.whirlwind > 1 || raid_event.adds.in > 45 )", ["action"] = "spear_of_bastion", }, -- [10] { ["action"] = "execute", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & ( ! buff.recklessness.remains || rage < 50 ) & ( spell_targets.whirlwind = 1 & raid_event.adds.in > 45 || spell_targets.whirlwind = 2 )", ["action"] = "bladestorm", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.enrage.down || conduit.vicious_contempt.rank > 5 & target.health.pct < 35", ["action"] = "bloodthirst", ["cycle_targets"] = 1, }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.enrage.down || conduit.vicious_contempt.rank > 5 & target.health.pct < 35 & ! talent.cruelty.enabled", ["action"] = "bloodthirst", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & ( spell_targets.whirlwind > 1 || raid_event.adds.in > 15 )", ["action"] = "dragon_roar", }, -- [15] { ["action"] = "onslaught", ["enabled"] = true, }, -- [16] { ["enabled"] = true, ["criteria"] = "buff.merciless_bonegrinder.up & spell_targets.whirlwind > 3", ["action"] = "whirlwind", }, -- [17] { ["enabled"] = true, ["criteria"] = "charges = 2 || buff.recklessness.up & variable.execute_phase & talent.massacre.enabled", ["action"] = "raging_blow", }, -- [18] { ["enabled"] = true, ["criteria"] = "charges = 2 || buff.recklessness.up & variable.execute_phase & talent.massacre.enabled", ["action"] = "raging_blow", }, -- [19] { ["enabled"] = true, ["criteria"] = "buff.enrage.down", ["action"] = "bloodthirst", ["cycle_targets"] = 1, }, -- [20] { ["action"] = "bloodthirst", ["enabled"] = true, }, -- [21] { ["action"] = "bloodthirst", ["enabled"] = true, }, -- [22] { ["action"] = "raging_blow", ["enabled"] = true, }, -- [23] { ["action"] = "raging_blow", ["enabled"] = true, }, -- [24] { ["action"] = "whirlwind", ["enabled"] = true, }, -- [25] }, ["aoe"] = { { ["enabled"] = true, ["buff_name"] = "bladestorm", ["criteria"] = "gcd.remains = 0 & soulbind.first_strike.enabled & buff.first_strike.remains & buff.enrage.remains < gcd", ["action"] = "cancel_buff", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & cooldown.recklessness.remains > 5", ["action"] = "ancient_aftershock", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.enrage.up & rage < 40", ["action"] = "spear_of_bastion", }, -- [3] { ["enabled"] = true, ["interrupt_if"] = "gcd.remains=0&soulbind.first_strike&buff.first_strike.remains&buff.enrage.remains1&buff.demonic_core.stack<=2\nactions.precombat+=/potion\nactions.precombat+=/demonbolt,if=boss||action.demonbolt.cast=0\nactions.precombat+=/shadow_bolt\n\n# Executed every time the actor is available.\nactions=spell_lock\nactions+=/potion,if=pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)&(!talent.nether_portal.enabled||buff.nether_portal.up)||time_to_die<30\nactions+=/use_item,name=azsharas_font_of_power,if=cooldown.summon_demonic_tyrant.remains<=20&!talent.nether_portal.enabled\nactions+=/use_items,if=pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)||time_to_die<=15\nactions+=/berserking,if=pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)||time_to_die<=15\nactions+=/blood_fury,if=pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)||time_to_die<=15\nactions+=/fireblood,if=pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)||time_to_die<=15\nactions+=/blood_of_the_enemy,if=pet.demonic_tyrant.active&pet.demonic_tyrant.remains<=15-gcd*3&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)\nactions+=/worldvein_resonance,if=buff.lifeblood.stack<3&(pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)||time_to_die<=15)\nactions+=/ripple_in_space,if=pet.demonic_tyrant.active&(!essence.vision_of_perfection.major||!talent.demonic_consumption.enabled||cooldown.summon_demonic_tyrant.remains>=cooldown.summon_demonic_tyrant.duration-5)||time_to_die<=15\nactions+=/use_item,name=pocketsized_computation_device,if=cooldown.summon_demonic_tyrant.remains>=20&cooldown.summon_demonic_tyrant.remains<=cooldown.summon_demonic_tyrant.duration-15||time_to_die<=30\nactions+=/use_item,name=rotcrusted_voodoo_doll,if=(cooldown.summon_demonic_tyrant.remains>=25||time_to_die<=30)\nactions+=/use_item,name=shiver_venom_relic,if=(cooldown.summon_demonic_tyrant.remains>=25||time_to_die<=30)\nactions+=/use_item,name=aquipotent_nautilus,if=(cooldown.summon_demonic_tyrant.remains>=25||time_to_die<=30)\nactions+=/use_item,name=tidestorm_codex,if=(cooldown.summon_demonic_tyrant.remains>=25||time_to_die<=30)\nactions+=/use_item,name=vial_of_storms,if=(cooldown.summon_demonic_tyrant.remains>=25||time_to_die<=30)\nactions+=/call_action_list,name=opener,if=!talent.nether_portal.enabled&time<30&!cooldown.summon_demonic_tyrant.remains\nactions+=/use_item,name=azsharas_font_of_power,if=(time>30||!talent.nether_portal.enabled)&talent.grimoire_felguard.enabled&(time_to_die>120||time_to_die2&buff.explosive_potential.down&buff.wild_imps.stack<3&!prev_gcd.1.hand_of_guldan&!prev_gcd.2.hand_of_guldan\nactions+=/demonbolt,if=soul_shard<=3&buff.demonic_core.up&buff.demonic_core.stack=4\nactions+=/implosion,if=azerite.explosive_potential.rank&buff.wild_imps.stack>2&buff.explosive_potential.remains12)\nactions+=/doom,if=!ticking&time_to_die>30&spell_targets.implosion<2&!buff.nether_portal.remains\nactions+=/bilescourge_bombers,if=azerite.explosive_potential.rank>0&time<10&spell_targets.implosion<2&buff.dreadstalkers.remains&talent.nether_portal.enabled\nactions+=/demonic_strength,if=(buff.wild_imps.stack<6||buff.demonic_power.up)||spell_targets.implosion<2\nactions+=/call_action_list,name=nether_portal,if=talent.nether_portal.enabled&spell_targets.implosion<=2\nactions+=/call_action_list,name=implosion,if=spell_targets.implosion>1\nactions+=/guardian_of_azeroth,if=cooldown.summon_demonic_tyrant.remains<=15||time_to_die<=30\nactions+=/grimoire_felguard,if=(time_to_die>120||time_to_die40||cooldown.summon_demonic_tyrant.remains<12\nactions+=/call_dreadstalkers,if=(cooldown.summon_demonic_tyrant.remains<9&buff.demonic_calling.remains)||(cooldown.summon_demonic_tyrant.remains<11&!buff.demonic_calling.remains)||cooldown.summon_demonic_tyrant.remains>14\nactions+=/the_unbound_force,if=buff.reckless_force.react\nactions+=/bilescourge_bombers\nactions+=/hand_of_guldan,if=(azerite.baleful_invocation.enabled||talent.demonic_consumption.enabled)&prev_gcd.1.hand_of_guldan&cooldown.summon_demonic_tyrant.remains<2\n# 2000%spell_haste is shorthand for the cast time of Demonic Tyrant. The intent is to only begin casting if a certain number of imps will be out by the end of the cast.\nactions+=/summon_demonic_tyrant,if=soul_shard<3&(!talent.demonic_consumption.enabled||buff.wild_imps.stack+imps_spawned_during.summon_demonic_tyrant>=6&time_to_imps.all.remains=2&buff.demonic_core.stack<=2&buff.demonic_power.down&spell_targets.implosion<2\nactions+=/doom,if=talent.doom.enabled&refreshable&time_to_die>(dot.doom.remains+30)\nactions+=/hand_of_guldan,if=soul_shard>=5||(soul_shard>=3&cooldown.call_dreadstalkers.remains>4&(cooldown.summon_demonic_tyrant.remains>20||(cooldown.summon_demonic_tyrant.remains3))\nactions+=/soul_strike,if=soul_shard<5&buff.demonic_core.stack<=2\nactions+=/demonbolt,if=soul_shard<=3&buff.demonic_core.up&((cooldown.summon_demonic_tyrant.remains<6||cooldown.summon_demonic_tyrant.remains>22&!azerite.shadows_bite.enabled)||buff.demonic_core.stack>=3||buff.demonic_core.remains<5||time_to_die<25||buff.shadows_bite.remains)\nactions+=/focused_azerite_beam,if=!pet.demonic_tyrant.active\nactions+=/purifying_blast\nactions+=/blood_of_the_enemy\nactions+=/concentrated_flame,if=!dot.concentrated_flame_burn.remains&!action.concentrated_flame.in_flight&!pet.demonic_tyrant.active\nactions+=/reaping_flames,if=!pet.demonic_tyrant.active\nactions+=/call_action_list,name=build_a_shard\n\nactions.build_a_shard=memory_of_lucid_dreams,if=soul_shard<2\nactions.build_a_shard+=/soul_strike,if=!talent.demonic_consumption.enabled||time>15||prev_gcd.1.hand_of_guldan&!buff.bloodlust.remains\nactions.build_a_shard+=/shadow_bolt\n\nactions.implosion=implosion,if=(buff.wild_imps.stack>=6&(soul_shard<3||prev_gcd.1.call_dreadstalkers||buff.wild_imps.stack>=9||prev_gcd.1.bilescourge_bombers||(!prev_gcd.1.hand_of_guldan&!prev_gcd.2.hand_of_guldan))&!prev_gcd.1.hand_of_guldan&!prev_gcd.2.hand_of_guldan&buff.demonic_power.down)||(time_to_die<3&buff.wild_imps.stack>0)||(prev_gcd.2.call_dreadstalkers&buff.wild_imps.stack>2&!talent.demonic_calling.enabled)\nactions.implosion+=/grimoire_felguard,if=cooldown.summon_demonic_tyrant.remains<13||!equipped.132369\nactions.implosion+=/call_dreadstalkers,if=(cooldown.summon_demonic_tyrant.remains<9&buff.demonic_calling.remains)||(cooldown.summon_demonic_tyrant.remains<11&!buff.demonic_calling.remains)||cooldown.summon_demonic_tyrant.remains>14\nactions.implosion+=/summon_demonic_tyrant\nactions.implosion+=/hand_of_guldan,if=soul_shard>=5\nactions.implosion+=/hand_of_guldan,if=soul_shard>=3&(((prev_gcd.2.hand_of_guldan||buff.wild_imps.stack>=3)&buff.wild_imps.stack<9)||cooldown.summon_demonic_tyrant.remains<=gcd*2||buff.demonic_power.remains>gcd*2)\nactions.implosion+=/demonbolt,if=prev_gcd.1.hand_of_guldan&soul_shard>=1&(buff.wild_imps.stack<=3||prev_gcd.3.hand_of_guldan)&soul_shard<4&buff.demonic_core.up\nactions.implosion+=/summon_vilefiend,if=(cooldown.summon_demonic_tyrant.remains>40&spell_targets.implosion<=2)||cooldown.summon_demonic_tyrant.remains<12\nactions.implosion+=/bilescourge_bombers,if=cooldown.summon_demonic_tyrant.remains>9\nactions.implosion+=/focused_azerite_beam\nactions.implosion+=/purifying_blast\nactions.implosion+=/blood_of_the_enemy\nactions.implosion+=/concentrated_flame,if=!dot.concentrated_flame_burn.remains&!action.concentrated_flame.in_flight&spell_targets.implosion<5\nactions.implosion+=/soul_strike,if=soul_shard<5&buff.demonic_core.stack<=2\nactions.implosion+=/demonbolt,if=soul_shard<=3&buff.demonic_core.up&(buff.demonic_core.stack>=3||buff.demonic_core.remains<=gcd*5.7)\nactions.implosion+=/doom,cycle_targets=1,max_cycle_targets=7,if=refreshable\nactions.implosion+=/call_action_list,name=build_a_shard\n\nactions.nether_portal=call_action_list,name=nether_portal_building,if=cooldown.nether_portal.remains<20\nactions.nether_portal+=/call_action_list,name=nether_portal_active,if=buff.nether_portal.up\n\nactions.nether_portal_active=bilescourge_bombers\nactions.nether_portal_active+=/grimoire_felguard,if=cooldown.summon_demonic_tyrant.remains<13||!equipped.132369\nactions.nether_portal_active+=/summon_vilefiend,if=cooldown.summon_demonic_tyrant.remains>40||cooldown.summon_demonic_tyrant.remains<12\nactions.nether_portal_active+=/call_dreadstalkers,if=(cooldown.summon_demonic_tyrant.remains<9&buff.demonic_calling.remains)||(cooldown.summon_demonic_tyrant.remains<11&!buff.demonic_calling.remains)||cooldown.summon_demonic_tyrant.remains>14\nactions.nether_portal_active+=/call_action_list,name=build_a_shard,if=soul_shard=1&(cooldown.call_dreadstalkers.remainsaction.demonbolt.cast_time)&(cooldown.call_dreadstalkers.remains>action.shadow_bolt.cast_time))&cooldown.nether_portal.remains>(165+action.hand_of_guldan.cast_time)\nactions.nether_portal_active+=/summon_demonic_tyrant,if=buff.nether_portal.remains<5&soul_shard=0\nactions.nether_portal_active+=/summon_demonic_tyrant,if=buff.nether_portal.remains=5\nactions.nether_portal_building+=/nether_portal,if=soul_shard>=5\nactions.nether_portal_building+=/call_dreadstalkers,if=time>=30\nactions.nether_portal_building+=/hand_of_guldan,if=time>=30&cooldown.call_dreadstalkers.remains>18&soul_shard>=3\nactions.nether_portal_building+=/power_siphon,if=time>=30&buff.wild_imps.stack>=2&buff.demonic_core.stack<=2&buff.demonic_power.down&soul_shard>=3\nactions.nether_portal_building+=/hand_of_guldan,if=time>=30&soul_shard>=5\nactions.nether_portal_building+=/call_action_list,name=build_a_shard\n\nactions.opener=hand_of_guldan,line_cd=30,if=azerite.explosive_potential.enabled\nactions.opener+=/implosion,if=azerite.explosive_potential.enabled&buff.wild_imps.stack>2&buff.explosive_potential.down\nactions.opener+=/doom,line_cd=30\nactions.opener+=/guardian_of_azeroth\nactions.opener+=/hand_of_guldan,if=prev_gcd.1.hand_of_guldan&soul_shard>0&prev_gcd.2.soul_strike\nactions.opener+=/demonic_strength,if=prev_gcd.1.hand_of_guldan&!prev_gcd.2.hand_of_guldan&(buff.wild_imps.stack>1&action.hand_of_guldan.in_flight)\nactions.opener+=/bilescourge_bombers\nactions.opener+=/soul_strike,line_cd=30,if=!buff.bloodlust.remains||time>5&prev_gcd.1.hand_of_guldan\nactions.opener+=/summon_vilefiend,if=soul_shard=5\nactions.opener+=/grimoire_felguard,if=soul_shard=5\nactions.opener+=/call_dreadstalkers,if=soul_shard=5\nactions.opener+=/hand_of_guldan,if=soul_shard=5\nactions.opener+=/hand_of_guldan,if=soul_shard>=3&prev_gcd.2.hand_of_guldan&time>5&(prev_gcd.1.soul_strike||!talent.soul_strike.enabled&prev_gcd.1.shadow_bolt)\n# 2000%spell_haste is shorthand for the cast time of Demonic Tyrant. The intent is to only begin casting if a certain number of imps will be out by the end of the cast.\nactions.opener+=/summon_demonic_tyrant,if=prev_gcd.1.demonic_strength||prev_gcd.1.hand_of_guldan&prev_gcd.2.hand_of_guldan||!talent.demonic_strength.enabled&buff.wild_imps.stack+imps_spawned_during.summon_demonic_tyrant>=6\nactions.opener+=/demonbolt,if=soul_shard<=3&buff.demonic_core.remains\nactions.opener+=/call_action_list,name=build_a_shard", ["version"] = 20200124, ["warnings"] = "Imported 8 action lists.\n", ["lists"] = { ["opener"] = { { ["enabled"] = true, ["action"] = "hand_of_guldan", ["criteria"] = "azerite.explosive_potential.enabled", ["line_cd"] = "30", }, -- [1] { ["enabled"] = true, ["criteria"] = "azerite.explosive_potential.enabled & buff.wild_imps.stack > 2 & buff.explosive_potential.down", ["action"] = "implosion", }, -- [2] { ["enabled"] = true, ["action"] = "doom", ["line_cd"] = "30", }, -- [3] { ["action"] = "guardian_of_azeroth", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "prev_gcd.1.hand_of_guldan & soul_shard > 0 & prev_gcd.2.soul_strike", ["action"] = "hand_of_guldan", }, -- [5] { ["enabled"] = true, ["criteria"] = "prev_gcd.1.hand_of_guldan & ! prev_gcd.2.hand_of_guldan & ( buff.wild_imps.stack > 1 & action.hand_of_guldan.in_flight )", ["action"] = "demonic_strength", }, -- [6] { ["action"] = "bilescourge_bombers", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["action"] = "soul_strike", ["criteria"] = "! buff.bloodlust.remains || time > 5 & prev_gcd.1.hand_of_guldan", ["line_cd"] = "30", }, -- [8] { ["enabled"] = true, ["criteria"] = "soul_shard = 5", ["action"] = "summon_vilefiend", }, -- [9] { ["enabled"] = true, ["criteria"] = "soul_shard = 5", ["action"] = "grimoire_felguard", }, -- [10] { ["enabled"] = true, ["criteria"] = "soul_shard = 5", ["action"] = "call_dreadstalkers", }, -- [11] { ["enabled"] = true, ["criteria"] = "soul_shard = 5", ["action"] = "hand_of_guldan", }, -- [12] { ["enabled"] = true, ["criteria"] = "soul_shard >= 3 & prev_gcd.2.hand_of_guldan & time > 5 & ( prev_gcd.1.soul_strike || ! talent.soul_strike.enabled & prev_gcd.1.shadow_bolt )", ["action"] = "hand_of_guldan", }, -- [13] { ["enabled"] = true, ["criteria"] = "prev_gcd.1.demonic_strength || prev_gcd.1.hand_of_guldan & prev_gcd.2.hand_of_guldan || ! talent.demonic_strength.enabled & buff.wild_imps.stack + imps_spawned_during.summon_demonic_tyrant >= 6", ["action"] = "summon_demonic_tyrant", }, -- [14] { ["enabled"] = true, ["criteria"] = "soul_shard <= 3 & buff.demonic_core.remains", ["action"] = "demonbolt", }, -- [15] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "build_a_shard", }, -- [16] }, ["implosion"] = { { ["enabled"] = true, ["criteria"] = "( buff.wild_imps.stack >= 6 & ( soul_shard < 3 || prev_gcd.1.call_dreadstalkers || buff.wild_imps.stack >= 9 || prev_gcd.1.bilescourge_bombers || ( ! prev_gcd.1.hand_of_guldan & ! prev_gcd.2.hand_of_guldan ) ) & ! prev_gcd.1.hand_of_guldan & ! prev_gcd.2.hand_of_guldan & buff.demonic_power.down ) || ( time_to_die < 3 & buff.wild_imps.stack > 0 ) || ( prev_gcd.2.call_dreadstalkers & buff.wild_imps.stack > 2 & ! talent.demonic_calling.enabled )", ["action"] = "implosion", }, -- [1] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains < 13 || ! equipped.wilfreds_sigil_of_superior_summoning", ["action"] = "grimoire_felguard", }, -- [2] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains < 9 & buff.demonic_calling.remains ) || ( cooldown.summon_demonic_tyrant.remains < 11 & ! buff.demonic_calling.remains ) || cooldown.summon_demonic_tyrant.remains > 14", ["action"] = "call_dreadstalkers", }, -- [3] { ["action"] = "summon_demonic_tyrant", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "soul_shard >= 5", ["action"] = "hand_of_guldan", }, -- [5] { ["enabled"] = true, ["criteria"] = "soul_shard >= 3 & ( ( ( prev_gcd.2.hand_of_guldan || buff.wild_imps.stack >= 3 ) & buff.wild_imps.stack < 9 ) || cooldown.summon_demonic_tyrant.remains <= gcd * 2 || buff.demonic_power.remains > gcd * 2 )", ["action"] = "hand_of_guldan", }, -- [6] { ["enabled"] = true, ["criteria"] = "prev_gcd.1.hand_of_guldan & soul_shard >= 1 & ( buff.wild_imps.stack <= 3 || prev_gcd.3.hand_of_guldan ) & soul_shard < 4 & buff.demonic_core.up", ["action"] = "demonbolt", }, -- [7] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains > 40 & spell_targets.implosion <= 2 ) || cooldown.summon_demonic_tyrant.remains < 12", ["action"] = "summon_vilefiend", }, -- [8] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains > 9", ["action"] = "bilescourge_bombers", }, -- [9] { ["action"] = "focused_azerite_beam", ["enabled"] = true, }, -- [10] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [11] { ["action"] = "blood_of_the_enemy", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "! dot.concentrated_flame_burn.remains & ! action.concentrated_flame.in_flight & spell_targets.implosion < 5", ["action"] = "concentrated_flame", }, -- [13] { ["enabled"] = true, ["criteria"] = "soul_shard < 5 & buff.demonic_core.stack <= 2", ["action"] = "soul_strike", }, -- [14] { ["enabled"] = true, ["criteria"] = "soul_shard <= 3 & buff.demonic_core.up & ( buff.demonic_core.stack >= 3 || buff.demonic_core.remains <= gcd * 5.7 )", ["action"] = "demonbolt", }, -- [15] { ["enabled"] = true, ["action"] = "doom", ["cycle_targets"] = 1, ["max_cycle_targets"] = "7", ["criteria"] = "refreshable", }, -- [16] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "build_a_shard", }, -- [17] }, ["default"] = { { ["action"] = "spell_lock", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) & ( ! talent.nether_portal.enabled || buff.nether_portal.up ) || time_to_die < 30", ["action"] = "potion", }, -- [2] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains <= 20 & ! talent.nether_portal.enabled", ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [3] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) || time_to_die <= 15", ["action"] = "use_items", }, -- [4] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) || time_to_die <= 15", ["action"] = "berserking", }, -- [5] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) || time_to_die <= 15", ["action"] = "blood_fury", }, -- [6] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) || time_to_die <= 15", ["action"] = "fireblood", }, -- [7] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & pet.demonic_tyrant.remains <= 15 - gcd * 3 & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 )", ["action"] = "blood_of_the_enemy", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.lifeblood.stack < 3 & ( pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) || time_to_die <= 15 )", ["action"] = "worldvein_resonance", }, -- [9] { ["enabled"] = true, ["criteria"] = "pet.demonic_tyrant.active & ( ! essence.vision_of_perfection.major || ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains >= cooldown.summon_demonic_tyrant.duration - 5 ) || time_to_die <= 15", ["action"] = "ripple_in_space", }, -- [10] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains >= 20 & cooldown.summon_demonic_tyrant.remains <= cooldown.summon_demonic_tyrant.duration - 15 || time_to_die <= 30", ["name"] = "pocketsized_computation_device", ["action"] = "cyclotronic_blast", }, -- [11] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains >= 25 || time_to_die <= 30 )", ["name"] = "rotcrusted_voodoo_doll", ["action"] = "rotcrusted_voodoo_doll", }, -- [12] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains >= 25 || time_to_die <= 30 )", ["name"] = "shiver_venom_relic", ["action"] = "shiver_venom_relic", }, -- [13] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains >= 25 || time_to_die <= 30 )", ["name"] = "aquipotent_nautilus", ["action"] = "aquipotent_nautilus", }, -- [14] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains >= 25 || time_to_die <= 30 )", ["name"] = "tidestorm_codex", ["action"] = "tidestorm_codex", }, -- [15] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains >= 25 || time_to_die <= 30 )", ["name"] = "vial_of_storms", ["action"] = "vial_of_storms", }, -- [16] { ["enabled"] = true, ["criteria"] = "! talent.nether_portal.enabled & time < 30 & ! cooldown.summon_demonic_tyrant.remains", ["action"] = "call_action_list", ["list_name"] = "opener", }, -- [17] { ["enabled"] = true, ["criteria"] = "( time > 30 || ! talent.nether_portal.enabled ) & talent.grimoire_felguard.enabled & ( time_to_die > 120 || time_to_die < cooldown.summon_demonic_tyrant.remains + 15 ) || time_to_die <= 35", ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [18] { ["enabled"] = true, ["criteria"] = "azerite.explosive_potential.rank & time < 5 & soul_shard > 2 & buff.explosive_potential.down & buff.wild_imps.stack < 3 & ! prev_gcd.1.hand_of_guldan & ! prev_gcd.2.hand_of_guldan", ["action"] = "hand_of_guldan", }, -- [19] { ["enabled"] = true, ["criteria"] = "soul_shard <= 3 & buff.demonic_core.up & buff.demonic_core.stack = 4", ["action"] = "demonbolt", }, -- [20] { ["enabled"] = true, ["criteria"] = "azerite.explosive_potential.rank & buff.wild_imps.stack > 2 & buff.explosive_potential.remains < action.shadow_bolt.execute_time & ( ! talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains > 12 )", ["action"] = "implosion", }, -- [21] { ["enabled"] = true, ["criteria"] = "! ticking & time_to_die > 30 & spell_targets.implosion < 2 & ! buff.nether_portal.remains", ["action"] = "doom", }, -- [22] { ["enabled"] = true, ["criteria"] = "azerite.explosive_potential.rank > 0 & time < 10 & spell_targets.implosion < 2 & buff.dreadstalkers.remains & talent.nether_portal.enabled", ["action"] = "bilescourge_bombers", }, -- [23] { ["enabled"] = true, ["criteria"] = "( buff.wild_imps.stack < 6 || buff.demonic_power.up ) || spell_targets.implosion < 2", ["action"] = "demonic_strength", }, -- [24] { ["enabled"] = true, ["criteria"] = "talent.nether_portal.enabled & spell_targets.implosion <= 2", ["action"] = "call_action_list", ["list_name"] = "nether_portal", }, -- [25] { ["enabled"] = true, ["criteria"] = "spell_targets.implosion > 1", ["action"] = "call_action_list", ["list_name"] = "implosion", }, -- [26] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains <= 15 || time_to_die <= 30", ["action"] = "guardian_of_azeroth", }, -- [27] { ["enabled"] = true, ["criteria"] = "( time_to_die > 120 || time_to_die < cooldown.summon_demonic_tyrant.remains + 15 || cooldown.summon_demonic_tyrant.remains < 13 )", ["action"] = "grimoire_felguard", }, -- [28] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains > 40 || cooldown.summon_demonic_tyrant.remains < 12", ["action"] = "summon_vilefiend", }, -- [29] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains < 9 & buff.demonic_calling.remains ) || ( cooldown.summon_demonic_tyrant.remains < 11 & ! buff.demonic_calling.remains ) || cooldown.summon_demonic_tyrant.remains > 14", ["action"] = "call_dreadstalkers", }, -- [30] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.react", ["action"] = "the_unbound_force", }, -- [31] { ["action"] = "bilescourge_bombers", ["enabled"] = true, }, -- [32] { ["enabled"] = true, ["criteria"] = "( azerite.baleful_invocation.enabled || talent.demonic_consumption.enabled ) & prev_gcd.1.hand_of_guldan & cooldown.summon_demonic_tyrant.remains < 2", ["action"] = "hand_of_guldan", }, -- [33] { ["enabled"] = true, ["criteria"] = "soul_shard < 3 & ( ! talent.demonic_consumption.enabled || buff.wild_imps.stack + imps_spawned_during.summon_demonic_tyrant >= 6 & time_to_imps.all.remains < cast_time ) || time_to_die < 20", ["action"] = "summon_demonic_tyrant", }, -- [34] { ["enabled"] = true, ["criteria"] = "buff.wild_imps.stack >= 2 & buff.demonic_core.stack <= 2 & buff.demonic_power.down & spell_targets.implosion < 2", ["action"] = "power_siphon", }, -- [35] { ["enabled"] = true, ["criteria"] = "talent.doom.enabled & refreshable & time_to_die > ( dot.doom.remains + 30 )", ["action"] = "doom", }, -- [36] { ["enabled"] = true, ["criteria"] = "soul_shard >= 5 || ( soul_shard >= 3 & cooldown.call_dreadstalkers.remains > 4 & ( cooldown.summon_demonic_tyrant.remains > 20 || ( cooldown.summon_demonic_tyrant.remains < gcd * 2 & talent.demonic_consumption.enabled || cooldown.summon_demonic_tyrant.remains < gcd * 4 & ! talent.demonic_consumption.enabled ) ) & ( ! talent.summon_vilefiend.enabled || cooldown.summon_vilefiend.remains > 3 ) )", ["action"] = "hand_of_guldan", }, -- [37] { ["enabled"] = true, ["criteria"] = "soul_shard < 5 & buff.demonic_core.stack <= 2", ["action"] = "soul_strike", }, -- [38] { ["enabled"] = true, ["criteria"] = "soul_shard <= 3 & buff.demonic_core.up & ( ( cooldown.summon_demonic_tyrant.remains < 6 || cooldown.summon_demonic_tyrant.remains > 22 & ! azerite.shadows_bite.enabled ) || buff.demonic_core.stack >= 3 || buff.demonic_core.remains < 5 || time_to_die < 25 || buff.shadows_bite.remains )", ["action"] = "demonbolt", }, -- [39] { ["enabled"] = true, ["criteria"] = "! pet.demonic_tyrant.active", ["action"] = "focused_azerite_beam", }, -- [40] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [41] { ["action"] = "blood_of_the_enemy", ["enabled"] = true, }, -- [42] { ["enabled"] = true, ["criteria"] = "! dot.concentrated_flame_burn.remains & ! action.concentrated_flame.in_flight & ! pet.demonic_tyrant.active", ["action"] = "concentrated_flame", }, -- [43] { ["enabled"] = true, ["criteria"] = "! pet.demonic_tyrant.active", ["action"] = "reaping_flames", }, -- [44] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "build_a_shard", }, -- [45] }, ["precombat"] = { { ["action"] = "summon_felguard", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.wild_imps.stack > 1 & buff.demonic_core.stack <= 2", ["action"] = "power_siphon", }, -- [2] { ["action"] = "potion", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["criteria"] = "boss || action.demonbolt.cast = 0", ["action"] = "demonbolt", }, -- [4] { ["action"] = "shadow_bolt", ["enabled"] = true, }, -- [5] }, ["nether_portal"] = { { ["enabled"] = true, ["criteria"] = "cooldown.nether_portal.remains < 20", ["action"] = "call_action_list", ["list_name"] = "nether_portal_building", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.nether_portal.up", ["action"] = "call_action_list", ["list_name"] = "nether_portal_active", }, -- [2] }, ["nether_portal_building"] = { { ["enabled"] = true, ["criteria"] = "cooldown.nether_portal.remains <= 5 * spell_haste", ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [1] { ["enabled"] = true, ["criteria"] = "! cooldown.nether_portal.remains & soul_shard >= 5", ["action"] = "guardian_of_azeroth", }, -- [2] { ["enabled"] = true, ["criteria"] = "soul_shard >= 5", ["action"] = "nether_portal", }, -- [3] { ["enabled"] = true, ["criteria"] = "time >= 30", ["action"] = "call_dreadstalkers", }, -- [4] { ["enabled"] = true, ["criteria"] = "time >= 30 & cooldown.call_dreadstalkers.remains > 18 & soul_shard >= 3", ["action"] = "hand_of_guldan", }, -- [5] { ["enabled"] = true, ["criteria"] = "time >= 30 & buff.wild_imps.stack >= 2 & buff.demonic_core.stack <= 2 & buff.demonic_power.down & soul_shard >= 3", ["action"] = "power_siphon", }, -- [6] { ["enabled"] = true, ["criteria"] = "time >= 30 & soul_shard >= 5", ["action"] = "hand_of_guldan", }, -- [7] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "build_a_shard", }, -- [8] }, ["build_a_shard"] = { { ["enabled"] = true, ["criteria"] = "soul_shard < 2", ["action"] = "memory_of_lucid_dreams", }, -- [1] { ["enabled"] = true, ["criteria"] = "! talent.demonic_consumption.enabled || time > 15 || prev_gcd.1.hand_of_guldan & ! buff.bloodlust.remains", ["action"] = "soul_strike", }, -- [2] { ["action"] = "shadow_bolt", ["enabled"] = true, }, -- [3] }, ["nether_portal_active"] = { { ["action"] = "bilescourge_bombers", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains < 13 || ! equipped.wilfreds_sigil_of_superior_summoning", ["action"] = "grimoire_felguard", }, -- [2] { ["enabled"] = true, ["criteria"] = "cooldown.summon_demonic_tyrant.remains > 40 || cooldown.summon_demonic_tyrant.remains < 12", ["action"] = "summon_vilefiend", }, -- [3] { ["enabled"] = true, ["criteria"] = "( cooldown.summon_demonic_tyrant.remains < 9 & buff.demonic_calling.remains ) || ( cooldown.summon_demonic_tyrant.remains < 11 & ! buff.demonic_calling.remains ) || cooldown.summon_demonic_tyrant.remains > 14", ["action"] = "call_dreadstalkers", }, -- [4] { ["enabled"] = true, ["criteria"] = "soul_shard = 1 & ( cooldown.call_dreadstalkers.remains < action.shadow_bolt.cast_time || ( talent.bilescourge_bombers.enabled & cooldown.bilescourge_bombers.remains < action.shadow_bolt.cast_time ) )", ["action"] = "call_action_list", ["list_name"] = "build_a_shard", }, -- [5] { ["enabled"] = true, ["criteria"] = "( ( cooldown.call_dreadstalkers.remains > action.demonbolt.cast_time ) & ( cooldown.call_dreadstalkers.remains > action.shadow_bolt.cast_time ) ) & cooldown.nether_portal.remains > ( 165 + action.hand_of_guldan.cast_time )", ["action"] = "hand_of_guldan", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.nether_portal.remains < 5 & soul_shard = 0", ["action"] = "summon_demonic_tyrant", }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.nether_portal.remains < action.summon_demonic_tyrant.cast_time + 0.5", ["action"] = "summon_demonic_tyrant", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.demonic_core.up & soul_shard <= 3", ["action"] = "demonbolt", }, -- [9] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "build_a_shard", }, -- [10] }, }, ["author"] = "SimC", }, ["Destruction"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20200124, ["author"] = "SimC", ["desc"] = "# Destruction Warlock\n# https://github.com/simulationcraft/simc/\n# January 21, 2020", ["lists"] = { ["gosup_infernal"] = { { ["enabled"] = true, ["criteria"] = "soul_shard = 5 & ! buff.backdraft.up & buff.memory_of_lucid_dreams.up & buff.grimoire_of_supremacy.stack <= 10", ["action"] = "rain_of_fire", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.backdraft.up", ["action"] = "chaos_bolt", }, -- [2] { ["enabled"] = true, ["criteria"] = "soul_shard >= 4.2 - buff.memory_of_lucid_dreams.up", ["action"] = "chaos_bolt", }, -- [3] { ["enabled"] = true, ["criteria"] = "! cooldown.conflagrate.up", ["action"] = "chaos_bolt", }, -- [4] { ["enabled"] = true, ["criteria"] = "cast_time < pet.infernal.remains & pet.infernal.remains < cast_time + gcd", ["action"] = "chaos_bolt", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.backdraft.down & buff.memory_of_lucid_dreams.up & soul_shard >= 1.3", ["action"] = "conflagrate", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.backdraft.down & ! buff.memory_of_lucid_dreams.up & ( soul_shard >= 2.8 || charges_fractional > 1.9 & soul_shard >= 1.3 )", ["action"] = "conflagrate", }, -- [7] { ["enabled"] = true, ["criteria"] = "pet.infernal.remains < 5", ["action"] = "conflagrate", }, -- [8] { ["enabled"] = true, ["criteria"] = "charges > 1", ["action"] = "conflagrate", }, -- [9] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [10] { ["action"] = "shadowburn", ["enabled"] = true, }, -- [11] { ["action"] = "incinerate", ["enabled"] = true, }, -- [12] }, ["havoc"] = { { ["enabled"] = true, ["criteria"] = "buff.backdraft.down & soul_shard >= 1 & soul_shard <= 4", ["action"] = "conflagrate", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.internal_combustion.enabled & remains < duration * 0.5 || ! talent.internal_combustion.enabled & refreshable", ["action"] = "immolate", }, -- [2] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains", ["action"] = "chaos_bolt", }, -- [3] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "active_enemies < 3 || ! talent.fire_and_brimstone.enabled", ["action"] = "shadowburn", }, -- [5] { ["enabled"] = true, ["criteria"] = "cast_time < havoc_remains", ["action"] = "incinerate", }, -- [6] }, ["precombat"] = { { ["action"] = "summon_imp", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_sacrifice.enabled", ["action"] = "grimoire_of_sacrifice", }, -- [2] { ["action"] = "potion", ["enabled"] = true, }, -- [3] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "! talent.soul_fire.enabled", ["action"] = "incinerate", }, -- [5] }, ["aoe"] = { { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( buff.crashing_chaos.down || ! talent.grimoire_of_supremacy.enabled ) & ( ! cooldown.havoc.ready || active_enemies > 3 )", ["action"] = "rain_of_fire", }, -- [1] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains > cast_time", ["action"] = "channel_demonfire", }, -- [2] { ["enabled"] = true, ["action"] = "immolate", ["criteria"] = "remains < 5 & ( ! talent.cataclysm.enabled || cooldown.cataclysm.remains > remains )", ["cycle_targets"] = 1, }, -- [3] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [4] { ["enabled"] = true, ["action"] = "havoc", ["criteria"] = "active_enemies < 4", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_supremacy.enabled & pet.infernal.active & ( havoc_active || talent.cataclysm.enabled || talent.inferno.enabled & active_enemies < 4 )", ["action"] = "chaos_bolt", }, -- [6] { ["action"] = "rain_of_fire", ["enabled"] = true, }, -- [7] { ["action"] = "focused_azerite_beam", ["enabled"] = true, }, -- [8] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [9] { ["enabled"] = true, ["action"] = "havoc", ["criteria"] = "( ! talent.grimoire_of_supremacy.enabled || ! talent.inferno.enabled || talent.grimoire_of_supremacy.enabled & pet.infernal.remains <= 10 )", ["cycle_targets"] = 1, }, -- [10] { ["enabled"] = true, ["criteria"] = "talent.fire_and_brimstone.enabled & buff.backdraft.up & soul_shard < 5 - 0.2 * active_enemies", ["action"] = "incinerate", }, -- [11] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.backdraft.down", ["action"] = "conflagrate", }, -- [13] { ["enabled"] = true, ["criteria"] = "! talent.fire_and_brimstone.enabled", ["action"] = "shadowburn", }, -- [14] { ["enabled"] = true, ["criteria"] = "! dot.concentrated_flame_burn.remains & ! action.concentrated_flame.in_flight & active_enemies < 5", ["action"] = "concentrated_flame", }, -- [15] { ["action"] = "incinerate", ["enabled"] = true, }, -- [16] }, ["cds"] = { { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_supremacy.enabled & remains < 8 & cooldown.summon_infernal.remains < 4.5", ["action"] = "immolate", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_supremacy.enabled & cooldown.summon_infernal.remains < 4.5 & ! buff.backdraft.up & soul_shard < 4.3", ["action"] = "conflagrate", }, -- [2] { ["enabled"] = true, ["criteria"] = "cooldown.summon_infernal.up || cooldown.summon_infernal.remains <= 4", ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [3] { ["action"] = "summon_infernal", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "pet.infernal.active", ["action"] = "guardian_of_azeroth", }, -- [5] { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( pet.infernal.remains < 20.5 || pet.infernal.remains < 22 & soul_shard >= 3.6 || ! talent.grimoire_of_supremacy.enabled )", ["action"] = "dark_soul_instability", }, -- [6] { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( pet.infernal.remains < 15.5 || soul_shard < 3.5 & ( buff.dark_soul_instability.up || ! talent.grimoire_of_supremacy.enabled & dot.immolate.remains > 12 ) )", ["action"] = "memory_of_lucid_dreams", }, -- [7] { ["enabled"] = true, ["criteria"] = "time_to_die > cooldown.summon_infernal.duration + 30", ["action"] = "summon_infernal", }, -- [8] { ["enabled"] = true, ["criteria"] = "time > 30 & time_to_die > cooldown.guardian_of_azeroth.duration + 30", ["action"] = "guardian_of_azeroth", }, -- [9] { ["enabled"] = true, ["criteria"] = "talent.dark_soul_instability.enabled & cooldown.dark_soul_instability.remains > target.time_to_die", ["action"] = "summon_infernal", }, -- [10] { ["enabled"] = true, ["criteria"] = "cooldown.summon_infernal.remains > time_to_die", ["action"] = "guardian_of_azeroth", }, -- [11] { ["enabled"] = true, ["criteria"] = "cooldown.summon_infernal.remains > time_to_die & pet.infernal.remains < 20.5", ["action"] = "dark_soul_instability", }, -- [12] { ["enabled"] = true, ["criteria"] = "cooldown.summon_infernal.remains > time_to_die & pet.infernal.remains < 18.5", ["action"] = "worldvein_resonance", }, -- [13] { ["enabled"] = true, ["criteria"] = "cooldown.summon_infernal.remains > time_to_die & ( pet.infernal.remains < 15.5 || buff.dark_soul_instability.up & soul_shard < 3 )", ["action"] = "memory_of_lucid_dreams", }, -- [14] { ["enabled"] = true, ["criteria"] = "time_to_die < 30", ["action"] = "summon_infernal", }, -- [15] { ["enabled"] = true, ["criteria"] = "time_to_die < 30", ["action"] = "guardian_of_azeroth", }, -- [16] { ["enabled"] = true, ["criteria"] = "time_to_die < 21 & time_to_die > 4", ["action"] = "dark_soul_instability", }, -- [17] { ["enabled"] = true, ["criteria"] = "time_to_die < 16 & time_to_die > 6", ["action"] = "memory_of_lucid_dreams", }, -- [18] { ["enabled"] = true, ["criteria"] = "time_to_die < 19 & time_to_die > 4", ["action"] = "worldvein_resonance", }, -- [19] { ["enabled"] = true, ["criteria"] = "time_to_die < 16 & time_to_die > 6", ["action"] = "memory_of_lucid_dreams", }, -- [20] { ["action"] = "blood_of_the_enemy", ["enabled"] = true, }, -- [21] { ["enabled"] = true, ["criteria"] = "cooldown.summon_infernal.remains >= 60 - 12 & ! pet.infernal.active", ["action"] = "worldvein_resonance", }, -- [22] { ["action"] = "ripple_in_space", ["enabled"] = true, }, -- [23] { ["enabled"] = true, ["criteria"] = "pet.infernal.active || time_to_die < 30", ["action"] = "potion", }, -- [24] { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( ! talent.grimoire_of_supremacy.enabled || ( ! essence.memory_of_lucid_dreams.major || buff.memory_of_lucid_dreams.remains ) & ( ! talent.dark_soul_instability.enabled || buff.dark_soul_instability.remains ) ) || time_to_die <= 15", ["action"] = "berserking", }, -- [25] { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( ! talent.grimoire_of_supremacy.enabled || ( ! essence.memory_of_lucid_dreams.major || buff.memory_of_lucid_dreams.remains ) & ( ! talent.dark_soul_instability.enabled || buff.dark_soul_instability.remains ) ) || time_to_die <= 15", ["action"] = "blood_fury", }, -- [26] { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( ! talent.grimoire_of_supremacy.enabled || ( ! essence.memory_of_lucid_dreams.major || buff.memory_of_lucid_dreams.remains ) & ( ! talent.dark_soul_instability.enabled || buff.dark_soul_instability.remains ) ) || time_to_die <= 15", ["action"] = "fireblood", }, -- [27] { ["enabled"] = true, ["criteria"] = "pet.infernal.active & ( ! talent.grimoire_of_supremacy.enabled || pet.infernal.remains <= 20 ) || time_to_die <= 20", ["action"] = "use_items", }, -- [28] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains >= 5 & ( cooldown.summon_infernal.remains >= 20 || time_to_die < 30 )", ["name"] = "pocketsized_computation_device", ["action"] = "cyclotronic_blast", }, -- [29] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains >= 5 & ( cooldown.summon_infernal.remains >= 20 || time_to_die < 30 )", ["name"] = "rotcrusted_voodoo_doll", ["action"] = "rotcrusted_voodoo_doll", }, -- [30] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains >= 5 & ( cooldown.summon_infernal.remains >= 20 || time_to_die < 30 )", ["name"] = "shiver_venom_relic", ["action"] = "shiver_venom_relic", }, -- [31] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains >= 5 & ( cooldown.summon_infernal.remains >= 20 || time_to_die < 30 )", ["name"] = "aquipotent_nautilus", ["action"] = "aquipotent_nautilus", }, -- [32] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains >= 5 & ( cooldown.summon_infernal.remains >= 20 || time_to_die < 30 )", ["name"] = "tidestorm_codex", ["action"] = "tidestorm_codex", }, -- [33] { ["enabled"] = true, ["criteria"] = "dot.immolate.remains >= 5 & ( cooldown.summon_infernal.remains >= 20 || time_to_die < 30 )", ["name"] = "vial_of_storms", ["action"] = "vial_of_storms", }, -- [34] }, ["default"] = { { ["action"] = "spell_lock", ["enabled"] = true, }, -- [1] { ["action"] = "singe_magic", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "havoc_active & active_enemies < 5 - talent.inferno.enabled + ( talent.inferno.enabled & talent.internal_combustion.enabled )", ["action"] = "call_action_list", ["list_name"] = "havoc", }, -- [3] { ["enabled"] = true, ["criteria"] = "! ( pet.infernal.active & dot.immolate.remains + 1 > pet.infernal.remains ) || spell_targets.cataclysm > 1 || ! talent.grimoire_of_supremacy.enabled", ["action"] = "cataclysm", }, -- [4] { ["enabled"] = true, ["criteria"] = "active_enemies > 2", ["action"] = "call_action_list", ["list_name"] = "aoe", }, -- [5] { ["enabled"] = true, ["action"] = "immolate", ["criteria"] = "refreshable & ( ! talent.cataclysm.enabled || cooldown.cataclysm.remains > remains )", ["cycle_targets"] = 1, }, -- [6] { ["enabled"] = true, ["criteria"] = "talent.internal_combustion.enabled & action.chaos_bolt.in_flight & remains < duration * 0.5", ["action"] = "immolate", }, -- [7] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [8] { ["enabled"] = true, ["criteria"] = "! pet.infernal.active || ! talent.grimoire_of_supremacy.enabled", ["action"] = "focused_azerite_beam", }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.react", ["action"] = "the_unbound_force", }, -- [10] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "! dot.concentrated_flame_burn.remains & ! action.concentrated_flame.in_flight", ["action"] = "concentrated_flame", }, -- [12] { ["action"] = "reaping_flames", ["enabled"] = true, }, -- [13] { ["action"] = "channel_demonfire", ["enabled"] = true, }, -- [14] { ["enabled"] = true, ["action"] = "havoc", ["criteria"] = "( dot.immolate.remains > dot.immolate.duration * 0.5 || ! talent.internal_combustion.enabled ) & ( ! cooldown.summon_infernal.ready || ! talent.grimoire_of_supremacy.enabled || talent.grimoire_of_supremacy.enabled & pet.infernal.remains <= 10 )", ["cycle_targets"] = 1, }, -- [15] { ["enabled"] = true, ["criteria"] = "talent.grimoire_of_supremacy.enabled & pet.infernal.active", ["action"] = "call_action_list", ["list_name"] = "gosup_infernal", }, -- [16] { ["action"] = "soul_fire", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "active_enemies > 1 & cooldown.havoc.remains <= 10 || cooldown.summon_infernal.remains <= 15 & ( talent.grimoire_of_supremacy.enabled || talent.dark_soul_instability.enabled & cooldown.dark_soul_instability.remains <= 15 ) || talent.dark_soul_instability.enabled & cooldown.dark_soul_instability.remains <= 15 & ( cooldown.summon_infernal.remains > time_to_die || cooldown.summon_infernal.remains + cooldown.summon_infernal.duration > time_to_die )", ["var_name"] = "pool_soul_shards", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.backdraft.down & soul_shard >= 1.5 - 0.3 * talent.flashover.enabled & ! variable.pool_soul_shards", ["action"] = "conflagrate", }, -- [19] { ["enabled"] = true, ["criteria"] = "soul_shard < 2 & ( ! variable.pool_soul_shards || charges > 1 )", ["action"] = "shadowburn", }, -- [20] { ["enabled"] = true, ["criteria"] = "( talent.grimoire_of_supremacy.enabled || azerite.crashing_chaos.enabled ) & pet.infernal.active || buff.dark_soul_instability.up || buff.reckless_force.react & buff.reckless_force.remains > cast_time", ["action"] = "chaos_bolt", }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.backdraft.up & ! variable.pool_soul_shards & ! talent.eradication.enabled", ["action"] = "chaos_bolt", }, -- [22] { ["enabled"] = true, ["criteria"] = "! variable.pool_soul_shards & talent.eradication.enabled & ( debuff.eradication.remains < cast_time || buff.backdraft.up )", ["action"] = "chaos_bolt", }, -- [23] { ["enabled"] = true, ["criteria"] = "( soul_shard >= 4.5 - 0.2 * active_enemies ) & ( ! talent.grimoire_of_supremacy.enabled || cooldown.summon_infernal.remains > 7 )", ["action"] = "chaos_bolt", }, -- [24] { ["enabled"] = true, ["criteria"] = "charges > 1", ["action"] = "conflagrate", }, -- [25] { ["action"] = "incinerate", ["enabled"] = true, }, -- [26] }, }, ["version"] = 20200124, ["warnings"] = "Imported 6 action lists.\n", ["spec"] = 267, ["profile"] = "# Destruction Warlock\n# https://github.com/simulationcraft/simc/\n# January 21, 2020\n\n# Executed before combat begins. Accepts non-harmful actions only.\n# actions.precombat=flask\n# actions.precombat+=/food\n# actions.precombat+=/augmentation\nactions.precombat+=/summon_pet\nactions.precombat+=/grimoire_of_sacrifice,if=talent.grimoire_of_sacrifice.enabled\n# actions.precombat+=/snapshot_stats\nactions.precombat+=/potion\nactions.precombat+=/soul_fire\nactions.precombat+=/incinerate,if=!talent.soul_fire.enabled\n\n# Executed every time the actor is available.\nactions=spell_lock\nactions+=/singe_magic\n\n# Havoc uses a special priority list on most multitarget scenarios, but the target threshold can vary depending on talents\nactions=call_action_list,name=havoc,if=havoc_active&active_enemies<5-talent.inferno.enabled+(talent.inferno.enabled&talent.internal_combustion.enabled)\nactions+=/cataclysm,if=!(pet.infernal.active&dot.immolate.remains+1>pet.infernal.remains)||spell_targets.cataclysm>1||!talent.grimoire_of_supremacy.enabled\n# Two target scenarios are handled like single target with Havoc weaved in. Starting with three targets, a specialized AoE priority is required\nactions+=/call_action_list,name=aoe,if=active_enemies>2\n# Immolate should never fall off the primary target. If Cataclysm will refresh Immolate before it expires, there's no reason to waste time casting it\nactions+=/immolate,cycle_targets=1,if=refreshable&(!talent.cataclysm.enabled||cooldown.cataclysm.remains>remains)\n# #With Internal Combustion talented, it's possible Immolate will need to be refreshed sooner than the remaining duration says, if there's already a Chaos Bolt on the way to the target.\nactions+=/immolate,if=talent.internal_combustion.enabled&action.chaos_bolt.in_flight&remainsdot.immolate.duration*0.5||!talent.internal_combustion.enabled)&(!cooldown.summon_infernal.ready||!talent.grimoire_of_supremacy.enabled||talent.grimoire_of_supremacy.enabled&pet.infernal.remains<=10)\nactions+=/call_action_list,name=gosup_infernal,if=talent.grimoire_of_supremacy.enabled&pet.infernal.active\n# Soul Fire should be used on cooldown, it does not appear worth saving for generating Soul Shards during cooldowns\nactions+=/soul_fire\n# It's worth stocking up on Soul Shards before a major cooldown usage\nactions+=/variable,name=pool_soul_shards,value=active_enemies>1&cooldown.havoc.remains<=10||cooldown.summon_infernal.remains<=15&(talent.grimoire_of_supremacy.enabled||talent.dark_soul_instability.enabled&cooldown.dark_soul_instability.remains<=15)||talent.dark_soul_instability.enabled&cooldown.dark_soul_instability.remains<=15&(cooldown.summon_infernal.remains>time_to_die||cooldown.summon_infernal.remains+cooldown.summon_infernal.duration>time_to_die)\n# Conflagrate should only be used to set up Chaos Bolts. Flashover lets Conflagrate be used earlier to set up an Incinerate before CB. If a major cooldown is coming up, save charges for it\nactions+=/conflagrate,if=buff.backdraft.down&soul_shard>=1.5-0.3*talent.flashover.enabled&!variable.pool_soul_shards\n# Shadowburn is used as a discount Conflagrate to generate shards if you don't have enough for a Chaos Bolt. The same rules about saving it for major cooldowns applies\nactions+=/shadowburn,if=soul_shard<2&(!variable.pool_soul_shards||charges>1)\n# Chaos Bolt has several possible use conditions. Crashing Chaos, Grimoire of Supremacy, and Dark Soul: Instability all favor casting as many CBs as possible when any of them are active\nactions+=/chaos_bolt,if=(talent.grimoire_of_supremacy.enabled||azerite.crashing_chaos.enabled)&pet.infernal.active||buff.dark_soul_instability.up||buff.reckless_force.react&buff.reckless_force.remains>cast_time\n# If Soul Shards are not being pooled and Eradication is not talented, just spend CBs as they become available\nactions+=/chaos_bolt,if=buff.backdraft.up&!variable.pool_soul_shards&!talent.eradication.enabled\n# With Eradication, it's beneficial to maximize the uptime on the debuff. However, it's still better to use Chaos Bolt immediately if Backdraft is up\nactions+=/chaos_bolt,if=!variable.pool_soul_shards&talent.eradication.enabled&(debuff.eradication.remains=4.5-0.2*active_enemies)&(!talent.grimoire_of_supremacy.enabled||cooldown.summon_infernal.remains>7)\n# Don't overcap on charges of Conflagrate\nactions+=/conflagrate,if=charges>1\nactions+=/incinerate\n\n# Rain of Fire is typically the highest priority action, but certain situations favor using Chaos Bolt instead\nactions.aoe=rain_of_fire,if=pet.infernal.active&(buff.crashing_chaos.down||!talent.grimoire_of_supremacy.enabled)&(!cooldown.havoc.ready||active_enemies>3)\n# Channel Demonfire only needs one Immolate active during its cast for AoE. Primary target is used here for simplicity\nactions.aoe+=/channel_demonfire,if=dot.immolate.remains>cast_time\n# Similar to single target, there is no need to refresh Immolates if Cataclysm can do it instead\nactions.aoe+=/immolate,cycle_targets=1,if=remains<5&(!talent.cataclysm.enabled||cooldown.cataclysm.remains>remains)\n# Rules for cooldowns do not change for AoE, so call the same list as on single target\nactions.aoe+=/call_action_list,name=cds\n# Three targets is an in-between case that gives a slight benefit to higher priority Havoc\nactions.aoe+=/havoc,cycle_targets=1,if=active_enemies<4\n# Rain of Fire will start to dominate on heavy AoE, but some significant Chaos Bolt buffs will still give higher damage output on occasion\nactions.aoe+=/chaos_bolt,if=talent.grimoire_of_supremacy.enabled&pet.infernal.active&(havoc_active||talent.cataclysm.enabled||talent.inferno.enabled&active_enemies<4)\n# Barring any exceptions, Rain of Fire will be used as much as possible, since multiple copies of it can stack\nactions.aoe+=/rain_of_fire\nactions.aoe+=/focused_azerite_beam\nactions.aoe+=/purifying_blast\n# Even if the Havoc priority list won't be used, Havoc is pretty much free damage and resources and should be used almost on cooldown\nactions.aoe+=/havoc,cycle_targets=1,if=(!talent.grimoire_of_supremacy.enabled||!talent.inferno.enabled||talent.grimoire_of_supremacy.enabled&pet.infernal.remains<=10)\n# Use Fire and Brimstone if Backdraft is active, as long as it will not overcap on Soul Shards\nactions.aoe+=/incinerate,if=talent.fire_and_brimstone.enabled&buff.backdraft.up&soul_shard<5-0.2*active_enemies\n# Other Soul Shard generating abilities are good filler if not using Fire and Brimstone\nactions.aoe+=/soul_fire\nactions.aoe+=/conflagrate,if=buff.backdraft.down\nactions.aoe+=/shadowburn,if=!talent.fire_and_brimstone.enabled\nactions.aoe+=/concentrated_flame,if=!dot.concentrated_flame_burn.remains&!action.concentrated_flame.in_flight&active_enemies<5\n# With Fire and Brimstone, Incinerate will be a strong filler. It's placed here for all talents to prevent accidentally using the single target rotation list\nactions.aoe+=/incinerate\n\n# Refresh immolate before entering a GoSup Infernal to optimize gcds.\nactions.cds=immolate,if=talent.grimoire_of_supremacy.enabled&remains<8&cooldown.summon_infernal.remains<4.5\n# Use conflagrate just before GoSup Infernal to optimize gcds.\nactions.cds+=/conflagrate,if=talent.grimoire_of_supremacy.enabled&cooldown.summon_infernal.remains<4.5&!buff.backdraft.up&soul_shard<4.3\nactions.cds+=/use_item,name=azsharas_font_of_power,if=cooldown.summon_infernal.up||cooldown.summon_infernal.remains<=4\nactions.cds+=/summon_infernal\nactions.cds+=/guardian_of_azeroth,if=pet.infernal.active\nactions.cds+=/dark_soul_instability,if=pet.infernal.active&(pet.infernal.remains<20.5||pet.infernal.remains<22&soul_shard>=3.6||!talent.grimoire_of_supremacy.enabled)\nactions.cds+=/memory_of_lucid_dreams,if=pet.infernal.active&(pet.infernal.remains<15.5||soul_shard<3.5&(buff.dark_soul_instability.up||!talent.grimoire_of_supremacy.enabled&dot.immolate.remains>12))\n# If DSI is not ready but you can get more than one infernal in before the end of the fight, summon the Infernal now\nactions.cds+=/summon_infernal,if=time_to_die>cooldown.summon_infernal.duration+30\nactions.cds+=/guardian_of_azeroth,if=time>30&time_to_die>cooldown.guardian_of_azeroth.duration+30\n# If the fight will end before DSI is back up, summon the Infernal\nactions.cds+=/summon_infernal,if=talent.dark_soul_instability.enabled&cooldown.dark_soul_instability.remains>target.time_to_die\nactions.cds+=/guardian_of_azeroth,if=cooldown.summon_infernal.remains>time_to_die\n# If the fight will end before infernal is back up, use DSI\nactions.cds+=/dark_soul_instability,if=cooldown.summon_infernal.remains>time_to_die&pet.infernal.remains<20.5\nactions.cds+=/worldvein_resonance,if=cooldown.summon_infernal.remains>time_to_die&pet.infernal.remains<18.5\nactions.cds+=/memory_of_lucid_dreams,if=cooldown.summon_infernal.remains>time_to_die&(pet.infernal.remains<15.5||buff.dark_soul_instability.up&soul_shard<3)\n# If the fight is about to end, use CDs such that they get as much time up as possible\nactions.cds+=/summon_infernal,if=time_to_die<30\nactions.cds+=/guardian_of_azeroth,if=time_to_die<30\nactions.cds+=/dark_soul_instability,if=time_to_die<21&time_to_die>4\nactions.cds+=/memory_of_lucid_dreams,if=time_to_die<16&time_to_die>6\nactions.cds+=/worldvein_resonance,if=time_to_die<19&time_to_die>4\nactions.cds+=/memory_of_lucid_dreams,if=time_to_die<16&time_to_die>6\nactions.cds+=/blood_of_the_enemy\nactions.cds+=/worldvein_resonance,if=cooldown.summon_infernal.remains>=60-12&!pet.infernal.active\nactions.cds+=/ripple_in_space\nactions.cds+=/potion,if=pet.infernal.active||time_to_die<30\nactions.cds+=/berserking,if=pet.infernal.active&(!talent.grimoire_of_supremacy.enabled||(!essence.memory_of_lucid_dreams.major||buff.memory_of_lucid_dreams.remains)&(!talent.dark_soul_instability.enabled||buff.dark_soul_instability.remains))||time_to_die<=15\nactions.cds+=/blood_fury,if=pet.infernal.active&(!talent.grimoire_of_supremacy.enabled||(!essence.memory_of_lucid_dreams.major||buff.memory_of_lucid_dreams.remains)&(!talent.dark_soul_instability.enabled||buff.dark_soul_instability.remains))||time_to_die<=15\nactions.cds+=/fireblood,if=pet.infernal.active&(!talent.grimoire_of_supremacy.enabled||(!essence.memory_of_lucid_dreams.major||buff.memory_of_lucid_dreams.remains)&(!talent.dark_soul_instability.enabled||buff.dark_soul_instability.remains))||time_to_die<=15\nactions.cds+=/use_items,if=pet.infernal.active&(!talent.grimoire_of_supremacy.enabled||pet.infernal.remains<=20)||time_to_die<=20\nactions.cds+=/use_item,name=pocketsized_computation_device,if=dot.immolate.remains>=5&(cooldown.summon_infernal.remains>=20||time_to_die<30)\nactions.cds+=/use_item,name=rotcrusted_voodoo_doll,if=dot.immolate.remains>=5&(cooldown.summon_infernal.remains>=20||time_to_die<30)\nactions.cds+=/use_item,name=shiver_venom_relic,if=dot.immolate.remains>=5&(cooldown.summon_infernal.remains>=20||time_to_die<30)\nactions.cds+=/use_item,name=aquipotent_nautilus,if=dot.immolate.remains>=5&(cooldown.summon_infernal.remains>=20||time_to_die<30)\nactions.cds+=/use_item,name=tidestorm_codex,if=dot.immolate.remains>=5&(cooldown.summon_infernal.remains>=20||time_to_die<30)\nactions.cds+=/use_item,name=vial_of_storms,if=dot.immolate.remains>=5&(cooldown.summon_infernal.remains>=20||time_to_die<30)\n\n# Subapl designed to optimize the usage of backdraft during GoSup Infernals, and prevent capping with MoLD.\nactions.gosup_infernal=rain_of_fire,if=soul_shard=5&!buff.backdraft.up&buff.memory_of_lucid_dreams.up&buff.grimoire_of_supremacy.stack<=10\nactions.gosup_infernal+=/chaos_bolt,if=buff.backdraft.up\nactions.gosup_infernal+=/chaos_bolt,if=soul_shard>=4.2-buff.memory_of_lucid_dreams.up\nactions.gosup_infernal+=/chaos_bolt,if=!cooldown.conflagrate.up\nactions.gosup_infernal+=/chaos_bolt,if=cast_time=1.3\nactions.gosup_infernal+=/conflagrate,if=buff.backdraft.down&!buff.memory_of_lucid_dreams.up&(soul_shard>=2.8||charges_fractional>1.9&soul_shard>=1.3)\nactions.gosup_infernal+=/conflagrate,if=pet.infernal.remains<5\nactions.gosup_infernal+=/conflagrate,if=charges>1\nactions.gosup_infernal+=/soul_fire\nactions.gosup_infernal+=/shadowburn\nactions.gosup_infernal+=/incinerate\n\nactions.havoc=conflagrate,if=buff.backdraft.down&soul_shard>=1&soul_shard<=4\nactions.havoc+=/immolate,if=talent.internal_combustion.enabled&remains1&(buff.tigers_fury.up&(buff.bloodtalons.up||!talent.bloodtalons.enabled)&(!talent.lunar_inspiration.enabled||dot.moonfire_cat.ticking)&!ticking)\nactions.opener+=/rip,if=active_enemies=1&(buff.tigers_fury.up&(buff.bloodtalons.up||!talent.bloodtalons.enabled)&dot.rake.ticking&(!talent.lunar_inspiration.enabled||dot.moonfire_cat.ticking)&!ticking)\n\nactions.balance=sunfire,if=refreshable||(active_enemies>1&(dot.sunfire.refreshable||active_dot.sunfire4||(active_enemies>1&buff.lunar_empowerment.up)\nactions.balance+=/solar_wrath,if=active_enemies>2&buff.solar_empowerment.up\nactions.balance+=/starsurge\nactions.balance+=/solar_wrath,if=buff.solar_empowerment.up\nactions.balance+=/lunar_strike,if=buff.lunar_empowerment.up\nactions.balance+=/solar_wrath", ["version"] = 20200222, ["warnings"] = "Imported 8 action lists.\n", ["author"] = "SimC", ["lists"] = { ["opener"] = { { ["action"] = "tigers_fury", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "! ticking || buff.prowl.up", ["action"] = "rake", }, -- [2] { ["enabled"] = true, ["criteria"] = "! ticking", ["action"] = "moonfire_cat", }, -- [3] { ["enabled"] = true, ["criteria"] = "active_enemies > 1 & ( buff.tigers_fury.up & ( buff.bloodtalons.up || ! talent.bloodtalons.enabled ) & ( ! talent.lunar_inspiration.enabled || dot.moonfire_cat.ticking ) & ! ticking )", ["action"] = "primal_wrath", }, -- [4] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & ( buff.tigers_fury.up & ( buff.bloodtalons.up || ! talent.bloodtalons.enabled ) & dot.rake.ticking & ( ! talent.lunar_inspiration.enabled || dot.moonfire_cat.ticking ) & ! ticking )", ["action"] = "rip", }, -- [5] }, ["generators_aoe"] = { { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [1] { ["enabled"] = true, ["criteria"] = "( refreshable || active_dot.thrash_cat < active_enemies % 2 ) & spell_targets.thrash_cat > 2 || talent.scent_of_blood.enabled & buff.scent_of_blood.down & spell_targets.thrash_cat > 3 || ! ticking & azerite.wild_fleshrending.enabled", ["action"] = "thrash_cat", }, -- [2] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [3] { ["enabled"] = true, ["criteria"] = "spell_targets.brutal_slash > desired_targets", ["action"] = "brutal_slash", }, -- [4] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.scent_of_blood.up", ["action"] = "swipe_cat", }, -- [6] }, ["default"] = { { ["enabled"] = true, ["criteria"] = "! buff.prowl.up & ! buff.shadowmeld.up", ["action"] = "skull_bash", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.balance_affinity.enabled & buff.moonkin_form.up", ["action"] = "run_action_list", ["list_name"] = "balance", }, -- [2] { ["enabled"] = true, ["criteria"] = "! opener_done & talent.sabertooth.enabled & ( buff.berserk.up || buff.incarnation.up )", ["action"] = "call_action_list", ["list_name"] = "opener", }, -- [3] { ["enabled"] = true, ["criteria"] = "! buff.cat_form.up", ["action"] = "cat_form", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.prowl.up || buff.shadowmeld.up", ["action"] = "rake", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [6] { ["enabled"] = true, ["action"] = "ferocious_bite", ["criteria"] = "dot.rip.ticking & dot.rip.remains < 3 & target.time_to_die > 10 & ( talent.sabertooth.enabled )", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["action"] = "ferocious_bite", ["criteria"] = "talent.sabertooth.enabled & combo_points > spell_targets.thrash_cat & dot.rip.ticking & dot.rip.remains < 3 & target.time_to_die > dot.rip.remains + variable.rip_ticks * action.rip.tick_time", ["cycle_targets"] = 1, }, -- [8] { ["enabled"] = true, ["criteria"] = "combo_points > 4", ["action"] = "run_action_list", ["list_name"] = "finishers", }, -- [9] { ["enabled"] = true, ["criteria"] = "spell_targets.thrash_cat > 1", ["action"] = "call_action_list", ["list_name"] = "generators_aoe", }, -- [10] { ["enabled"] = true, ["action"] = "run_action_list", ["list_name"] = "generators", }, -- [11] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "0", ["var_name"] = "use_thrash", }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "2", ["criteria"] = "azerite.wild_fleshrending.enabled", ["var_name"] = "use_thrash", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "8", ["var_name"] = "rip_ticks", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down & talent.bloodtalons.enabled", ["action"] = "regrowth", }, -- [4] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down", ["action"] = "prowl", }, -- [6] { ["action"] = "potion", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down", ["action"] = "berserk", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down & buff.tigers_fury.down", ["action"] = "tigers_fury", }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.moonkin_form.down", ["action"] = "cat_form", }, -- [10] }, ["generators"] = { { ["enabled"] = true, ["criteria"] = "talent.bloodtalons.enabled & buff.predatory_swiftness.up & buff.bloodtalons.down & combo_points = 4 & dot.rake.remains < 4", ["action"] = "regrowth", }, -- [1] { ["enabled"] = true, ["criteria"] = "talent.bloodtalons.enabled & buff.bloodtalons.down & buff.predatory_swiftness.up & talent.lunar_inspiration.enabled & dot.rake.remains < 1", ["action"] = "regrowth", }, -- [2] { ["enabled"] = true, ["criteria"] = "spell_targets.brutal_slash > desired_targets & ( ! azerite.wild_fleshrending.enabled || dot.thrash_cat.ticking )", ["action"] = "brutal_slash", }, -- [3] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [4] { ["enabled"] = true, ["criteria"] = "( refreshable & spell_targets.thrash_cat > 2 )", ["action"] = "thrash_cat", }, -- [5] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [6] { ["enabled"] = true, ["criteria"] = "( talent.scent_of_blood.enabled & buff.scent_of_blood.down ) & spell_targets.thrash_cat > 3", ["action"] = "thrash_cat", }, -- [7] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.scent_of_blood.up || ( action.swipe_cat.damage * spell_targets.swipe_cat > ( action.rake.damage + ( action.rake_bleed.tick_damage * 5 ) ) )", ["action"] = "swipe_cat", }, -- [9] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [10] { ["enabled"] = true, ["action"] = "rake", ["criteria"] = "! ticking || ( ! talent.bloodtalons.enabled & remains < duration * 0.3 ) & target.time_to_die > 4", ["cycle_targets"] = 1, }, -- [11] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [12] { ["enabled"] = true, ["action"] = "rake", ["criteria"] = "talent.bloodtalons.enabled & buff.bloodtalons.up & ( ( remains <= 7 ) & persistent_multiplier > dot.rake.pmultiplier * 0.85 ) & target.time_to_die > 4", ["cycle_targets"] = 1, }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.bloodtalons.up & buff.predatory_swiftness.down & combo_points < 5", ["action"] = "moonfire_cat", }, -- [14] { ["enabled"] = true, ["action"] = "moonfire_cat", ["criteria"] = "refreshable", ["cycle_targets"] = 1, }, -- [15] { ["enabled"] = true, ["criteria"] = "( ! azerite.wild_fleshrending.enabled || dot.thrash_cat.ticking ) & buff.tigers_fury.up & ( raid_event.adds.in > ( 1 + max_charges - charges_fractional ) * recharge_time )", ["action"] = "brutal_slash", }, -- [16] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [17] { ["enabled"] = true, ["criteria"] = "refreshable & ( ( variable.use_thrash = 2 & ( ! buff.incarnation.up || azerite.wild_fleshrending.enabled ) ) || spell_targets.thrash_cat > 1 )", ["action"] = "thrash_cat", }, -- [18] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [19] { ["enabled"] = true, ["criteria"] = "spell_targets.swipe_cat > 1", ["action"] = "swipe_cat", }, -- [20] { ["enabled"] = true, ["criteria"] = "dot.rake.remains > ( action.shred.cost + action.rake.cost - energy ) % energy.regen || buff.clearcasting.react", ["action"] = "shred", }, -- [21] }, ["finishers"] = { { ["enabled"] = true, ["criteria"] = "buff.predatory_swiftness.up & talent.bloodtalons.enabled & buff.bloodtalons.stack < 2", ["action"] = "regrowth", }, -- [1] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.savage_roar.down", ["action"] = "savage_roar", }, -- [3] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [4] { ["enabled"] = true, ["action"] = "primal_wrath", ["criteria"] = "spell_targets.primal_wrath > 1 & dot.rip.remains < 4", ["cycle_targets"] = 1, }, -- [5] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [6] { ["enabled"] = true, ["action"] = "primal_wrath", ["criteria"] = "spell_targets.primal_wrath >= 2", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [8] { ["enabled"] = true, ["action"] = "rip", ["criteria"] = "! talent.sabertooth.enabled & refreshable & target.time_to_die > dot.rip.remains + variable.rip_ticks * action.rip.tick_time", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [10] { ["enabled"] = true, ["action"] = "rip", ["criteria"] = "talent.sabertooth.enabled & ( ! ticking || remains <= duration * 0.3 & persistent_multiplier > dot.rip.pmultiplier ) & target.time_to_die > dot.rip.remains + variable.rip_ticks * ( 1 + dot.rip.ticking * 3 ) * action.rip.tick_time", ["cycle_targets"] = 1, }, -- [11] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.savage_roar.remains < 12", ["action"] = "savage_roar", }, -- [13] { ["enabled"] = true, ["for_next"] = 1, ["action"] = "pool_resource", }, -- [14] { ["enabled"] = true, ["criteria"] = "buff.iron_jaws.up", ["action"] = "maim", }, -- [15] { ["max_energy"] = "1", ["enabled"] = true, ["action"] = "ferocious_bite", ["cycle_targets"] = 1, }, -- [16] }, ["cooldowns"] = { { ["enabled"] = true, ["criteria"] = "energy >= 30 & ( cooldown.tigers_fury.remains > 5 || buff.tigers_fury.up )", ["action"] = "berserk", }, -- [1] { ["enabled"] = true, ["criteria"] = "energy.deficit >= 60 || buff.tigers_fury.down", ["action"] = "tigers_fury", }, -- [2] { ["action"] = "berserking", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 45", ["action"] = "thorns", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.up || buff.tigers_fury.up", ["action"] = "the_unbound_force", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up & buff.berserk.down", ["action"] = "memory_of_lucid_dreams", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "blood_of_the_enemy", }, -- [7] { ["enabled"] = true, ["criteria"] = "combo_points = 0", ["action"] = "feral_frenzy", }, -- [8] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || ( raid_event.adds.in > 90 & energy.deficit >= 50 )", ["action"] = "focused_azerite_beam", }, -- [9] { ["enabled"] = true, ["criteria"] = "active_enemies > desired_targets || raid_event.adds.in > 60", ["action"] = "purifying_blast", }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "guardian_of_azeroth", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "concentrated_flame", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "ripple_in_space", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up", ["action"] = "worldvein_resonance", }, -- [14] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 1.5 || ( ( target.health.pct > 80 || target.health.pct <= 20 ) & target.time_to_die > 29 ) || ( target.time_to_pct_20 > 30 & target.time_to_die > 44 )", ["action"] = "reaping_flames", }, -- [15] { ["enabled"] = true, ["criteria"] = "energy >= 30 & ( cooldown.tigers_fury.remains > 15 || buff.tigers_fury.up )", ["action"] = "incarnation", }, -- [16] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 65 || ( time_to_die < 180 & ( buff.berserk.up || buff.incarnation.up ) )", ["action"] = "potion", }, -- [17] { ["enabled"] = true, ["criteria"] = "combo_points < 5 & energy >= action.rake.cost & dot.rake.pmultiplier < 2.1 & buff.tigers_fury.up & ( buff.bloodtalons.up || ! talent.bloodtalons.enabled ) & ( ! talent.incarnation.enabled || cooldown.incarnation.remains > 18 ) & ! buff.incarnation.up", ["action"] = "shadowmeld", }, -- [18] { ["enabled"] = true, ["criteria"] = "debuff.razor_coral_debuff.down || debuff.conductive_ink_debuff.up & target.time_to_pct_30 < 1.5 || ! debuff.conductive_ink_debuff.up & ( debuff.razor_coral_debuff.stack >= 25 - 10 * debuff.blood_of_the_enemy.up || time_to_die < 40 ) & buff.tigers_fury.remains > 10", ["name"] = "ashvanes_razor_coral", ["action"] = "ashvanes_razor_coral", }, -- [19] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "( energy.deficit >= energy.regen * 3 ) & buff.tigers_fury.down & ! azerite.jungle_fury.enabled", ["effect_name"] = "cyclotronic_blast", }, -- [20] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "buff.tigers_fury.up & azerite.jungle_fury.enabled", ["effect_name"] = "cyclotronic_blast", }, -- [21] { ["enabled"] = true, ["action"] = "azsharas_font_of_power", ["criteria"] = "energy.deficit >= 50", ["effect_name"] = "azsharas_font_of_power", }, -- [22] { ["enabled"] = true, ["criteria"] = "buff.tigers_fury.up || time_to_die < 20", ["action"] = "use_items", }, -- [23] }, ["balance"] = { { ["enabled"] = true, ["criteria"] = "refreshable || ( active_enemies > 1 & ( dot.sunfire.refreshable || active_dot.sunfire < active_enemies ) )", ["action"] = "sunfire", }, -- [1] { ["enabled"] = true, ["criteria"] = "active_enemies > 4 || ( active_enemies > 1 & buff.lunar_empowerment.up )", ["action"] = "lunar_strike", }, -- [2] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 & buff.solar_empowerment.up", ["action"] = "solar_wrath", }, -- [3] { ["action"] = "starsurge", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.solar_empowerment.up", ["action"] = "solar_wrath", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.lunar_empowerment.up", ["action"] = "lunar_strike", }, -- [6] { ["action"] = "solar_wrath", ["enabled"] = true, }, -- [7] }, }, }, ["Balance"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20190920, ["author"] = "SimC", ["desc"] = "# Balance Druid\n# https://github.com/simulationcraft/simc/\n# September 20, 2019\n\n# Changes:\n# - Added Solar Beam.\n# - Changed target_if cases to cycle_targets.\n# - Simplify Azerite trait lookups (don't use unnecessary variable syntax).\n# - Removed Lively Spirit condition for Celestial Alignment; you'll have it or you won't since Innervate is higher priority.", ["lists"] = { ["default"] = { { ["action"] = "solar_beam", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up", ["action"] = "berserking", }, -- [2] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [3] { ["enabled"] = true, ["criteria"] = "( ! talent.starlord.enabled || buff.starlord.up ) & ! buff.ca_inc.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["action"] = "guardian_of_azeroth", }, -- [4] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["criteria"] = "! buff.ca_inc.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["effect_name"] = "cyclotronic_blast", }, -- [5] { ["enabled"] = true, ["name"] = "shiver_venom_relic", ["action"] = "shiver_venom_relic", ["criteria"] = "! buff.ca_inc.up & ! buff.bloodlust.up", ["target_if"] = "dot.shiver_venom.stack >= 5", }, -- [6] { ["enabled"] = true, ["criteria"] = "cooldown.ca_inc.remains > 30", ["action"] = "blood_of_the_enemy", }, -- [7] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & ( astral_power < 25 || cooldown.ca_inc.remains > 30 ) & dot.sunfire.remains > 10 & dot.moonfire.remains > 10 & ( ! talent.stellar_flare.enabled || dot.stellar_flare.remains > 10 )", ["action"] = "memory_of_lucid_dreams", }, -- [8] { ["action"] = "purifying_blast", ["enabled"] = true, }, -- [9] { ["action"] = "ripple_in_space", ["enabled"] = true, }, -- [10] { ["action"] = "concentrated_flame", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.reckless_force.up & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["action"] = "the_unbound_force", }, -- [12] { ["action"] = "worldvein_resonance", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "( ! variable.az_ss || ! buff.ca_inc.up ) & dot.moonfire.ticking & dot.sunfire.ticking & ( ! talent.stellar_flare.enabled || dot.stellar_flare.ticking )", ["action"] = "focused_azerite_beam", }, -- [14] { ["action"] = "thorns", ["enabled"] = true, }, -- [15] { ["action"] = "use_items", ["enabled"] = true, }, -- [16] { ["action"] = "warrior_of_elune", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & ( buff.memory_of_lucid_dreams.up || ( ( cooldown.memory_of_lucid_dreams.remains > 20 || ! essence.memory_of_lucid_dreams.major ) & ap_check ) ) & ( buff.memory_of_lucid_dreams.up || ap_check ) & dot.sunfire.remains > 8 & dot.moonfire.remains > 12 & ( dot.stellar_flare.remains > 6 || ! talent.stellar_flare.enabled )", ["action"] = "incarnation", }, -- [18] { ["enabled"] = true, ["criteria"] = "! buff.ca_inc.up & ( buff.memory_of_lucid_dreams.up || ( ( cooldown.memory_of_lucid_dreams.remains > 20 || ! essence.memory_of_lucid_dreams.major ) & ap_check ) ) & ( dot.sunfire.remains > 2 & dot.moonfire.ticking & ( dot.stellar_flare.ticking || ! talent.stellar_flare.enabled ) )", ["action"] = "celestial_alignment", }, -- [19] { ["enabled"] = true, ["criteria"] = "( buff.ca_inc.up || cooldown.ca_inc.remains > 30 ) & solar_wrath.ap_check", ["action"] = "fury_of_elune", }, -- [20] { ["enabled"] = true, ["criteria"] = "( buff.ca_inc.up || cooldown.ca_inc.remains > 30 ) & ap_check", ["action"] = "force_of_nature", }, -- [21] { ["enabled"] = true, ["action"] = "cancel_buff", ["criteria"] = "buff.starlord.remains < 3 & ! solar_wrath.ap_check", ["buff_name"] = "starlord", }, -- [22] { ["enabled"] = true, ["criteria"] = "( buff.starlord.stack < 3 || buff.starlord.remains >= 8 ) & spell_targets >= variable.sf_targets & ( target.time_to_die + 1 ) * spell_targets > cost % 2.5", ["action"] = "starfall", }, -- [23] { ["enabled"] = true, ["criteria"] = "( talent.starlord.enabled & ( buff.starlord.stack < 3 || buff.starlord.remains >= 5 & buff.arcanic_pulsar.stack < 8 ) || ! talent.starlord.enabled & ( buff.arcanic_pulsar.stack < 8 || buff.ca_inc.up ) ) & spell_targets.starfall < variable.sf_targets & buff.lunar_empowerment.stack + buff.solar_empowerment.stack < 4 & buff.solar_empowerment.stack < 3 & buff.lunar_empowerment.stack < 3 & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.starsurge ) || target.time_to_die <= execute_time * astral_power % 40 || ! solar_wrath.ap_check", ["action"] = "starsurge", }, -- [24] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up & buff.ca_inc.remains < gcd.max & azerite.streaking_stars.rank & dot.moonfire.remains > remains", ["action"] = "sunfire", }, -- [25] { ["enabled"] = true, ["criteria"] = "buff.ca_inc.up & buff.ca_inc.remains < gcd.max & azerite.streaking_stars.rank", ["action"] = "moonfire", }, -- [26] { ["enabled"] = true, ["action"] = "sunfire", ["criteria"] = "refreshable & ap_check & floor ( target.time_to_die % ( 2 * spell_haste ) ) * spell_targets >= ceil ( floor ( 2 % spell_targets ) * 1.5 ) + 2 * spell_targets & ( spell_targets > 1 + talent.twin_moons.enabled || dot.moonfire.ticking ) & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.sunfire ) & ( buff.ca_inc.remains > remains || ! buff.ca_inc.up )", ["cycle_targets"] = 1, }, -- [27] { ["enabled"] = true, ["action"] = "moonfire", ["criteria"] = "refreshable & ap_check & floor ( target.time_to_die % ( 2 * spell_haste ) ) * spell_targets >= 6 & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.moonfire ) & ( buff.ca_inc.remains > remains || ! buff.ca_inc.up )", ["cycle_targets"] = 1, }, -- [28] { ["enabled"] = true, ["action"] = "stellar_flare", ["criteria"] = "refreshable & ap_check & floor ( target.time_to_die % ( 2 * spell_haste ) ) >= 5 & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up || ! prev.stellar_flare )", ["cycle_targets"] = 1, }, -- [29] { ["enabled"] = true, ["criteria"] = "ap_check", ["action"] = "new_moon", }, -- [30] { ["enabled"] = true, ["criteria"] = "ap_check", ["action"] = "half_moon", }, -- [31] { ["enabled"] = true, ["criteria"] = "ap_check", ["action"] = "full_moon", }, -- [32] { ["enabled"] = true, ["criteria"] = "buff.solar_empowerment.stack < 3 & ( ap_check || buff.lunar_empowerment.stack = 3 ) & ( ( buff.warrior_of_elune.up || buff.lunar_empowerment.up || spell_targets >= 2 & ! buff.solar_empowerment.up ) & ( ! azerite.streaking_stars.rank || ! buff.ca_inc.up ) || azerite.streaking_stars.rank & buff.ca_inc.up & prev.solar_wrath )", ["action"] = "lunar_strike", }, -- [33] { ["enabled"] = true, ["criteria"] = "azerite.streaking_stars.rank < 3 || ! buff.ca_inc.up || ! prev.solar_wrath", ["action"] = "solar_wrath", }, -- [34] { ["action"] = "sunfire", ["enabled"] = true, }, -- [35] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "4", ["var_name"] = "sf_targets", }, -- [1] { ["enabled"] = true, ["op"] = "add", ["action"] = "variable", ["value"] = "1", ["criteria"] = "azerite.arcanic_pulsar.enabled", ["var_name"] = "sf_targets", }, -- [2] { ["enabled"] = true, ["op"] = "add", ["action"] = "variable", ["value"] = "1", ["criteria"] = "talent.starlord.enabled", ["var_name"] = "sf_targets", }, -- [3] { ["enabled"] = true, ["op"] = "add", ["action"] = "variable", ["value"] = "1", ["criteria"] = "azerite.streaking_stars.rank > 2 & azerite.arcanic_pulsar.enabled", ["var_name"] = "sf_targets", }, -- [4] { ["enabled"] = true, ["op"] = "sub", ["action"] = "variable", ["value"] = "1", ["criteria"] = "! talent.twin_moons.enabled", ["var_name"] = "sf_targets", }, -- [5] { ["action"] = "moonkin_form", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [7] { ["enabled"] = true, ["action"] = "potion", ["dynamic_prepot"] = "1", }, -- [8] { ["action"] = "solar_wrath", ["enabled"] = true, }, -- [9] { ["action"] = "starsurge", ["enabled"] = true, }, -- [10] }, }, ["version"] = 20190920, ["warnings"] = "Imported 2 action lists.\n", ["profile"] = "# Balance Druid\n# https://github.com/simulationcraft/simc/\n# September 20, 2019\n\n# Changes:\n# - Added Solar Beam.\n# - Changed target_if cases to cycle_targets.\n# - Simplify Azerite trait lookups (don't use unnecessary variable syntax).\n# - Removed Lively Spirit condition for Celestial Alignment; you'll have it or you won't since Innervate is higher priority.\n\n# Executed before combat begins. Accepts non-harmful actions only.\n# actions.precombat=flask\n# actions.precombat+=/food\n# actions.precombat+=/augmentation\n\n# Azerite variables\n# actions.precombat+=/variable,name=az_ss,value=azerite.streaking_stars.rank\n# actions.precombat+=/variable,name=az_ap,value=azerite.arcanic_pulsar.rank\n\n# Starfall v Starsurge target cutoff\nactions.precombat=variable,name=sf_targets,value=4\nactions.precombat+=/variable,name=sf_targets,op=add,value=1,if=azerite.arcanic_pulsar.enabled\nactions.precombat+=/variable,name=sf_targets,op=add,value=1,if=talent.starlord.enabled\nactions.precombat+=/variable,name=sf_targets,op=add,value=1,if=azerite.streaking_stars.rank>2&azerite.arcanic_pulsar.enabled\nactions.precombat+=/variable,name=sf_targets,op=sub,value=1,if=!talent.twin_moons.enabled\nactions.precombat+=/moonkin_form\n\n# Snapshot raid buffed stats before combat begins and pre-potting is done.\n# actions.precombat+=/snapshot_stats\nactions.precombat+=/use_item,name=azsharas_font_of_power\nactions.precombat+=/potion,dynamic_prepot=1\nactions.precombat+=/solar_wrath\nactions.precombat+=/starsurge\n\n# Executed every time the actor is available.\nactions=solar_beam\n# CDs\nactions+=/berserking,if=buff.ca_inc.up\nactions+=/use_item,name=azsharas_font_of_power,if=!buff.ca_inc.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/guardian_of_azeroth,if=(!talent.starlord.enabled||buff.starlord.up)&!buff.ca_inc.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/use_item,effect_name=cyclotronic_blast,if=!buff.ca_inc.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/use_item,name=shiver_venom_relic,if=!buff.ca_inc.up&!buff.bloodlust.up,target_if=dot.shiver_venom.stack>=5\nactions+=/blood_of_the_enemy,if=cooldown.ca_inc.remains>30\nactions+=/memory_of_lucid_dreams,if=!buff.ca_inc.up&(astral_power<25||cooldown.ca_inc.remains>30)&dot.sunfire.remains>10&dot.moonfire.remains>10&(!talent.stellar_flare.enabled||dot.stellar_flare.remains>10)\nactions+=/purifying_blast\nactions+=/ripple_in_space\nactions+=/concentrated_flame\nactions+=/the_unbound_force,if=buff.reckless_force.up&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/worldvein_resonance\nactions+=/focused_azerite_beam,if=(!variable.az_ss||!buff.ca_inc.up)&dot.moonfire.ticking&dot.sunfire.ticking&(!talent.stellar_flare.enabled||dot.stellar_flare.ticking)\nactions+=/thorns\nactions+=/use_items\nactions+=/warrior_of_elune\n# actions+=/innervate,if=azerite.lively_spirit.enabled&(cooldown.incarnation.remains<2||cooldown.celestial_alignment.remains<12)\nactions+=/incarnation,if=!buff.ca_inc.up&(buff.memory_of_lucid_dreams.up||((cooldown.memory_of_lucid_dreams.remains>20||!essence.memory_of_lucid_dreams.major)&ap_check))&(buff.memory_of_lucid_dreams.up||ap_check)&dot.sunfire.remains>8&dot.moonfire.remains>12&(dot.stellar_flare.remains>6||!talent.stellar_flare.enabled)\nactions+=/celestial_alignment,if=!buff.ca_inc.up&(buff.memory_of_lucid_dreams.up||((cooldown.memory_of_lucid_dreams.remains>20||!essence.memory_of_lucid_dreams.major)&ap_check))&(dot.sunfire.remains>2&dot.moonfire.ticking&(dot.stellar_flare.ticking||!talent.stellar_flare.enabled))\nactions+=/fury_of_elune,if=(buff.ca_inc.up||cooldown.ca_inc.remains>30)&solar_wrath.ap_check\nactions+=/force_of_nature,if=(buff.ca_inc.up||cooldown.ca_inc.remains>30)&ap_check\n\n# Spenders\nactions+=/cancel_buff,name=starlord,if=buff.starlord.remains<3&!solar_wrath.ap_check\nactions+=/starfall,if=(buff.starlord.stack<3||buff.starlord.remains>=8)&spell_targets>=variable.sf_targets&(target.time_to_die+1)*spell_targets>cost%2.5\nactions+=/starsurge,if=(talent.starlord.enabled&(buff.starlord.stack<3||buff.starlord.remains>=5&buff.arcanic_pulsar.stack<8)||!talent.starlord.enabled&(buff.arcanic_pulsar.stack<8||buff.ca_inc.up))&spell_targets.starfallremains\nactions+=/moonfire,if=buff.ca_inc.up&buff.ca_inc.remains=ceil(floor(2%spell_targets)*1.5)+2*spell_targets&(spell_targets>1+talent.twin_moons.enabled||dot.moonfire.ticking)&(!azerite.streaking_stars.rank||!buff.ca_inc.up||!prev.sunfire)&(buff.ca_inc.remains>remains||!buff.ca_inc.up)\nactions+=/moonfire,cycle_targets=1,if=refreshable&ap_check&floor(target.time_to_die%(2*spell_haste))*spell_targets>=6&(!azerite.streaking_stars.rank||!buff.ca_inc.up||!prev.moonfire)&(buff.ca_inc.remains>remains||!buff.ca_inc.up)\nactions+=/stellar_flare,cycle_targets=1,if=refreshable&ap_check&floor(target.time_to_die%(2*spell_haste))>=5&(!azerite.streaking_stars.rank||!buff.ca_inc.up||!prev.stellar_flare)\n\n# Generators\nactions+=/new_moon,if=ap_check\nactions+=/half_moon,if=ap_check\nactions+=/full_moon,if=ap_check\nactions+=/lunar_strike,if=buff.solar_empowerment.stack<3&(ap_check||buff.lunar_empowerment.stack=3)&((buff.warrior_of_elune.up||buff.lunar_empowerment.up||spell_targets>=2&!buff.solar_empowerment.up)&(!azerite.streaking_stars.rank||!buff.ca_inc.up)||azerite.streaking_stars.rank&buff.ca_inc.up&prev.solar_wrath)\nactions+=/solar_wrath,if=azerite.streaking_stars.rank<3||!buff.ca_inc.up||!prev.solar_wrath\n\n# Fallthru for movement\nactions+=/sunfire", ["spec"] = 102, }, ["Guardian"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20190818, ["author"] = "SimC", ["desc"] = "# Guardian Druid\n# https://github.com/simulationcraft/simc/\n# August 18, 2019 - 14:00\n\n# Changes:\n# - Added Mitigation abilities.\n# - Added Skull Bash.\n# - Added ironfur_damage_threshold option.", ["lists"] = { ["mitigation"] = { { ["enabled"] = true, ["criteria"] = "incoming_damage_5s > ironfur_damage_threshold & buff.ironfur.remains < gcd * 2", ["action"] = "ironfur", }, -- [1] { ["enabled"] = true, ["criteria"] = "health.current < 0.75 * health.max", ["action"] = "frenzied_regeneration", }, -- [2] { ["enabled"] = true, ["criteria"] = "toggle.defensives & health.pct < 80", ["action"] = "anima_of_death", }, -- [3] { ["enabled"] = true, ["criteria"] = "health.pct < 75 & incoming_damage_5s > 0.25 * health.max", ["action"] = "barkskin", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.survival_instincts.down & buff.barkskin.down & health.pct < 60 & incoming_damage_5s > 0.25 * health.max", ["action"] = "survival_instincts", }, -- [5] }, ["cooldowns"] = { { ["action"] = "potion", ["enabled"] = true, }, -- [1] { ["action"] = "blood_fury", ["enabled"] = true, }, -- [2] { ["action"] = "berserking", ["enabled"] = true, }, -- [3] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [4] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [5] { ["action"] = "fireblood", ["enabled"] = true, }, -- [6] { ["action"] = "ancestral_call", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.bear_form.up", ["action"] = "lunar_beam", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.bear_form.up", ["action"] = "bristling_fur", }, -- [9] { ["enabled"] = true, ["criteria"] = "( dot.moonfire.ticking || active_enemies > 1 ) & dot.thrash_bear.ticking", ["action"] = "incarnation", }, -- [10] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["effect_name"] = "cyclotronic_blast", }, -- [11] { ["enabled"] = true, ["criteria"] = "toggle.cooldowns & ( time_to_die < action_cooldown % 2 || active_enemies > 1 )", ["action"] = "anima_of_death", }, -- [12] { ["action"] = "memory_of_lucid_dreams", ["enabled"] = true, }, -- [13] { ["action"] = "use_items", ["enabled"] = true, }, -- [14] }, ["default"] = { { ["action"] = "skull_bash", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "mitigation", }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [3] { ["enabled"] = true, ["criteria"] = "rage.deficit < 20 & active_enemies < 4", ["action"] = "maul", }, -- [4] { ["enabled"] = true, ["criteria"] = "rage.deficit < 20 & essence.conflict_and_strife.major & ! buff.sharpened_claws.up", ["action"] = "maul", }, -- [5] { ["enabled"] = true, ["criteria"] = "cost = 0 || ( rage > cost & azerite.layered_mane.enabled & active_enemies > 2 )", ["action"] = "ironfur", }, -- [6] { ["enabled"] = true, ["criteria"] = "dot.thrash_bear.stack = dot.thrash_bear.max_stacks", ["action"] = "pulverize", }, -- [7] { ["enabled"] = true, ["criteria"] = "dot.moonfire.refreshable & active_enemies < 2", ["action"] = "moonfire", }, -- [8] { ["enabled"] = true, ["criteria"] = "( buff.incarnation.down & active_enemies > 1 ) || ( buff.incarnation.up & active_enemies > 4 )", ["action"] = "thrash_bear", }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.incarnation.down & active_enemies > 4", ["action"] = "swipe_bear", }, -- [10] { ["enabled"] = true, ["criteria"] = "dot.thrash_bear.ticking", ["action"] = "mangle", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.galactic_guardian.up & active_enemies < 2", ["action"] = "moonfire", }, -- [12] { ["action"] = "thrash_bear", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "azerite.power_of_the_moon.rank > 1 & active_enemies = 1", ["action"] = "moonfire", }, -- [14] { ["action"] = "swipe_bear", ["enabled"] = true, }, -- [15] }, ["precombat"] = { { ["action"] = "bear_form", ["enabled"] = true, }, -- [1] { ["action"] = "memory_of_lucid_dreams", ["enabled"] = true, }, -- [2] { ["action"] = "potion", ["enabled"] = true, }, -- [3] }, }, ["version"] = 20190818, ["warnings"] = "Imported 4 action lists.\n", ["spec"] = 104, ["profile"] = "# Guardian Druid\n# https://github.com/simulationcraft/simc/\n# August 18, 2019 - 14:00\n\n# Changes:\n# - Added Mitigation abilities.\n# - Added Skull Bash.\n# - Added ironfur_damage_threshold option.\n\n# Executed before combat begins. Accepts non-harmful actions only.\n# actions.precombat=flask\n# actions.precombat+=/food\n# actions.precombat+=/augmentation\nactions.precombat+=/bear_form\n# Snapshot raid buffed stats before combat begins and pre-potting is done.\n# actions.precombat+=/snapshot_stats\nactions.precombat+=/memory_of_lucid_dreams\nactions.precombat+=/potion\n\n# Executed every time the actor is available.\nactions=skull_bash\nactions+=/call_action_list,name=mitigation\nactions+=/call_action_list,name=cooldowns\nactions+=/maul,if=rage.deficit<20&active_enemies<4\nactions+=/maul,if=rage.deficit<20&essence.conflict_and_strife.major&!buff.sharpened_claws.up\nactions+=/ironfur,if=cost=0||(rage>cost&azerite.layered_mane.enabled&active_enemies>2)\nactions+=/pulverize,target_if=dot.thrash_bear.stack=dot.thrash_bear.max_stacks\nactions+=/moonfire,target_if=dot.moonfire.refreshable&active_enemies<2\nactions+=/thrash,if=(buff.incarnation.down&active_enemies>1)||(buff.incarnation.up&active_enemies>4)\nactions+=/swipe,if=buff.incarnation.down&active_enemies>4\nactions+=/mangle,if=dot.thrash_bear.ticking\nactions+=/moonfire,target_if=buff.galactic_guardian.up&active_enemies<2\nactions+=/thrash\n# Fill with Moonfire with PotMx2\nactions+=/moonfire,if=azerite.power_of_the_moon.rank>1&active_enemies=1\nactions+=/swipe\n\nactions.mitigation=ironfur,if=incoming_damage_5s>ironfur_damage_threshold&buff.ironfur.remains0.25*health.max\nactions.mitigation+=/survival_instincts,if=buff.survival_instincts.down&buff.barkskin.down&health.pct<60&incoming_damage_5s>0.25*health.max\n\nactions.cooldowns=potion\n# actions.cooldowns+=/heart_essence\nactions.cooldowns+=/blood_fury\nactions.cooldowns+=/berserking\nactions.cooldowns+=/arcane_torrent\nactions.cooldowns+=/lights_judgment\nactions.cooldowns+=/fireblood\nactions.cooldowns+=/ancestral_call\nactions.cooldowns+=/lunar_beam,if=buff.bear_form.up\nactions.cooldowns+=/bristling_fur,if=buff.bear_form.up\nactions.cooldowns+=/incarnation,if=(dot.moonfire.ticking||active_enemies>1)&dot.thrash_bear.ticking\nactions.cooldowns+=/use_item,effect_name=cyclotronic_blast\nactions.cooldowns+=/anima_of_death,if=toggle.cooldowns&(time_to_die1)\nactions.cooldowns+=/memory_of_lucid_dreams\nactions.cooldowns+=/use_items", }, }, }, ["Quilenko - Thunderhorn"] = { ["runOnce"] = { ["resetPotionsToDefaults_20190717"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["enableAllOfTheThings_20180820"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["resetRogueMfDOption_20200226"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [258] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["aoe"] = 3, ["gcdSync"] = true, ["damageDots"] = false, ["damage"] = true, ["enabled"] = true, ["debuffPadding"] = 0, ["maxTime"] = 33, ["custom1Name"] = "Custom 1", ["package"] = "Shadow", ["buffPadding"] = 0, ["nameplateRange"] = 8, ["cycle_min"] = 6, ["cycle"] = false, ["potion"] = "unbridled_fury", ["nameplates"] = false, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 6, ["throttleTime"] = false, ["damageRange"] = 0, }, [256] = { ["enabled"] = true, ["potionsReset"] = 20180919.1, }, }, ["displays"] = { ["Interrupts"] = { }, }, ["packs"] = { ["Shadow"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20200614, ["author"] = "SimC", ["desc"] = "# Shadow Priest\n# https://github.com/simulationcraft/simc/\n# June 14, 2020\n\n# Changes:\n# - Added Silence.\n# - Converted target_if syntax.\n# - Converted target.time_to_die to time_to_die where applicable.\n# - Added mind_sear_th buff to avoid breaking Mind Sear channels that are buffed by Thought Harvester.", ["lists"] = { ["single"] = { { ["action"] = "void_eruption", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.voidform.down", ["action"] = "dark_ascension", }, -- [2] { ["action"] = "void_bolt", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.harvested_thoughts.up & cooldown.void_bolt.remains >= 1.5 & azerite.searing_dialogue.rank >= 1", ["action"] = "mind_sear", }, -- [5] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 3 || cooldown.shadow_word_death.charges = 2 || ( cooldown.shadow_word_death.charges = 1 & cooldown.shadow_word_death.remains < gcd.max )", ["action"] = "shadow_word_death", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.voidform.stack > 10 + ( 10 * buff.bloodlust.up )", ["action"] = "surrender_to_madness", }, -- [7] { ["enabled"] = true, ["criteria"] = "raid_event.adds.in > 10", ["action"] = "dark_void", }, -- [8] { ["enabled"] = true, ["criteria"] = "talent.mindbender.enabled || ( buff.voidform.stack > 18 || time_to_die < 15 )", ["action"] = "mindbender", }, -- [9] { ["enabled"] = true, ["criteria"] = "! buff.voidform.up || ( cooldown.shadow_word_death.charges = 2 & buff.voidform.stack < 15 )", ["action"] = "shadow_word_death", }, -- [10] { ["enabled"] = true, ["criteria"] = "raid_event.adds.in > 5 & raid_event.adds.duration < 20", ["action"] = "shadow_crash", }, -- [11] { ["enabled"] = true, ["criteria"] = "variable.dots_up & ( ( raid_event.movement.in > cast_time + 0.5 & raid_event.movement.in < 4 ) || ! talent.shadow_word_void.enabled || buff.voidform.down || buff.voidform.stack > 14 & ( insanity < 70 || charges_fractional > 1.33 ) || buff.voidform.stack <= 14 & ( insanity < 60 || charges_fractional > 1.33 ) )", ["action"] = "mind_blast", }, -- [12] { ["enabled"] = true, ["criteria"] = "dot.shadow_word_pain.remains > 4 & dot.vampiric_touch.remains > 4 & buff.voidform.up", ["action"] = "void_torrent", }, -- [13] { ["enabled"] = true, ["criteria"] = "refreshable & time_to_die > 4 & ! talent.misery.enabled & ! talent.dark_void.enabled", ["action"] = "shadow_word_pain", }, -- [14] { ["enabled"] = true, ["criteria"] = "refreshable & time_to_die > 6 || ( talent.misery.enabled & dot.shadow_word_pain.refreshable )", ["action"] = "vampiric_touch", }, -- [15] { ["enabled"] = true, ["action"] = "mind_flay", ["interrupt_if"] = "ticks>=2&(cooldown.void_bolt.up||cooldown.mind_blast.up)", ["interrupt_immediate"] = "1", ["chain"] = "1", }, -- [16] { ["action"] = "shadow_word_pain", ["enabled"] = true, }, -- [17] }, ["default"] = { { ["action"] = "silence", ["enabled"] = true, }, -- [1] { ["action"] = "use_items", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.bloodlust.react || time_to_die <= 80 || target.health.pct < 35", ["action"] = "potion", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "dot.shadow_word_pain.ticking & dot.vampiric_touch.ticking", ["var_name"] = "dots_up", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.voidform.up", ["action"] = "fireblood", }, -- [5] { ["action"] = "berserking", ["enabled"] = true, }, -- [6] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.voidform.up", ["action"] = "ancestral_call", }, -- [8] { ["action"] = "bag_of_tricks", ["enabled"] = true, }, -- [9] { ["enabled"] = true, ["action"] = "run_action_list", ["criteria"] = "active_enemies > 1", ["list_name"] = "cleave", }, -- [10] { ["enabled"] = true, ["action"] = "run_action_list", ["criteria"] = "active_enemies = 1", ["list_name"] = "single", }, -- [11] }, ["precombat"] = { { ["action"] = "potion", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "floor ( ( 4.5 + azerite.whispers_of_the_damned.rank ) % ( 1 + 0.27 * azerite.searing_dialogue.rank ) )", ["var_name"] = "mind_blast_targets", }, -- [2] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( 1 - 0.07 * azerite.death_throes.rank + 0.2 * azerite.thought_harvester.rank ) * ( 1 - 0.09 * azerite.thought_harvester.rank * azerite.searing_dialogue.rank )", ["var_name"] = "swp_trait_ranks_check", }, -- [3] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( 1 - 0.04 * azerite.thought_harvester.rank - 0.05 * azerite.spiteful_apparitions.rank )", ["var_name"] = "vt_trait_ranks_check", }, -- [4] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "( 1 - 0.07 * azerite.death_throes.rank - 0.03 * azerite.thought_harvester.rank - 0.055 * azerite.spiteful_apparitions.rank ) * ( 1 - 0.027 * azerite.thought_harvester.rank * azerite.searing_dialogue.rank )", ["var_name"] = "vt_mis_trait_ranks_check", }, -- [5] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "1 - 0.014 * azerite.searing_dialogue.rank", ["var_name"] = "vt_mis_sd_check", }, -- [6] { ["enabled"] = true, ["criteria"] = "! buff.shadowform.up", ["action"] = "shadowform", }, -- [7] { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [8] { ["enabled"] = true, ["criteria"] = "spell_targets.mind_sear < 2 || azerite.thought_harvester.rank = 0", ["action"] = "mind_blast", }, -- [9] { ["action"] = "vampiric_touch", ["enabled"] = true, }, -- [10] }, ["cds"] = { { ["enabled"] = true, ["criteria"] = "( buff.voidform.stack > 20 & insanity <= 50 ) || ( current_insanity_drain * ( ( gcd.max * 2 ) + action.mind_blast.cast_time ) ) > insanity", ["action"] = "memory_of_lucid_dreams", }, -- [1] { ["action"] = "blood_of_the_enemy", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.voidform.stack > 15", ["action"] = "guardian_of_azeroth", }, -- [3] { ["enabled"] = true, ["action"] = "manifesto_of_madness", ["criteria"] = "spell_targets.mind_sear >= 2 || raid_event.adds.in > 60", ["name"] = "manifesto_of_madness", }, -- [4] { ["enabled"] = true, ["criteria"] = "spell_targets.mind_sear >= 2 || raid_event.adds.in > 60", ["action"] = "focused_azerite_beam", }, -- [5] { ["enabled"] = true, ["criteria"] = "spell_targets.mind_sear >= 2 || raid_event.adds.in > 60", ["action"] = "purifying_blast", }, -- [6] { ["enabled"] = true, ["criteria"] = "time <= 10 || ( buff.chorus_of_insanity.stack >= 15 & buff.voidform.up ) || full_recharge_time < gcd || time_to_die < 5", ["action"] = "concentrated_flame", ["line_cd"] = "6", }, -- [7] { ["action"] = "ripple_in_space", ["enabled"] = true, }, -- [8] { ["action"] = "reaping_flames", ["enabled"] = true, }, -- [9] { ["action"] = "worldvein_resonance", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "( buff.voidform.up & buff.chorus_of_insanity.stack > 20 ) || azerite.chorus_of_insanity.rank = 0", ["list_name"] = "crit_cds", }, -- [11] { ["action"] = "use_items", ["enabled"] = true, }, -- [12] }, ["cleave"] = { { ["action"] = "void_eruption", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.voidform.down", ["action"] = "dark_ascension", }, -- [2] { ["enabled"] = true, ["criteria"] = "! ticking & azerite.thought_harvester.rank >= 1", ["action"] = "vampiric_touch", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.harvested_thoughts.up", ["action"] = "mind_sear", }, -- [4] { ["action"] = "void_bolt", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [6] { ["enabled"] = true, ["criteria"] = "time_to_die < 3 || buff.voidform.down", ["action"] = "shadow_word_death", ["cycle_targets"] = 1, }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.voidform.stack > 10 + ( 10 * buff.bloodlust.up )", ["action"] = "surrender_to_madness", }, -- [8] { ["enabled"] = true, ["criteria"] = "raid_event.adds.in > 10 & ( dot.shadow_word_pain.refreshable || time_to_die > 30 )", ["action"] = "dark_void", }, -- [9] { ["action"] = "mindbender", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["criteria"] = "spell_targets.mind_sear < variable.mind_blast_targets", ["action"] = "mind_blast", ["cycle_targets"] = 1, }, -- [11] { ["enabled"] = true, ["criteria"] = "( raid_event.adds.in > 5 & raid_event.adds.duration < 2 ) || raid_event.adds.duration > 2", ["action"] = "shadow_crash", }, -- [12] { ["enabled"] = true, ["criteria"] = "! talent.misery.enabled & refreshable & time_to_die > ( ( - 1.2 + 3.3 * spell_targets.mind_sear ) * variable.swp_trait_ranks_check * ( 1 - 0.012 * azerite.searing_dialogue.rank * spell_targets.mind_sear ) )", ["action"] = "shadow_word_pain", ["cycle_targets"] = 1, }, -- [13] { ["enabled"] = true, ["criteria"] = "refreshable & time_to_die > ( ( 1 + 3.3 * spell_targets.mind_sear ) * variable.vt_trait_ranks_check * ( 1 + 0.10 * azerite.searing_dialogue.rank * spell_targets.mind_sear ) )", ["action"] = "vampiric_touch", ["cycle_targets"] = 1, }, -- [14] { ["enabled"] = true, ["criteria"] = "dot.shadow_word_pain.refreshable & ( talent.misery.enabled & time_to_die > ( ( 1.0 + 2.0 * spell_targets.mind_sear ) * variable.vt_mis_trait_ranks_check * ( variable.vt_mis_sd_check * spell_targets.mind_sear ) ) )", ["action"] = "vampiric_touch", ["cycle_targets"] = 1, }, -- [15] { ["enabled"] = true, ["criteria"] = "buff.voidform.up", ["action"] = "void_torrent", }, -- [16] { ["enabled"] = true, ["action"] = "mind_sear", ["interrupt_if"] = "ticks>=2&buff.mind_sear_th.down", ["interrupt_immediate"] = "1", ["chain"] = "1", ["criteria"] = "spell_targets.mind_sear > 1", }, -- [17] { ["enabled"] = true, ["action"] = "mind_flay", ["interrupt_if"] = "ticks>=2&(cooldown.void_bolt.up||cooldown.mind_blast.up)", ["interrupt_immediate"] = "1", ["chain"] = "1", }, -- [18] { ["action"] = "shadow_word_pain", ["enabled"] = true, }, -- [19] }, ["crit_cds"] = { { ["enabled"] = true, ["name"] = "azsharas_font_of_power", ["action"] = "azsharas_font_of_power", }, -- [1] { ["enabled"] = true, ["action"] = "cyclotronic_blast", ["effect_name"] = "cyclotronic_blast", }, -- [2] }, }, ["version"] = 20200614, ["warnings"] = "Imported 6 action lists.\n", ["spec"] = 258, ["profile"] = "# Shadow Priest\n# https://github.com/simulationcraft/simc/\n# June 14, 2020\n\n# Changes:\n# - Added Silence.\n# - Converted target_if syntax.\n# - Converted target.time_to_die to time_to_die where applicable.\n# - Added mind_sear_th buff to avoid breaking Mind Sear channels that are buffed by Thought Harvester.\n\n# Executed before combat begins. Accepts non-harmful actions only.\n# actions.precombat=flask\n# actions.precombat+=/food\n# actions.precombat+=/augmentation\n# Snapshot raid buffed stats before combat begins and pre-potting is done.\n# actions.precombat+=/snapshot_stats\nactions.precombat+=/potion\nactions.precombat+=/variable,name=mind_blast_targets,op=set,value=floor((4.5+azerite.whispers_of_the_damned.rank)%(1+0.27*azerite.searing_dialogue.rank))\nactions.precombat+=/variable,name=swp_trait_ranks_check,op=set,value=(1-0.07*azerite.death_throes.rank+0.2*azerite.thought_harvester.rank)*(1-0.09*azerite.thought_harvester.rank*azerite.searing_dialogue.rank)\nactions.precombat+=/variable,name=vt_trait_ranks_check,op=set,value=(1-0.04*azerite.thought_harvester.rank-0.05*azerite.spiteful_apparitions.rank)\nactions.precombat+=/variable,name=vt_mis_trait_ranks_check,op=set,value=(1-0.07*azerite.death_throes.rank-0.03*azerite.thought_harvester.rank-0.055*azerite.spiteful_apparitions.rank)*(1-0.027*azerite.thought_harvester.rank*azerite.searing_dialogue.rank)\nactions.precombat+=/variable,name=vt_mis_sd_check,op=set,value=1-0.014*azerite.searing_dialogue.rank\nactions.precombat+=/shadowform,if=!buff.shadowform.up\nactions.precombat+=/use_item,name=azsharas_font_of_power\nactions.precombat+=/mind_blast,if=spell_targets.mind_sear<2||azerite.thought_harvester.rank=0\nactions.precombat+=/vampiric_touch\n\n# Executed every time the actor is available.\nactions=silence\nactions+=/use_items\nactions+=/potion,if=buff.bloodlust.react||time_to_die<=80||target.health.pct<35\nactions+=/variable,name=dots_up,op=set,value=dot.shadow_word_pain.ticking&dot.vampiric_touch.ticking\nactions+=/fireblood,if=buff.voidform.up\nactions+=/berserking\nactions+=/lights_judgment\nactions+=/ancestral_call,if=buff.voidform.up\nactions+=/bag_of_tricks\nactions+=/run_action_list,name=cleave,if=active_enemies>1\nactions+=/run_action_list,name=single,if=active_enemies=1\n\n# Use Memory of Lucid Dreams right before you are about to fall out of Voidform\nactions.cds=memory_of_lucid_dreams,if=(buff.voidform.stack>20&insanity<=50)||(current_insanity_drain*((gcd.max*2)+action.mind_blast.cast_time))>insanity\nactions.cds+=/blood_of_the_enemy\nactions.cds+=/guardian_of_azeroth,if=buff.voidform.stack>15\nactions.cds+=/use_item,name=manifesto_of_madness,if=spell_targets.mind_sear>=2||raid_event.adds.in>60\nactions.cds+=/focused_azerite_beam,if=spell_targets.mind_sear>=2||raid_event.adds.in>60\nactions.cds+=/purifying_blast,if=spell_targets.mind_sear>=2||raid_event.adds.in>60\n# Wait at least 6s between casting CF. Use the first cast ASAP to get it on CD, then every subsequent cast should be used when Chorus of Insanity is active or it will recharge in the next gcd, or the target is about to die.\nactions.cds+=/concentrated_flame,line_cd=6,if=time<=10||(buff.chorus_of_insanity.stack>=15&buff.voidform.up)||full_recharge_time20)||azerite.chorus_of_insanity.rank=0\n# Default fallback for usable items: Use on cooldown.\nactions.cds+=/use_items\n\nactions.cleave=void_eruption\nactions.cleave+=/dark_ascension,if=buff.voidform.down\nactions.cleave+=/vampiric_touch,if=!ticking&azerite.thought_harvester.rank>=1\nactions.cleave+=/mind_sear,if=buff.harvested_thoughts.up\nactions.cleave+=/void_bolt\nactions.cleave+=/call_action_list,name=cds\nactions.cleave+=/shadow_word_death,cycle_targets=1,if=time_to_die<3||buff.voidform.down\nactions.cleave+=/surrender_to_madness,if=buff.voidform.stack>10+(10*buff.bloodlust.up)\n# Use Dark Void on CD unless adds are incoming in 10s or less.\nactions.cleave+=/dark_void,if=raid_event.adds.in>10&(dot.shadow_word_pain.refreshable||time_to_die>30)\nactions.cleave+=/mindbender\nactions.cleave+=/mind_blast,cycle_targets=1,if=spell_targets.mind_sear5&raid_event.adds.duration<2)||raid_event.adds.duration>2\nactions.cleave+=/shadow_word_pain,cycle_targets=1,if=!talent.misery.enabled&refreshable&time_to_die>((-1.2+3.3*spell_targets.mind_sear)*variable.swp_trait_ranks_check*(1-0.012*azerite.searing_dialogue.rank*spell_targets.mind_sear))\nactions.cleave+=/vampiric_touch,cycle_targets=1,if=refreshable&time_to_die>((1+3.3*spell_targets.mind_sear)*variable.vt_trait_ranks_check*(1+0.10*azerite.searing_dialogue.rank*spell_targets.mind_sear))\nactions.cleave+=/vampiric_touch,cycle_targets=1,if=dot.shadow_word_pain.refreshable&(talent.misery.enabled&time_to_die>((1.0+2.0*spell_targets.mind_sear)*variable.vt_mis_trait_ranks_check*(variable.vt_mis_sd_check*spell_targets.mind_sear)))\nactions.cleave+=/void_torrent,if=buff.voidform.up\nactions.cleave+=/mind_sear,if=spell_targets.mind_sear>1,chain=1,interrupt_immediate=1,interrupt_if=ticks>=2&buff.mind_sear_th.down\nactions.cleave+=/mind_flay,chain=1,interrupt_immediate=1,interrupt_if=ticks>=2&(cooldown.void_bolt.up||cooldown.mind_blast.up)\nactions.cleave+=/shadow_word_pain\n\nactions.crit_cds=use_item,name=azsharas_font_of_power\nactions.crit_cds+=/use_item,effect_name=cyclotronic_blast\n\nactions.single=void_eruption\nactions.single+=/dark_ascension,if=buff.voidform.down\nactions.single+=/void_bolt\nactions.single+=/call_action_list,name=cds\n# Use Mind Sear on ST only if you get a Thought Harvester Proc with at least 1 Searing Dialogue Trait.\nactions.single+=/mind_sear,if=buff.harvested_thoughts.up&cooldown.void_bolt.remains>=1.5&azerite.searing_dialogue.rank>=1\n# Use SWD before capping charges, or the target is about to die.\nactions.single+=/shadow_word_death,if=target.time_to_die<3||cooldown.shadow_word_death.charges=2||(cooldown.shadow_word_death.charges=1&cooldown.shadow_word_death.remains10+(10*buff.bloodlust.up)\n+ # Use Dark Void on CD unless adds are incoming in 10s or less.\nactions.single+=/dark_void,if=raid_event.adds.in>10\n# Use Mindbender at 19 or more stacks, or if the target will die in less than 15s.\nactions.single+=/mindbender,if=talent.mindbender.enabled||(buff.voidform.stack>18||time_to_die<15)\nactions.single+=/shadow_word_death,if=!buff.voidform.up||(cooldown.shadow_word_death.charges=2&buff.voidform.stack<15)\n# Use Shadow Crash on CD unless there are adds incoming.\nactions.single+=/shadow_crash,if=raid_event.adds.in>5&raid_event.adds.duration<20\n# Bank the Shadow Word: Void charges for a bit to try and avoid overcapping on Insanity.\nactions.single+=/mind_blast,if=variable.dots_up&((raid_event.movement.in>cast_time+0.5&raid_event.movement.in<4)||!talent.shadow_word_void.enabled||buff.voidform.down||buff.voidform.stack>14&(insanity<70||charges_fractional>1.33)||buff.voidform.stack<=14&(insanity<60||charges_fractional>1.33))\nactions.single+=/void_torrent,if=dot.shadow_word_pain.remains>4&dot.vampiric_touch.remains>4&buff.voidform.up\nactions.single+=/shadow_word_pain,if=refreshable&time_to_die>4&!talent.misery.enabled&!talent.dark_void.enabled\nactions.single+=/vampiric_touch,if=refreshable&time_to_die>6||(talent.misery.enabled&dot.shadow_word_pain.refreshable)\nactions.single+=/mind_flay,chain=1,interrupt_immediate=1,interrupt_if=ticks>=2&(cooldown.void_bolt.up||cooldown.mind_blast.up)\nactions.single+=/shadow_word_pain", }, }, }, ["Quilbee - Thunderhorn"] = { ["runOnce"] = { ["autoconvertDisplayToggle_20190621_1"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["resetRogueMfDOption_20200226"] = true, ["resetAllPotions_20201209"] = true, ["enableAllOfTheThings_20180820"] = true, ["resetGlobalCooldownSync_20210403"] = true, ["resetPotionsToDefaults_20190717"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["resetAberrantPackageDates_20190728_1"] = true, }, ["specs"] = { [70] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["settings"] = { ["check_wake_range"] = false, }, ["petbased"] = false, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["damage"] = true, ["enabled"] = true, ["debuffPadding"] = 0, ["maxTime"] = 33, ["throttleTime"] = false, ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["buffPadding"] = 0, ["nameplateRange"] = 8, ["cycle_min"] = 6, ["cycle"] = false, ["potion"] = "spectral_strength", ["package"] = "Retribution", ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["aoe"] = 3, ["damageRange"] = 0, }, [66] = { ["maxRefresh"] = 10, ["custom2Name"] = "Custom 2", ["throttleRefresh"] = false, ["damagePets"] = false, ["petbased"] = false, ["enhancedRecheck"] = false, ["gcdSync"] = true, ["damageDots"] = false, ["damage"] = true, ["enabled"] = true, ["debuffPadding"] = 0, ["maxTime"] = 33, ["package"] = "Protection Paladin", ["custom1Name"] = "Custom 1", ["nameplates"] = true, ["buffPadding"] = 0, ["nameplateRange"] = 8, ["cycle_min"] = 6, ["cycle"] = false, ["potion"] = "phantom_fire", ["throttleTime"] = false, ["potionsReset"] = 20180919.1, ["damageExpiration"] = 8, ["aoe"] = 2, ["damageRange"] = 0, }, [102] = { ["enhancedRecheck"] = true, }, }, ["packs"] = { ["Protection Paladin"] = { ["source"] = "https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20210710, ["author"] = "SimC", ["desc"] = "Protection Paladin\nJuly 10, 2021\n\nChanges\n- Added Rebuke.\n- Remove Seraphim restrictions on multiple mitigation abilities.", ["lists"] = { ["default"] = { { ["enabled"] = true, ["description"] = "Executed every time the actor is available.", ["action"] = "rebuke", }, -- [1] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "mitigation", }, -- [3] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "standard", }, -- [4] { ["enabled"] = true, ["criteria"] = "holy_power.deficit = 0 & ( ( buff.avenging_wrath.up & ! talent.seraphim.enabled ) || buff.seraphim.up )", ["action"] = "shield_of_the_righteous", }, -- [5] { ["enabled"] = true, ["criteria"] = "( buff.avenging_wrath.up & buff.avenging_wrath.remains < 4 & ! talent.seraphim.enabled ) || ( buff.seraphim.remains < 4 & buff.seraphim.up )", ["action"] = "shield_of_the_righteous", }, -- [6] { ["enabled"] = true, ["criteria"] = "holy_power.deficit > 0", ["action"] = "hammer_of_wrath", }, -- [7] { ["enabled"] = true, ["criteria"] = "buff.seraphim.up & buff.seraphim.remains < 3", ["action"] = "lights_judgment", }, -- [8] { ["enabled"] = true, ["criteria"] = "! consecration.up", ["action"] = "consecration", }, -- [9] { ["enabled"] = true, ["criteria"] = "( cooldown.judgment.remains < gcd & cooldown.judgment.charges_fractional > 1 & cooldown_react ) || ! talent.crusaders_judgment.enabled", ["action"] = "judgment", }, -- [10] { ["enabled"] = true, ["criteria"] = "cooldown_react", ["action"] = "avengers_shield", }, -- [11] { ["enabled"] = true, ["criteria"] = "cooldown_react || ! talent.crusaders_judgment.enabled", ["action"] = "judgment", }, -- [12] { ["enabled"] = true, ["criteria"] = "! talent.seraphim.enabled || buff.seraphim.up", ["action"] = "lights_judgment", }, -- [13] { ["enabled"] = true, ["action"] = "blessed_hammer", ["strikes"] = "3", }, -- [14] { ["action"] = "hammer_of_the_righteous", ["enabled"] = true, }, -- [15] { ["action"] = "consecration", ["enabled"] = true, }, -- [16] }, ["precombat"] = { { ["enabled"] = true, ["description"] = "Executed before combat begins. Accepts non-harmful actions only.", ["action"] = "devotion_aura", }, -- [1] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [2] { ["action"] = "consecration", ["enabled"] = true, }, -- [3] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [4] { ["action"] = "ashen_hallow", ["enabled"] = true, }, -- [5] }, ["cooldowns"] = { { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.up", ["action"] = "fireblood", }, -- [1] { ["action"] = "seraphim", ["enabled"] = true, }, -- [2] { ["action"] = "avenging_wrath", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.up || cooldown.avenging_wrath.remains > 60", ["action"] = "holy_avenger", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.up", ["action"] = "potion", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.down", ["action"] = "ashen_hallow", }, -- [6] { ["action"] = "vanquishers_hammer", ["enabled"] = true, }, -- [7] { ["enabled"] = true, ["criteria"] = "holy_power.deficit > 0", ["action"] = "divine_toll", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.seraphim.up || ! talent.seraphim.enabled", ["action"] = "use_items", }, -- [9] { ["enabled"] = true, ["criteria"] = "prev_gcd.1.avengers_shield & cooldown.avengers_shield.remains", ["action"] = "moment_of_glory", }, -- [10] { ["enabled"] = true, ["name"] = "grongs_primal_rage", ["action"] = "grongs_primal_rage", ["criteria"] = "( ( cooldown.judgment.full_recharge_time > 4 || ( ! talent.crusaders_judgment.enabled & prev_gcd.1.judgment ) ) & cooldown.avengers_shield.remains > 4 & buff.seraphim.remains > 4 ) || ( buff.seraphim.remains < 4 )", }, -- [11] { ["enabled"] = true, ["name"] = "merekthas_fang", ["action"] = "merekthas_fang", ["criteria"] = "! buff.avenging_wrath.up & ( buff.seraphim.up || ! talent.seraphim.enabled )", }, -- [12] { ["enabled"] = true, ["name"] = "razdunks_big_red_button", ["action"] = "razdunks_big_red_button", }, -- [13] }, ["mitigation"] = { { ["enabled"] = true, ["criteria"] = "buff.shield_of_the_righteous.down & ( holy_power.deficit = 0 || buff.divine_purpose.up )", ["action"] = "shield_of_the_righteous", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.vanquishers_hammer.up", ["action"] = "word_of_glory", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.shining_light_full.up & buff.shining_light_full.remains < gcd * 2 & health.pct < 80 & ! covenant.necrolord", ["action"] = "word_of_glory", }, -- [3] { ["enabled"] = true, ["criteria"] = "( health.pct < 40 )", ["action"] = "word_of_glory", }, -- [4] { ["enabled"] = true, ["criteria"] = "( incoming_damage_10000ms < health.max * 1.25 ) & health.pct < 55 & talent.righteous_protector.enabled", ["action"] = "word_of_glory", }, -- [5] { ["enabled"] = true, ["criteria"] = "( incoming_damage_13000ms < health.max * 1.6 ) & health.pct < 55", ["action"] = "word_of_glory", }, -- [6] { ["enabled"] = true, ["criteria"] = "( incoming_damage_6000ms < health.max * 0.7 ) & health.pct < 65 & talent.righteous_protector.enabled", ["action"] = "word_of_glory", }, -- [7] { ["enabled"] = true, ["criteria"] = "( incoming_damage_9000ms < health.max * 1.2 ) & health.pct < 55", ["action"] = "word_of_glory", }, -- [8] { ["enabled"] = true, ["criteria"] = "incoming_damage_2500ms > health.max * 0.4 & ! ( buff.ardent_defender.up || buff.guardian_of_ancient_kings.up || buff.divine_shield.up || buff.potion.up )", ["action"] = "guardian_of_ancient_kings", ["description"] = "actions.mitigation+=/shield_of_the_righteous,if=buff.shield_of_the_righteous.down&(holy_power>2||buff.divine_purpose.up)", }, -- [9] { ["enabled"] = true, ["criteria"] = "talent.final_stand.enabled & incoming_damage_2500ms > health.max * 0.4 & ! ( buff.ardent_defender.up || buff.guardian_of_ancient_kings.up || buff.divine_shield.up || buff.potion.up )", ["action"] = "divine_shield", }, -- [10] { ["enabled"] = true, ["criteria"] = "incoming_damage_2500ms > health.max * 0.4 & ! ( buff.ardent_defender.up || buff.guardian_of_ancient_kings.up || buff.divine_shield.up || buff.potion.up )", ["action"] = "ardent_defender", }, -- [11] { ["enabled"] = true, ["criteria"] = "health.pct < 15", ["action"] = "lay_on_hands", }, -- [12] }, ["standard"] = { { ["enabled"] = true, ["criteria"] = "debuff.judgment.up", ["action"] = "shield_of_the_righteous", }, -- [1] { ["enabled"] = true, ["criteria"] = "holy_power = 5 || buff.holy_avenger.up || holy_power = 4 & talent.sanctified_wrath.enabled & buff.avenging_wrath.up", ["action"] = "shield_of_the_righteous", }, -- [2] { ["enabled"] = true, ["action"] = "judgment", ["criteria"] = "charges = 2 || ! talent.crusaders_judgment.enabled", ["cycle_targets"] = 1, }, -- [3] { ["action"] = "hammer_of_wrath", ["enabled"] = true, }, -- [4] { ["action"] = "blessing_of_summer", ["enabled"] = true, }, -- [5] { ["action"] = "blessing_of_autumn", ["enabled"] = true, }, -- [6] { ["action"] = "blessing_of_winter", ["enabled"] = true, }, -- [7] { ["action"] = "blessing_of_spring", ["enabled"] = true, }, -- [8] { ["action"] = "avengers_shield", ["enabled"] = true, }, -- [9] { ["enabled"] = true, ["action"] = "judgment", ["cycle_targets"] = 1, }, -- [10] { ["action"] = "vanquishers_hammer", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "! consecration.up", ["action"] = "consecration", }, -- [12] { ["action"] = "divine_toll", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["action"] = "blessed_hammer", ["criteria"] = "charges = 3", ["strikes"] = "2.4", }, -- [14] { ["action"] = "ashen_hallow", ["enabled"] = true, }, -- [15] { ["enabled"] = true, ["criteria"] = "charges = 2", ["action"] = "hammer_of_the_righteous", }, -- [16] { ["enabled"] = true, ["action"] = "blessed_hammer", ["strikes"] = "2.4", }, -- [17] { ["action"] = "hammer_of_the_righteous", ["enabled"] = true, }, -- [18] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [19] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [20] { ["action"] = "consecration", ["enabled"] = true, }, -- [21] }, }, ["version"] = 20210710, ["warnings"] = "Imported 5 action lists.\n", ["spec"] = 66, ["profile"] = "# Protection Paladin\n# July 10, 2021\n\n# Changes\n# - Added Rebuke.\n# - Remove Seraphim restrictions on multiple mitigation abilities.\n\n# Executed before combat begins. Accepts non-harmful actions only.\nactions.precombat+=/devotion_aura\nactions.precombat+=/fleshcraft\nactions.precombat+=/consecration\nactions.precombat+=/lights_judgment\nactions.precombat+=/ashen_hallow\n\n# Executed every time the actor is available.\nactions=rebuke\nactions+=/call_action_list,name=cooldowns\nactions+=/call_action_list,name=mitigation\nactions+=/call_action_list,name=standard\n\nactions+=/shield_of_the_righteous,if=holy_power.deficit=0&((buff.avenging_wrath.up&!talent.seraphim.enabled)||buff.seraphim.up)\nactions+=/shield_of_the_righteous,if=(buff.avenging_wrath.up&buff.avenging_wrath.remains<4&!talent.seraphim.enabled)||(buff.seraphim.remains<4&buff.seraphim.up)\nactions+=/hammer_of_wrath,if=holy_power.deficit>0\nactions+=/lights_judgment,if=buff.seraphim.up&buff.seraphim.remains<3\nactions+=/consecration,if=!consecration.up\nactions+=/judgment,if=(cooldown.judgment.remains1&cooldown_react)||!talent.crusaders_judgment.enabled\nactions+=/avengers_shield,if=cooldown_react\nactions+=/judgment,if=cooldown_react||!talent.crusaders_judgment.enabled\nactions+=/lights_judgment,if=!talent.seraphim.enabled||buff.seraphim.up\nactions+=/blessed_hammer,strikes=3\nactions+=/hammer_of_the_righteous\nactions+=/consecration\n\nactions.standard=shield_of_the_righteous,if=debuff.judgment.up\nactions.standard+=/shield_of_the_righteous,if=holy_power=5||buff.holy_avenger.up||holy_power=4&talent.sanctified_wrath.enabled&buff.avenging_wrath.up\nactions.standard+=/judgment,cycle_targets=1,if=charges=2||!talent.crusaders_judgment.enabled\nactions.standard+=/hammer_of_wrath\nactions.standard+=/blessing_of_summer\nactions.standard+=/blessing_of_autumn\nactions.standard+=/blessing_of_winter\nactions.standard+=/blessing_of_spring\nactions.standard+=/avengers_shield\nactions.standard+=/judgment,cycle_targets=1\nactions.standard+=/vanquishers_hammer\nactions.standard+=/consecration,if=!consecration.up\nactions.standard+=/divine_toll\nactions.standard+=/blessed_hammer,strikes=2.4,if=charges=3\nactions.standard+=/ashen_hallow\nactions.standard+=/hammer_of_the_righteous,if=charges=2\nactions.standard+=/blessed_hammer,strikes=2.4\nactions.standard+=/hammer_of_the_righteous\nactions.standard+=/lights_judgment\nactions.standard+=/arcane_torrent\nactions.standard+=/consecration\n\nactions.cooldowns=fireblood,if=buff.avenging_wrath.up\nactions.cooldowns+=/seraphim\nactions.cooldowns+=/avenging_wrath\nactions.cooldowns+=/holy_avenger,if=buff.avenging_wrath.up||cooldown.avenging_wrath.remains>60\nactions.cooldowns+=/potion,if=buff.avenging_wrath.up\nactions.cooldowns+=/ashen_hallow,if=buff.avenging_wrath.down\nactions.cooldowns+=/vanquishers_hammer\nactions.cooldowns+=/divine_toll,if=holy_power.deficit>0\nactions.cooldowns+=/use_items,if=buff.seraphim.up||!talent.seraphim.enabled\nactions.cooldowns+=/moment_of_glory,if=prev_gcd.1.avengers_shield&cooldown.avengers_shield.remains\nactions.cooldowns+=/use_item,name=grongs_primal_rage,if=((cooldown.judgment.full_recharge_time>4||(!talent.crusaders_judgment.enabled&prev_gcd.1.judgment))&cooldown.avengers_shield.remains>4&buff.seraphim.remains>4)||(buff.seraphim.remains<4)\nactions.cooldowns+=/use_item,name=merekthas_fang,if=!buff.avenging_wrath.up&(buff.seraphim.up||!talent.seraphim.enabled)\nactions.cooldowns+=/use_item,name=razdunks_big_red_button\n\nactions.mitigation=shield_of_the_righteous,if=buff.shield_of_the_righteous.down&(holy_power.deficit=0||buff.divine_purpose.up)\nactions.mitigation+=/word_of_glory,if=buff.vanquishers_hammer.up\nactions.mitigation+=/word_of_glory,if=buff.shining_light_full.up&buff.shining_light_full.remains2||buff.divine_purpose.up)\nactions.mitigation+=/guardian_of_ancient_kings,if=incoming_damage_2500ms>health.max*0.4&!(buff.ardent_defender.up||buff.guardian_of_ancient_kings.up||buff.divine_shield.up||buff.potion.up)\nactions.mitigation+=/divine_shield,if=talent.final_stand.enabled&incoming_damage_2500ms>health.max*0.4&!(buff.ardent_defender.up||buff.guardian_of_ancient_kings.up||buff.divine_shield.up||buff.potion.up)\nactions.mitigation+=/ardent_defender,if=incoming_damage_2500ms>health.max*0.4&!(buff.ardent_defender.up||buff.guardian_of_ancient_kings.up||buff.divine_shield.up||buff.potion.up)\nactions.mitigation+=/lay_on_hands,if=health.pct<15", }, ["Retribution"] = { ["builtIn"] = true, ["date"] = 20210719, ["spec"] = 70, ["desc"] = "Retribution Paladin\nJuly 19, 2021\n\nChanges:\n- Last-second usage of trinkets/CDs now for boss fights only (don't waste CDs on trash).\n- Make Seraphim function when Final Reckoning/Execution Sentence are on CD for a while (further relaxed on 7/8).\n- Add fall-through DS/TV when Seraphim/FR are desynched.", ["profile"] = "## Retribution Paladin\n## July 19, 2021\n\n## Changes:\n## - Last-second usage of trinkets/CDs now for boss fights only (don't waste CDs on trash).\n## - Make Seraphim function when Final Reckoning/Execution Sentence are on CD for a while (further relaxed on 7/8).\n## - Add fall-through DS/TV when Seraphim/FR are desynched.\n\nactions.precombat=potion\nactions.precombat+=/blessing_of_summer\nactions.precombat+=/blessing_of_autumn\nactions.precombat+=/blessing_of_winter\nactions.precombat+=/blessing_of_spring\nactions.precombat+=/arcane_torrent,if=talent.final_reckoning.enabled&talent.seraphim.enabled\n\n \n## Executed every time the actor is available.\nactions=rebuke\nactions+=/call_action_list,name=cooldowns\nactions+=/call_action_list,name=generators\n \nactions.cooldowns=potion,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack=10||boss&fight_remains<25\nactions.cooldowns+=/lights_judgment,if=spell_targets.lights_judgment>=2||!raid_event.adds.exists||raid_event.adds.in>75||raid_event.adds.up\nactions.cooldowns+=/fireblood,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack=10\nactions.cooldowns+=/shield_of_vengeance,if=(!talent.execution_sentence.enabled||cooldown.execution_sentence.remains<52)&fight_remains>15\nactions.cooldowns+=/blessing_of_summer\nactions.cooldowns+=/blessing_of_autumn\nactions.cooldowns+=/blessing_of_winter\nactions.cooldowns+=/blessing_of_spring\nactions.cooldowns+=/use_item,name=inscrutable_quantum_device,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack=10||boss&fight_remains<30\nactions.cooldowns+=/use_item,name=overwhelming_power_crystal,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack=10||boss&fight_remains<15\nactions.cooldowns+=/use_item,name=darkmoon_deck_voracity,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack=10||boss&fight_remains<20\nactions.cooldowns+=/use_item,name=macabre_sheet_music,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack=10||boss&fight_remains<20\nactions.cooldowns+=/use_item,name=dreadfire_vessel\nactions.cooldowns+=/use_item,name=skulkers_wing\nactions.cooldowns+=/use_item,name=grim_codex\nactions.cooldowns+=/use_item,name=memory_of_past_sins\nactions.cooldowns+=/use_item,name=spare_meat_hook\nactions.cooldowns+=/use_item,name=salvaged_fusion_amplifier\nactions.cooldowns+=/use_item,name=unchained_gladiators_badge_of_ferocity,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack>=10||cooldown.avenging_wrath.remains>45||cooldown.crusade.remains>45\nactions.cooldowns+=/use_item,name=unchained_aspirants_badge_of_ferocity,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack>=10||cooldown.avenging_wrath.remains>45||cooldown.crusade.remains>45\nactions.cooldowns+=/use_item,name=sinful_gladiators_badge_of_ferocity,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack>=10||cooldown.avenging_wrath.remains>45||cooldown.crusade.remains>45\nactions.cooldowns+=/use_item,name=sinful_aspirants_badge_of_ferocity,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack>=10||cooldown.avenging_wrath.remains>45||cooldown.crusade.remains>45\nactions.cooldowns+=/use_items,if=buff.avenging_wrath.up||buff.crusade.up&buff.crusade.stack>=10\nactions.cooldowns+=/avenging_wrath,if=(holy_power>=4&time<5||holy_power>=3&(time>5||runeforge.the_magistrates_judgment)||talent.holy_avenger.enabled&cooldown.holy_avenger.remains=0)&(!talent.seraphim.enabled||cooldown.seraphim.remains>0||talent.sanctified_wrath.enabled)\nactions.cooldowns+=/crusade,if=holy_power>=4&time<5||holy_power>=3&time>5||talent.holy_avenger.enabled&cooldown.holy_avenger.remains=0\nactions.cooldowns+=/ashen_hallow\nactions.cooldowns+=/holy_avenger,if=time_to_hpg=0&(buff.avenging_wrath.up||buff.crusade.up||buff.avenging_wrath.down&cooldown.avenging_wrath.remains>40||buff.crusade.down&cooldown.crusade.remains>40)\nactions.cooldowns+=/final_reckoning,if=(holy_power>=4&time<8||holy_power>=3&time>=8)&cooldown.avenging_wrath.remains>gcd&time_to_hpg=0&(!talent.seraphim.enabled||buff.seraphim.up)&(!raid_event.adds.exists||raid_event.adds.up||raid_event.adds.in>40)\n \nactions.finishers=variable,name=ds_castable,value=spell_targets.divine_storm=2&!(runeforge.final_verdict&talent.righteous_verdict.enabled&conduit.templars_vindication.enabled)||spell_targets.divine_storm>2||buff.empyrean_power.up&debuff.judgment.down&buff.divine_purpose.down\nactions.finishers+=/seraphim,if=(cooldown.avenging_wrath.remains>15||cooldown.crusade.remains>15||talent.final_reckoning.enabled)&(!talent.final_reckoning.enabled||cooldown.final_reckoning.remains>20+gcd*3||cooldown.final_reckoning.remains<=gcd*3&(!raid_event.adds.exists||raid_event.adds.in>40||raid_event.adds.in35||cooldown.execution_sentence.remains<=gcd*3||talent.final_reckoning.enabled)&(!covenant.kyrian||cooldown.divine_toll.remains>45||cooldown.divine_toll.remains<9)||boss&fight_remains<15&fight_remains>5\nactions.finishers+=/execution_sentence,if=(buff.crusade.down&cooldown.crusade.remains>10||buff.crusade.stack>=3||cooldown.avenging_wrath.remains>10)&(!talent.final_reckoning.enabled||cooldown.final_reckoning.remains>10)&target.time_to_die>8\nactions.finishers+=/divine_storm,if=variable.ds_castable&!buff.vanquishers_hammer.up&((!talent.crusade.enabled||cooldown.crusade.remains>gcd*3)&(!talent.execution_sentence.enabled||cooldown.execution_sentence.remains>gcd*6||cooldown.execution_sentence.remains>gcd*5&holy_power>=4||target.time_to_die<8||!talent.seraphim.enabled&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning.enabled||cooldown.final_reckoning.remains>gcd*6||cooldown.final_reckoning.remains>gcd*5&holy_power>=4||!talent.seraphim.enabled&cooldown.final_reckoning.remains>gcd*2)&(!talent.seraphim.enabled||cooldown.seraphim.remains%gcd+holy_power>3||talent.final_reckoning.enabled||talent.execution_sentence.enabled||covenant.kyrian)||(talent.holy_avenger.enabled&cooldown.holy_avenger.remainsgcd*3)&(!talent.execution_sentence.enabled||cooldown.execution_sentence.remains>gcd*6||cooldown.execution_sentence.remains>gcd*5&holy_power>=4||target.time_to_die<8||!talent.seraphim.enabled&cooldown.execution_sentence.remains>gcd*2)&(!talent.final_reckoning.enabled||cooldown.final_reckoning.remains>gcd*6||cooldown.final_reckoning.remains>gcd*5&holy_power>=4||!talent.seraphim.enabled&cooldown.final_reckoning.remains>gcd*2)&(!talent.seraphim.enabled||cooldown.seraphim.remains%gcd+holy_power>3||talent.final_reckoning.enabled||talent.execution_sentence.enabled||covenant.kyrian)||talent.holy_avenger.enabled&cooldown.holy_avenger.remains4*gcd||cooldown.seraphim.remains>3*gcd&cooldown.final_reckoning.remains<4*gcd)&holy_power=holy_power.max\nactions.finishers+=/templars_verdict,if=talent.seraphim.enabled&talent.final_reckoning.enabled&(cooldown.seraphim.ready&cooldown.final_reckoning.remains>4*gcd||cooldown.seraphim.remains>3*gcd&cooldown.final_reckoning.remains<4*gcd)&holy_power=holy_power.max\n \nactions.generators=call_action_list,name=finishers,if=holy_power=5||buff.holy_avenger.up||debuff.final_reckoning.up||debuff.execution_sentence.up\nactions.generators+=/vanquishers_hammer\nactions.generators+=/divine_toll,if=!debuff.judgment.up&(!talent.seraphim.enabled||buff.seraphim.up)&(!raid_event.adds.exists||raid_event.adds.in>30||raid_event.adds.up)&(holy_power<=2||holy_power<=4&(cooldown.blade_of_justice.remains>gcd*2||debuff.execution_sentence.up||debuff.final_reckoning.up))&(!talent.final_reckoning.enabled||cooldown.final_reckoning.remains>gcd*10)&(!talent.execution_sentence.enabled||cooldown.execution_sentence.remains>gcd*10||target.time_to_die<8)&(cooldown.avenging_wrath.remains||cooldown.crusade.remains)\nactions.generators+=/hammer_of_wrath,if=runeforge.the_mad_paragon||runeforge.vanguards_momentum&talent.execution_sentence.enabled||covenant.venthyr&cooldown.ashen_hallow.remains>210\nactions.generators+=/judgment,if=!debuff.judgment.up&buff.holy_avenger.up\nactions.generators+=/wake_of_ashes,if=(holy_power<=2&talent.execution_sentence.enabled&debuff.execution_sentence.remains>0&debuff.execution_sentence.remainsgcd*2||talent.execution_sentence.enabled&!talent.final_reckoning.enabled&(debuff.execution_sentence.up||cooldown.execution_sentence.remains=0))\nactions.generators+=/judgment,if=!debuff.judgment.up&talent.seraphim.enabled&(holy_power>=1&runeforge.the_magistrates_judgment||holy_power>=2)\nactions.generators+=/wake_of_ashes,if=(holy_power=0||holy_power<=2&(cooldown.blade_of_justice.remains>gcd*2||debuff.execution_sentence.up||target.time_to_die<8||debuff.final_reckoning.up))&(!raid_event.adds.exists||raid_event.adds.in>20||raid_event.adds.up)&(!talent.execution_sentence.enabled||cooldown.execution_sentence.remains>15||target.time_to_die<8)&(!talent.final_reckoning.enabled||cooldown.final_reckoning.remains>15||target.time_to_die<8)&(cooldown.avenging_wrath.remains||cooldown.crusade.remains)\nactions.generators+=/call_action_list,name=finishers,if=holy_power>=3&buff.crusade.up&buff.crusade.stack<10\nactions.generators+=/blade_of_justice,if=holy_power<=3&conduit.expurgation.enabled&!covenant.venthyr\nactions.generators+=/judgment,if=!debuff.judgment.up\nactions.generators+=/hammer_of_wrath\nactions.generators+=/blade_of_justice,if=holy_power<=3\nactions.generators+=/call_action_list,name=finishers,if=(target.health.pct<=20||buff.avenging_wrath.up||buff.crusade.up||buff.empyrean_power.up)\nactions.generators+=/crusader_strike,if=cooldown.crusader_strike.charges_fractional>=1.75&(holy_power<=2||holy_power<=3&cooldown.blade_of_justice.remains>gcd*2||holy_power=4&cooldown.blade_of_justice.remains>gcd*2&cooldown.judgment.remains>gcd*2)\nactions.generators+=/consecration,if=!consecration.up&spell_targets.divine_storm>=2\nactions.generators+=/call_action_list,name=finishers\nactions.generators+=/consecration,if=!consecration.up\nactions.generators+=/crusader_strike\nactions.generators+=/arcane_torrent\nactions.generators+=/consecration", ["version"] = 20210719, ["warnings"] = "WARNING: The import for 'cooldowns' required some automated changes.\nLine 24: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nWARNING: The import for 'finishers' required some automated changes.\nLine 1: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 4: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 5: Converted SimC syntax % to Lua division operator (/) (1x).\n\nWARNING: The import for 'generators' required some automated changes.\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 8: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\n\nImported 5 action lists.\n", ["author"] = "SimC", ["lists"] = { ["default"] = { { ["action"] = "rebuke", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cooldowns", }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "generators", }, -- [3] }, ["precombat"] = { { ["action"] = "potion", ["enabled"] = true, }, -- [1] { ["action"] = "blessing_of_summer", ["enabled"] = true, }, -- [2] { ["action"] = "blessing_of_autumn", ["enabled"] = true, }, -- [3] { ["action"] = "blessing_of_winter", ["enabled"] = true, }, -- [4] { ["action"] = "blessing_of_spring", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "talent.final_reckoning.enabled & talent.seraphim.enabled", ["action"] = "arcane_torrent", }, -- [6] }, ["generators"] = { { ["enabled"] = true, ["criteria"] = "holy_power = 5 || buff.holy_avenger.up || debuff.final_reckoning.up || debuff.execution_sentence.up", ["action"] = "call_action_list", ["list_name"] = "finishers", }, -- [1] { ["action"] = "vanquishers_hammer", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "! debuff.judgment.up & ( ! talent.seraphim.enabled || buff.seraphim.up ) & ( ! raid_event.adds.exists || raid_event.adds.in > 30 || raid_event.adds.up ) & ( holy_power <= 2 || holy_power <= 4 & ( cooldown.blade_of_justice.remains > gcd * 2 || debuff.execution_sentence.up || debuff.final_reckoning.up ) ) & ( ! talent.final_reckoning.enabled || cooldown.final_reckoning.remains > gcd * 10 ) & ( ! talent.execution_sentence.enabled || cooldown.execution_sentence.remains > gcd * 10 || target.time_to_die < 8 ) & ( cooldown.avenging_wrath.remains || cooldown.crusade.remains )", ["action"] = "divine_toll", }, -- [3] { ["enabled"] = true, ["criteria"] = "runeforge.the_mad_paragon.enabled || runeforge.vanguards_momentum.enabled & talent.execution_sentence.enabled || covenant.venthyr & cooldown.ashen_hallow.remains > 210", ["action"] = "hammer_of_wrath", }, -- [4] { ["enabled"] = true, ["criteria"] = "! debuff.judgment.up & buff.holy_avenger.up", ["action"] = "judgment", }, -- [5] { ["enabled"] = true, ["criteria"] = "( holy_power <= 2 & talent.execution_sentence.enabled & debuff.execution_sentence.remains > 0 & debuff.execution_sentence.remains < gcd * 2 )", ["action"] = "wake_of_ashes", }, -- [6] { ["enabled"] = true, ["criteria"] = "holy_power <= 3 & talent.blade_of_wrath.enabled & ( talent.final_reckoning.enabled & debuff.final_reckoning.remains > gcd * 2 || talent.execution_sentence.enabled & ! talent.final_reckoning.enabled & ( debuff.execution_sentence.up || cooldown.execution_sentence.remains = 0 ) )", ["action"] = "blade_of_justice", }, -- [7] { ["enabled"] = true, ["criteria"] = "! debuff.judgment.up & talent.seraphim.enabled & ( holy_power >= 1 & runeforge.the_magistrates_judgment.enabled || holy_power >= 2 )", ["action"] = "judgment", }, -- [8] { ["enabled"] = true, ["criteria"] = "( holy_power = 0 || holy_power <= 2 & ( cooldown.blade_of_justice.remains > gcd * 2 || debuff.execution_sentence.up || target.time_to_die < 8 || debuff.final_reckoning.up ) ) & ( ! raid_event.adds.exists || raid_event.adds.in > 20 || raid_event.adds.up ) & ( ! talent.execution_sentence.enabled || cooldown.execution_sentence.remains > 15 || target.time_to_die < 8 ) & ( ! talent.final_reckoning.enabled || cooldown.final_reckoning.remains > 15 || target.time_to_die < 8 ) & ( cooldown.avenging_wrath.remains || cooldown.crusade.remains )", ["action"] = "wake_of_ashes", }, -- [9] { ["enabled"] = true, ["criteria"] = "holy_power >= 3 & buff.crusade.up & buff.crusade.stack < 10", ["action"] = "call_action_list", ["list_name"] = "finishers", }, -- [10] { ["enabled"] = true, ["criteria"] = "holy_power <= 3 & conduit.expurgation.enabled & ! covenant.venthyr", ["action"] = "blade_of_justice", }, -- [11] { ["enabled"] = true, ["criteria"] = "! debuff.judgment.up", ["action"] = "judgment", }, -- [12] { ["action"] = "hammer_of_wrath", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "holy_power <= 3", ["action"] = "blade_of_justice", }, -- [14] { ["enabled"] = true, ["criteria"] = "( target.health.pct <= 20 || buff.avenging_wrath.up || buff.crusade.up || buff.empyrean_power.up )", ["action"] = "call_action_list", ["list_name"] = "finishers", }, -- [15] { ["enabled"] = true, ["criteria"] = "cooldown.crusader_strike.charges_fractional >= 1.75 & ( holy_power <= 2 || holy_power <= 3 & cooldown.blade_of_justice.remains > gcd * 2 || holy_power = 4 & cooldown.blade_of_justice.remains > gcd * 2 & cooldown.judgment.remains > gcd * 2 )", ["action"] = "crusader_strike", }, -- [16] { ["enabled"] = true, ["criteria"] = "! consecration.up & spell_targets.divine_storm >= 2", ["action"] = "consecration", }, -- [17] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "finishers", }, -- [18] { ["enabled"] = true, ["criteria"] = "! consecration.up", ["action"] = "consecration", }, -- [19] { ["action"] = "crusader_strike", ["enabled"] = true, }, -- [20] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [21] { ["action"] = "consecration", ["enabled"] = true, }, -- [22] }, ["finishers"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "spell_targets.divine_storm = 2 & ! ( runeforge.final_verdict.enabled & talent.righteous_verdict.enabled & conduit.templars_vindication.enabled ) || spell_targets.divine_storm > 2 || buff.empyrean_power.up & debuff.judgment.down & buff.divine_purpose.down", ["var_name"] = "ds_castable", }, -- [1] { ["enabled"] = true, ["criteria"] = "( cooldown.avenging_wrath.remains > 15 || cooldown.crusade.remains > 15 || talent.final_reckoning.enabled ) & ( ! talent.final_reckoning.enabled || cooldown.final_reckoning.remains > 20 + gcd * 3 || cooldown.final_reckoning.remains <= gcd * 3 & ( ! raid_event.adds.exists || raid_event.adds.in > 40 || raid_event.adds.in < gcd || raid_event.adds.up ) ) & ( ! talent.execution_sentence.enabled || cooldown.execution_sentence.remains > 35 || cooldown.execution_sentence.remains <= gcd * 3 || talent.final_reckoning.enabled ) & ( ! covenant.kyrian || cooldown.divine_toll.remains > 45 || cooldown.divine_toll.remains < 9 ) || boss & fight_remains < 15 & fight_remains > 5", ["action"] = "seraphim", }, -- [2] { ["enabled"] = true, ["criteria"] = "( buff.crusade.down & cooldown.crusade.remains > 10 || buff.crusade.stack >= 3 || cooldown.avenging_wrath.remains > 10 ) & ( ! talent.final_reckoning.enabled || cooldown.final_reckoning.remains > 10 ) & target.time_to_die > 8", ["action"] = "execution_sentence", }, -- [3] { ["enabled"] = true, ["criteria"] = "variable.ds_castable & ! buff.vanquishers_hammer.up & ( ( ! talent.crusade.enabled || cooldown.crusade.remains > gcd * 3 ) & ( ! talent.execution_sentence.enabled || cooldown.execution_sentence.remains > gcd * 6 || cooldown.execution_sentence.remains > gcd * 5 & holy_power >= 4 || target.time_to_die < 8 || ! talent.seraphim.enabled & cooldown.execution_sentence.remains > gcd * 2 ) & ( ! talent.final_reckoning.enabled || cooldown.final_reckoning.remains > gcd * 6 || cooldown.final_reckoning.remains > gcd * 5 & holy_power >= 4 || ! talent.seraphim.enabled & cooldown.final_reckoning.remains > gcd * 2 ) & ( ! talent.seraphim.enabled || cooldown.seraphim.remains / gcd + holy_power > 3 || talent.final_reckoning.enabled || talent.execution_sentence.enabled || covenant.kyrian ) || ( talent.holy_avenger.enabled & cooldown.holy_avenger.remains < gcd * 3 || buff.holy_avenger.up || buff.crusade.up & buff.crusade.stack < 10 ) )", ["action"] = "divine_storm", }, -- [4] { ["enabled"] = true, ["criteria"] = "( ! talent.crusade.enabled || cooldown.crusade.remains > gcd * 3 ) & ( ! talent.execution_sentence.enabled || cooldown.execution_sentence.remains > gcd * 6 || cooldown.execution_sentence.remains > gcd * 5 & holy_power >= 4 || target.time_to_die < 8 || ! talent.seraphim.enabled & cooldown.execution_sentence.remains > gcd * 2 ) & ( ! talent.final_reckoning.enabled || cooldown.final_reckoning.remains > gcd * 6 || cooldown.final_reckoning.remains > gcd * 5 & holy_power >= 4 || ! talent.seraphim.enabled & cooldown.final_reckoning.remains > gcd * 2 ) & ( ! talent.seraphim.enabled || cooldown.seraphim.remains / gcd + holy_power > 3 || talent.final_reckoning.enabled || talent.execution_sentence.enabled || covenant.kyrian ) || talent.holy_avenger.enabled & cooldown.holy_avenger.remains < gcd * 3 || buff.holy_avenger.up || buff.crusade.up & buff.crusade.stack < 10", ["action"] = "templars_verdict", }, -- [5] { ["enabled"] = true, ["criteria"] = "variable.ds_castable & talent.seraphim.enabled & talent.final_reckoning.enabled & ( cooldown.seraphim.ready & cooldown.final_reckoning.remains > 4 * gcd || cooldown.seraphim.remains > 3 * gcd & cooldown.final_reckoning.remains < 4 * gcd ) & holy_power = holy_power.max", ["action"] = "divine_storm", }, -- [6] { ["enabled"] = true, ["criteria"] = "talent.seraphim.enabled & talent.final_reckoning.enabled & ( cooldown.seraphim.ready & cooldown.final_reckoning.remains > 4 * gcd || cooldown.seraphim.remains > 3 * gcd & cooldown.final_reckoning.remains < 4 * gcd ) & holy_power = holy_power.max", ["action"] = "templars_verdict", }, -- [7] }, ["cooldowns"] = { { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack = 10 || boss & fight_remains < 25", ["action"] = "potion", }, -- [1] { ["enabled"] = true, ["criteria"] = "spell_targets.lights_judgment >= 2 || ! raid_event.adds.exists || raid_event.adds.in > 75 || raid_event.adds.up", ["action"] = "lights_judgment", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack = 10", ["action"] = "fireblood", }, -- [3] { ["enabled"] = true, ["criteria"] = "( ! talent.execution_sentence.enabled || cooldown.execution_sentence.remains < 52 ) & fight_remains > 15", ["action"] = "shield_of_vengeance", }, -- [4] { ["action"] = "blessing_of_summer", ["enabled"] = true, }, -- [5] { ["action"] = "blessing_of_autumn", ["enabled"] = true, }, -- [6] { ["action"] = "blessing_of_winter", ["enabled"] = true, }, -- [7] { ["action"] = "blessing_of_spring", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["name"] = "inscrutable_quantum_device", ["action"] = "inscrutable_quantum_device", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack = 10 || boss & fight_remains < 30", }, -- [9] { ["enabled"] = true, ["name"] = "overwhelming_power_crystal", ["action"] = "overwhelming_power_crystal", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack = 10 || boss & fight_remains < 15", }, -- [10] { ["enabled"] = true, ["name"] = "darkmoon_deck_voracity", ["action"] = "darkmoon_deck_voracity", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack = 10 || boss & fight_remains < 20", }, -- [11] { ["enabled"] = true, ["name"] = "macabre_sheet_music", ["action"] = "macabre_sheet_music", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack = 10 || boss & fight_remains < 20", }, -- [12] { ["enabled"] = true, ["name"] = "dreadfire_vessel", ["action"] = "dreadfire_vessel", }, -- [13] { ["enabled"] = true, ["name"] = "skulkers_wing", ["action"] = "skulkers_wing", }, -- [14] { ["enabled"] = true, ["name"] = "grim_codex", ["action"] = "grim_codex", }, -- [15] { ["enabled"] = true, ["name"] = "memory_of_past_sins", ["action"] = "memory_of_past_sins", }, -- [16] { ["enabled"] = true, ["name"] = "spare_meat_hook", ["action"] = "spare_meat_hook", }, -- [17] { ["enabled"] = true, ["name"] = "salvaged_fusion_amplifier", ["action"] = "salvaged_fusion_amplifier", }, -- [18] { ["enabled"] = true, ["name"] = "unchained_gladiators_badge_of_ferocity", ["action"] = "unchained_gladiators_badge_of_ferocity", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack >= 10 || cooldown.avenging_wrath.remains > 45 || cooldown.crusade.remains > 45", }, -- [19] { ["enabled"] = true, ["name"] = "unchained_aspirants_badge_of_ferocity", ["action"] = "unchained_aspirants_badge_of_ferocity", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack >= 10 || cooldown.avenging_wrath.remains > 45 || cooldown.crusade.remains > 45", }, -- [20] { ["enabled"] = true, ["name"] = "sinful_gladiators_badge_of_ferocity", ["action"] = "sinful_gladiators_badge_of_ferocity", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack >= 10 || cooldown.avenging_wrath.remains > 45 || cooldown.crusade.remains > 45", }, -- [21] { ["enabled"] = true, ["name"] = "sinful_aspirants_badge_of_ferocity", ["action"] = "sinful_aspirants_badge_of_ferocity", ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack >= 10 || cooldown.avenging_wrath.remains > 45 || cooldown.crusade.remains > 45", }, -- [22] { ["enabled"] = true, ["criteria"] = "buff.avenging_wrath.up || buff.crusade.up & buff.crusade.stack >= 10", ["action"] = "use_items", }, -- [23] { ["enabled"] = true, ["criteria"] = "( holy_power >= 4 & time < 5 || holy_power >= 3 & ( time > 5 || runeforge.the_magistrates_judgment.enabled ) || talent.holy_avenger.enabled & cooldown.holy_avenger.remains = 0 ) & ( ! talent.seraphim.enabled || cooldown.seraphim.remains > 0 || talent.sanctified_wrath.enabled )", ["action"] = "avenging_wrath", }, -- [24] { ["enabled"] = true, ["criteria"] = "holy_power >= 4 & time < 5 || holy_power >= 3 & time > 5 || talent.holy_avenger.enabled & cooldown.holy_avenger.remains = 0", ["action"] = "crusade", }, -- [25] { ["action"] = "ashen_hallow", ["enabled"] = true, }, -- [26] { ["enabled"] = true, ["criteria"] = "time_to_hpg = 0 & ( buff.avenging_wrath.up || buff.crusade.up || buff.avenging_wrath.down & cooldown.avenging_wrath.remains > 40 || buff.crusade.down & cooldown.crusade.remains > 40 )", ["action"] = "holy_avenger", }, -- [27] { ["enabled"] = true, ["criteria"] = "( holy_power >= 4 & time < 8 || holy_power >= 3 & time >= 8 ) & cooldown.avenging_wrath.remains > gcd & time_to_hpg = 0 & ( ! talent.seraphim.enabled || buff.seraphim.up ) & ( ! raid_event.adds.exists || raid_event.adds.up || raid_event.adds.in > 40 )", ["action"] = "final_reckoning", }, -- [28] }, }, }, }, }, ["Quillika - Deathwing"] = { ["runOnce"] = { ["resetAberrantPackageDates_20190728_1"] = true, ["forceReloadAllDefaultPriorities_20220228"] = true, ["resetPotionsToDefaults_20190717"] = true, ["autoconvertGlowsForCustomGlow_20190326"] = true, ["updateMaxRefreshToNewSpecOptions_20220222"] = true, ["autoconvertDelaySweepToExtend_20190729"] = true, ["resetGlobalCooldownSync_20210403"] = true, ["autoconvertDisplayToggle_20190621_1"] = true, ["resetRogueMfDOption_20200226"] = true, ["forceReloadClassDefaultOptions_20220306_254"] = true, ["resetAllPotions_20201209"] = true, ["enableAllOfTheThings_20180820"] = true, ["forceEnableEnhancedRecheckBoomkin_20210712"] = true, ["forceReloadClassDefaultOptions_20220306_253"] = true, ["forceEnableAllClassesOnceDueToBug_20220225"] = true, ["forceReloadClassDefaultOptions_20220306_255"] = true, }, ["specs"] = { [255] = { ["potionsReset"] = 20180919.1, ["maxRefresh"] = 10, ["settings"] = { ["use_harpoon"] = true, ["ca_vop_overlap"] = false, ["allow_focus_overcap"] = false, }, ["maxTime"] = 33, }, [254] = { ["potionsReset"] = 20180919.1, ["maxRefresh"] = 10, ["settings"] = { ["prevent_hardcasts"] = true, ["eagletalon_swap"] = false, ["trueshot_vop_overlap"] = false, }, ["maxTime"] = 33, }, [253] = { ["potionsReset"] = 20180919.1, ["maxRefresh"] = 10, ["settings"] = { ["avoid_bw_overlap"] = false, ["check_pet_range"] = true, ["barbed_shot_grace_period"] = 0.5, ["aspect_vop_overlap"] = false, }, ["maxTime"] = 33, }, [102] = { ["enhancedRecheck"] = true, }, }, ["displays"] = { ["Interrupts"] = { ["rel"] = "CENTER", ["x"] = -267.07861328125, ["y"] = -107.68505859375, }, ["Cooldowns"] = { ["rel"] = "CENTER", ["x"] = -319.9996337890625, ["y"] = -107.4996337890625, }, ["Primary"] = { ["rel"] = "CENTER", ["elvuiCooldown"] = true, ["x"] = -40.0003662109375, ["zoom"] = 25, ["y"] = -294.9996337890625, ["queue"] = { ["spacing"] = 0, }, }, ["AOE"] = { ["rel"] = "CENTER", ["zoom"] = 25, ["x"] = -39.16705322265625, ["y"] = -293.3329772949219, ["queue"] = { ["spacing"] = 0, }, }, ["Defensives"] = { ["rel"] = "CENTER", ["x"] = -373.0845642089844, ["y"] = -106.971435546875, }, }, ["packs"] = { ["Marksmanship"] = { ["source"] = "# https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220821, ["author"] = "SimC", ["desc"] = "Marksmanship Hunter\nAugust 20, 2022\n\nChanges:\n- Newfound Resolve is not a mechanic the addon can/will manage.\n- Resynced addon priority with SimC APL.\n- Let Kyrians desync their CDs sometimes.", ["lists"] = { ["trickshots"] = { { ["enabled"] = true, ["criteria"] = "talent.steady_focus.enabled & in_flight & buff.steady_focus.remains < 5", ["action"] = "steady_shot", }, -- [1] { ["enabled"] = true, ["criteria"] = "runeforge.pouch_of_razor_fragments.enabled & buff.flayers_mark.up", ["action"] = "kill_shot", }, -- [2] { ["enabled"] = true, ["criteria"] = "runeforge.pouch_of_razor_fragments.enabled", ["action"] = "flayed_shot", }, -- [3] { ["enabled"] = true, ["criteria"] = "( covenant.kyrian & cooldown.resonating_arrow.remains < gcd || ! covenant.kyrian & ! covenant.night_fae || covenant.night_fae & ( cooldown.wild_spirits.remains < gcd || cooldown.wild_spirits.remains > 30 ) || target.time_to_die < 10 || cooldown.resonating_arrow.remains > 10 & active_enemies > 3 ) & ( ! raid_event.adds.exists || raid_event.adds.remains > 9 || ! covenant.kyrian )", ["action"] = "double_tap", }, -- [4] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled & tar_trap.remains < gcd & cooldown.flare.remains < gcd", ["action"] = "tar_trap", }, -- [5] { ["enabled"] = true, ["criteria"] = "tar_trap.up & runeforge.soulforge_embers.enabled", ["action"] = "flare", ["line_cd"] = "25", }, -- [6] { ["action"] = "explosive_shot", ["enabled"] = true, }, -- [7] { ["action"] = "wild_spirits", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "cooldown.resonating_arrow.remains < gcd & ( ! talent.explosive_shot.enabled || buff.bloodlust.up ) || ! covenant.kyrian || cooldown.resonating_arrow.remains > 10 || boss & fight_remains < 5", ["action"] = "wailing_arrow", }, -- [9] { ["enabled"] = true, ["criteria"] = "( cooldown.volley.remains < gcd || ! talent.volley.enabled || target.time_to_die < 12 ) & ( ! raid_event.adds.exists || raid_event.adds.remains > 9 || active_enemies >= raid_event.adds.count * 2 )", ["action"] = "resonating_arrow", }, -- [10] { ["enabled"] = true, ["criteria"] = "buff.resonating_arrow.up || ! covenant.kyrian", ["action"] = "volley", }, -- [11] { ["action"] = "barrage", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "covenant.kyrian & ( buff.resonating_arrow.up || cooldown.resonating_arrow.remains > 10 ) || covenant.night_fae & buff.wild_spirits.up || covenant.venthyr || covenant.necrolord || boss & fight_remains < 25", ["action"] = "trueshot", }, -- [13] { ["enabled"] = true, ["criteria"] = "runeforge.surging_shots.enabled & ( cooldown.resonating_arrow.remains > 10 || ! covenant.kyrian || ! talent.double_tap.enabled ) & buff.trick_shots.remains >= execute_time", ["action"] = "rapid_fire", }, -- [14] { ["enabled"] = true, ["criteria"] = "( buff.trick_shots.remains >= execute_time || focused_trickery_count > 0 ) & ( buff.precise_shots.down || full_recharge_time < cast_time + gcd || buff.trueshot.up || set_bonus.tier28_4pc & runeforge.secrets_of_the_unblinking_vigil.enabled )", ["action"] = "aimed_shot", ["cycle_targets"] = 1, }, -- [15] { ["enabled"] = true, ["criteria"] = "focus + cast_regen < focus.max", ["action"] = "death_chakram", }, -- [16] { ["enabled"] = true, ["criteria"] = "( cooldown.resonating_arrow.remains > 10 & runeforge.surging_shots.enabled || ! covenant.kyrian || ! runeforge.surging_shots.enabled || ! talent.double_tap.enabled ) & buff.trick_shots.remains >= execute_time", ["action"] = "rapid_fire", }, -- [17] { ["enabled"] = true, ["criteria"] = "buff.trick_shots.down || buff.precise_shots.up & focus > cost + action.aimed_shot.cost & ( ! talent.chimaera_shot.enabled || active_enemies > 3 )", ["action"] = "multishot", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.precise_shots.up & focus > cost + action.aimed_shot.cost & active_enemies < 4", ["action"] = "chimaera_shot", }, -- [19] { ["enabled"] = true, ["criteria"] = "buff.dead_eye.down", ["action"] = "kill_shot", }, -- [20] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [21] { ["action"] = "flayed_shot", ["enabled"] = true, }, -- [22] { ["enabled"] = true, ["criteria"] = "refreshable", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [23] { ["enabled"] = true, ["criteria"] = "focus > cost + action.aimed_shot.cost & ( cooldown.resonating_arrow.remains > 5 || ! covenant.kyrian )", ["action"] = "multishot", }, -- [24] { ["enabled"] = true, ["criteria"] = "runeforge.nessingwarys_trapping_apparatus.enabled", ["action"] = "tar_trap", }, -- [25] { ["enabled"] = true, ["criteria"] = "runeforge.nessingwarys_trapping_apparatus.enabled", ["action"] = "freezing_trap", }, -- [26] { ["enabled"] = true, ["criteria"] = "buff.trueshot.down", ["action"] = "bag_of_tricks", }, -- [27] { ["enabled"] = true, ["criteria"] = "soulbind.pustule_eruption.enabled & buff.trueshot.down", ["action"] = "fleshcraft", }, -- [28] { ["action"] = "steady_shot", ["enabled"] = true, }, -- [29] }, ["default"] = { { ["action"] = "counter_shot", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "runeforge.sephuzs_proclamation.enabled || soulbind.niyas_tools_poison.enabled || ( conduit.reversal_of_fortune.enabled & ! runeforge.sephuzs_proclamation.enabled )", ["action"] = "counter_shot", ["line_cd"] = "30", }, -- [2] { ["enabled"] = true, ["action"] = "tranquilizing_shot", ["description"] = "Go ahead and Tranquilize NPC enemies, we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs.", ["criteria"] = "! target.is_player", }, -- [3] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "covenant.kyrian & cooldown.trueshot.remains & cooldown.resonating_arrow.remains || ! covenant.kyrian & cooldown.trueshot.remains", ["list_name"] = "trinkets", }, -- [4] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "other_on_use", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies < 3", ["list_name"] = "st", }, -- [7] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies > 2", ["list_name"] = "trickshots", }, -- [8] }, ["precombat"] = { { ["action"] = "bottled_flayedwing_toxin", ["enabled"] = true, }, -- [1] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled", ["action"] = "tar_trap", }, -- [3] { ["enabled"] = true, ["precast_time"] = "10", ["action"] = "double_tap", ["criteria"] = "active_enemies > 1 || ! covenant.kyrian & ! talent.volley.enabled", }, -- [4] { ["enabled"] = true, ["criteria"] = "active_enemies < 3 & ( ! covenant.kyrian & ! talent.volley.enabled || active_enemies < 2 )", ["action"] = "aimed_shot", }, -- [5] { ["enabled"] = true, ["criteria"] = "active_enemies > 2 || ( covenant.kyrian || talent.volley.enabled ) & active_enemies = 2", ["action"] = "steady_shot", }, -- [6] }, ["other_on_use"] = { { ["action"] = "use_items", ["enabled"] = true, }, -- [1] }, ["trinkets"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "buff.resonating_arrow.up || buff.trueshot.up", ["var_name"] = "sync_up", }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "covenant.kyrian & buff.resonating_arrow.up & buff.trueshot.up || ! covenant.kyrian & buff.trueshot.up", ["var_name"] = "strong_sync_up", }, -- [2] { ["enabled"] = true, ["op"] = "setif", ["action"] = "variable", ["var_name"] = "strong_sync_remains", ["value"] = "cooldown.resonating_arrow.remains ? cooldown.trueshot.remains_guess", ["value_else"] = "cooldown.trueshot.remains_guess", ["criteria"] = "covenant.kyrian", }, -- [5] { ["enabled"] = true, ["criteria"] = "( ( trinket.t1.has_use_buff || covenant.kyrian & trinket.t1.has_cooldown ) & ( variable.strong_sync_up & ( ! covenant.kyrian & ! trinket.t2.has_use_buff || covenant.kyrian & ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || trinket.t1.has_use_buff & ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) || trinket.t1.has_cooldown & ! trinket.t2.has_use_buff & trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) || ! variable.strong_sync_up & ( ! trinket.t2.has_use_buff & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 ) || trinket.t2.has_use_buff & ( trinket.t1.has_use_buff & trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 ) || ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) & ( trinket.t2.cooldown.ready & trinket.t2.cooldown.duration - 5 > variable.sync_remains & variable.sync_remains < trinket.t2.cooldown.duration / 2 || ! trinket.t2.cooldown.ready & ( trinket.t2.cooldown.remains - 5 < variable.strong_sync_remains & variable.strong_sync_remains > 20 & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || trinket.t2.cooldown.remains - 5 < variable.sync_remains & trinket.t2.cooldown.duration - 10 + variable.sync_remains < variable.strong_sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 || variable.sync_up ) || trinket.t2.cooldown.remains - 5 > variable.strong_sync_remains & ( trinket.t1.cooldown.duration - 5 < variable.strong_sync_remains || trinket.t1.cooldown.duration < fight_remains & variable.strong_sync_remains + trinket.t1.cooldown.duration > fight_remains || ! trinket.t1.has_use_buff & ( variable.sync_remains > trinket.t1.cooldown.duration / 2 || variable.sync_up ) ) ) ) ) ) || target.time_to_die < variable.sync_remains ) || ! trinket.t1.has_use_buff & ! covenant.kyrian & ( trinket.t2.has_use_buff & ( ( ! variable.sync_up || trinket.t2.cooldown.remains > 5 ) & ( variable.sync_remains > 20 || trinket.t2.cooldown.remains - 5 > variable.sync_remains ) ) || ! trinket.t2.has_use_buff & ( ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) ) ) & ( ! trinket.t1.is.cache_of_acquired_treasures || ! buff.acquired_wand.up )", ["action"] = "trinket1", }, -- [6] { ["enabled"] = true, ["criteria"] = "( ( trinket.t2.has_use_buff || covenant.kyrian & trinket.t2.has_cooldown ) & ( variable.strong_sync_up & ( ! covenant.kyrian & ! trinket.t1.has_use_buff || covenant.kyrian & ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || trinket.t2.has_use_buff & ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) || trinket.t2.has_cooldown & ! trinket.t1.has_use_buff & trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) || ! variable.strong_sync_up & ( ! trinket.t1.has_use_buff & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 ) || trinket.t1.has_use_buff & ( trinket.t2.has_use_buff & trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 ) || ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) & ( trinket.t1.cooldown.ready & trinket.t1.cooldown.duration - 5 > variable.sync_remains & variable.sync_remains < trinket.t1.cooldown.duration / 2 || ! trinket.t1.cooldown.ready & ( trinket.t1.cooldown.remains - 5 < variable.strong_sync_remains & variable.strong_sync_remains > 20 & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || trinket.t1.cooldown.remains - 5 < variable.sync_remains & trinket.t1.cooldown.duration - 10 + variable.sync_remains < variable.strong_sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 || variable.sync_up ) || trinket.t1.cooldown.remains - 5 > variable.strong_sync_remains & ( trinket.t2.cooldown.duration - 5 < variable.strong_sync_remains || trinket.t2.cooldown.duration < fight_remains & variable.strong_sync_remains + trinket.t2.cooldown.duration > fight_remains || ! trinket.t2.has_use_buff & ( variable.sync_remains > trinket.t2.cooldown.duration / 2 || variable.sync_up ) ) ) ) ) ) || target.time_to_die < variable.sync_remains ) || ! trinket.t2.has_use_buff & ! covenant.kyrian & ( trinket.t1.has_use_buff & ( ( ! variable.sync_up || trinket.t1.cooldown.remains > 5 ) & ( variable.sync_remains > 20 || trinket.t1.cooldown.remains - 5 > variable.sync_remains ) ) || ! trinket.t1.has_use_buff & ( ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) ) ) & ( ! trinket.t2.is.cache_of_acquired_treasures || ! buff.acquired_wand.up )", ["action"] = "trinket2", }, -- [7] { ["enabled"] = true, ["description"] = "This should use any other equippable stuff, since both trinket slots are already accounted for.", ["action"] = "use_items", }, -- [8] }, ["st"] = { { ["enabled"] = true, ["criteria"] = "talent.steady_focus.enabled & ( prev_gcd.1.steady_shot & buff.steady_focus.remains < 5 || buff.steady_focus.down ) & ( buff.resonating_arrow.down || ! covenant.kyrian )", ["action"] = "steady_shot", }, -- [1] { ["action"] = "kill_shot", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["criteria"] = "( covenant.kyrian & ( cooldown.resonating_arrow.remains < gcd ) || ! covenant.kyrian & ! covenant.night_fae || covenant.night_fae & ( cooldown.wild_spirits.remains < gcd || cooldown.wild_spirits.remains > 30 ) || boss & fight_remains < 15 ) & ( ! raid_event.adds.exists || raid_event.adds.up )", ["action"] = "double_tap", }, -- [3] { ["enabled"] = true, ["criteria"] = "tar_trap.up & runeforge.soulforge_embers.enabled", ["action"] = "flare", }, -- [4] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled & tar_trap.remains < gcd & cooldown.flare.remains < gcd", ["action"] = "tar_trap", }, -- [5] { ["action"] = "explosive_shot", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["criteria"] = "( cooldown.trueshot.remains < gcd || buff.trueshot.up ) & ( ! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 20 || raid_event.adds.in > 60 ) || raid_event.adds.up & raid_event.adds.remains > 19 || active_enemies > 1 ) || boss & fight_remains < 20", ["action"] = "wild_spirits", }, -- [7] { ["action"] = "flayed_shot", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "focus + cast_regen < focus.max", ["action"] = "death_chakram", }, -- [9] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [10] { ["enabled"] = true, ["criteria"] = "cooldown.resonating_arrow.remains < gcd & ( ! talent.explosive_shot.enabled || buff.bloodlust.up ) || ! covenant.kyrian || cooldown.resonating_arrow.remains || boss & fight_remains < 5", ["action"] = "wailing_arrow", }, -- [11] { ["enabled"] = true, ["criteria"] = "( buff.double_tap.up || ! talent.double_tap.enabled || boss & fight_remains < 12 ) & ( ! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 10 || raid_event.adds.in > 40 || raid_event.adds.count = 1 ) || raid_event.adds.up & raid_event.adds.remains > 9 || active_enemies > 1 )", ["action"] = "resonating_arrow", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.resonating_arrow.up || ! covenant.kyrian & ( buff.precise_shots.down || ! talent.chimaera_shot.enabled || active_enemies < 2 ) & ( ! talent.double_tap.enabled || ! set_bonus.tier28_2pc || set_bonus.tier28_4pc || buff.double_tap.up )", ["action"] = "volley", }, -- [13] { ["enabled"] = true, ["criteria"] = "covenant.kyrian & focus + cast_regen < focus.max & ( ( cooldown.resonating_arrow.remains < gcd * 3 & ( ! soulbind.effusive_anima_accelerator.enabled || ! talent.double_tap.enabled ) ) || talent.double_tap.enabled & cooldown.double_tap.remains < 3 )", ["action"] = "steady_shot", }, -- [14] { ["enabled"] = true, ["criteria"] = "( runeforge.surging_shots.enabled || set_bonus.tier28_2pc & buff.trick_shots.up & buff.volley.down ) & talent.streamline.enabled & ( cooldown.resonating_arrow.remains > 10 || ! covenant.kyrian || ! talent.double_tap.enabled || soulbind.effusive_anima_accelerator.enabled )", ["action"] = "rapid_fire", }, -- [15] { ["enabled"] = true, ["criteria"] = "set_bonus.tier28_4pc & buff.trick_shots.down & focused_trickery_count < 5 & buff.precise_shots.up", ["action"] = "chimaera_shot", }, -- [16] { ["enabled"] = true, ["criteria"] = "set_bonus.tier28_4pc & buff.trick_shots.down & focused_trickery_count < 5 & buff.precise_shots.up", ["action"] = "arcane_shot", }, -- [17] { ["enabled"] = true, ["criteria"] = "( ( covenant.venthyr & ( buff.precise_shots.down || set_bonus.tier28_4pc & runeforge.secrets_of_the_unblinking_vigil.enabled || talent.calling_the_shots.enabled ) || covenant.necrolord || covenant.kyrian & ( cooldown.resonating_arrow.remains > 30 || cooldown.resonating_arrow.remains < 10 ) || covenant.night_fae & ( cooldown.wild_spirits.remains > 30 || buff.wild_spirits.up ) ) || buff.volley.up & active_enemies > 1 ) & ( ! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 25 || raid_event.adds.in > 60 ) || raid_event.adds.up & raid_event.adds.remains > 10 || active_enemies > 1 ) || boss & fight_remains < 25", ["action"] = "trueshot", }, -- [18] { ["enabled"] = true, ["criteria"] = "buff.precise_shots.down || ( buff.trueshot.up || full_recharge_time < gcd + cast_time || set_bonus.tier28_4pc & runeforge.secrets_of_the_unblinking_vigil.enabled ) & ( ! talent.chimaera_shot.enabled || active_enemies < 2 ) || ( buff.trick_shots.remains > execute_time || focused_trickery_count > 0 ) & active_enemies > 1", ["action"] = "aimed_shot", ["cycle_targets"] = 1, }, -- [19] { ["enabled"] = true, ["criteria"] = "buff.steady_focus.remains < 5 & talent.steady_focus.enabled & buff.resonating_arrow.down", ["action"] = "steady_shot", }, -- [20] { ["enabled"] = true, ["criteria"] = "( cooldown.resonating_arrow.remains > 10 || ! covenant.kyrian || ! talent.double_tap.enabled || soulbind.effusive_anima_accelerator.enabled ) & focus + cast_regen < focus.max & ( buff.double_tap.down & buff.eagletalons_true_focus.down || talent.streamline.enabled )", ["action"] = "rapid_fire", }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.precise_shots.up || focus > cost + action.aimed_shot.cost", ["action"] = "chimaera_shot", }, -- [22] { ["enabled"] = true, ["criteria"] = "buff.precise_shots.up || focus > cost + action.aimed_shot.cost", ["action"] = "arcane_shot", }, -- [23] { ["enabled"] = true, ["criteria"] = "refreshable & target.time_to_die > duration", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [24] { ["enabled"] = true, ["criteria"] = "active_enemies > 1", ["action"] = "barrage", }, -- [25] { ["enabled"] = true, ["criteria"] = "( cooldown.resonating_arrow.remains > 10 & runeforge.surging_shots.enabled || ! covenant.kyrian || ! talent.double_tap.enabled || soulbind.effusive_anima_accelerator.enabled ) & focus + cast_regen < focus.max & ( buff.double_tap.down || talent.streamline.enabled )", ["action"] = "rapid_fire", }, -- [26] { ["enabled"] = true, ["criteria"] = "buff.trueshot.down", ["action"] = "bag_of_tricks", }, -- [27] { ["enabled"] = true, ["criteria"] = "soulbind.pustule_eruption.enabled & buff.trueshot.down", ["action"] = "fleshcraft", }, -- [28] { ["action"] = "steady_shot", ["enabled"] = true, }, -- [29] }, ["cds"] = { { ["enabled"] = true, ["criteria"] = "( buff.trueshot.up & buff.resonating_arrow.up & covenant.kyrian ) || ( buff.trueshot.up & buff.wild_spirits.up & covenant.night_fae ) || ( covenant.venthyr || covenant.necrolord ) & buff.trueshot.up || boss & fight_remains < 13 || ( covenant.kyrian & buff.resonating_arrow.up & fight_remains < 73 )", ["action"] = "berserking", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.trueshot.up || cooldown.trueshot.remains > 30 || boss & fight_remains < 16", ["action"] = "blood_fury", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.trueshot.up || cooldown.trueshot.remains > 30 || boss & fight_remains < 16", ["action"] = "ancestral_call", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.trueshot.up || cooldown.trueshot.remains > 30 || boss & fight_remains < 9", ["action"] = "fireblood", }, -- [4] { ["enabled"] = true, ["criteria"] = "buff.trueshot.down", ["action"] = "lights_judgment", }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.trueshot.up & ( buff.bloodlust.up || target.health.pct < 20 ) || boss & fight_remains < 26 || ( covenant.kyrian & buff.resonating_arrow.up & fight_remains < 72 )", ["action"] = "potion", }, -- [6] }, }, ["version"] = 20220821, ["warnings"] = "WARNING: The import for 'trickshots' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 5: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 6: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 14: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 14: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 15: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 17: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 17: Converted 'runeforge.X' to 'runeforge.X.enabled' (2x).\nLine 18: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 25: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 26: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 28: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\n\nWARNING: The import for 'default' required some automated changes.\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 2: Converted 'conduit.X' to 'conduit.X.enabled' (1x).\nLine 2: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\n\nWARNING: The import for 'precombat' required some automated changes.\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 5: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 6: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'trinkets' required some automated changes.\nLine 6: Converted SimC syntax % to Lua division operator (/) (5x).\nLine 6: Converted 'trinket.1.X' to 'trinket.t1.X' (24x).\nLine 6: Converted 'trinket.2.X' to 'trinket.t2.X' (26x).\nLine 7: Converted SimC syntax % to Lua division operator (/) (5x).\nLine 7: Converted 'trinket.1.X' to 'trinket.t1.X' (26x).\nLine 7: Converted 'trinket.2.X' to 'trinket.t2.X' (24x).\n\nWARNING: The import for 'st' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 5: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 11: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 12: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 13: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 14: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 14: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 15: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 15: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 15: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 18: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 18: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 19: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 19: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 20: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 21: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 21: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 26: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 26: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 26: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\nLine 28: Converted 'soulbind.X' to 'soulbind.X.enabled' (1x).\n\nImported 7 action lists.\n", ["spec"] = 254, ["profile"] = "## Marksmanship Hunter\n## August 20, 2022\n\n## Changes:\n## - Newfound Resolve is not a mechanic the addon can/will manage.\n## - Resynced addon priority with SimC APL.\n## - Let Kyrians desync their CDs sometimes.\n\nactions.precombat+=/bottled_flayedwing_toxin\nactions.precombat+=/fleshcraft\nactions.precombat+=/tar_trap,if=runeforge.soulforge_embers\nactions.precombat+=/double_tap,precast_time=10,if=active_enemies>1||!covenant.kyrian&!talent.volley\nactions.precombat+=/aimed_shot,if=active_enemies<3&(!covenant.kyrian&!talent.volley||active_enemies<2)\nactions.precombat+=/steady_shot,if=active_enemies>2||(covenant.kyrian||talent.volley)&active_enemies=2\n\nactions+=/counter_shot\nactions+=/counter_shot,line_cd=30,if=runeforge.sephuzs_proclamation||soulbind.niyas_tools_poison||(conduit.reversal_of_fortune&!runeforge.sephuzs_proclamation)\n# Go ahead and Tranquilize NPC enemies; we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs.\nactions+=/tranquilizing_shot,if=!target.is_player\nactions+=/call_action_list,name=trinkets,if=covenant.kyrian&cooldown.trueshot.remains&cooldown.resonating_arrow.remains||!covenant.kyrian&cooldown.trueshot.remains\nactions+=/call_action_list,name=other_on_use\n## Delay facing your doubt until you have put Resonating Arrow down, or if the cooldown is too long to delay facing your Doubt. If none of these conditions are able to met within the 10 seconds leeway, the sim faces your Doubt automatically.\n## actions+=/newfound_resolve,if=soulbind.newfound_resolve&(buff.resonating_arrow.up||cooldown.resonating_arrow.remains>10||fight_remains<16)\nactions+=/call_action_list,name=cds\nactions+=/call_action_list,name=st,strict=1,if=active_enemies<3\nactions+=/call_action_list,name=trickshots,strict=1,if=active_enemies>2\n\nactions.cds=berserking,if=(buff.trueshot.up&buff.resonating_arrow.up&covenant.kyrian)||(buff.trueshot.up&buff.wild_spirits.up&covenant.night_fae)||(covenant.venthyr||covenant.necrolord)&buff.trueshot.up||boss&fight_remains<13||(covenant.kyrian&buff.resonating_arrow.up&fight_remains<73)\nactions.cds+=/blood_fury,if=buff.trueshot.up||cooldown.trueshot.remains>30||boss&fight_remains<16\nactions.cds+=/ancestral_call,if=buff.trueshot.up||cooldown.trueshot.remains>30||boss&fight_remains<16\nactions.cds+=/fireblood,if=buff.trueshot.up||cooldown.trueshot.remains>30||boss&fight_remains<9\nactions.cds+=/lights_judgment,if=buff.trueshot.down\nactions.cds+=/potion,if=buff.trueshot.up&(buff.bloodlust.up||target.health.pct<20)||boss&fight_remains<26||(covenant.kyrian&buff.resonating_arrow.up&fight_remains<72)\n\nactions.other_on_use=use_items\n\nactions.st=steady_shot,if=talent.steady_focus&(prev_gcd.1.steady_shot&buff.steady_focus.remains<5||buff.steady_focus.down)&(buff.resonating_arrow.down||!covenant.kyrian)\nactions.st+=/kill_shot\nactions.st+=/double_tap,if=(covenant.kyrian&(cooldown.resonating_arrow.remains30)||boss&fight_remains<15)&(!raid_event.adds.exists||raid_event.adds.up)\nactions.st+=/flare,if=tar_trap.up&runeforge.soulforge_embers\nactions.st+=/tar_trap,if=runeforge.soulforge_embers&tar_trap.remains60)||raid_event.adds.up&raid_event.adds.remains>19||active_enemies>1)||boss&fight_remains<20\nactions.st+=/flayed_shot\nactions.st+=/death_chakram,if=focus+cast_regen40||raid_event.adds.count=1)||raid_event.adds.up&raid_event.adds.remains>9||active_enemies>1)\nactions.st+=/volley,if=buff.resonating_arrow.up||!covenant.kyrian&(buff.precise_shots.down||!talent.chimaera_shot||active_enemies<2)&(!talent.double_tap||!set_bonus.tier28_2pc||set_bonus.tier28_4pc||buff.double_tap.up)\nactions.st+=/steady_shot,if=covenant.kyrian&focus+cast_regen10||!covenant.kyrian||!talent.double_tap||soulbind.effusive_anima_accelerator)\nactions.st+=/chimaera_shot,if=set_bonus.tier28_4pc&buff.trick_shots.down&focused_trickery_count<5&buff.precise_shots.up\nactions.st+=/arcane_shot,if=set_bonus.tier28_4pc&buff.trick_shots.down&focused_trickery_count<5&buff.precise_shots.up\nactions.st+=/trueshot,if=((covenant.venthyr&(buff.precise_shots.down||set_bonus.tier28_4pc&runeforge.secrets_of_the_unblinking_vigil||talent.calling_the_shots)||covenant.necrolord||covenant.kyrian&(cooldown.resonating_arrow.remains>30||cooldown.resonating_arrow.remains<10)||covenant.night_fae&(cooldown.wild_spirits.remains>30||buff.wild_spirits.up))||buff.volley.up&active_enemies>1)&(!raid_event.adds.exists||!raid_event.adds.up&(raid_event.adds.duration+raid_event.adds.in<25||raid_event.adds.in>60)||raid_event.adds.up&raid_event.adds.remains>10||active_enemies>1)||boss&fight_remains<25\nactions.st+=/aimed_shot,cycle_targets=1,if=buff.precise_shots.down||(buff.trueshot.up||full_recharge_timeexecute_time||focused_trickery_count>0)&active_enemies>1\nactions.st+=/steady_shot,if=buff.steady_focus.remains<5&talent.steady_focus&buff.resonating_arrow.down\nactions.st+=/rapid_fire,if=(cooldown.resonating_arrow.remains>10||!covenant.kyrian||!talent.double_tap||soulbind.effusive_anima_accelerator)&focus+cast_regencost+action.aimed_shot.cost\nactions.st+=/arcane_shot,if=buff.precise_shots.up||focus>cost+action.aimed_shot.cost\nactions.st+=/serpent_sting,cycle_targets=1,if=refreshable&target.time_to_die>duration\nactions.st+=/barrage,if=active_enemies>1\nactions.st+=/rapid_fire,if=(cooldown.resonating_arrow.remains>10&runeforge.surging_shots||!covenant.kyrian||!talent.double_tap||soulbind.effusive_anima_accelerator)&focus+cast_regen30)||target.time_to_die<10||cooldown.resonating_arrow.remains>10&active_enemies>3)&(!raid_event.adds.exists||raid_event.adds.remains>9||!covenant.kyrian)\nactions.trickshots+=/tar_trap,if=runeforge.soulforge_embers&tar_trap.remains10||boss&fight_remains<5\nactions.trickshots+=/resonating_arrow,if=(cooldown.volley.remains9||active_enemies>=raid_event.adds.count*2)\nactions.trickshots+=/volley,if=buff.resonating_arrow.up||!covenant.kyrian\nactions.trickshots+=/barrage\nactions.trickshots+=/trueshot,if=covenant.kyrian&(buff.resonating_arrow.up||cooldown.resonating_arrow.remains>10)||covenant.night_fae&buff.wild_spirits.up||covenant.venthyr||covenant.necrolord||boss&fight_remains<25\nactions.trickshots+=/rapid_fire,if=runeforge.surging_shots&(cooldown.resonating_arrow.remains>10||!covenant.kyrian||!talent.double_tap)&buff.trick_shots.remains>=execute_time\nactions.trickshots+=/aimed_shot,cycle_targets=1,if=(buff.trick_shots.remains>=execute_time||focused_trickery_count>0)&(buff.precise_shots.down||full_recharge_time10&runeforge.surging_shots||!covenant.kyrian||!runeforge.surging_shots||!talent.double_tap)&buff.trick_shots.remains>=execute_time\nactions.trickshots+=/multishot,if=buff.trick_shots.down||buff.precise_shots.up&focus>cost+action.aimed_shot.cost&(!talent.chimaera_shot||active_enemies>3)\nactions.trickshots+=/chimaera_shot,if=buff.precise_shots.up&focus>cost+action.aimed_shot.cost&active_enemies<4\nactions.trickshots+=/kill_shot,if=buff.dead_eye.down\nactions.trickshots+=/a_murder_of_crows\nactions.trickshots+=/flayed_shot\nactions.trickshots+=/serpent_sting,cycle_targets=1,if=refreshable\nactions.trickshots+=/multishot,if=focus>cost+action.aimed_shot.cost&(cooldown.resonating_arrow.remains>5||!covenant.kyrian)\nactions.trickshots+=/tar_trap,if=runeforge.nessingwarys_trapping_apparatus\nactions.trickshots+=/freezing_trap,if=runeforge.nessingwarys_trapping_apparatus\nactions.trickshots+=/bag_of_tricks,if=buff.trueshot.down\nactions.trickshots+=/fleshcraft,if=soulbind.pustule_eruption&buff.trueshot.down\nactions.trickshots+=/steady_shot\n\nactions.trinkets=variable,name=sync_up,value=buff.resonating_arrow.up||buff.trueshot.up\nactions.trinkets+=/variable,name=strong_sync_up,value=covenant.kyrian&buff.resonating_arrow.up&buff.trueshot.up||!covenant.kyrian&buff.trueshot.up\nactions.trinkets+=/variable,name=strong_sync_remains,op=setif,condition=covenant.kyrian,value=cooldown.resonating_arrow.remains?cooldown.trueshot.remains_guess,value_else=cooldown.trueshot.remains_guess\nactions.trinkets+=/trinket1,if=((trinket.1.has_use_buff||covenant.kyrian&trinket.1.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.2.has_use_buff||covenant.kyrian&!trinket.2.has_cooldown||trinket.2.cooldown.remains||trinket.1.has_use_buff&(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)||trinket.1.has_cooldown&!trinket.2.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration)||!variable.strong_sync_up&(!trinket.2.has_use_buff&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)||trinket.2.has_use_buff&(trinket.1.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)||(!trinket.1.has_use_buff||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)&(trinket.2.cooldown.ready&trinket.2.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2||variable.sync_up)||trinket.2.cooldown.remains-5>variable.strong_sync_remains&(trinket.1.cooldown.duration-5fight_remains||!trinket.1.has_use_buff&(variable.sync_remains>trinket.1.cooldown.duration%2||variable.sync_up))))))||target.time_to_die5)&(variable.sync_remains>20||trinket.2.cooldown.remains-5>variable.sync_remains))||!trinket.2.has_use_buff&(!trinket.2.has_cooldown||trinket.2.cooldown.remains||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)))&(!trinket.1.is.cache_of_acquired_treasures||!buff.acquired_wand.up)\nactions.trinkets+=/trinket2,if=((trinket.2.has_use_buff||covenant.kyrian&trinket.2.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.1.has_use_buff||covenant.kyrian&!trinket.1.has_cooldown||trinket.1.cooldown.remains||trinket.2.has_use_buff&(!trinket.1.has_use_buff||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)||trinket.2.has_cooldown&!trinket.1.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration)||!variable.strong_sync_up&(!trinket.1.has_use_buff&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)||trinket.1.has_use_buff&(trinket.2.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)||(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)&(trinket.1.cooldown.ready&trinket.1.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2||variable.sync_up)||trinket.1.cooldown.remains-5>variable.strong_sync_remains&(trinket.2.cooldown.duration-5fight_remains||!trinket.2.has_use_buff&(variable.sync_remains>trinket.2.cooldown.duration%2||variable.sync_up))))))||target.time_to_die5)&(variable.sync_remains>20||trinket.1.cooldown.remains-5>variable.sync_remains))||!trinket.1.has_use_buff&(!trinket.1.has_cooldown||trinket.1.cooldown.remains||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)))&(!trinket.2.is.cache_of_acquired_treasures||!buff.acquired_wand.up)\n# This should use any other equippable stuff, since both trinket slots are already accounted for.\nactions.trinkets+=/use_items", }, ["Beast Mastery"] = { ["source"] = "# https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220821, ["author"] = "SimC", ["desc"] = "Beast Mastery Hunter\nAugust 20, 2022\n\nChanges:\n- Re-enable Barbed Shot Grace Period.\n- Wailing Shot updates.", ["lists"] = { ["other_on_use"] = { { ["enabled"] = true, ["criteria"] = "buff.bestial_wrath.up", ["action"] = "use_items", }, -- [1] }, ["default"] = { { ["action"] = "counter_shot", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["action"] = "tranquilizing_shot", ["description"] = "Go ahead and Tranquilize NPC enemies, we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs.", ["criteria"] = "! target.is_player", }, -- [2] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "covenant.kyrian & cooldown.aspect_of_the_wild.remains & cooldown.resonating_arrow.remains || ! covenant.kyrian & cooldown.aspect_of_the_wild.remains", ["list_name"] = "trinkets", }, -- [3] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "other_on_use", }, -- [4] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies < 2", ["list_name"] = "st", }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies > 1", ["list_name"] = "cleave", }, -- [7] }, ["precombat"] = { { ["action"] = "summon_pet", ["enabled"] = true, }, -- [1] { ["action"] = "bottled_flayedwing_toxin", ["enabled"] = true, }, -- [2] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["precast_time"] = "1.5", ["action"] = "tar_trap", ["criteria"] = "runeforge.soulforge_embers.enabled || runeforge.nessingwarys_trapping_apparatus.enabled", }, -- [4] { ["enabled"] = true, ["precast_time"] = "1.5", ["action"] = "bestial_wrath", ["criteria"] = "! talent.scent_of_blood.enabled & ! runeforge.soulforge_embers.enabled", }, -- [5] }, ["trinkets"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "buff.resonating_arrow.up || buff.aspect_of_the_wild.up", ["var_name"] = "sync_up", }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "covenant.kyrian & buff.resonating_arrow.up & buff.aspect_of_the_wild.up || ! covenant.kyrian & buff.aspect_of_the_wild.up", ["var_name"] = "strong_sync_up", }, -- [2] { ["enabled"] = true, ["op"] = "setif", ["action"] = "variable", ["var_name"] = "strong_sync_remains", ["value"] = "cooldown.resonating_arrow.remains ? cooldown.aspect_of_the_wild.remains_guess", ["value_else"] = "cooldown.aspect_of_the_wild.remains_guess", ["criteria"] = "covenant.kyrian", }, -- [5] { ["enabled"] = true, ["criteria"] = "( ( trinket.t1.has_use_buff || covenant.kyrian & trinket.t1.has_cooldown ) & ( variable.strong_sync_up & ( ! covenant.kyrian & ! trinket.t2.has_use_buff || covenant.kyrian & ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || trinket.t1.has_use_buff & ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) || trinket.t1.has_cooldown & ! trinket.t2.has_use_buff & trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) || ! variable.strong_sync_up & ( ! trinket.t2.has_use_buff & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 ) || trinket.t2.has_use_buff & ( trinket.t1.has_use_buff & trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 ) || ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) & ( trinket.t2.cooldown.ready & trinket.t2.cooldown.duration - 5 > variable.sync_remains & variable.sync_remains < trinket.t2.cooldown.duration / 2 || ! trinket.t2.cooldown.ready & ( trinket.t2.cooldown.remains - 5 < variable.strong_sync_remains & variable.strong_sync_remains > 20 & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || trinket.t2.cooldown.remains - 5 < variable.sync_remains & trinket.t2.cooldown.duration - 10 + variable.sync_remains < variable.strong_sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 || variable.sync_up ) || trinket.t2.cooldown.remains - 5 > variable.strong_sync_remains & ( trinket.t1.cooldown.duration - 5 < variable.strong_sync_remains || trinket.t1.cooldown.duration < fight_remains & variable.strong_sync_remains + trinket.t1.cooldown.duration > fight_remains || ! trinket.t1.has_use_buff & ( variable.sync_remains > trinket.t1.cooldown.duration / 2 || variable.sync_up ) ) ) ) ) ) || target.time_to_die < variable.sync_remains ) || ! trinket.t1.has_use_buff & ! covenant.kyrian & ( trinket.t2.has_use_buff & ( ( ! variable.sync_up || trinket.t2.cooldown.remains > 5 ) & ( variable.sync_remains > 20 || trinket.t2.cooldown.remains - 5 > variable.sync_remains ) ) || ! trinket.t2.has_use_buff & ( ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) ) ) & ( ! trinket.t1.is.cache_of_acquired_treasures || active_enemies < 2 & buff.acquired_wand.up || active_enemies > 1 & ! buff.acquired_wand.up )", ["action"] = "trinket1", }, -- [6] { ["enabled"] = true, ["criteria"] = "( ( trinket.t2.has_use_buff || covenant.kyrian & trinket.t2.has_cooldown ) & ( variable.strong_sync_up & ( ! covenant.kyrian & ! trinket.t1.has_use_buff || covenant.kyrian & ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || trinket.t2.has_use_buff & ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) || trinket.t2.has_cooldown & ! trinket.t1.has_use_buff & trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) || ! variable.strong_sync_up & ( ! trinket.t1.has_use_buff & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 ) || trinket.t1.has_use_buff & ( trinket.t2.has_use_buff & trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 ) || ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) & ( trinket.t1.cooldown.ready & trinket.t1.cooldown.duration - 5 > variable.sync_remains & variable.sync_remains < trinket.t1.cooldown.duration / 2 || ! trinket.t1.cooldown.ready & ( trinket.t1.cooldown.remains - 5 < variable.strong_sync_remains & variable.strong_sync_remains > 20 & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || trinket.t1.cooldown.remains - 5 < variable.sync_remains & trinket.t1.cooldown.duration - 10 + variable.sync_remains < variable.strong_sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 || variable.sync_up ) || trinket.t1.cooldown.remains - 5 > variable.strong_sync_remains & ( trinket.t2.cooldown.duration - 5 < variable.strong_sync_remains || trinket.t2.cooldown.duration < fight_remains & variable.strong_sync_remains + trinket.t2.cooldown.duration > fight_remains || ! trinket.t2.has_use_buff & ( variable.sync_remains > trinket.t2.cooldown.duration / 2 || variable.sync_up ) ) ) ) ) ) || target.time_to_die < variable.sync_remains ) || ! trinket.t2.has_use_buff & ! covenant.kyrian & ( trinket.t1.has_use_buff & ( ( ! variable.sync_up || trinket.t1.cooldown.remains > 5 ) & ( variable.sync_remains > 20 || trinket.t1.cooldown.remains - 5 > variable.sync_remains ) ) || ! trinket.t1.has_use_buff & ( ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) ) ) & ( ! trinket.t2.is.cache_of_acquired_treasures || active_enemies < 2 & buff.acquired_wand.up || active_enemies > 1 & ! buff.acquired_wand.up )", ["action"] = "trinket2", }, -- [7] { ["enabled"] = true, ["description"] = "This should use any other equippable stuff, since both trinket slots are already accounted for.", ["action"] = "use_items", }, -- [8] }, ["cds"] = { { ["enabled"] = true, ["criteria"] = "cooldown.bestial_wrath.remains > 30", ["action"] = "ancestral_call", }, -- [1] { ["enabled"] = true, ["criteria"] = "cooldown.bestial_wrath.remains > 30", ["action"] = "fireblood", }, -- [2] { ["enabled"] = true, ["criteria"] = "( buff.wild_spirits.up || ! covenant.night_fae & buff.aspect_of_the_wild.up & buff.bestial_wrath.up ) & ( fight_remains > cooldown.berserking.duration + duration || ( target.health.pct < 35 || ! talent.killer_instinct.enabled ) ) || boss & fight_remains < 13", ["action"] = "berserking", }, -- [3] { ["enabled"] = true, ["criteria"] = "( buff.wild_spirits.up || ! covenant.night_fae & buff.aspect_of_the_wild.up & buff.bestial_wrath.up ) & ( fight_remains > cooldown.blood_fury.duration + duration || ( target.health.pct < 35 || ! talent.killer_instinct.enabled ) ) || boss & fight_remains < 16", ["action"] = "blood_fury", }, -- [4] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "buff.aspect_of_the_wild.up || boss & fight_remains < 26", ["action"] = "potion", }, -- [6] }, ["st"] = { { ["enabled"] = true, ["criteria"] = "( ! covenant.night_fae || cooldown.wild_spirits.remains > 20 ) & ( ! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 20 || ( raid_event.adds.count = 1 & covenant.kyrian ) ) || raid_event.adds.up & raid_event.adds.remains > 19 )", ["action"] = "aspect_of_the_wild", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.frenzy.up & buff.frenzy.remains <= gcd + barbed_shot_grace_period || buff.wild_spirits.up & charges_fractional > 1.4 & runeforge.fragments_of_the_elder_antlers.enabled", ["action"] = "barbed_shot", }, -- [2] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled & tar_trap.remains < gcd & cooldown.flare.remains < gcd", ["action"] = "tar_trap", }, -- [3] { ["enabled"] = true, ["criteria"] = "tar_trap.up & runeforge.soulforge_embers.enabled", ["action"] = "flare", ["line_cd"] = "25", }, -- [4] { ["action"] = "bloodshed", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || ! raid_event.adds.up & raid_event.adds.duration + raid_event.adds.in < 20 || raid_event.adds.up & raid_event.adds.remains > 19", ["action"] = "wild_spirits", }, -- [6] { ["action"] = "flayed_shot", ["enabled"] = true, }, -- [7] { ["action"] = "kill_shot", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.frenzy.remains > execute_time & ( cooldown.resonating_arrow.remains < gcd & ( ! talent.explosive_shot.enabled || buff.bloodlust.up ) || ! covenant.kyrian ) || target.time_to_die < 5", ["action"] = "wailing_arrow", }, -- [9] { ["enabled"] = true, ["criteria"] = "cooldown.bestial_wrath.remains < 12 * charges_fractional + gcd & talent.scent_of_blood.enabled || full_recharge_time < gcd & cooldown.bestial_wrath.remains || target.time_to_die < 9", ["action"] = "barbed_shot", }, -- [10] { ["enabled"] = true, ["criteria"] = "focus + cast_regen < focus.max", ["action"] = "death_chakram", }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.aspect_of_the_wild.up || target.time_to_die < 15", ["action"] = "stampede", }, -- [12] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [13] { ["enabled"] = true, ["criteria"] = "( buff.bestial_wrath.up || target.time_to_die < 10 ) & ( ! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 20 || raid_event.adds.count = 1 ) || raid_event.adds.up & raid_event.adds.remains > 19 )", ["action"] = "resonating_arrow", }, -- [14] { ["enabled"] = true, ["criteria"] = "( cooldown.wild_spirits.remains > 15 || covenant.kyrian & ( cooldown.resonating_arrow.remains < 5 || cooldown.resonating_arrow.remains > 20 ) || target.time_to_die < 15 || ( ! covenant.night_fae & ! covenant.kyrian ) ) & ( ! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 20 || raid_event.adds.count = 1 ) || raid_event.adds.up & raid_event.adds.remains > 19 )", ["action"] = "bestial_wrath", }, -- [15] { ["action"] = "chimaera_shot", ["enabled"] = true, }, -- [16] { ["action"] = "kill_command", ["enabled"] = true, }, -- [17] { ["enabled"] = true, ["criteria"] = "buff.bestial_wrath.down || boss & fight_remains < 5", ["action"] = "bag_of_tricks", }, -- [18] { ["action"] = "dire_beast", ["enabled"] = true, }, -- [19] { ["enabled"] = true, ["criteria"] = "( focus - cost + focus.regen * ( cooldown.kill_command.remains - 1 ) > action.kill_command.cost || cooldown.kill_command.remains > 1 + gcd ) || ( buff.bestial_wrath.up || buff.nessingwarys_trapping_apparatus.up ) & ! runeforge.qapla_eredun_war_order.enabled || boss & fight_remains < 3", ["action"] = "cobra_shot", }, -- [20] { ["enabled"] = true, ["criteria"] = "buff.wild_spirits.up || charges_fractional > 1.2 & conduit.bloodletting.enabled", ["action"] = "barbed_shot", }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.bestial_wrath.down || boss & fight_remains < 5", ["action"] = "arcane_pulse", }, -- [22] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled || runeforge.nessingwarys_trapping_apparatus.enabled", ["action"] = "tar_trap", }, -- [23] { ["enabled"] = true, ["criteria"] = "runeforge.nessingwarys_trapping_apparatus.enabled", ["action"] = "freezing_trap", }, -- [24] { ["enabled"] = true, ["criteria"] = "( focus + focus.regen + 15 ) < focus.max", ["action"] = "arcane_torrent", }, -- [25] }, ["cleave"] = { { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 10 || active_enemies >= raid_event.adds.count * 2", ["action"] = "aspect_of_the_wild", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.frenzy.up & buff.frenzy.remains <= gcd + barbed_shot_grace_period || buff.wild_spirits.up & charges_fractional > 1.4 & runeforge.fragments_of_the_elder_antlers.enabled", ["action"] = "barbed_shot", ["cycle_targets"] = 1, }, -- [2] { ["enabled"] = true, ["criteria"] = "gcd - buff.beast_cleave.remains > 0.25 || buff.killing_frenzy.up & buff.beast_cleave.remains < 2", ["action"] = "multishot", }, -- [3] { ["enabled"] = true, ["criteria"] = "runeforge.pouch_of_razor_fragments.enabled & buff.flayers_mark.up", ["action"] = "kill_shot", }, -- [4] { ["enabled"] = true, ["criteria"] = "runeforge.pouch_of_razor_fragments.enabled", ["action"] = "flayed_shot", }, -- [5] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled & tar_trap.remains < gcd & cooldown.flare.remains < gcd", ["action"] = "tar_trap", }, -- [6] { ["enabled"] = true, ["criteria"] = "tar_trap.up & runeforge.soulforge_embers.enabled", ["action"] = "flare", }, -- [7] { ["enabled"] = true, ["criteria"] = "focus + cast_regen < focus.max", ["action"] = "death_chakram", }, -- [8] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 10 || active_enemies >= raid_event.adds.count * 2", ["action"] = "wild_spirits", }, -- [9] { ["enabled"] = true, ["criteria"] = "full_recharge_time < gcd & cooldown.bestial_wrath.remains || cooldown.bestial_wrath.remains < 12 + gcd & talent.scent_of_blood.enabled", ["action"] = "barbed_shot", ["cycle_targets"] = 1, }, -- [10] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 5 || active_enemies >= raid_event.adds.count * 2", ["action"] = "bestial_wrath", }, -- [11] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 5 || active_enemies >= raid_event.adds.count * 2", ["action"] = "resonating_arrow", }, -- [12] { ["enabled"] = true, ["criteria"] = "buff.aspect_of_the_wild.up || boss & fight_remains < 15", ["action"] = "stampede", }, -- [13] { ["enabled"] = true, ["criteria"] = "buff.frenzy.remains > execute_time", ["action"] = "wailing_arrow", }, -- [14] { ["action"] = "flayed_shot", ["enabled"] = true, }, -- [15] { ["action"] = "kill_shot", ["enabled"] = true, }, -- [16] { ["action"] = "chimaera_shot", ["enabled"] = true, }, -- [17] { ["action"] = "bloodshed", ["enabled"] = true, }, -- [18] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [19] { ["enabled"] = true, ["criteria"] = "buff.frenzy.remains > execute_time", ["action"] = "barrage", }, -- [20] { ["enabled"] = true, ["criteria"] = "focus > cost + action.multishot.cost", ["action"] = "kill_command", }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.bestial_wrath.down || boss & fight_remains < 5", ["action"] = "bag_of_tricks", }, -- [22] { ["action"] = "dire_beast", ["enabled"] = true, }, -- [23] { ["enabled"] = true, ["criteria"] = "target.time_to_die < 9 || charges_fractional > 1.2 & conduit.bloodletting.enabled", ["action"] = "barbed_shot", ["cycle_targets"] = 1, }, -- [24] { ["enabled"] = true, ["criteria"] = "focus.time_to_max < gcd * 2", ["action"] = "cobra_shot", }, -- [25] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.enabled || runeforge.nessingwarys_trapping_apparatus.enabled", ["action"] = "tar_trap", }, -- [26] { ["enabled"] = true, ["criteria"] = "runeforge.nessingwarys_trapping_apparatus.enabled", ["action"] = "freezing_trap", }, -- [27] { ["enabled"] = true, ["criteria"] = "( focus + focus.regen + 30 ) < focus.max", ["action"] = "arcane_torrent", }, -- [28] }, }, ["version"] = 20220821, ["warnings"] = "WARNING: The import for 'trinkets' required some automated changes.\nLine 6: Converted SimC syntax % to Lua division operator (/) (5x).\nLine 6: Converted 'trinket.1.X' to 'trinket.t1.X' (24x).\nLine 6: Converted 'trinket.2.X' to 'trinket.t2.X' (26x).\nLine 7: Converted SimC syntax % to Lua division operator (/) (5x).\nLine 7: Converted 'trinket.1.X' to 'trinket.t1.X' (26x).\nLine 7: Converted 'trinket.2.X' to 'trinket.t2.X' (24x).\n\nWARNING: The import for 'precombat' required some automated changes.\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 5: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 5: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nWARNING: The import for 'cds' required some automated changes.\nLine 3: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 4: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'st' required some automated changes.\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 2: Converted 'pet.X.Y...' to 'Y...' (2x).\nLine 3: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 9: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 9: Converted 'pet.X.Y...' to 'Y...' (1x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' (1x).\nLine 20: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 21: Converted 'conduit.X' to 'conduit.X.enabled' at EOL (1x).\nLine 23: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 23: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 24: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nWARNING: The import for 'cleave' required some automated changes.\nLine 2: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 2: Converted 'pet.X.Y...' to 'Y...' (2x).\nLine 3: Converted 'pet.X.Y...' to 'Y...' (2x).\nLine 4: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 5: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 6: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 7: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 10: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\nLine 14: Converted 'pet.X.Y...' to 'Y...' (1x).\nLine 20: Converted 'pet.X.Y...' to 'Y...' (1x).\nLine 24: Converted 'conduit.X' to 'conduit.X.enabled' at EOL (1x).\nLine 26: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\nLine 26: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 27: Converted 'runeforge.X' to 'runeforge.X.enabled' at EOL (1x).\n\nImported 7 action lists.\n", ["spec"] = 253, ["profile"] = "## Beast Mastery Hunter\n## August 20, 2022\n\n## Changes:\n## - Re-enable Barbed Shot Grace Period.\n## - Wailing Shot updates.\n\nactions.precombat=summon_pet\nactions.precombat+=/bottled_flayedwing_toxin\nactions.precombat+=/fleshcraft\nactions.precombat+=/tar_trap,precast_time=1.5,if=runeforge.soulforge_embers||runeforge.nessingwarys_trapping_apparatus\nactions.precombat+=/bestial_wrath,precast_time=1.5,if=!talent.scent_of_blood&!runeforge.soulforge_embers\n\nactions+=/counter_shot\n# Go ahead and Tranquilize NPC enemies; we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs.\nactions+=/tranquilizing_shot,if=!target.is_player\n## Delay facing your doubt until you have put Resonating Arrow down, or if the cooldown is too long to delay facing your Doubt. If none of these conditions are able to met within the 10 seconds leeway, the sim faces your Doubt automatically.\n## actions+=/newfound_resolve,if=soulbind.newfound_resolve&(buff.resonating_arrow.up||cooldown.resonating_arrow.remains>10||target.time_to_die<16)\nactions+=/call_action_list,name=trinkets,strict=1,if=covenant.kyrian&cooldown.aspect_of_the_wild.remains&cooldown.resonating_arrow.remains||!covenant.kyrian&cooldown.aspect_of_the_wild.remains\nactions+=/call_action_list,name=other_on_use\nactions+=/call_action_list,name=cds\nactions+=/call_action_list,name=st,strict=1,if=active_enemies<2\nactions+=/call_action_list,name=cleave,strict=1,if=active_enemies>1\n\nactions.cds=ancestral_call,if=cooldown.bestial_wrath.remains>30\nactions.cds+=/fireblood,if=cooldown.bestial_wrath.remains>30\nactions.cds+=/berserking,if=(buff.wild_spirits.up||!covenant.night_fae&buff.aspect_of_the_wild.up&buff.bestial_wrath.up)&(fight_remains>cooldown.berserking.duration+duration||(target.health.pct<35||!talent.killer_instinct))||boss&fight_remains<13\nactions.cds+=/blood_fury,if=(buff.wild_spirits.up||!covenant.night_fae&buff.aspect_of_the_wild.up&buff.bestial_wrath.up)&(fight_remains>cooldown.blood_fury.duration+duration||(target.health.pct<35||!talent.killer_instinct))||boss&fight_remains<16\nactions.cds+=/lights_judgment\nactions.cds+=/potion,if=buff.aspect_of_the_wild.up||boss&fight_remains<26\n\nactions.cleave=aspect_of_the_wild,if=!raid_event.adds.exists||raid_event.adds.remains>=10||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/barbed_shot,cycle_targets=1,if=pet.main.buff.frenzy.up&pet.main.buff.frenzy.remains<=gcd+barbed_shot_grace_period||buff.wild_spirits.up&charges_fractional>1.4&runeforge.fragments_of_the_elder_antlers\nactions.cleave+=/multishot,if=gcd-pet.main.buff.beast_cleave.remains>0.25||buff.killing_frenzy.up&pet.main.buff.beast_cleave.remains<2\nactions.cleave+=/kill_shot,if=runeforge.pouch_of_razor_fragments&buff.flayers_mark.up\nactions.cleave+=/flayed_shot,if=runeforge.pouch_of_razor_fragments\nactions.cleave+=/tar_trap,if=runeforge.soulforge_embers&tar_trap.remains=10||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/barbed_shot,cycle_targets=1,if=full_recharge_time=5||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/resonating_arrow,if=!raid_event.adds.exists||raid_event.adds.remains>=5||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/stampede,if=buff.aspect_of_the_wild.up||boss&fight_remains<15\nactions.cleave+=/wailing_arrow,if=pet.main.buff.frenzy.remains>execute_time\nactions.cleave+=/flayed_shot\nactions.cleave+=/kill_shot\nactions.cleave+=/chimaera_shot\nactions.cleave+=/bloodshed\nactions.cleave+=/a_murder_of_crows\nactions.cleave+=/barrage,if=pet.main.buff.frenzy.remains>execute_time\nactions.cleave+=/kill_command,if=focus>cost+action.multishot.cost\nactions.cleave+=/bag_of_tricks,if=buff.bestial_wrath.down||boss&fight_remains<5\nactions.cleave+=/dire_beast\nactions.cleave+=/barbed_shot,cycle_targets=1,if=target.time_to_die<9||charges_fractional>1.2&conduit.bloodletting\nactions.cleave+=/cobra_shot,if=focus.time_to_max20)&(!raid_event.adds.exists||!raid_event.adds.up&(raid_event.adds.duration+raid_event.adds.in<20||(raid_event.adds.count=1&covenant.kyrian))||raid_event.adds.up&raid_event.adds.remains>19)\nactions.st+=/barbed_shot,if=pet.main.buff.frenzy.up&pet.main.buff.frenzy.remains<=gcd+barbed_shot_grace_period||buff.wild_spirits.up&charges_fractional>1.4&runeforge.fragments_of_the_elder_antlers\nactions.st+=/tar_trap,if=runeforge.soulforge_embers&tar_trap.remains19\nactions.st+=/flayed_shot\nactions.st+=/kill_shot\nactions.st+=/wailing_arrow,if=pet.main.buff.frenzy.remains>execute_time&(cooldown.resonating_arrow.remains19)\nactions.st+=/bestial_wrath,if=(cooldown.wild_spirits.remains>15||covenant.kyrian&(cooldown.resonating_arrow.remains<5||cooldown.resonating_arrow.remains>20)||target.time_to_die<15||(!covenant.night_fae&!covenant.kyrian))&(!raid_event.adds.exists||!raid_event.adds.up&(raid_event.adds.duration+raid_event.adds.in<20||raid_event.adds.count=1)||raid_event.adds.up&raid_event.adds.remains>19)\nactions.st+=/chimaera_shot\nactions.st+=/kill_command\nactions.st+=/bag_of_tricks,if=buff.bestial_wrath.down||boss&fight_remains<5\nactions.st+=/dire_beast\nactions.st+=/cobra_shot,if=(focus-cost+focus.regen*(cooldown.kill_command.remains-1)>action.kill_command.cost||cooldown.kill_command.remains>1+gcd)||(buff.bestial_wrath.up||buff.nessingwarys_trapping_apparatus.up)&!runeforge.qapla_eredun_war_order||boss&fight_remains<3\nactions.st+=/barbed_shot,if=buff.wild_spirits.up||charges_fractional>1.2&conduit.bloodletting\nactions.st+=/arcane_pulse,if=buff.bestial_wrath.down||boss&fight_remains<5\nactions.st+=/tar_trap,if=runeforge.soulforge_embers||runeforge.nessingwarys_trapping_apparatus\nactions.st+=/freezing_trap,if=runeforge.nessingwarys_trapping_apparatus\nactions.st+=/arcane_torrent,if=(focus+focus.regen+15)?cooldown.aspect_of_the_wild.remains_guess,value_else=cooldown.aspect_of_the_wild.remains_guess\nactions.trinkets+=/trinket1,if=((trinket.1.has_use_buff||covenant.kyrian&trinket.1.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.2.has_use_buff||covenant.kyrian&!trinket.2.has_cooldown||trinket.2.cooldown.remains||trinket.1.has_use_buff&(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)||trinket.1.has_cooldown&!trinket.2.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration)||!variable.strong_sync_up&(!trinket.2.has_use_buff&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)||trinket.2.has_use_buff&(trinket.1.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)||(!trinket.1.has_use_buff||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)&(trinket.2.cooldown.ready&trinket.2.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2||variable.sync_up)||trinket.2.cooldown.remains-5>variable.strong_sync_remains&(trinket.1.cooldown.duration-5fight_remains||!trinket.1.has_use_buff&(variable.sync_remains>trinket.1.cooldown.duration%2||variable.sync_up))))))||target.time_to_die5)&(variable.sync_remains>20||trinket.2.cooldown.remains-5>variable.sync_remains))||!trinket.2.has_use_buff&(!trinket.2.has_cooldown||trinket.2.cooldown.remains||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)))&(!trinket.1.is.cache_of_acquired_treasures||active_enemies<2&buff.acquired_wand.up||active_enemies>1&!buff.acquired_wand.up)\nactions.trinkets+=/trinket2,if=((trinket.2.has_use_buff||covenant.kyrian&trinket.2.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.1.has_use_buff||covenant.kyrian&!trinket.1.has_cooldown||trinket.1.cooldown.remains||trinket.2.has_use_buff&(!trinket.1.has_use_buff||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)||trinket.2.has_cooldown&!trinket.1.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration)||!variable.strong_sync_up&(!trinket.1.has_use_buff&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)||trinket.1.has_use_buff&(trinket.2.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)||(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)&(trinket.1.cooldown.ready&trinket.1.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2||variable.sync_up)||trinket.1.cooldown.remains-5>variable.strong_sync_remains&(trinket.2.cooldown.duration-5fight_remains||!trinket.2.has_use_buff&(variable.sync_remains>trinket.2.cooldown.duration%2||variable.sync_up))))))||target.time_to_die5)&(variable.sync_remains>20||trinket.1.cooldown.remains-5>variable.sync_remains))||!trinket.1.has_use_buff&(!trinket.1.has_cooldown||trinket.1.cooldown.remains||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)))&(!trinket.2.is.cache_of_acquired_treasures||active_enemies<2&buff.acquired_wand.up||active_enemies>1&!buff.acquired_wand.up)\n# This should use any other equippable stuff, since both trinket slots are already accounted for.\nactions.trinkets+=/use_items", }, ["Survival"] = { ["source"] = "# https://github.com/simulationcraft/simc/", ["builtIn"] = true, ["date"] = 20220911, ["author"] = "SimC", ["desc"] = "Survival Hunter\nSeptember 11, 2022\n\nConvert focus overcap checks to respect new class settings / use new check_focus_overcap expression.", ["lists"] = { ["nta"] = { { ["action"] = "steel_trap", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["criteria"] = "! buff.wild_spirits.remains || buff.wild_spirits.remains & cooldown.kill_command.remains", ["action"] = "freezing_trap", }, -- [2] { ["enabled"] = true, ["criteria"] = "! buff.wild_spirits.remains || buff.wild_spirits.remains & cooldown.kill_command.remains", ["action"] = "tar_trap", }, -- [3] }, ["cleave"] = { { ["enabled"] = true, ["criteria"] = "talent.hydras_bite.enabled & buff.vipers_venom.remains & buff.vipers_venom.remains < gcd", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [1] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 10 || active_enemies >= raid_event.adds.count * 2", ["action"] = "wild_spirits", }, -- [2] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 8 || active_enemies >= raid_event.adds.count * 2", ["action"] = "resonating_arrow", }, -- [3] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || raid_event.adds.remains >= 10 || active_enemies >= raid_event.adds.count * 2", ["action"] = "coordinated_assault", }, -- [4] { ["enabled"] = true, ["criteria"] = "cooldown.wildfire_bomb.full_recharge_time > 5 & spell_targets > 4", ["action"] = "carve", }, -- [5] { ["enabled"] = true, ["criteria"] = "refreshable & target.time_to_die > 15 & next_wi_bomb.pheromone & cooldown.wildfire_bomb.full_recharge_time > gcd", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [6] { ["enabled"] = true, ["criteria"] = "full_recharge_time < gcd || buff.mad_bombardier.up || boss & fight_remains < 5", ["action"] = "wildfire_bomb", }, -- [7] { ["enabled"] = true, ["criteria"] = "cooldown.wildfire_bomb.charges_fractional < 1", ["action"] = "carve", }, -- [8] { ["enabled"] = true, ["criteria"] = "( ! raid_event.adds.exists || raid_event.adds.remains > 5 || active_enemies >= raid_event.adds.count * 2 ) || check_focus_overcap & ! runeforge.bag_of_munitions.equipped", ["action"] = "death_chakram", }, -- [9] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "runeforge.nessingwarys_trapping_apparatus.equipped & focus < variable.mb_rs_cost", ["list_name"] = "nta", }, -- [10] { ["action"] = "chakrams", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "dot.shrapnel_bomb.ticking & ( dot.internal_bleeding.stack < 2 || dot.shrapnel_bomb.remains < gcd )", ["action"] = "butchery", }, -- [12] { ["enabled"] = true, ["criteria"] = "dot.shrapnel_bomb.ticking & ! set_bonus.tier28_2pc", ["action"] = "carve", }, -- [13] { ["enabled"] = true, ["criteria"] = "charges_fractional > 2.5 & cooldown.wildfire_bomb.full_recharge_time > spell_targets / 2", ["action"] = "butchery", }, -- [14] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "flanking_strike", }, -- [15] { ["enabled"] = true, ["criteria"] = "dot.pheromone_bomb.ticking & set_bonus.tier28_2pc & ! buff.mad_bombardier.up", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [16] { ["enabled"] = true, ["criteria"] = "buff.flayers_mark.up", ["action"] = "kill_shot", }, -- [17] { ["enabled"] = true, ["action"] = "flayed_shot", ["cycle_targets"] = 1, }, -- [18] { ["enabled"] = true, ["criteria"] = "! dot.wildfire_bomb.ticking & ! set_bonus.tier28_2pc || raid_event.adds.exists & ( charges_fractional > 1.2 & active_enemies > 4 || charges_fractional > 1.4 & active_enemies > 3 || charges_fractional > 1.6 ) || ! raid_event.adds.exists & charges_fractional > 1.5", ["action"] = "wildfire_bomb", }, -- [19] { ["enabled"] = true, ["criteria"] = "( ! next_wi_bomb.shrapnel || ! talent.wildfire_infusion.enabled ) & cooldown.wildfire_bomb.full_recharge_time > spell_targets / 2", ["action"] = "butchery", }, -- [20] { ["enabled"] = true, ["criteria"] = "cooldown.wildfire_bomb.full_recharge_time > spell_targets / 2", ["action"] = "carve", }, -- [21] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & full_recharge_time < gcd & ( runeforge.nessingwarys_trapping_apparatus.equipped & cooldown.freezing_trap.remains & cooldown.tar_trap.remains || ! runeforge.nessingwarys_trapping_apparatus.equipped )", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [22] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [23] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "steel_trap", }, -- [24] { ["enabled"] = true, ["criteria"] = "refreshable & talent.hydras_bite.enabled & target.time_to_die > 8", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [25] { ["action"] = "carve", ["enabled"] = true, }, -- [26] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & ( runeforge.nessingwarys_trapping_apparatus.equipped & cooldown.freezing_trap.remains & cooldown.tar_trap.remains || ! runeforge.nessingwarys_trapping_apparatus.equipped )", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [27] { ["action"] = "kill_shot", ["enabled"] = true, }, -- [28] { ["enabled"] = true, ["criteria"] = "refreshable", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [29] { ["enabled"] = true, ["action"] = "mongoose_bite", ["cycle_targets"] = 1, }, -- [30] { ["enabled"] = true, ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [31] }, ["bop"] = { { ["enabled"] = true, ["criteria"] = "buff.vipers_venom.remains & ( buff.vipers_venom.remains < gcd || refreshable )", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [1] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & buff.nesingwarys_trapping_apparatus.up || ( settings.allow_focus_overcap || focus + cast_regen < focus.max + 10 ) & buff.nesingwarys_trapping_apparatus.up & buff.nesingwarys_trapping_apparatus.remains < gcd", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [2] { ["action"] = "kill_shot", ["enabled"] = true, }, -- [3] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & full_recharge_time < gcd || buff.mad_bombardier.up", ["action"] = "wildfire_bomb", }, -- [4] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "flanking_strike", }, -- [5] { ["action"] = "flayed_shot", ["enabled"] = true, }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "runeforge.nessingwarys_trapping_apparatus.equipped & focus < variable.mb_rs_cost", ["list_name"] = "nta", }, -- [7] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "death_chakram", }, -- [8] { ["enabled"] = true, ["criteria"] = "buff.coordinated_assault.up & buff.coordinated_assault.remains < 1.5 * gcd", ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [9] { ["enabled"] = true, ["criteria"] = "buff.coordinated_assault.up & buff.coordinated_assault.remains < 1.5 * gcd", ["action"] = "mongoose_bite", ["cycle_targets"] = 1, }, -- [10] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [11] { ["enabled"] = true, ["criteria"] = "buff.tip_of_the_spear.stack = 3", ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [12] { ["enabled"] = true, ["criteria"] = "talent.alpha_predator.enabled & ( buff.mongoose_fury.up & buff.mongoose_fury.remains < focus / ( variable.mb_rs_cost - cast_regen ) * gcd )", ["action"] = "mongoose_bite", ["cycle_targets"] = 1, }, -- [13] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & ! ticking & ( full_recharge_time < gcd || ! dot.wildfire_bomb.ticking & buff.mongoose_fury.remains > full_recharge_time - 1 * gcd || ! dot.wildfire_bomb.ticking & ! buff.mongoose_fury.remains ) || time_to_die < 18 & ! dot.wildfire_bomb.ticking", ["action"] = "wildfire_bomb", }, -- [14] { ["enabled"] = true, ["action"] = "kill_command", ["cycle_targets"] = 1, ["description"] = "If you don't have Nessingwary's Trapping Apparatus, simply cast Kill Command if you won't overcap on Focus from doing so. If you do have Nessingwary's Trapping Apparatus you should cast Kill Command if your focus is below the cost of Mongoose Bite or Raptor Strike", ["criteria"] = "check_focus_overcap & ( ! runeforge.nessingwarys_trapping_apparatus.enabled || focus < variable.mb_rs_cost )", }, -- [15] { ["enabled"] = true, ["action"] = "kill_command", ["cycle_targets"] = 1, ["description"] = "With Nessingwary's Trapping Apparatus only Kill Command if your traps are on cooldown, otherwise stop using Kill Command if your current focus amount is enough to sustain the amount of time left for any of your traps to come off cooldown", ["criteria"] = "check_focus_overcap & runeforge.nessingwarys_trapping_apparatus.enabled & cooldown.freezing_trap.remains > ( focus / ( variable.mb_rs_cost - cast_regen ) * gcd ) & cooldown.tar_trap.remains > ( focus / ( variable.mb_rs_cost - cast_regen ) * gcd ) & ( ! talent.steel_trap.enabled || talent.steel_trap.enabled & cooldown.steel_trap.remains > ( focus / ( variable.mb_rs_cost - cast_regen ) * gcd ) )", }, -- [16] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "steel_trap", }, -- [17] { ["enabled"] = true, ["criteria"] = "dot.serpent_sting.refreshable & ! buff.coordinated_assault.up || talent.alpha_predator.enabled & refreshable & ! buff.mongoose_fury.up", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [18] { ["action"] = "resonating_arrow", ["enabled"] = true, }, -- [19] { ["action"] = "wild_spirits", ["enabled"] = true, }, -- [20] { ["enabled"] = true, ["criteria"] = "! buff.coordinated_assault.up", ["action"] = "coordinated_assault", }, -- [21] { ["enabled"] = true, ["criteria"] = "buff.mongoose_fury.up || focus + action.kill_command.cast_regen > focus.max || buff.coordinated_assault.up", ["action"] = "mongoose_bite", }, -- [22] { ["enabled"] = true, ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [23] { ["enabled"] = true, ["criteria"] = "dot.wildfire_bomb.refreshable", ["action"] = "wildfire_bomb", }, -- [24] { ["enabled"] = true, ["criteria"] = "buff.vipers_venom.up", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [25] }, ["default"] = { { ["enabled"] = true, ["criteria"] = "target.outside8 & settings.use_harpoon & buff.aspect_of_the_eagle.down", ["action"] = "harpoon", }, -- [1] { ["action"] = "muzzle", ["enabled"] = true, }, -- [2] { ["enabled"] = true, ["action"] = "tranquilizing_shot", ["description"] = "Go ahead and Tranquilize NPC enemies, we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs.", ["criteria"] = "! target.is_player", }, -- [3] { ["enabled"] = true, ["action"] = "jotungeirr_destinys_call", ["criteria"] = "active_enemies = 1 & ( buff.coordinated_assault.up || ! cooldown.coordinated_assault.remains || boss & time_to_die < 30 ) || ( active_enemies > 1 & buff.resonating_arrow.up || buff.coordinated_assault.up )", ["name"] = "jotungeirr_destinys_call", }, -- [4] { ["action"] = "use_items", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["action"] = "call_action_list", ["criteria"] = "covenant.kyrian & cooldown.coordinated_assault.remains & cooldown.resonating_arrow.remains || ! covenant.kyrian & cooldown.coordinated_assault.remains", ["list_name"] = "trinkets", }, -- [6] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "other_on_use", }, -- [7] { ["enabled"] = true, ["action"] = "call_action_list", ["list_name"] = "cds", }, -- [8] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies < 3 & talent.birds_of_prey.enabled", ["list_name"] = "bop", }, -- [9] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies < 3 & ! talent.birds_of_prey.enabled", ["list_name"] = "st", }, -- [10] { ["enabled"] = true, ["action"] = "call_action_list", ["strict"] = 1, ["criteria"] = "active_enemies > 2", ["list_name"] = "cleave", }, -- [11] { ["action"] = "arcane_torrent", ["enabled"] = true, }, -- [12] }, ["other_on_use"] = { { ["action"] = "use_items", ["enabled"] = true, }, -- [1] { ["enabled"] = true, ["action"] = "jotungeirr_destinys_call", ["criteria"] = "cooldown.coordinated_assault.remains > 75 || boss & time_to_die < 30", ["name"] = "jotungeirr_destinys_call", }, -- [2] }, ["trinkets"] = { { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "buff.resonating_arrow.up || buff.coordinated_assault.up", ["var_name"] = "sync_up", }, -- [1] { ["enabled"] = true, ["op"] = "set", ["action"] = "variable", ["value"] = "covenant.kyrian & buff.resonating_arrow.up & buff.coordinated_assault.up || ! covenant.kyrian & buff.coordinated_assault.up", ["var_name"] = "strong_sync_up", }, -- [2] { ["enabled"] = true, ["op"] = "setif", ["action"] = "variable", ["var_name"] = "strong_sync_remains", ["value"] = "cooldown.resonating_arrow.remains ? cooldown.coordinated_assault.remains_guess", ["value_else"] = "cooldown.coordinated_assault.remains_guess", ["criteria"] = "covenant.kyrian", }, -- [5] { ["enabled"] = true, ["criteria"] = "( ( trinket.t1.has_use_buff || covenant.kyrian & trinket.t1.has_cooldown ) & ( variable.strong_sync_up & ( ! covenant.kyrian & ! trinket.t2.has_use_buff || covenant.kyrian & ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || trinket.t1.has_use_buff & ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) || trinket.t1.has_cooldown & ! trinket.t2.has_use_buff & trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) || ! variable.strong_sync_up & ( ! trinket.t2.has_use_buff & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 ) || trinket.t2.has_use_buff & ( trinket.t1.has_use_buff & trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 ) || ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) & ( trinket.t2.cooldown.ready & trinket.t2.cooldown.duration - 5 > variable.sync_remains & variable.sync_remains < trinket.t2.cooldown.duration / 2 || ! trinket.t2.cooldown.ready & ( trinket.t2.cooldown.remains - 5 < variable.strong_sync_remains & variable.strong_sync_remains > 20 & ( trinket.t1.cooldown.duration - 5 < variable.sync_remains || trinket.t2.cooldown.remains - 5 < variable.sync_remains & trinket.t2.cooldown.duration - 10 + variable.sync_remains < variable.strong_sync_remains || variable.sync_remains > trinket.t1.cooldown.duration / 2 || variable.sync_up ) || trinket.t2.cooldown.remains - 5 > variable.strong_sync_remains & ( trinket.t1.cooldown.duration - 5 < variable.strong_sync_remains || trinket.t1.cooldown.duration < fight_remains & variable.strong_sync_remains + trinket.t1.cooldown.duration > fight_remains || ! trinket.t1.has_use_buff & ( variable.sync_remains > trinket.t1.cooldown.duration / 2 || variable.sync_up ) ) ) ) ) ) || target.time_to_die < variable.sync_remains ) || ! trinket.t1.has_use_buff & ! covenant.kyrian & ( trinket.t2.has_use_buff & ( ( ! variable.sync_up || trinket.t2.cooldown.remains > 5 ) & ( variable.sync_remains > 20 || trinket.t2.cooldown.remains - 5 > variable.sync_remains ) ) || ! trinket.t2.has_use_buff & ( ! trinket.t2.has_cooldown || trinket.t2.cooldown.remains || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) ) ) & ( ! trinket.t1.is.cache_of_acquired_treasures || active_enemies < 2 & buff.acquired_wand.up || active_enemies > 1 & ! buff.acquired_wand.up )", ["action"] = "trinket1", }, -- [6] { ["enabled"] = true, ["criteria"] = "( ( trinket.t2.has_use_buff || covenant.kyrian & trinket.t2.has_cooldown ) & ( variable.strong_sync_up & ( ! covenant.kyrian & ! trinket.t1.has_use_buff || covenant.kyrian & ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || trinket.t2.has_use_buff & ( ! trinket.t1.has_use_buff || trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) || trinket.t2.has_cooldown & ! trinket.t1.has_use_buff & trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration ) || ! variable.strong_sync_up & ( ! trinket.t1.has_use_buff & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 ) || trinket.t1.has_use_buff & ( trinket.t2.has_use_buff & trinket.t2.cooldown.duration >= trinket.t1.cooldown.duration & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 ) || ( ! trinket.t2.has_use_buff || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) & ( trinket.t1.cooldown.ready & trinket.t1.cooldown.duration - 5 > variable.sync_remains & variable.sync_remains < trinket.t1.cooldown.duration / 2 || ! trinket.t1.cooldown.ready & ( trinket.t1.cooldown.remains - 5 < variable.strong_sync_remains & variable.strong_sync_remains > 20 & ( trinket.t2.cooldown.duration - 5 < variable.sync_remains || trinket.t1.cooldown.remains - 5 < variable.sync_remains & trinket.t1.cooldown.duration - 10 + variable.sync_remains < variable.strong_sync_remains || variable.sync_remains > trinket.t2.cooldown.duration / 2 || variable.sync_up ) || trinket.t1.cooldown.remains - 5 > variable.strong_sync_remains & ( trinket.t2.cooldown.duration - 5 < variable.strong_sync_remains || trinket.t2.cooldown.duration < fight_remains & variable.strong_sync_remains + trinket.t2.cooldown.duration > fight_remains || ! trinket.t2.has_use_buff & ( variable.sync_remains > trinket.t2.cooldown.duration / 2 || variable.sync_up ) ) ) ) ) ) || target.time_to_die < variable.sync_remains ) || ! trinket.t2.has_use_buff & ! covenant.kyrian & ( trinket.t1.has_use_buff & ( ( ! variable.sync_up || trinket.t1.cooldown.remains > 5 ) & ( variable.sync_remains > 20 || trinket.t1.cooldown.remains - 5 > variable.sync_remains ) ) || ! trinket.t1.has_use_buff & ( ! trinket.t1.has_cooldown || trinket.t1.cooldown.remains || trinket.t1.cooldown.duration >= trinket.t2.cooldown.duration ) ) ) & ( ! trinket.t2.is.cache_of_acquired_treasures || active_enemies < 2 & buff.acquired_wand.up || active_enemies > 1 & ! buff.acquired_wand.up )", ["action"] = "trinket2", }, -- [7] { ["enabled"] = true, ["name"] = "jotungeirr_destinys_call", ["action"] = "jotungeirr_destinys_call", }, -- [8] { ["enabled"] = true, ["description"] = "This should use any other equippable stuff, since both trinket slots are already accounted for.", ["action"] = "use_items", }, -- [9] }, ["cds"] = { { ["enabled"] = true, ["criteria"] = "talent.terms_of_engagement.enabled & focus < focus.max", ["action"] = "harpoon", }, -- [1] { ["enabled"] = true, ["criteria"] = "buff.coordinated_assault.up", ["action"] = "blood_fury", }, -- [2] { ["enabled"] = true, ["criteria"] = "buff.coordinated_assault.up", ["action"] = "ancestral_call", }, -- [3] { ["enabled"] = true, ["criteria"] = "buff.coordinated_assault.up", ["action"] = "fireblood", }, -- [4] { ["action"] = "lights_judgment", ["enabled"] = true, }, -- [5] { ["enabled"] = true, ["criteria"] = "cooldown.kill_command.full_recharge_time > gcd", ["action"] = "bag_of_tricks", }, -- [6] { ["enabled"] = true, ["criteria"] = "buff.coordinated_assault.up || time_to_die < 13", ["action"] = "berserking", }, -- [7] { ["action"] = "muzzle", ["enabled"] = true, }, -- [8] { ["enabled"] = true, ["criteria"] = "boss & fight_remains < 25 || buff.coordinated_assault.up", ["action"] = "potion", }, -- [9] { ["enabled"] = true, ["interrupt_if"] = "channeling&!soulbind.pustule_eruption", ["action"] = "fleshcraft", ["criteria"] = "( focus < 70 || cooldown.coordinated_assault.remains < gcd ) & ( soulbind.pustule_eruption.enabled || soulbind.volatile_solvent.enabled & buff.volatile_solvent.down )", }, -- [10] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & runeforge.soulforge_embers.equipped & tar_trap.remains < gcd & cooldown.flare.remains < gcd & ( active_enemies > 1 || active_enemies = 1 & time_to_die > 5 * gcd )", ["action"] = "tar_trap", }, -- [11] { ["enabled"] = true, ["criteria"] = "check_focus_overcap & tar_trap.up & runeforge.soulforge_embers.equipped & time_to_die > 4 * gcd", ["action"] = "flare", ["line_cd"] = "25", }, -- [12] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & target.time_to_die < focus / ( variable.mb_rs_cost - cast_regen ) * gcd", ["action"] = "kill_shot", }, -- [13] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & target.time_to_die < focus / ( variable.mb_rs_cost - cast_regen ) * gcd", ["action"] = "mongoose_bite", }, -- [14] { ["enabled"] = true, ["criteria"] = "active_enemies = 1 & target.time_to_die < focus / ( variable.mb_rs_cost - cast_regen ) * gcd", ["action"] = "raptor_strike", }, -- [15] { ["enabled"] = true, ["criteria"] = "target.distance >= 6", ["action"] = "aspect_of_the_eagle", }, -- [16] }, ["st"] = { { ["enabled"] = true, ["criteria"] = "check_focus_overcap & ( ! raid_event.adds.exists || ! raid_event.adds.up & raid_event.adds.duration + raid_event.adds.in < 5 ) || raid_event.adds.up & raid_event.adds.remains > 40", ["action"] = "death_chakram", }, -- [1] { ["enabled"] = true, ["criteria"] = "! dot.serpent_sting.ticking & target.time_to_die > 7 & ( ! dot.pheromone_bomb.ticking || buff.mad_bombardier.up & next_wi_bomb.pheromone ) || buff.vipers_venom.up & buff.vipers_venom.remains < gcd || ! set_bonus.tier28_2pc & ! dot.serpent_sting.ticking & target.time_to_die > 7", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [2] { ["enabled"] = true, ["criteria"] = "( buff.tip_of_the_spear.stack = 3 & ( ! dot.pheromone_bomb.ticking || buff.mad_bombardier.up & next_wi_bomb.pheromone ) ) || next_wi_bomb.pheromone & buff.tip_of_the_spear.stack = 3 & ( cooldown.wildfire_bomb.full_recharge_time < 2 * gcd || buff.mad_bombardier.up )", ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [3] { ["action"] = "flayed_shot", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || ! raid_event.adds.up & ( raid_event.adds.duration + raid_event.adds.in < 20 || raid_event.adds.count = 1 ) || raid_event.adds.up & raid_event.adds.remains > 40 || boss & time_to_die < 10", ["action"] = "resonating_arrow", }, -- [5] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || ! raid_event.adds.up & raid_event.adds.duration + raid_event.adds.in < 20 || raid_event.adds.up & raid_event.adds.remains > 20 || boss & time_to_die < 20", ["action"] = "wild_spirits", }, -- [6] { ["enabled"] = true, ["criteria"] = "! raid_event.adds.exists || covenant.night_fae & cooldown.wild_spirits.remains || ! covenant.night_fae & ( ! raid_event.adds.up & raid_event.adds.duration + raid_event.adds.in < 30 || raid_event.adds.up & raid_event.adds.remains > 20 || ! raid_event.adds.up ) || boss & time_to_die < 30", ["action"] = "coordinated_assault", }, -- [7] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "flanking_strike", }, -- [8] { ["action"] = "a_murder_of_crows", ["enabled"] = true, }, -- [9] { ["enabled"] = true, ["criteria"] = "full_recharge_time < 2 * gcd & set_bonus.tier28_2pc || buff.mad_bombardier.up || ! set_bonus.tier28_2pc & ( full_recharge_time < gcd || check_focus_overcap & ( next_wi_bomb.volatile & dot.serpent_sting.ticking & dot.serpent_sting.refreshable || next_wi_bomb.pheromone & ! buff.mongoose_fury.up & ( settings.allow_focus_overcap || focus + cast_regen < focus.max - action.kill_command.cast_regen * 3 ) ) || boss & time_to_die < 10 )", ["action"] = "wildfire_bomb", }, -- [10] { ["enabled"] = true, ["criteria"] = "set_bonus.tier28_2pc & dot.pheromone_bomb.ticking & ! buff.mad_bombardier.up", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [11] { ["action"] = "kill_shot", ["enabled"] = true, }, -- [12] { ["enabled"] = true, ["criteria"] = "active_enemies > 1 & ! runeforge.rylakstalkers_confounding_strikes.equipped", ["action"] = "carve", }, -- [13] { ["enabled"] = true, ["criteria"] = "active_enemies > 1 & ! runeforge.rylakstalkers_confounding_strikes.equipped & cooldown.wildfire_bomb.full_recharge_time > spell_targets & ( charges_fractional > 2.5 || dot.shrapnel_bomb.ticking )", ["action"] = "butchery", }, -- [14] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "steel_trap", }, -- [15] { ["enabled"] = true, ["criteria"] = "talent.alpha_predator.enabled & ( buff.mongoose_fury.up & buff.mongoose_fury.remains < focus / ( variable.mb_rs_cost - cast_regen ) * gcd & ! buff.wild_spirits.remains || buff.mongoose_fury.remains & next_wi_bomb.pheromone )", ["action"] = "mongoose_bite", ["cycle_targets"] = 1, }, -- [16] { ["enabled"] = true, ["criteria"] = "full_recharge_time < gcd & check_focus_overcap", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [17] { ["enabled"] = true, ["criteria"] = "buff.tip_of_the_spear.stack = 3 || dot.shrapnel_bomb.ticking", ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [18] { ["enabled"] = true, ["criteria"] = "dot.shrapnel_bomb.ticking", ["action"] = "mongoose_bite", }, -- [19] { ["enabled"] = true, ["criteria"] = "refreshable & target.time_to_die > 7 || buff.vipers_venom.up", ["action"] = "serpent_sting", ["cycle_targets"] = 1, }, -- [20] { ["enabled"] = true, ["criteria"] = "next_wi_bomb.shrapnel & focus > variable.mb_rs_cost * 2 & dot.serpent_sting.remains > 5 * gcd & ! set_bonus.tier28_2pc", ["action"] = "wildfire_bomb", }, -- [21] { ["action"] = "chakrams", ["enabled"] = true, }, -- [22] { ["enabled"] = true, ["criteria"] = "check_focus_overcap", ["action"] = "kill_command", ["cycle_targets"] = 1, }, -- [23] { ["enabled"] = true, ["criteria"] = "runeforge.rylakstalkers_confounding_strikes.equipped", ["action"] = "wildfire_bomb", }, -- [24] { ["enabled"] = true, ["criteria"] = "buff.mongoose_fury.up || focus + action.kill_command.cast_regen > focus.max - 15 || dot.shrapnel_bomb.ticking || buff.wild_spirits.remains", ["action"] = "mongoose_bite", ["cycle_targets"] = 1, }, -- [25] { ["enabled"] = true, ["action"] = "raptor_strike", ["cycle_targets"] = 1, }, -- [26] { ["enabled"] = true, ["criteria"] = "( next_wi_bomb.volatile & dot.serpent_sting.ticking || next_wi_bomb.pheromone || next_wi_bomb.shrapnel & focus > 50 ) & ! set_bonus.tier28_2pc", ["action"] = "wildfire_bomb", }, -- [27] }, ["precombat"] = { { ["enabled"] = true, ["op"] = "setif", ["description"] = "Convert focus overcap checks to respect new class settings / use new check_focus_overcap expression.", ["var_name"] = "mb_rs_cost", ["value"] = "action.mongoose_bite.cost", ["action"] = "variable", ["value_else"] = "action.raptor_strike.cost", ["criteria"] = "talent.mongoose_bite.enabled", }, -- [1] { ["action"] = "summon_pet", ["enabled"] = true, }, -- [2] { ["action"] = "bottled_flayedwing_toxin", ["enabled"] = true, }, -- [3] { ["action"] = "fleshcraft", ["enabled"] = true, }, -- [4] { ["enabled"] = true, ["criteria"] = "runeforge.soulforge_embers.equipped", ["action"] = "tar_trap", }, -- [5] { ["action"] = "steel_trap", ["enabled"] = true, }, -- [6] }, }, ["version"] = 20220911, ["warnings"] = "WARNING: The import for 'cleave' required some automated changes.\nLine 14: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 20: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 21: Converted SimC syntax % to Lua division operator (/) (1x).\n\nWARNING: The import for 'bop' required some automated changes.\nLine 13: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 15: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 16: Converted SimC syntax % to Lua division operator (/) (3x).\nLine 16: Converted 'talent.X' to 'talent.X.enabled' (2x).\nLine 16: Converted 'runeforge.X' to 'runeforge.X.enabled' (1x).\nLine 18: Converted 'talent.X' to 'talent.X.enabled' (1x).\n\nWARNING: The import for 'trinkets' required some automated changes.\nLine 6: Converted SimC syntax % to Lua division operator (/) (5x).\nLine 6: Converted 'trinket.1.X' to 'trinket.t1.X' (24x).\nLine 6: Converted 'trinket.2.X' to 'trinket.t2.X' (26x).\nLine 7: Converted SimC syntax % to Lua division operator (/) (5x).\nLine 7: Converted 'trinket.1.X' to 'trinket.t1.X' (26x).\nLine 7: Converted 'trinket.2.X' to 'trinket.t2.X' (24x).\n\nWARNING: The import for 'cds' required some automated changes.\nLine 10: Converted 'soulbind.X' to 'soulbind.X.enabled' (2x).\nLine 13: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 14: Converted SimC syntax % to Lua division operator (/) (1x).\nLine 15: Converted SimC syntax % to Lua division operator (/) (1x).\n\nWARNING: The import for 'st' required some automated changes.\nLine 16: Converted SimC syntax % to Lua division operator (/) (1x).\n\nWARNING: The import for 'precombat' required some automated changes.\nLine 1: Converted 'talent.X' to 'talent.X.enabled' at EOL (1x).\n\nImported 9 action lists.\n", ["spec"] = 255, ["profile"] = "# Survival Hunter\n# September 11, 2022\n\n# Convert focus overcap checks to respect new class settings / use new check_focus_overcap expression.\n\nactions.precombat+=/variable,name=mb_rs_cost,op=setif,value=action.mongoose_bite.cost,value_else=action.raptor_strike.cost,condition=talent.mongoose_bite\nactions.precombat+=/summon_pet\nactions.precombat+=/bottled_flayedwing_toxin\nactions.precombat+=/fleshcraft\nactions.precombat+=/tar_trap,if=runeforge.soulforge_embers.equipped\nactions.precombat+=/steel_trap\n\nactions=harpoon,if=target.outside8&settings.use_harpoon&buff.aspect_of_the_eagle.down\nactions+=/muzzle\n# Go ahead and Tranquilize NPC enemies; we don't do this for players because it'd be too spammy and we can't readily Tranq specific buffs.\nactions+=/tranquilizing_shot,if=!target.is_player\nactions+=/use_item,name=jotungeirr_destinys_call,if=active_enemies=1&(buff.coordinated_assault.up||!cooldown.coordinated_assault.remains||boss&time_to_die<30)||(active_enemies>1&buff.resonating_arrow.up||buff.coordinated_assault.up)\nactions+=/use_items\n## Delay facing your doubt until you have put Resonating Arrow down, or if the cooldown is too long to delay facing your Doubt. If none of these conditions are able to met within the 10 seconds leeway, the sim faces your Doubt automatically.\n## actions+=/newfound_resolve,if=soulbind.newfound_resolve&(buff.resonating_arrow.up||cooldown.resonating_arrow.remains>10||target.time_to_die<16)\nactions+=/call_action_list,name=trinkets,if=covenant.kyrian&cooldown.coordinated_assault.remains&cooldown.resonating_arrow.remains||!covenant.kyrian&cooldown.coordinated_assault.remains\nactions+=/call_action_list,name=other_on_use\nactions+=/call_action_list,name=cds\nactions+=/call_action_list,name=bop,strict=1,if=active_enemies<3&talent.birds_of_prey.enabled\nactions+=/call_action_list,name=st,strict=1,if=active_enemies<3&!talent.birds_of_prey.enabled\nactions+=/call_action_list,name=cleave,strict=1,if=active_enemies>2\nactions+=/arcane_torrent\n\nactions.bop=serpent_sting,cycle_targets=1,if=buff.vipers_venom.remains&(buff.vipers_venom.remainsfull_recharge_time-1*gcd||!dot.wildfire_bomb.ticking&!buff.mongoose_fury.remains)||time_to_die<18&!dot.wildfire_bomb.ticking\n# If you don't have Nessingwary's Trapping Apparatus, simply cast Kill Command if you won't overcap on Focus from doing so. If you do have Nessingwary's Trapping Apparatus you should cast Kill Command if your focus is below the cost of Mongoose Bite or Raptor Strike\nactions.bop+=/kill_command,cycle_targets=1,if=check_focus_overcap&(!runeforge.nessingwarys_trapping_apparatus||focus(focus%(variable.mb_rs_cost-cast_regen)*gcd)&cooldown.tar_trap.remains>(focus%(variable.mb_rs_cost-cast_regen)*gcd)&(!talent.steel_trap||talent.steel_trap&cooldown.steel_trap.remains>(focus%(variable.mb_rs_cost-cast_regen)*gcd))\nactions.bop+=/steel_trap,if=check_focus_overcap\nactions.bop+=/serpent_sting,cycle_targets=1,if=dot.serpent_sting.refreshable&!buff.coordinated_assault.up||talent.alpha_predator&refreshable&!buff.mongoose_fury.up\nactions.bop+=/resonating_arrow\nactions.bop+=/wild_spirits\nactions.bop+=/coordinated_assault,if=!buff.coordinated_assault.up\nactions.bop+=/mongoose_bite,if=buff.mongoose_fury.up||focus+action.kill_command.cast_regen>focus.max||buff.coordinated_assault.up\nactions.bop+=/raptor_strike,cycle_targets=1\nactions.bop+=/wildfire_bomb,if=dot.wildfire_bomb.refreshable\nactions.bop+=/serpent_sting,cycle_targets=1,if=buff.vipers_venom.up\n\nactions.cds=harpoon,if=talent.terms_of_engagement.enabled&focusgcd\nactions.cds+=/berserking,if=buff.coordinated_assault.up||time_to_die<13\nactions.cds+=/muzzle\nactions.cds+=/potion,if=boss&fight_remains<25||buff.coordinated_assault.up\nactions.cds+=/fleshcraft,interrupt_if=channeling&!soulbind.pustule_eruption,if=(focus<70||cooldown.coordinated_assault.remains1||active_enemies=1&time_to_die>5*gcd)\nactions.cds+=/flare,line_cd=25,if=check_focus_overcap&tar_trap.up&runeforge.soulforge_embers.equipped&time_to_die>4*gcd\nactions.cds+=/kill_shot,if=active_enemies=1&target.time_to_die=6\n\nactions.cleave=serpent_sting,cycle_targets=1,if=talent.hydras_bite.enabled&buff.vipers_venom.remains&buff.vipers_venom.remains=10||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/resonating_arrow,if=!raid_event.adds.exists||raid_event.adds.remains>=8||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/coordinated_assault,if=!raid_event.adds.exists||raid_event.adds.remains>=10||active_enemies>=raid_event.adds.count*2\nactions.cleave+=/carve,if=cooldown.wildfire_bomb.full_recharge_time>5&spell_targets>4\nactions.cleave+=/serpent_sting,cycle_targets=1,if=refreshable&target.time_to_die>15&next_wi_bomb.pheromone&cooldown.wildfire_bomb.full_recharge_time>gcd\nactions.cleave+=/wildfire_bomb,if=full_recharge_time5||active_enemies>=raid_event.adds.count*2)||check_focus_overcap&!runeforge.bag_of_munitions.equipped\nactions.cleave+=/call_action_list,name=nta,strict=1,if=runeforge.nessingwarys_trapping_apparatus.equipped&focus2.5&cooldown.wildfire_bomb.full_recharge_time>spell_targets%2\nactions.cleave+=/flanking_strike,if=check_focus_overcap\nactions.cleave+=/kill_command,cycle_targets=1,if=dot.pheromone_bomb.ticking&set_bonus.tier28_2pc&!buff.mad_bombardier.up\nactions.cleave+=/kill_shot,if=buff.flayers_mark.up\nactions.cleave+=/flayed_shot,cycle_targets=1\nactions.cleave+=/wildfire_bomb,if=!dot.wildfire_bomb.ticking&!set_bonus.tier28_2pc||raid_event.adds.exists&(charges_fractional>1.2&active_enemies>4||charges_fractional>1.4&active_enemies>3||charges_fractional>1.6)||!raid_event.adds.exists&charges_fractional>1.5\nactions.cleave+=/butchery,if=(!next_wi_bomb.shrapnel||!talent.wildfire_infusion.enabled)&cooldown.wildfire_bomb.full_recharge_time>spell_targets%2\nactions.cleave+=/carve,if=cooldown.wildfire_bomb.full_recharge_time>spell_targets%2\nactions.cleave+=/kill_command,cycle_targets=1,if=check_focus_overcap&full_recharge_time8\nactions.cleave+=/carve\nactions.cleave+=/kill_command,cycle_targets=1,if=check_focus_overcap&(runeforge.nessingwarys_trapping_apparatus.equipped&cooldown.freezing_trap.remains&cooldown.tar_trap.remains||!runeforge.nessingwarys_trapping_apparatus.equipped)\nactions.cleave+=/kill_shot\nactions.cleave+=/serpent_sting,cycle_targets=1,if=refreshable\nactions.cleave+=/mongoose_bite,cycle_targets=1\nactions.cleave+=/raptor_strike,cycle_targets=1\n\nactions.nta=steel_trap\nactions.nta+=/freezing_trap,if=!buff.wild_spirits.remains||buff.wild_spirits.remains&cooldown.kill_command.remains\nactions.nta+=/tar_trap,if=!buff.wild_spirits.remains||buff.wild_spirits.remains&cooldown.kill_command.remains\n\nactions.other_on_use=use_items\nactions.other_on_use+=/use_item,name=jotungeirr_destinys_call,if=cooldown.coordinated_assault.remains>75||boss&time_to_die<30\n\nactions.st=death_chakram,if=check_focus_overcap&(!raid_event.adds.exists||!raid_event.adds.up&raid_event.adds.duration+raid_event.adds.in<5)||raid_event.adds.up&raid_event.adds.remains>40\nactions.st+=/serpent_sting,cycle_targets=1,if=!dot.serpent_sting.ticking&target.time_to_die>7&(!dot.pheromone_bomb.ticking||buff.mad_bombardier.up&next_wi_bomb.pheromone)||buff.vipers_venom.up&buff.vipers_venom.remains7\nactions.st+=/raptor_strike,cycle_targets=1,if=(buff.tip_of_the_spear.stack=3&(!dot.pheromone_bomb.ticking||buff.mad_bombardier.up&next_wi_bomb.pheromone))||next_wi_bomb.pheromone&buff.tip_of_the_spear.stack=3&(cooldown.wildfire_bomb.full_recharge_time<2*gcd||buff.mad_bombardier.up)\nactions.st+=/flayed_shot\nactions.st+=/resonating_arrow,if=!raid_event.adds.exists||!raid_event.adds.up&(raid_event.adds.duration+raid_event.adds.in<20||raid_event.adds.count=1)||raid_event.adds.up&raid_event.adds.remains>40||boss&time_to_die<10\nactions.st+=/wild_spirits,if=!raid_event.adds.exists||!raid_event.adds.up&raid_event.adds.duration+raid_event.adds.in<20||raid_event.adds.up&raid_event.adds.remains>20||boss&time_to_die<20\nactions.st+=/coordinated_assault,if=!raid_event.adds.exists||covenant.night_fae&cooldown.wild_spirits.remains||!covenant.night_fae&(!raid_event.adds.up&raid_event.adds.duration+raid_event.adds.in<30||raid_event.adds.up&raid_event.adds.remains>20||!raid_event.adds.up)||boss&time_to_die<30\nactions.st+=/flanking_strike,if=check_focus_overcap\nactions.st+=/a_murder_of_crows\nactions.st+=/wildfire_bomb,if=full_recharge_time<2*gcd&set_bonus.tier28_2pc||buff.mad_bombardier.up||!set_bonus.tier28_2pc&(full_recharge_time1&!runeforge.rylakstalkers_confounding_strikes.equipped\nactions.st+=/butchery,if=active_enemies>1&!runeforge.rylakstalkers_confounding_strikes.equipped&cooldown.wildfire_bomb.full_recharge_time>spell_targets&(charges_fractional>2.5||dot.shrapnel_bomb.ticking)\nactions.st+=/steel_trap,if=check_focus_overcap\nactions.st+=/mongoose_bite,cycle_targets=1,if=talent.alpha_predator.enabled&(buff.mongoose_fury.up&buff.mongoose_fury.remains7||buff.vipers_venom.up\nactions.st+=/wildfire_bomb,if=next_wi_bomb.shrapnel&focus>variable.mb_rs_cost*2&dot.serpent_sting.remains>5*gcd&!set_bonus.tier28_2pc\nactions.st+=/chakrams\nactions.st+=/kill_command,cycle_targets=1,if=check_focus_overcap\nactions.st+=/wildfire_bomb,if=runeforge.rylakstalkers_confounding_strikes.equipped\nactions.st+=/mongoose_bite,cycle_targets=1,if=buff.mongoose_fury.up||focus+action.kill_command.cast_regen>focus.max-15||dot.shrapnel_bomb.ticking||buff.wild_spirits.remains\nactions.st+=/raptor_strike,cycle_targets=1\nactions.st+=/wildfire_bomb,if=(next_wi_bomb.volatile&dot.serpent_sting.ticking||next_wi_bomb.pheromone||next_wi_bomb.shrapnel&focus>50)&!set_bonus.tier28_2pc\n\nactions.trinkets=variable,name=sync_up,value=buff.resonating_arrow.up||buff.coordinated_assault.up\nactions.trinkets+=/variable,name=strong_sync_up,value=covenant.kyrian&buff.resonating_arrow.up&buff.coordinated_assault.up||!covenant.kyrian&buff.coordinated_assault.up\nactions.trinkets+=/variable,name=strong_sync_remains,op=setif,condition=covenant.kyrian,value=cooldown.resonating_arrow.remains?cooldown.coordinated_assault.remains_guess,value_else=cooldown.coordinated_assault.remains_guess\nactions.trinkets+=/trinket1,if=((trinket.1.has_use_buff||covenant.kyrian&trinket.1.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.2.has_use_buff||covenant.kyrian&!trinket.2.has_cooldown||trinket.2.cooldown.remains||trinket.1.has_use_buff&(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)||trinket.1.has_cooldown&!trinket.2.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration)||!variable.strong_sync_up&(!trinket.2.has_use_buff&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)||trinket.2.has_use_buff&(trinket.1.has_use_buff&trinket.1.cooldown.duration>=trinket.2.cooldown.duration&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2)||(!trinket.1.has_use_buff||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)&(trinket.2.cooldown.ready&trinket.2.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.1.cooldown.duration-5trinket.1.cooldown.duration%2||variable.sync_up)||trinket.2.cooldown.remains-5>variable.strong_sync_remains&(trinket.1.cooldown.duration-5fight_remains||!trinket.1.has_use_buff&(variable.sync_remains>trinket.1.cooldown.duration%2||variable.sync_up))))))||target.time_to_die5)&(variable.sync_remains>20||trinket.2.cooldown.remains-5>variable.sync_remains))||!trinket.2.has_use_buff&(!trinket.2.has_cooldown||trinket.2.cooldown.remains||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)))&(!trinket.1.is.cache_of_acquired_treasures||active_enemies<2&buff.acquired_wand.up||active_enemies>1&!buff.acquired_wand.up)\nactions.trinkets+=/trinket2,if=((trinket.2.has_use_buff||covenant.kyrian&trinket.2.has_cooldown)&(variable.strong_sync_up&(!covenant.kyrian&!trinket.1.has_use_buff||covenant.kyrian&!trinket.1.has_cooldown||trinket.1.cooldown.remains||trinket.2.has_use_buff&(!trinket.1.has_use_buff||trinket.2.cooldown.duration>=trinket.1.cooldown.duration)||trinket.2.has_cooldown&!trinket.1.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration)||!variable.strong_sync_up&(!trinket.1.has_use_buff&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)||trinket.1.has_use_buff&(trinket.2.has_use_buff&trinket.2.cooldown.duration>=trinket.1.cooldown.duration&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2)||(!trinket.2.has_use_buff||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)&(trinket.1.cooldown.ready&trinket.1.cooldown.duration-5>variable.sync_remains&variable.sync_remains20&(trinket.2.cooldown.duration-5trinket.2.cooldown.duration%2||variable.sync_up)||trinket.1.cooldown.remains-5>variable.strong_sync_remains&(trinket.2.cooldown.duration-5fight_remains||!trinket.2.has_use_buff&(variable.sync_remains>trinket.2.cooldown.duration%2||variable.sync_up))))))||target.time_to_die5)&(variable.sync_remains>20||trinket.1.cooldown.remains-5>variable.sync_remains))||!trinket.1.has_use_buff&(!trinket.1.has_cooldown||trinket.1.cooldown.remains||trinket.1.cooldown.duration>=trinket.2.cooldown.duration)))&(!trinket.2.is.cache_of_acquired_treasures||active_enemies<2&buff.acquired_wand.up||active_enemies>1&!buff.acquired_wand.up)\nactions.trinkets+=/use_item,name=jotungeirr_destinys_call\n# This should use any other equippable stuff, since both trinket slots are already accounted for.\nactions.trinkets+=/use_items", }, }, ["iconStore"] = { ["minimapPos"] = 267.4870703248537, }, ["notifications"] = { ["y"] = 479.1666564941406, ["x"] = -25.0001220703125, }, ["toggles"] = { ["essences"] = { ["value"] = false, }, }, }, }, }