Skip to content

Fix Ember Fusillade projectile DPS#1876

Open
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/ember-fusillade-projectile-dps
Open

Fix Ember Fusillade projectile DPS#1876
unrealdreamz wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
unrealdreamz:fix/ember-fusillade-projectile-dps

Conversation

@unrealdreamz
Copy link
Copy Markdown
Contributor

@unrealdreamz unrealdreamz commented May 18, 2026

Summary

  • Make Ember Fusillade's hit DPS scale with its calculated Projectile Count.
  • Add a regression covering both Hit DPS and Full DPS when Ember Fusillade gains additional projectiles.
  • Update the skill export template and the generated skill data together so future skill-data exports preserve the fix.

Root Cause

  • Ember Fusillade already calculated and displayed Projectile Count correctly.
  • The generic hit DPS path intentionally does not multiply every projectile skill by Projectile Count, because many projectile skills do not shotgun.
  • Ember Fusillade is one of the skills where multiple embers from the same fusillade can hit, but the skill did not set a skill-local DPS multiplier.
  • Full DPS then inherited the same undercount because it aggregates TotalDPS.

Fix

  • Add an Ember Fusillade-local preDamageFunc that maps the already-calculated output.ProjectileCount into skillData.dpsMultiplier.
  • Keep the multiplier skill-specific; no global projectile DPS behavior changed.
  • Add a focused regression that verifies additional Ember Fusillade projectiles increase Projectile Count, TotalDPS, and FullDPS together.

Validation

  • PASS: git diff --check
    • Output only included line-ending warnings from the Windows checkout.
  • PASS: Lua syntax check for touched Lua files using lupa:
    • src/Data/Skills/act_int.lua: syntax ok
    • spec/System/TestSkills_spec.lua: syntax ok
  • PASS: static reproduction of the calculation path:
    • before additional projectiles ratio=1
    • after additional projectiles ratio=3
  • PASS: targeted Busted spec after installing the repo's LuaJIT/Busted dependencies locally:
    • Command: busted --lua=luajit ../spec/System/TestSkills_spec.lua
    • Output: 11 successes / 0 failures / 0 errors / 0 pending : 67.641 seconds
  • Not run locally: docker-compose up
    • Docker/docker-compose are not available in this local environment.
  • ModCache regeneration: not applicable; this PR does not change mod parsing.

Generated data note

  • src/Export/Skills/act_int.txt is the source template change.
  • src/Data/Skills/act_int.lua is the matching generated data update included for review/runtime consistency.

Risk / Rollback

  • Low risk: the DPS multiplier is scoped to Ember Fusillade only.
  • The generic projectile calculation remains unchanged, avoiding accidental shotgun scaling for unrelated projectile skills.
  • Rollback is the one Ember Fusillade skill-template/data change plus the regression test.

Fixes #1850

Copy link
Copy Markdown
Contributor

@LocalIdentity LocalIdentity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Ember Fusillade DPS calculation does not respect projectile count

2 participants