From 86b460265408aa624371f73f2865e4fa28dea6fa Mon Sep 17 00:00:00 2001 From: Nnoggie <27819512+Nnoggie@users.noreply.github.com> Date: Mon, 5 Oct 2026 17:00:25 +0200 Subject: [PATCH] [Action] Apply passive chain multiplier modifiers without chain targets #10659 replaced the per-action P_CHAIN_MULTIPLIER handling with the modified spell data, read in action_t::parse_effect_data. That read only happens for effects with more than one chain target, so a passive modifier on a spell that chains through class module target counts is written to the data but never reaches the action. Clawing Shadows (1241567) effect #3 reduces Scourge Strike's chain multiplier by 10%, but Scourge Strike has 0 chain targets in spell data (1 with the talent's effect #4), and its extra targets come from the Clawing Shadows buff through n_targets(). Every chained Scourge Strike, Clawing Shadows and Vampiric Strike hit dealt full damage. For effects below the chain target threshold, take the passive percent modifier on its own, as the pre-#10659 handling did, so the base spell data chain multiplier of single target spells stays unused. Co-Authored-By: Claude Opus 5.5 (1M context) --- engine/action/action.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/engine/action/action.cpp b/engine/action/action.cpp index 72555b9bb7d..310d0546efe 100644 --- a/engine/action/action.cpp +++ b/engine/action/action.cpp @@ -884,6 +884,12 @@ void action_t::parse_effect_data( const spelleffect_data_t& spelleffect_data ) aoe = spelleffect_data.chain_target(); chain_multiplier = spelleffect_data.chain_multiplier(); } + // Spells that chain through class module target counts rather than their own chain targets, such as Scourge Strike + // with Clawing Shadows, still take passive chain multiplier modifiers without the base spell data value. + else if ( auto pct = player->get_passive_value( spelleffect_data, "chain_multiplier" )[ 2 ]; pct != 1.0 ) + { + chain_multiplier = pct; + } switch ( spelleffect_data.type() ) {