Repository navigation
Conversation
Nnoggie
force-pushed
the
unholy-clawing-shadows-chain-multiplier
branch
from
October 5, 2026 14:11
a8b890a to
c678073
Compare
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
force-pushed
the
unholy-clawing-shadows-chain-multiplier
branch
from
October 5, 2026 15:00
c678073 to
86b4602
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_MULTIPLIERhandling inapply_affecting_aura(chain_multiplier *= 1.0 + effect.percent()). The passive system now writes the modifier into the spell data, which works:The action only reads that value in
action_t::parse_effect_data, insideif ( 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 throughn_targets(). The action therefore keepschain_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_datanow takes the passive percent modifier fromget_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_mulper 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=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()inscourge_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