Jump to content
  • 0

[435] Another Damage Calculation Issue


Sensuki

Question

I have been investigating some strange damage calculation issues based off trying to work out how I was getting strange proc damage from a Freezing Lash on an Enchanted item, keeping in mind that ushas found some weird stuff going on last week.

I reverted back to the basest of tests - a 10 Might Character, with a normal weapon, making plain auto-attacks without any modifiers to see if there was something wrong with the base damage calculations.

Turns out there appears to be, at least in the combat log. 

 

Here is my character, as you can see - 10 Might, no mults.

 

XUhra7k.jpg

 

Using an Estoc, to bypass Lion armor for pure damage not reduced by DT

 

LS9Ljef.jpg

 

There are only certain damage values that can be attained from this build. The damage 'die roll' should only be able to produce results of 14,15,16,17,18,19,20

Grazes can only halve these nubers to 7, 7.5, 8, 8.5, 9, 9.5 and 10. Crits I think are either *1.25 or *1.5 - I am actually not sure atm.

I attacked a Lion and got three grazes. Two of those grazes produced numbers it shouldn't have

 

The first graze produced 9.8 damage - it should be impossible to get 9.8 damage from this scenario ... I can only assume this was supposed to be 9.5

 

v35YPO6.jpg

The second graze was as normal - 8.5 damage

 

The third was 9.3, which I assume was probably 9.0, modified somehow

 

8fyWzi8.jpg

 

I also scored two hits, one for 14.5 damage (yeah, what?) and one for 14.9 damage

 

oKXs3dL.jpg

These numbers should be impossible. So there is something going wrong here.

These values start to warp the damage results as more damage mulitpliers and procs are added on, so I tested with this very base setup that should produce clean unmodified numbers, and it appears there is a problem.

I can also provide strange results I got with enchanted weapons and procs if need be too.


 

 

 

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

There's also a weird one here where I hit with an enchanted Exceptional Estoc and am getting strange proc damage from my Freezing Lash, whereas the number for the Corrode Lash I enchanted onto a Fine Morningstar are correct, rounded up.

 

53ESAAN.jpg

 

15.1 * 25% = 3.775, rounded up to 3.8 - correct proc damage

 

zghIBnA.jpg

 

55.1 * 25% = 13.775 ... getting 12.8 instead here, damage seems to be reduced by 1 for some reason :S

Link to comment
Share on other sites

  • 0

I am working as programmer myself. Rounding errors, error in calculations means total lack of unit tests.

 

This is really strange. If i was creating new game rules, first thing to create would be proper unit tests around basic game rules, damage calculations, attribute calculations/modifications and etc....

And instead here we have game with all those bugs...

  • Like 2
Link to comment
Share on other sites

  • 0

This is probably related to ushas thread here: http://forums.obsidian.net/topic/70423-435-several-possible-rounding-issues-armors-damage-health-etc/

 

However he did not test flat weapon damage against 0 DT, just reported that sometimes damage - DR was not being calculated properly

 

The bug report was pretty much only about the outcome of the rounding in game, what will the unknowable player observe/experience. So the wrong "look" of the combat log formula has been mentioned, but I didn't discuss where are the damage numbers coming from at all.

 

Your report here is about the root of the damage calculation itself. It's definitely great you are bringing it on.

 

 

[below is only heavy speculation]

 

Can I ask how are the damage numbers estimated in the very beginning?

 

For example, I have got the feeling from my limited experience with the game, that each weapon/ability has a range of damage. And what game does, is (pseudo)randomly generating numbers from given distribution (eg. uniform) within this range, and applying all the modifiers additively. The easiest how to do it can be to use some sampling function from math library, or so, which is providing numbers from 0 to 1 (so 0.765 too for example). Given that many other things are calculated in real space (~float precision?), I thought the sampling would do the same (so the info we read in game is again rounded). However, Sensuki, you listed a sequence of whole numbers. And I don't know, what we should expect. Maybe the issue is again the whole numbers observation? But I'm probably off here. So don't worry to correct me.

 

Nevertheless, according to my shoddy theory I would expect to see (partially rounded) real damage numbers in the combat log formula, from these ranges:

 

Sword:

Hit:      (11.00 - 16.00)

Crit:     (11.00 - 16.00) * (1 + 0.25) = (13.75 - 20.00)

Graze: (11.00 - 16.00) * (1 - 0.50) =   (5.50 - 8.00)

 

Fine sword (x1.15 to all damage):

Hit:       (11.00 - 16.00) * (1 + 0.15)           = (12.65 - 18.40) (in the item description, there is listed 13-18, so rounded)

Crit:      (11.00 - 16.00) * (1 + 0.25 + 0.15) = (15.40 - 22.40)

Graze:  (11.00 - 16.00) * (1 - 0.50 + 0.15) =   (7.15 - 10.40)

 

 

Short test below:

attacker is a fighter (having all attributes == 10) at lvl 1, the target is BB fighter, nothing equipped (DR == 0).

Sword:

post-46814-0-45778600-1424331205_thumb.jpg

 

Fine Sword:

post-46814-0-01196600-1424331219_thumb.jpg

 

The results lie within the expected ranges, but I'm not going to do statistically significant tests. :) So there is no conclusion from that, except that didn't rule out the possibility. This also doesn't say anything about other weapons and abilities and enchantments.

 

 

 

There's also a weird one here where I hit with an enchanted Exceptional Estoc and am getting strange proc damage from my Freezing Lash, whereas the number for the Corrode Lash I enchanted onto a Fine Morningstar are correct, rounded up.

 

Being confused here, can I ask, how should we expect the modifiers as graze/crit, quality enchantements and other damage bonuses to be applied to additional damages as Freezing Lash? (listed as +25% freeze)

 

Anyway, you probably discovered another rounding issue;)

Link to comment
Share on other sites

  • 0

I am working as programmer myself. Rounding errors, error in calculations means total lack of unit tests.

 

This is really strange. If i was creating new game rules, first thing to create would be proper unit tests around basic game rules, damage calculations, attribute calculations/modifications and etc....

And instead here we have game with all those bugs...

 

Not that I disagree, but to their defence, I think the rules were probably changed during the development (dunno how it influenced unit tests).

Edited by ushas
Link to comment
Share on other sites

  • 0

Being confused here, can I ask, how should we expect the modifiers as graze/crit, quality enchantements and other damage bonuses to be applied to additional damages as Freezing Lash? (listed as +25% freeze)

 

Anyway, you probably discovered another rounding issue;)

I believe how the damage from Lashes works has been changed from how 'procs' originally worked, but I am not sure. I need to do further testing on it.

 

What I *think* happens now, is that the proc damage is calculated after the damage roll and DR reduction. I have a related video on this topic, actually - I will post it below

 

Link to comment
Share on other sites

×
×
  • Create New...