From 67f33f6c3e24ddff4c247f55646f2f86c192b5e3 Mon Sep 17 00:00:00 2001 From: Aezeor Date: Tue, 13 Oct 2026 15:12:24 -0400 Subject: [PATCH 1/2] [Havoc] Eternal hunt double dips on blade dance last hit --- engine/class_modules/sc_demon_hunter.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/engine/class_modules/sc_demon_hunter.cpp b/engine/class_modules/sc_demon_hunter.cpp index ff4d25db005..a38bf2bc596 100644 --- a/engine/class_modules/sc_demon_hunter.cpp +++ b/engine/class_modules/sc_demon_hunter.cpp @@ -7075,6 +7075,11 @@ struct blade_dance_base_t { double m = base_t::composite_da_multiplier( s ); m *= 1.0 + dh()->talent.havoc.first_blood->effectN( 1 ).percent(); + + // 10/13/2026 the last attack of Blade Dance double dips the Eternal Hunt bonus. + if ( dh()->talent.havoc.eternal_hunt_3->ok() && last_attack) + m *= 1.0 + dh()->talent.havoc.eternal_hunt_3->effectN( 1 ).percent(); + return m; } @@ -7121,6 +7126,17 @@ struct blade_dance_base_t target_filter_callback = secondary_targets_only(); } + double composite_da_multiplier( const action_state_t* s ) const override + { + double m = base_t::composite_da_multiplier( s ); + + // 10/13/2026 the last attack of Blade Dance double dips the Eternal Hunt bonus. + if ( dh()->talent.havoc.eternal_hunt_3->ok() && last_attack ) + m *= 1.0 + dh()->talent.havoc.eternal_hunt_3->effectN( 1 ).percent(); + + return m; + } + void impact( action_state_t* s ) override { demon_hunter_attack_t::impact( s ); From d872109c589a6d23ad493d423ba6c3c9f87fc5b9 Mon Sep 17 00:00:00 2001 From: Aezeor Date: Tue, 13 Oct 2026 15:15:46 -0400 Subject: [PATCH 2/2] fix inheritance --- engine/class_modules/sc_demon_hunter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/class_modules/sc_demon_hunter.cpp b/engine/class_modules/sc_demon_hunter.cpp index a38bf2bc596..872328dad7d 100644 --- a/engine/class_modules/sc_demon_hunter.cpp +++ b/engine/class_modules/sc_demon_hunter.cpp @@ -7128,7 +7128,7 @@ struct blade_dance_base_t double composite_da_multiplier( const action_state_t* s ) const override { - double m = base_t::composite_da_multiplier( s ); + double m = demon_hunter_attack_t::composite_da_multiplier( s ); // 10/13/2026 the last attack of Blade Dance double dips the Eternal Hunt bonus. if ( dh()->talent.havoc.eternal_hunt_3->ok() && last_attack )