Skip to content

Display Phantasm DPS in Total DPS - #4661

Closed
APXEOLOG wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
APXEOLOG:feature/initial-phantasm-support-in-total-dps
Closed

Display Phantasm DPS in Total DPS#4661
APXEOLOG wants to merge 1 commit into
PathOfBuildingCommunity:devfrom
APXEOLOG:feature/initial-phantasm-support-in-total-dps

Conversation

@APXEOLOG

Copy link
Copy Markdown
Contributor

Description of the problem being solved:

Phantasms are not being counted in the Total DPS even if the skill has this support gem inserted

  • Count is based on maximum available phantasm limit
  • DPS is always calculated for the "Physical Projectile" minion's skill
  • Such problem as multiple phantasm sources and global limit is out of scope

Steps taken to verify a working solution:

  1. Create a new skill group
  2. Add some active skill gem
  3. Add Summon Phantasm
  4. Toggle "Show in Total DPS"

Link to a build that showcases this PR:

https://pobb.in/HMjN6iKQ-EDg

Before screenshot:

image

After screenshot:

image

@QuickStick123 QuickStick123 added the enhancement New feature, calculation, or mod label Jul 29, 2022
Comment thread src/Modules/Calcs.lua
Comment on lines +236 to +239
fullDPS.poisonDPS = fullDPS.poisonDPS + activeSkill.phantasm.minion.output.PoisonDPS * (activeSkill.phantasm.minion.output.TotalPoisonStacks or 1) * activeSkillCount
end
if activeSkill.phantasm.minion.output.ImpaleDPS and activeSkill.phantasm.minion.output.ImpaleDPS > 0 then
fullDPS.impaleDPS = fullDPS.impaleDPS + activeSkill.phantasm.minion.output.ImpaleDPS * activeSkillCount

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Here activeSkillCount is the count of the source socket group, whereas the Phantasm cap calculated by this PR is stored in activeSkill.phantasm.count. In an asymmetric reproduction on this exact HEAD (source count 2, Phantasm count 5), this block contributes poison and impale using x2 rather than x5, so those components are not included at the maximum Phantasm limit promised by the PR. Using activeSkill.phantasm.count for both explicit accumulators produced the expected per-Phantasm totals in the focused reproduction.

AI-assisted review disclosure: This finding was identified during a review using OpenAI Codex and confirmed with a focused reproduction.

Comment thread src/Modules/Calcs.lua

if activeSkill.phantasm then
if activeSkill.phantasm.minion.output.TotalDPS and activeSkill.phantasm.minion.output.TotalDPS > 0 then
t_insert(fullDPS.skills, { name = activeSkill.phantasm.name, dps = activeSkill.phantasm.minion.output.TotalDPS, count = activeSkill.phantasm.count, trigger = activeSkill.infoTrigger, skillPart = "Summoned by: "..activeSkill.phantasm.source })

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

With Summon Phantasm supporting a player skill, addMinionList = { "SummonedPhantasm" } already makes the generic minion block above emit the selected Phantasm contribution. This added row then emits the same group again. The exact-HEAD fixture produced hit rows of 7 x 2 and 7 x 5 (plus the distinct source's 3 x 2), yielding 55 instead of the deduplicated 41. Skipping the generic row only when it represents that same selected SummonedPhantasm removed the duplicate while preserving a distinct source minion.

AI-assisted review disclosure: This finding was identified during a review using OpenAI Codex and confirmed with a focused reproduction.

@APXEOLOG APXEOLOG closed this Aug 29, 2026
@APXEOLOG
APXEOLOG deleted the feature/initial-phantasm-support-in-total-dps branch August 29, 2026 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature, calculation, or mod

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants