Skip to content

Commit

Permalink
Merge pull request #3508 from Supernuss/cataclysm
Browse files Browse the repository at this point in the history
Multiple Class updates and Mage Support
  • Loading branch information
Hekili authored Aug 22, 2024
2 parents 33eb559 + 7447b5a commit fa3fe89
Show file tree
Hide file tree
Showing 7 changed files with 1,488 additions and 3,439 deletions.
3 changes: 3 additions & 0 deletions Cataclysm/APLs/DeathKnightFrost.simc
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ actions+=/howling_blast,if=buff.freezing_fog.up
# Howling Blast if Frost Fever is not active
actions+=/howling_blast,if=!dot.frost_fever.ticking

# Use DnD in AoE situation
actions+=/death_and_decay,if=!moving&fight_remains>5&active_enemies>1

# Ensuring Plague Strike is used with Unholy runes and Blood Plague is not active
actions+=/plague_strike,if=!dot.blood_plague.ticking&unholy_runes.current=2

Expand Down
30 changes: 16 additions & 14 deletions Cataclysm/APLs/DeathKnightUnholy.simc
Original file line number Diff line number Diff line change
Expand Up @@ -8,32 +8,34 @@ actions.precombat+=/horn_of_winter,precombat_seconds=1
actions.precombat+=/potion,precombat_seconds=1

actions+=/mind_freeze
actions+=/dark_transformation,if=target.time_to_die>=15|active_enemies>1
actions+=/scourge_strike,if=target.time_to_die<3&active_enemies<2
actions+=/festering_strike,if=target.time_to_die<3&active_enemies<2
actions+=/death_coil,if=target.time_to_die<3&active_enemies<2

actions+=/unholy_frenzy,if=buff.unholy_strength.up
actions+=/synapse_springs,if=buff.unholy_strength.up|target.time_to_die<=13
actions+=/blood_fury,if=buff.unholy_strength.up|target.time_to_die<=13
actions+=/potion,if=buff.unholy_strength.up|target.time_to_die<=25
actions+=/outbreak,if=buff.unholy_strength.up&buff.synapse_springs.up
actions+=/summon_gargoyle,if=buff.unholy_strength.up&(cooldown.unholy_frenzy.up|buff.unholy_frenzy.up|buff.bloodlust.up)
actions+=/outbreak,if=time>15&(!dot.frost_fever.ticking|!dot.blood_plague.ticking)
actions+=/icy_touch,if=!dot.frost_fever.ticking
actions+=/plague_strike,if=!dot.blood_plague.ticking
actions+=/dark_transformation
actions+=/unholy_frenzy,if=buff.dark_transformation.up
actions+=/synapse_springs,if=buff.dark_transformation.up
actions+=/blood_fury,if=buff.dark_transformation.up
actions+=/potion,if=buff.dark_transformation.up
actions+=/outbreak,if=buff.unholy_strength.up&buff.synapse_springs.up
actions+=/summon_gargoyle,if=buff.dark_transformation.up&(cooldown.unholy_frenzy.up|buff.unholy_frenzy.up|buff.bloodlust.up)
actions+=/outbreak,if=!dot.frost_fever.ticking&!dot.blood_plague.ticking
actions+=/pestilence,if=dot.frost_fever.ticking&dot.blood_plague.ticking&(active_dot.frost_fever+active_dot.blood_plague<active_enemies*2)
actions+=/death_and_decay,if=!moving&fight_remains>5|active_enemies>1
actions+=/blood_boil,if=active_enemies>2
actions+=/scourge_strike,if=unholy_runes.time_to_2<=1
actions+=/festering_strike,if=blood_runes.time_to_2<=1&frost_runes.time_to_2<=1
actions+=/scourge_strike,if=unholy_runes.time_to_2<=1
actions+=/blood_strike,if=blood_runes.time_to_2<=1&!action.festering_strike.known
actions+=/death_coil,if=runic_power.current>=80|(buff.sudden_doom.up&buff.sudden_doom.remains<buff.dark_transformation.remains)|(!buff.dark_transformation.up&buff.shadow_infusion.stack<5)
actions+=/icy_touch,if=frost_runes.time_to_2<=1&active_enemies>2
actions+=/icy_touch,if=frost_runes.time_to_2<=1&!action.festering_strike.known
actions+=/death_coil,if=!cooldown.summon_gargoyle.ready&!buff.runic_corruption.up&!buff.bloodlust.up
actions+=/icy_touch,if=frost_runes.time_to_2<=1&(!action.festering_strike.known|active_enemies>2)
actions+=/scourge_strike
actions+=/death_coil,if=runic_power.current>=44&(!buff.dark_transformation.up&buff.shadow_infusion.stack<5)|(buff.sudden_doom.up&buff.sudden_doom.remains<buff.dark_transformation.remains)
actions+=/festering_strike
actions+=/blood_strike,if=!action.festering_strike.known
actions+=/death_coil,if=!cooldown.summon_gargoyle.ready
actions+=/blood_tap,if=blood_runes.current=0
actions+=/death_coil,if=!cooldown.summon_gargoyle.ready|buff.sudden_doom.up|runic_power.current>=100
actions+=/blood_tap,if=blood_runes.current=0&blood_runes.time_to_1>2
actions+=/horn_of_winter,if=!buff.horn_of_winter.up
actions+=/empower_rune_weapon,if=blood_runes.current=0&frost_runes.current=0&unholy_runes.current=0

102 changes: 66 additions & 36 deletions Cataclysm/APLs/PriestShadow.simc
Original file line number Diff line number Diff line change
@@ -1,44 +1,74 @@
# Opener
## Shadow Priest
## Based on WoWSims & WoWHead

## PreCombat-Actions
# Enter Shadowform if not already in it
actions.precombat+=/shadowform,if=buff.shadowform.down
# Cast Power Word: Fortitude if not active
actions.precombat+=/power_word_fortitude,if=buff.power_word_fortitude.down
# Cast Inner Fire if not active
actions.precombat+=/inner_fire,if=!up
# Cast Vampiric Embrace if not active
actions.precombat+=/vampiric_embrace,if=!up
# Start precombat with Mind Spike
actions.precombat+=/mind_spike
actions.precombat+=/shadow_word_pain
actions+=/shadowfiend,if=!pet.alive
actions+=/shadow_word_pain,if=!ticking&target.debuff.shadow_word_pain.remains<tick_time
actions+=/mind_flay,if=buff.shadow_orb.stack>=1&buff.evangelism.stack=5
actions+=/mind_blast,if=buff.shadow_orb.react
actions+=/devouring_plague,if=!ticking&target.debuff.devouring_plague.remains<tick_time
actions+=/vampiric_touch,if=!ticking&target.debuff.vampiric_touch.remains<tick_time


# Enter Shadowform if not already in it
actions+=/shadowform,if=buff.shadowform.down
# Switch to AoE rotation if 2 or more enemies are present
actions+=/run_action_list,name=aoe,if=active_enemies>=2
# Default to single-target rotation
actions+=/run_action_list,name=st

## Single Target Rotation

# Main Rotation
actions.st+=/mind_blast,if=cooldown.mind_blast.remains=0&target.debuff.vampiric_touch.up
actions.st+=/mind_flay,if=buff.mind_flay.stack<3&target.debuff.shadow_word_pain.remains>1
actions.st+=/devouring_plague,if=target.debuff.devouring_plague.remains<tick_time
actions.st+=/vampiric_touch,if=target.debuff.vampiric_touch.remains<tick_time
actions.st+=/shadow_word_death,if=target.health.pct<25|mana.pct<15
actions.st+=/mind_blast,if=buff.shadow_orb.react
## Opener sequence for single target
# Cast Mind Spike if none of the main debuffs are present
actions.st+=/mind_spike,if=!debuff.mind_spike.up&!debuff.shadow_word_pain.up&!debuff.devouring_plague.up&!debuff.vampiric_touch.up
# Summon Shadowfiend if it is not alive and it is early in the fight
actions.st+=/shadowfiend,if=!pet.alive&time<5
# Emergency Mind Flay to maintain Shadow Word: Pain
actions.st+=/mind_flay,if=debuff.shadow_word_pain.up&debuff.shadow_word_pain.remains<gcd+latency
# Apply Shadow Word: Pain if its not up
actions.st+=/shadow_word_pain,if=!debuff.shadow_word_pain.up
# Cast Mind Flay to start generating Shadow Orbs and Dark Evangelism stacks
actions.st+=/mind_flay,interrupt_if=buff.shadow_orb.stack>=1&buff.dark_evangelism.stack>=5,if=!(buff.shadow_orb.stack>=1&buff.dark_evangelism.stack>=5)&time<=(2*gcd+2.5*action.mind_flay.duration)

# Cooldown and Utility
actions.st+=/shadowfiend,if=cooldown.shadowfiend.remains=0
actions.st+=/archangel,if=buff.evangelism.stack=5&(target.debuff.vampiric_touch.remains>6&target.debuff.devouring_plague.remains>6&target.debuff.shadow_word_pain.remains>6)
actions.st+=/dispersion,if=mana.pct<15
actions.st+=/pain_suppression,if=health.pct<50&!buff.dispersion.up
## Main Rotation
# Cast Mind Blast if Shadow Orbs are available
actions.st+=/mind_blast,if=buff.shadow_orb.up
# Reapply Vampiric Touch if its duration is about to expire
actions.st+=/vampiric_touch,if=debuff.vampiric_touch.remains<debuff.vampiric_touch.tick_time
# Reapply Devouring Plague if its duration is about to expire
actions.st+=/devouring_plague,if=debuff.devouring_plague.remains<debuff.devouring_plague.tick_time
# Cast Mind Blast as a filler
actions.st+=/mind_blast
# Use Archangel when Dark Evangelism stacks are maxed and main DoTs have sufficient duration
actions.st+=/archangel,if=buff.dark_evangelism.stack=5&(debuff.vampiric_touch.remains>5&debuff.devouring_plague.remains>5)
# Summon Shadowfiend if it is not alive
actions.st+=/shadowfiend,if=!pet.alive
# Use Shadow Word: Death if the target is below 25% health or mana is low
actions.st+=/shadow_word_death,if=target.health.pct<25|mana.pct<20
# Use Dispersion if mana is very low
actions.st+=/dispersion,if=mana.pct<10
# Cast Mind Flay if none of the main debuffs are about to expire and Mind Blast is on cooldown
actions.st+=/mind_flay,if=!(debuff.vampiric_touch.remains<gcd|debuff.devouring_plague.remains<gcd|cooldown.mind_blast.remains<gcd)

# AoE Rotation
## AoE Rotation
# Cast Mind Sear if there are more than 5 enemies
actions.aoe+=/mind_sear,if=active_enemies>5
# Apply Shadow Word: Pain to multiple targets if it is about to expire
actions.aoe+=/shadow_word_pain,cycle_targets=1,max_cycle_targets=5,if=settings.dots_in_aoe&debuff.shadow_word_pain.remains<debuff.shadow_word_pain.tick_time
# Apply Vampiric Touch to multiple targets if it is about to expire and the target will live long enough
actions.aoe+=/vampiric_touch,cycle_targets=1,max_cycle_targets=5,if=settings.dots_in_aoe&debuff.vampiric_touch.remains<debuff.vampiric_touch.tick_time&target.time_to_die>=debuff.vampiric_touch.duration
# Reapply Devouring Plague if its duration is about to expire
actions.aoe+=/devouring_plague,if=settings.dots_in_aoe&debuff.devouring_plague.remains<debuff.devouring_plague.tick_time
# Cast Mind Blast if Shadow Orbs are available
actions.aoe+=/mind_blast,if=buff.shadow_orb.up
# Use Mind Flay to maintain Shadow Word: Pain if it is about to expire
actions.aoe+=/mind_flay,interrupt_if=ticks>=2,if=debuff.shadow_word_pain.up&debuff.shadow_word_pain.remains<gcd+latency
# Use Shadow Word: Death if the target is below 25% health or mana is low and there are less than 4 enemies
actions.aoe+=/shadow_word_death,if=target.health.pct<25&active_enemies<4|mana.pct<15
# Cast Mind Sear as a filler
actions.aoe+=/mind_sear
actions.aoe+=/shadow_word_pain,if=target.debuff.shadow_word_pain.remains<3
actions.aoe+=/vampiric_touch,if=target.debuff.vampiric_touch.remains<3
actions.aoe+=/devouring_plague,if=target.debuff.devouring_plague.remains<3
actions.aoe+=/mind_blast,if=buff.shadow_orb.react

# Talent-Specific Actions (Adjust based on your talent choices)
actions.st+=/mind_spike,if=talent.mind_spike.enabled&buff.archangel.up

# Fillers
actions.st+=/mind_flay,if=buff.evangelism.stack<5


# Precombat Buffs
actions.precombat+=/power_word_fortitude,if=buff.power_word_fortitude.down
actions.precombat+=/inner_fire
Loading

0 comments on commit fa3fe89

Please sign in to comment.