Skip to content

[Action] Apply passive chain multiplier modifiers without chain targets - #11924

Closed
Nnoggie wants to merge 1 commit into
simulationcraft:midnightfrom
Nnoggie:unholy-clawing-shadows-chain-multiplier
Closed

Nnoggie wants to merge 1 commit into
simulationcraft:midnightfrom
Nnoggie:unholy-clawing-shadows-chain-multiplier

Conversation

@Nnoggie

@Nnoggie Nnoggie commented Oct 5, 2026 •

Copy link
Copy Markdown

Clawing Shadows (1241567) effect #3 reduces the chain multiplier of Scourge Strike, Clawing Shadows and Vampiric Strike by 10% ("Each subsequent chain deals 10% reduced damage"). Currently every chained hit deals full damage.

Cause

#10659 removed the per-action P_CHAIN_MULTIPLIER handling in apply_affecting_aura (chain_multiplier *= 1.0 + effect.percent()). The passive system now writes the modifier into the spell data, which works:

Clawing Shadows (1241567) eff#3 modifying Scourge Strike (55090) chain_multiplier by -10% (orig=1 prev=1[0/100%] now=0.9[0/90%])
Clawing Shadows (1241567) eff#4 modifying Scourge Strike (55090) chain_target by 1 (orig=0 prev=0[0/100%] now=1[1/100%])

The action only reads that value in action_t::parse_effect_data, inside if ( spelleffect_data.chain_target() > 1 ). Scourge Strike has 0 chain targets in spell data, 1 with the talent, and gets its extra targets from the Clawing Shadows buff through n_targets(). The action therefore keeps chain_multiplier = 1.0.

In current data, Clawing Shadows is the only passive chain multiplier modifier on a spell below that threshold. Accelerated Blade's Throw Glaive effects have 2-3 chain targets and already work.

Change

For effects below the threshold, parse_effect_data now takes the passive percent modifier from get_passive_value( effect, "chain_multiplier" ) on its own, as the pre-#10659 handling did. The base spell data chain multiplier stays unused for these spells. 13 damage effects have 1 chain target and a non-1 multiplier (Death Strike, Chaos Strike, Annihilation, Judgment, Hammer of Wrath, Pyroblast, Phoenix's Flames, Icicle, Black Icicle). Their modules handle multi-target behavior themselves, and without a passive modifier they are unchanged.

The value is assigned rather than multiplied because the passive system writes the modifier to every effect of the spell with a non-zero chain multiplier, including Scourge Strike's dummy effects.

Verification

  • MID1_Death_Knight_Unholy.simc, desired_targets=5, debug=1, average_range=1: in one Scourge Strike that hits all 5 targets, raw_amount / tgt_da_mul per chain is 15562.7, 14006.4, 12605.8, 11345.2, 10210.7, a 0.900 ratio at every step. Before this change all chains were equal. Vampiric Strike on San'layn shows the same 0.9 step.
  • Deterministic (deterministic=1, 200 iterations) DPS of every loadable MID1 and MID2 profile at 1 and 5 targets: 156 sims, all identical to a build of this branch's base with only a Death Knight module-side fix (chain_multiplier = data().effectN( 1 ).chain_multiplier() in scourge_strike_base_t). Outside Death Knight that build is the unmodified base, so no other spec changes; the MID2 profiles cover the 13 effects above. Unholy matches the module-side fix exactly.

🤖 Generated with Claude Code

@Nnoggie
Nnoggie force-pushed the unholy-clawing-shadows-chain-multiplier branch from a8b890a to c678073 Compare October 5, 2026 14:11
simulationcraft#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 simulationcraft#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 simulationcraft#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-simulationcraft#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) <noreply@anthropic.com>
@Nnoggie
Nnoggie force-pushed the unholy-clawing-shadows-chain-multiplier branch from c678073 to 86b4602 Compare October 5, 2026 15:00
@Nnoggie Nnoggie changed the title [Unholy] Apply Clawing Shadows' chain damage reduction [Action] Apply passive chain multiplier modifiers without chain targets Oct 5, 2026
@nyterage nyterage closed this Oct 5, 2026
@Nnoggie
Nnoggie deleted the unholy-clawing-shadows-chain-multiplier branch October 7, 2026 07:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants