PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding
[Feature Request] Add option to calculate Elemental Overload damage based on expected uptime
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 5.4k
- Forks
- 2.4k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 26
Description
Check for duplicates
- I've checked for duplicate issues by using the search function of the issue tracker
Is your feature request related to a problem?
Currently, the damage calculator assumes that Elemental Overload has 100% uptime when it is allocated, regardless of a skill's critical strike chance. This is unrealistic and misleading for skills with low hit frequencies and critical strike chance, or skills supported by Controlled Destruction. When sorting support gems by DPS gain, Controlled Destruction is listed highly despite being a damage loss in reality.
Describe the solution you'd like
Add a toggle in the config tab that allows users who have allocated Elemental Overload (EO) to select between two options for EO estimation: "Always active" and "Expected uptime". "Always active" should replicate current behaviour. "Expected uptime" should scale the modifier from EO based on the following (or a similar) formula:
EO = 40% * min[1; Hit Rate * Effective Crit Chance * 8 * (1 + Total EO Increase)]
wherein Effective Crit Chance respects accuracy for attacks, and Total EO Increase refers to effects like temporal chains on the player.
"Expected uptime" should be the default selection, so users unaware of the mechanism of EO are not misleadingly pointed to options like Controlled Destruction.
This calculation is still not accurate for builds that involve a rotation of multiple skills, like Hexblast, and for any other situation in which players are not hitting for any period of time, but it's no longer as misleading as the current behaviour.
Describe alternatives you've considered
No response
Additional context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the config tab and the Elemental Overload damage-calculation entry point; the payload does not name specific files or tests. Trace how EO is currently treated as always active, then define the two selectable estimation modes and verify that the expected-uptime formula affects damage and the default setting as requested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100