Skip to content

Commit 3045278

Browse files
authored
[Death Knight] Refactor Blood Deathbringer APL (#10184)
1 parent 88c09f1 commit 3045278

File tree

1 file changed

+21
-24
lines changed

1 file changed

+21
-24
lines changed

engine/class_modules/apl/apl_death_knight.cpp

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,12 @@ void blood( player_t* p )
111111
action_priority_list_t* default_ = p->get_action_priority_list( "default" );
112112
action_priority_list_t* precombat = p->get_action_priority_list( "precombat" );
113113
action_priority_list_t* high_prio_actions = p->get_action_priority_list( "high_prio_actions" );
114+
action_priority_list_t* db_cds = p->get_action_priority_list( "db_cds" );
114115
action_priority_list_t* deathbringer = p->get_action_priority_list( "deathbringer" );
115116
action_priority_list_t* san_cds = p->get_action_priority_list( "san_cds" );
116117
action_priority_list_t* san_drw = p->get_action_priority_list( "san_drw" );
117118
action_priority_list_t* sanlayn = p->get_action_priority_list( "sanlayn" );
119+
action_priority_list_t* variables = p->get_action_priority_list( "variables" );
118120

119121
precombat->add_action( "snapshot_stats" );
120122
precombat->add_action( "deaths_caress" );
@@ -130,49 +132,42 @@ void blood( player_t* p )
130132
default_->add_action( "fireblood,if=buff.dancing_rune_weapon.up" );
131133
default_->add_action( "potion,if=buff.dancing_rune_weapon.up" );
132134
default_->add_action( "vampiric_blood,if=!buff.vampiric_blood.up" );
135+
default_->add_action( "call_action_list,name=variables" );
133136
default_->add_action( "call_action_list,name=high_prio_actions" );
134137
default_->add_action( "run_action_list,name=san_drw,if=hero_tree.sanlayn&buff.dancing_rune_weapon.up" );
135138
default_->add_action( "call_action_list,name=san_cds,if=hero_tree.sanlayn" );
136139
default_->add_action( "run_action_list,name=sanlayn,if=hero_tree.sanlayn" );
140+
default_->add_action( "call_action_list,name=db_cds,if=hero_tree.deathbringer" );
137141
default_->add_action( "run_action_list,name=deathbringer,if=hero_tree.deathbringer" );
138142

139143
high_prio_actions->add_action( "blood_tap,use_off_gcd=1,if=(rune<=2&rune.time_to_3>gcd.max&charges_fractional>=1.8)" );
140144
high_prio_actions->add_action( "blood_tap,use_off_gcd=1,if=(rune<=1&rune.time_to_3>gcd.max)" );
141145
high_prio_actions->add_action( "raise_dead,use_off_gcd=1" );
142146
high_prio_actions->add_action( "deaths_caress,if=buff.bone_shield.remains<gcd.max*2" );
143147
high_prio_actions->add_action( "death_strike,if=buff.coagulopathy.up&buff.coagulopathy.remains<=gcd.max*2" );
144-
high_prio_actions->add_action( "death_and_decay,if=!buff.death_and_decay.up" );
148+
high_prio_actions->add_action( "any_dnd,if=!buff.death_and_decay.up" );
145149
high_prio_actions->add_action( "blood_boil,if=dot.blood_plague.remains<gcd.max*2" );
146-
high_prio_actions->add_action( "soul_reaper,if=active_enemies=1&target.time_to_pct_35<5&target.time_to_die>(dot.soul_reaper.remains+5)&(!hero_tree.sanlayn|pet.dancing_rune_weapon.remains<5)" );
147-
148-
deathbringer->add_action( "rune_tap,if=rune>2" );
149-
deathbringer->add_action( "dancing_rune_weapon" );
150-
deathbringer->add_action( "death_strike,if=buff.coagulopathy.remains<=gcd" );
151-
deathbringer->add_action( "marrowrend,if=!buff.bone_shield.up|buff.bone_shield.remains<1.5|buff.bone_shield.stack<=1" );
152-
deathbringer->add_action( "marrowrend,if=(buff.exterminate.up)&(cooldown.reapers_mark.up|cooldown.reapers_mark.remains<3)" );
153-
deathbringer->add_action( "deaths_caress,if=!buff.bone_shield.up|buff.bone_shield.remains<1.5|buff.bone_shield.stack<=1" );
154-
deathbringer->add_action( "blood_boil,if=dot.blood_plague.remains<3" );
155-
deathbringer->add_action( "bonestorm,if=buff.bone_shield.stack>=5&(!talent.shattering_bone.enabled|death_and_decay.ticking)&!buff.dancing_rune_weapon.remains" );
156-
deathbringer->add_action( "soul_reaper,if=active_enemies<=2&buff.reaper_of_souls.up&target.time_to_die>(dot.soul_reaper.remains+5)" );
157-
deathbringer->add_action( "soul_reaper,if=active_enemies<=2&target.time_to_pct_35<5&target.time_to_die>(dot.soul_reaper.remains+5)" );
158-
deathbringer->add_action( "death_and_decay,if=((dot.reapers_mark.ticking)&!death_and_decay.ticking)|!buff.death_and_decay.up" );
159-
deathbringer->add_action( "marrowrend,if=buff.exterminate.up" );
160-
deathbringer->add_action( "bonestorm,if=buff.bone_shield.stack>=5&(!talent.shattering_bone.enabled|death_and_decay.ticking)&buff.dancing_rune_weapon.remains" );
161-
deathbringer->add_action( "death_strike,if=(runic_power.deficit<35|(runic_power.deficit<41&buff.dancing_rune_weapon.up))" );
162-
deathbringer->add_action( "reapers_mark" );
150+
high_prio_actions->add_action( "soul_reaper,if=active_enemies=1&(target.time_to_pct_35<5)&target.time_to_die>(dot.soul_reaper.remains+5)&(!hero_tree.sanlayn|pet.dancing_rune_weapon.remains<5)" );
151+
high_prio_actions->add_action( "rune_tap,use_off_gcd=1,if=rune>3" );
152+
153+
db_cds->add_action( "reapers_mark" );
154+
db_cds->add_action( "dancing_rune_weapon" );
155+
db_cds->add_action( "bonestorm,if=buff.bone_shield.stack>=5&(!talent.shattering_bone.enabled|death_and_decay.ticking)" );
156+
db_cds->add_action( "tombstone,if=buff.bone_shield.stack>=8&(!talent.shattering_bone.enabled|death_and_decay.ticking)&cooldown.dancing_rune_weapon.remains>=25" );
157+
db_cds->add_action( "abomination_limb,if=!buff.dancing_rune_weapon.up" );
158+
159+
deathbringer->add_action( "death_strike,if=runic_power.deficit<variable.rp_deficit_threshold+(pet.dancing_rune_weapon.active*3)+(talent.everlasting_bond*3)" );
160+
deathbringer->add_action( "marrowrend,if=buff.exterminate.react" );
163161
deathbringer->add_action( "marrowrend,if=buff.bone_shield.stack<6&!dot.bonestorm.ticking" );
164-
deathbringer->add_action( "tombstone,if=buff.bone_shield.stack>=8&(!talent.shattering_bone.enabled|death_and_decay.ticking)&cooldown.dancing_rune_weapon.remains>=25" );
165-
deathbringer->add_action( "abomination_limb,if=!buff.dancing_rune_weapon.up" );
166162
deathbringer->add_action( "blood_boil,if=pet.dancing_rune_weapon.active&!drw.bp_ticking" );
167-
deathbringer->add_action( "any_dnd,if=!buff.death_and_decay.remains" );
163+
deathbringer->add_action( "soul_reaper,if=buff.reaper_of_souls.up&cooldown.dancing_rune_weapon.remains" );
168164
deathbringer->add_action( "blooddrinker,if=!buff.dancing_rune_weapon.up&active_enemies<=2&buff.coagulopathy.remains>3" );
169165
deathbringer->add_action( "death_strike" );
170166
deathbringer->add_action( "consumption" );
171167
deathbringer->add_action( "blood_boil,if=charges_fractional>=1.5" );
172168
deathbringer->add_action( "heart_strike,if=rune>=1|rune.time_to_2<gcd" );
173169
deathbringer->add_action( "blood_boil" );
174170
deathbringer->add_action( "heart_strike" );
175-
deathbringer->add_action( "soul_reaper,if=buff.reaper_of_souls.up" );
176171
deathbringer->add_action( "arcane_torrent,if=runic_power.deficit>20" );
177172
deathbringer->add_action( "deaths_caress,if=buff.bone_shield.stack<11" );
178173

@@ -182,7 +177,7 @@ void blood( player_t* p )
182177
san_cds->add_action( "tombstone,if=(!buff.dancing_rune_weapon.up&buff.death_and_decay.up)&buff.bone_shield.stack>5&runic_power.deficit>=30&cooldown.dancing_rune_weapon.remains>25" );
183178

184179
san_drw->add_action( "bonestorm,if=buff.death_and_decay.up&buff.bone_shield.stack>5" );
185-
san_drw->add_action( "death_strike,if=(active_enemies=1|buff.luck_of_the_draw.up)&runic_power.deficit<15+(10*talent.relish_in_blood.enabled)+(3*talent.runic_attenuation.enabled)+(spell_targets.heart_strike*talent.heartbreaker.enabled*2)" );
180+
san_drw->add_action( "death_strike,if=(active_enemies=1|buff.luck_of_the_draw.up)&runic_power.deficit<variable.rp_deficit_threshold" );
186181
san_drw->add_action( "blood_boil,if=!drw.bp_ticking" );
187182
san_drw->add_action( "heart_strike" );
188183
san_drw->add_action( "death_strike" );
@@ -192,13 +187,15 @@ void blood( player_t* p )
192187
sanlayn->add_action( "heart_strike,if=buff.infliction_of_sorrow.up" );
193188
sanlayn->add_action( "heart_strike,if=buff.vampiric_strike.up" );
194189
sanlayn->add_action( "blooddrinker,if=!buff.dancing_rune_weapon.up&active_enemies<=2&buff.coagulopathy.remains>3" );
195-
sanlayn->add_action( "death_strike,if=runic_power.deficit<15+(10*talent.relish_in_blood.enabled)+(3*talent.runic_attenuation.enabled)+(spell_targets.heart_strike*talent.heartbreaker.enabled*2)" );
190+
sanlayn->add_action( "death_strike,if=runic_power.deficit<variable.rp_deficit_threshold" );
196191
sanlayn->add_action( "marrowrend,if=!dot.bonestorm.ticking&buff.bone_shield.stack<variable.bone_shield_refresh_value&runic_power.deficit>20" );
197192
sanlayn->add_action( "death_strike" );
198193
sanlayn->add_action( "heart_strike,if=rune>1" );
199194
sanlayn->add_action( "consumption" );
200195
sanlayn->add_action( "blood_boil" );
201196
sanlayn->add_action( "heart_strike" );
197+
198+
variables->add_action( "variable,name=rp_deficit_threshold,value=15+(10*talent.relish_in_blood.enabled)+(3*talent.runic_attenuation.enabled)+(spell_targets.heart_strike*talent.heartbreaker.enabled*2)" );
202199
}
203200
//blood_apl_end
204201

0 commit comments

Comments
 (0)