Open ultimatespirit opened 1 month ago
Thanks for the info, I was not aware of this issue and the penetration code was initially written well before I took over. I know the numbers are sometimes off by a little bit but assumed it was due to some rounding differences in the calculator's calculations vs in game
This is more an FYI in case you weren't aware. There's been a long existing bug in e7 where units that penetrate defence by a variable amount (such as straze) won't actually fully penetrate, instead capping at some vague amount of defence between 0 and 1 (not consistent between units, but consistent against targets), resulting in doing somewhere between 99.70-99.75% of what they should be doing at full penetration. For the damage calculators this detail was never replicated, probably due to its not even being consistent (at least I never found a consistent numerical method, it's likely manifesting from implementation details of e7's internal data types and floating point arithmetic, combined with our inexact damage number display with 0.6+ numbers getting rounded up), and it didn't really matter much since it only affected variable penetration units.
Well, it seems with the advent of penetration resistance, either Wukong or ML Ilynav I'm not sure (didn't check numbers when wukong came out), all penetration units now suffer this issue. I.e. any unit that is supposed to fully penetrate defence, is actually doing about 0.3% less damage.
So the numbers in the calc will now be a bit too high for all of those units. Considering people may want to use those values as "this is guaranteed what my unit will do" type values, may be worthwhile including some sort of note that the real damage will be a bit lower, or just conservatively apply the 0.997% guess. Alternatively, do nothing, it's generally a tiny deviation anyway. Just wanted to let you know in case you didn't know.
For what it's worth I've filed bugs for this before, just filed a new one since now I can show an actual regression (character damage pre-wukong/ilynav is now tangibly lower, unlike before where we couldn't explain the bug without relying on knowing mults which technically is not info we should know). Maybe it'll finally get fixed. Not too hopeful though.