Skip to content

Implement Effective HP and refactor defence calculations to be more accurate - #2390

Merged
Wires77 merged 38 commits into
PathOfBuildingCommunity:devfrom
Regisle:CalcDefencesRework
Feb 4, 2022
Merged

Wires77 merged 38 commits into
PathOfBuildingCommunity:devfrom
Regisle:CalcDefencesRework

Conversation

@Regisle

@Regisle Regisle commented Apr 1, 2021 •

Copy link
Copy Markdown
Member

This PR aims to rework a large section of calcs defense, to improve the accuracy of the maximum hit, and dot/hit "EHP" values as well as allow for more indepth enemy damage calculations

before:
image
after: (note that config values are not the same as the 1 "enemyDamage" input has been split into each of its specific elements)
image

done:
split enemy damage input
split guard and aegis values
fixed dot total pool and dot ehp
moved and cleaned up some code
modify enemy input damage based on modifiers to enemy damage (eg enfeeble curse)
add presets for enemy damage based on boss config
flat damage taken
add enemy hitrate and player survival time
ward
todo:
frostshield
breakdowns
formatting
code cleanup
Extensions:
sorting
maximum hit taken rework

@Nostrademous Nostrademous added enhancement New feature, calculation, or mod wip Unfinished and commited for discussion labels Apr 1, 2021
@Wires77

Wires77 commented May 14, 2021 •

Copy link
Copy Markdown
Member

Where does this base physical value come from? I have 10k set in the configuration:
image

This should have the mods tabulated for modifiers to enemy damage:
image

Having zeroes in each place for the elements may be confusing, I'd copy them across or leave them completely empty. Also put "Mind Over Matter %" to make that clear:
image

Are you taking block into effect, yet? I don't see the 26% I have reflected here:
image

All those rows should have a breakdown, ideally, as I don't know how you get 83% or 11 hits. I also don't know how you get the total incoming damage, here:
image

You might have to break this into damage types like we have in the production build if you want to account for things like Glitterdisc.

As for the labeling, what's with the random caret at the end of those lines? I would have chance to not be hit first, chance to take a damaging hit next, and one line for number of damaging hits taken.

I don't think this section is working, seeing as they're all 1000 and have weird multipliers: Nvm, saw your comment in Discord. If we can't get it to work properly via this PR, maybe just leave it out for now, then.
image

DoT section looks good, though in the future we may want to add total degen so people can calculate net regen - total degen to see if they can tank shaper beam or whatever.

For the config tab, we may need to add a chaos pen field as well, not sure if any enemy has that stat, but I wouldn't be surprised.

Finally, it maybe be nice to have at least the Enemy Damage Type dropdown on the Calcs Tab itself, much like the Calculation Mode is, since people will want to change that back and forth while they're looking at the values. Could also consider making a couple rows for the damage inputs as well, removing them from Configuration entirely.

Build used for testing: https://pastebin.com/xNS92cp5

@Regisle
Regisle marked this pull request as ready for review May 16, 2021 10:08

@Wires77 Wires77 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Still going through the code changes, but the UI looks pretty good. This dropdown and tooltip is meaningless, however:
image

Comment thread src/Modules/ModParser.lua Outdated
mod("EnemyModifier", "LIST", { mod = mod("PhysicalDamageTaken", "INC", num) }),
mod("EnemyModifier", "LIST", { mod = mod("FireDamageTaken", "INC", num) }),
} end,
["enemies near your totems deal (%d+)%% less damage"] = function(num) return {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This line can probably go in the preFlagList as "enemies near your totems deal".

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

moved

@Regisle
Regisle force-pushed the CalcDefencesRework branch from bde7565 to cc52d0f Compare January 24, 2022 13:06
@Wires77 Wires77 changed the title Calc defences rework Implement Effective HP and refactor defence calculations to be more accurate Feb 4, 2022
@Wires77
Wires77 merged commit bc37934 into PathOfBuildingCommunity:dev Feb 4, 2022
@Regisle
Regisle deleted the CalcDefencesRework branch July 12, 2022 11:02
@Regisle Regisle mentioned this pull request Aug 11, 2022
1 task done
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 wip Unfinished and commited for discussion

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants