Advertisement
Hekili

Untitled

Mar 5th, 2020
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 12.98 KB | None | 0 0
  1. # Frost Mage
  2. # https://github.com/simulationcraft/simc/
  3. # March 5, 2020
  4.  
  5. # Changes:
  6. # - Use 'time_to_die' instead of 'target.time_to_die' for last second CD usage.
  7. # - Redo priority forks for rotation.standard/frozen_orb/no_ice_lance.
  8.  
  9. # Executed before combat begins. Accepts non-harmful actions only.
  10. # actions.precombat=flask
  11. # actions.precombat+=/food
  12. # actions.precombat+=/augmentation
  13. actions.precombat+=/arcane_intellect
  14. actions.precombat+=/summon_water_elemental
  15. # actions.precombat+=/snapshot_stats
  16. actions.precombat+=/use_item,name=azsharas_font_of_power
  17. actions.precombat+=/mirror_image
  18. actions.precombat+=/potion
  19. actions.precombat+=/frostbolt
  20.  
  21. # Executed every time the actor is available.
  22. actions=counterspell
  23. # If the mage has FoF after casting instant Flurry, we can delay the Ice Lance and use other high priority action, if available.
  24. actions+=/ice_lance,if=!rotation.no_ice_lance&prev_gcd.1.flurry&!buff.fingers_of_frost.react
  25. actions+=/call_action_list,name=cooldowns
  26. # The target threshold isn't exact. Between 3-5 targets, the differences between the ST and AoE action lists are rather small. However, Freezing Rain prefers using AoE action list sooner as it benefits greatly from the high priority Blizzard action.
  27. actions+=/call_action_list,name=aoe,if=active_enemies>3&talent.freezing_rain.enabled|active_enemies>4
  28. actions+=/call_action_list,name=single
  29.  
  30. # With Freezing Rain, it's better to prioritize using Frozen Orb when both FO and Blizzard are off cooldown. Without Freezing Rain, the converse is true although the difference is miniscule until very high target counts.
  31. actions.aoe=frozen_orb
  32. actions.aoe+=/blizzard
  33. actions.aoe+=/call_action_list,name=essences
  34. actions.aoe+=/comet_storm
  35. actions.aoe+=/ice_nova
  36. # Simplified Flurry conditions from the ST action list. Since the mage is generating far less Brain Freeze charges, the exact condition here isn't all that important.
  37. actions.aoe+=/flurry,if=prev_gcd.1.ebonbolt|buff.brain_freeze.react&(prev_gcd.1.frostbolt&(buff.icicles.stack<4|!talent.glacial_spike.enabled)|prev_gcd.1.glacial_spike)
  38. actions.aoe+=/ice_lance,if=buff.fingers_of_frost.react
  39. # The mage will generally be generating a lot of FoF charges when using the AoE action list. Trying to delay Ray of Frost until there are no FoF charges and no active Frozen Orbs would lead to it not being used at all.
  40. actions.aoe+=/ray_of_frost
  41. actions.aoe+=/ebonbolt
  42. actions.aoe+=/glacial_spike
  43. # Using Cone of Cold is mostly DPS neutral with the AoE target thresholds. It only becomes decent gain with roughly 7 or more targets.
  44. actions.aoe+=/cone_of_cold
  45. actions.aoe+=/use_item,name=tidestorm_codex,if=buff.icy_veins.down&buff.rune_of_power.down
  46. actions.aoe+=/use_item,effect_name=cyclotronic_blast,if=buff.icy_veins.down&buff.rune_of_power.down
  47. actions.aoe+=/frostbolt
  48. actions.aoe+=/call_action_list,name=movement
  49. actions.aoe+=/ice_lance
  50.  
  51. actions.cooldowns=guardian_of_azeroth
  52. actions.cooldowns+=/icy_veins
  53. actions.cooldowns+=/mirror_image
  54. # Rune of Power is always used with Frozen Orb. Any leftover charges at the end of the fight should be used, ideally if the boss doesn't die in the middle of the Rune buff.
  55. actions.cooldowns+=/rune_of_power,if=prev_gcd.1.frozen_orb|time_to_die>10+cast_time&time_to_die<20
  56. # On single target fights, the cooldown of Rune of Power is lower than the cooldown of Frozen Orb, this gives extra Rune of Power charges that should be used with active talents, if possible.
  57. actions.cooldowns+=/call_action_list,name=talent_rop,if=talent.rune_of_power.enabled&active_enemies=1&cooldown.rune_of_power.full_recharge_time<cooldown.frozen_orb.remains
  58. actions.cooldowns+=/potion,if=prev_gcd.1.icy_veins|time_to_die<30
  59. actions.cooldowns+=/use_item,name=balefire_branch,if=!talent.glacial_spike.enabled|buff.brain_freeze.react&prev_gcd.1.glacial_spike
  60. actions.cooldowns+=/use_items
  61. actions.cooldowns+=/blood_fury
  62. actions.cooldowns+=/berserking
  63. actions.cooldowns+=/lights_judgment
  64. actions.cooldowns+=/fireblood
  65. actions.cooldowns+=/ancestral_call
  66. actions.cooldowns+=/bag_of_tricks
  67.  
  68. # Essences: Standard and No Ice Lance
  69. actions.essences_default=focused_azerite_beam,if=buff.rune_of_power.down|active_enemies>3
  70. actions.essences_default+=/memory_of_lucid_dreams,if=active_enemies<5&(buff.icicles.stack<=1|!talent.glacial_spike.enabled)&cooldown.frozen_orb.remains>10&(!rotation.standard|!action.frozen_orb.in_flight&ground_aoe.frozen_orb.remains=0)
  71. actions.essences_default+=/blood_of_the_enemy,if=(talent.glacial_spike.enabled&buff.icicles.stack=5&(buff.brain_freeze.react|prev_gcd.1.ebonbolt))|((active_enemies>3|!talent.glacial_spike.enabled)&(prev_gcd.1.frozen_orb|ground_aoe.frozen_orb.remains>5))
  72. actions.essences_default+=/purifying_blast,if=buff.rune_of_power.down|active_enemies>3
  73. actions.essences_default+=/ripple_in_space,if=buff.rune_of_power.down|active_enemies>3
  74. actions.essences_default+=/concentrated_flame,line_cd=6,if=buff.rune_of_power.down
  75. actions.essences_default+=/reaping_flames,if=buff.rune_of_power.down
  76. actions.essences_default+=/the_unbound_force,if=buff.reckless_force.up
  77. actions.essences_default+=/worldvein_resonance,if=buff.rune_of_power.down|active_enemies>3
  78.  
  79. # Essences: Frozen Orb
  80. actions.essences_orb+=/focused_azerite_beam,if=buff.rune_of_power.down&debuff.packed_ice.down|active_enemies>3
  81. actions.essences_orb+=/memory_of_lucid_dreams,if=active_enemies<5&debuff.packed_ice.down&cooldown.frozen_orb.remains>5&!action.frozen_orb.in_flight&ground_aoe.frozen_orb.remains=0
  82. actions.essences_orb+=/blood_of_the_enemy,if=prev_gcd.1.frozen_orb|ground_aoe.frozen_orb.remains>5
  83. actions.essences_orb+=/purifying_blast,if=buff.rune_of_power.down&debuff.packed_ice.down|active_enemies>3
  84. actions.essences_orb+=/ripple_in_space,if=buff.rune_of_power.down&debuff.packed_ice.down|active_enemies>3
  85. actions.essences_orb+=/concentrated_flame,line_cd=6,if=buff.rune_of_power.down&debuff.packed_ice.down
  86. actions.essences_orb+=/reaping_flames,if=buff.rune_of_power.down&debuff.packed_ice.down
  87. actions.essences_orb+=/the_unbound_force,if=buff.reckless_force.up
  88. actions.essences_orb+=/worldvein_resonance,if=buff.rune_of_power.down&debuff.packed_ice.down&cooldown.frozen_orb.remains<4|active_enemies>3
  89.  
  90. actions.essences=call_action_list,strict=1,name=essences_orb,if=rotation.frozen_orb
  91. actions.essences+=/call_action_list,strict=1,name=essences_default,if=!rotation.frozen_orb
  92.  
  93. actions.movement=blink_any,if=movement.distance>10
  94. actions.movement+=/ice_floes,if=buff.ice_floes.down
  95.  
  96. # Single Target
  97. # Without GS, Ebonbolt is always shattered. With GS, Ebonbolt is shattered if it would waste Brain Freeze charge (i.e. when the mage starts casting Ebonbolt with Brain Freeze active) or when below 4 Icicles (if Ebonbolt is cast when the mage has 4-5 Icicles, it's better to use the Brain Freeze from it on Glacial Spike).
  98. actions.single_standard=flurry,if=talent.ebonbolt.enabled&prev_gcd.1.ebonbolt&(!talent.glacial_spike.enabled|buff.icicles.stack<4|buff.brain_freeze.react)
  99. # Glacial Spike is always shattered.
  100. actions.single_standard+=/flurry,if=talent.glacial_spike.enabled&prev_gcd.1.glacial_spike&buff.brain_freeze.react
  101. # Without GS, the mage just tries to shatter as many Frostbolts as possible. With GS, the mage only shatters Frostbolt that would put them at 1-3 Icicle stacks. Difference between shattering Frostbolt with 1-3 Icicles and 1-4 Icicles is small, but 1-3 tends to be better in more situations (the higher GS damage is, the more it leans towards 1-3). Forcing shatter on Frostbolt is still a small gain, so is not caring about FoF. Ice Lance is too weak to warrant delaying Brain Freeze Flurry.
  102. actions.single_standard+=/flurry,if=prev_gcd.1.frostbolt&buff.brain_freeze.react&(!talent.glacial_spike.enabled|buff.icicles.stack<4)
  103. actions.single_standard+=/call_action_list,name=essences
  104. actions.single_standard+=/frozen_orb
  105. # With Freezing Rain and at least 2 targets, Blizzard needs to be used with higher priority to make sure you can fit both instant Blizzards into a single Freezing Rain. Starting with three targets, Blizzard leaves the low priority filler role and is used on cooldown (and just making sure not to waste Brain Freeze charges) with or without Freezing Rain.
  106. actions.single_standard+=/blizzard,if=active_enemies>2|active_enemies>1&cast_time=0&buff.fingers_of_frost.react<2
  107. # Trying to pool charges of FoF for anything isn't worth it. Use them as they come.
  108. actions.single_standard+=/ice_lance,if=buff.fingers_of_frost.react
  109. actions.single_standard+=/comet_storm
  110. actions.single_standard+=/ebonbolt
  111. # Ray of Frost is used after all Fingers of Frost charges have been used and there isn't active Frozen Orb that could generate more. This is only a small gain against multiple targets, as Ray of Frost isn't too impactful.
  112. actions.single_standard+=/ray_of_frost,if=!action.frozen_orb.in_flight&ground_aoe.frozen_orb.remains=0
  113. # Blizzard is used as low priority filler against 2 targets. When using Freezing Rain, it's a medium gain to use the instant Blizzard even against a single target, especially with low mastery.
  114. actions.single_standard+=/blizzard,if=cast_time=0|active_enemies>1
  115. # Glacial Spike is used when there's a Brain Freeze proc active (i.e. only when it can be shattered). This is a small to medium gain in most situations. Low mastery leans towards using it when available. When using Splitting Ice and having another target nearby, it's slightly better to use GS when available, as the second target doesn't benefit from shattering the main target.
  116. actions.single_standard+=/glacial_spike,if=buff.brain_freeze.react|prev_gcd.1.ebonbolt|active_enemies>1&talent.splitting_ice.enabled
  117.  
  118. actions.single_no_lance=flurry,if=talent.ebonbolt.enabled&prev_gcd.1.ebonbolt&buff.brain_freeze.react
  119. actions.single_no_lance+=/flurry,if=prev_gcd.1.glacial_spike&buff.brain_freeze.react
  120. actions.single_no_lance+=/call_action_list,name=essences
  121. actions.single_no_lance+=/frozen_orb
  122. actions.single_no_lance+=/blizzard,if=active_enemies>2|active_enemies>1&!talent.splitting_ice.enabled
  123. actions.single_no_lance+=/comet_storm
  124. actions.single_no_lance+=/ebonbolt,if=buff.icicles.stack=5&!buff.brain_freeze.react
  125. actions.single_no_lance+=/ice_lance,if=buff.brain_freeze.react&(buff.fingers_of_frost.react|prev_gcd.1.flurry)&(buff.icicles.max_stack-buff.icicles.stack)*action.frostbolt.execute_time+action.glacial_spike.cast_time+action.glacial_spike.travel_time<incanters_flow_time_to.5.any&buff.memory_of_lucid_dreams.down
  126. actions.single_no_lance+=/glacial_spike,if=buff.brain_freeze.react|prev_gcd.1.ebonbolt|talent.incanters_flow.enabled&cast_time+travel_time>incanters_flow_time_to.5.up&cast_time+travel_time<incanters_flow_time_to.4.down
  127.  
  128. actions.single_orb=call_action_list,name=essences
  129. actions.single_orb+=/frozen_orb
  130. actions.single_orb+=/flurry,if=prev_gcd.1.ebonbolt&buff.brain_freeze.react
  131. actions.single_orb+=/blizzard,if=active_enemies>2|active_enemies>1&cast_time=0
  132. actions.single_orb+=/ice_lance,if=buff.fingers_of_frost.react&cooldown.frozen_orb.remains>5|buff.fingers_of_frost.react=2
  133. actions.single_orb+=/blizzard,if=cast_time=0
  134. actions.single_orb+=/flurry,if=prev_gcd.1.ebonbolt
  135. actions.single_orb+=/flurry,if=buff.brain_freeze.react&(prev_gcd.1.frostbolt|debuff.packed_ice.remains>execute_time+action.ice_lance.travel_time)
  136. actions.single_orb+=/comet_storm
  137. actions.single_orb+=/ebonbolt
  138. actions.single_orb+=/ray_of_frost,if=debuff.packed_ice.up,interrupt_if=buff.fingers_of_frost.react=2,interrupt_immediate=1
  139. actions.single_orb+=/blizzard
  140.  
  141. # In some situations, you can shatter Ice Nova even after already casting Flurry and Ice Lance. Otherwise this action is used when the mage has FoF after casting Flurry, see above.
  142. actions.single=ice_nova,if=cooldown.ice_nova.ready&debuff.winters_chill.up
  143. actions.single+=/call_action_list,strict=1,name=single_standard,if=rotation.standard
  144. actions.single+=/call_action_list,strict=1,name=single_no_lance,if=rotation.no_ice_lance
  145. actions.single+=/call_action_list,strict=1,name=single_orb,if=rotation.frozen_orb
  146. actions.single+=/ice_nova
  147. actions.single+=/use_item,name=tidestorm_codex,if=buff.icy_veins.down&buff.rune_of_power.down
  148. actions.single+=/use_item,effect_name=cyclotronic_blast,if=buff.icy_veins.down&buff.rune_of_power.down
  149. actions.single+=/frostbolt
  150. actions.single+=/call_action_list,name=movement
  151. actions.single+=/ice_lance
  152.  
  153. # With Glacial Spike, Rune of Power should be used right before the Glacial Spike combo (i.e. with 5 Icicles and a Brain Freeze). When Ebonbolt is off cooldown, Rune of Power can also be used just with 5 Icicles.
  154. actions.talent_rop=rune_of_power,if=talent.glacial_spike.enabled&buff.icicles.stack=5&(buff.brain_freeze.react|talent.ebonbolt.enabled&cooldown.ebonbolt.remains<cast_time)
  155. # Without Glacial Spike, Rune of Power should be used before any bigger cooldown (Ebonbolt, Comet Storm, Ray of Frost) or when Rune of Power is about to reach 2 charges.
  156. actions.talent_rop+=/rune_of_power,if=!talent.glacial_spike.enabled&(talent.ebonbolt.enabled&cooldown.ebonbolt.remains<cast_time|talent.comet_storm.enabled&cooldown.comet_storm.remains<cast_time|talent.ray_of_frost.enabled&cooldown.ray_of_frost.remains<cast_time|charges_fractional>1.9)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement