• 0

# Uderstanding damage vs armored enemies

## Question

I'm a bit troubled with how the calculation of damage vs armored enemies work.

Here is my test case(done in simulacrum with Banshee, no CP):

Rubico Prime, with only Seration:

Impact:  149.6 * (1 + 1.65) =  396.44

Puncture: 28.1 * (1 + 1.65) = 74.465

Slash: 9.3 * (1 + 1.65) = 24.645

First shot when scoped always has combo of 1.5.

Corrupted Heavy Gunner, level 8

700 hp (Cloned Flesh: -25% impact, +25% slash)

500 armor ( Ferrite: +50% puncture, -15% slash)

Damage tests:

Normal hit: 175

Scoped hit: 263

Armor stripped hit: 402

Armor stripped, scope: 604

Calculation when armor is stripped:

I can calculate correctly the damage with acceptable small difference:

Normal hit: 396.44*(1+(-0.25)) + 74.465 +  24.645*(1+0.25) = 402.60125

Scoped hit: 402.60125 * 1.5 = 603.901875

Calculation when armor is on:

This is where I can't calculate the damage correctly no matter what formula i use.

For example the formula from the wiki states:

Damage = Base Damage * ((1+Health Modifier)*(1+Armor Modifier)/(1+( Current Armor * (1-Armor Modifier)/300)))

or

396.44*((1+(-0.25))/(1+500/300) = 111.49875

74.465*((1+0.5)/(1+(500*(1-0.5)/300))) = 60.9259

24.645*((1+0.25)*(1+(-0.15))/(1+(500*(1+0.15)/300))) = 8.9778

Summed: 111.49875 + 60.9259 + 8.9778 = 181.40245

However this deviates greatly from the test hit of 175, and thus as more mods are added the deviation rises a lot.

How can i calculate exactly the damage against armored enemies? / What am i doing wrong?

Edited by scourge213

## Recommended Posts

• 0
11 minutes ago, scourge213 said:

Corrupted Heavy Gunner﻿, level 80﻿

700 hp (Cloned Flesh: -25% impact, +25% slash)

500 armor ( Ferrite: +50% puncture, -15% slash

Level 80 Corrupted Heavy Gunner has a lot more hp and armor than that, you might want to check that.

Also there is a small margin of error(like 0.00001%) while calculating each damage type which gets bigger and bigger as damage increases; so getting exact damage is quite difficult without knowing the errors within game itself.

##### Share on other sites

• 0
2 minutes ago, AthosTheGiant said:

Level 80 Corrupted Heavy Gunner has a lot more hp and armor than that, you might want to check that.

Also there is a small margin of error(like 0.00001%) while calculating each damage type which gets bigger and bigger as damage increases; so getting exact damage is quite difficult without knowing the errors within game itself.

Ops my mistake, its level 8. Base level. Typed a 0 after it by mistake. Edited the topic. As for the armor, there should be a calculation of some sort. The health damage can be perfectly calculated with all mods equiped with extremely small deviation. The armor however i cant find a formula.

Edited by scourge213
##### Share on other sites

• 0

ignore this for now accidentally posted too early

Edited by Vantooth
posted too early
##### Share on other sites

• 0
6 minutes ago, scourge213 said:

The health damage can be perfectly calculated with all mods equiped with extremely small deviation. The armor however i cant find a formula.

calculation through health is quite forward, however, in case of armor, many times i have seen damage reduction rather than direct damage calculation. like if an enemy has a set amount of armor that enemy will have x% damage reduction against a damage type. this damage reduction is usually rounded down/up to make calculation simpler. you can try that approach for comparison.

##### Share on other sites

• 0
3 minutes ago, AthosTheGiant said:

calculation through health is quite forward, however, in case of armor, many times i have seen damage reduction rather than direct damage calculation. like if an enemy has a set amount of armor that enemy will have x% damage reduction against a damage type. this damage reduction is usually rounded down/up to make calculation simpler. you can try that approach for comparison.

Well regardless how its calculated. DR = 500/(500+300) = 0.625  then damage 396.44 + 74.465 + 24.645 = 495.55 and finally 495.55*(1-0.625)= 185.83125, its still very far away from the real damage. So some sort of formula must exist.

##### Share on other sites

• 0

So on to what I wanted to post originally...

After a long session of math, that I decided to mostly omit for being incredibly long and, in the end wrong. I came to the following conclusion, something is either wrong with the formula, the rubico prime or the corrupted heavy gunner (or us :P). While I can't go in game to see the rubico prime myself since I don't have it so I have to trust the numbers you provided.

I would recommend both testing on a different enemy, and another weapon. If you still cannot achieve a correct answer well, I would hope help from a dev.

As for the math I tried a few modified version but I pretty much always ended with 166-167.

396.44*((1+(-0.25))/(1+500/300) = 111.49875 Here you don't apply 0.25 to armor ( I know it's health modifier and not armor)

74.465*((1+0.5)/(1+(500*(1-0.5)/300))) = 60.9259

24.645*((1+0.25)*(1+(-0.15))/(1+(500*(1+0.15)/300))) = 8.9778﻿ But you do here

So I tried both version, plain 500 or modified 500. I tried using armor calculation from the armor page result 163... None got close really. I tried adding directly the slash moddifier instead of multiplying. Or just re-running the original math from the beginning... Same result. The answer might be in a certain combination of changes I tried, but I won't be trying since, well, I don't feel like it.

The amount of things I tried, as wrong as they sounded since who knows it might actually be right... Well no luck! So after over an hour... I don't really have anything but, yeah something is wrong. Of course it might just be human error.

Edited by Vantooth
##### Share on other sites

• 0

the process of dealing Damage to Enemies with Armor plays out as your Damage hits the Armor, is modified by Health type Modifiers, experiences Armor Damage Reduction, then hits the Health and is modified by Health type Modifiers again, and finally deals that Damage to the Enemy.

so to calculate against Armor you must apply Health Type Modifiers as well as global Damage Reduction. and remember that Damage Types can face reduced (or seemingly increased) Armor based on how weak the Armor is to that Damage Type.
so for example, a Damage Type that is +75% to an Armor Type, deals +75% Damage and also ignores 75% of the Armor on the Enemy. that is probably where your disparity comes in.

on the part of actual shooting, keep in mind that Weakpoint Crits (generally Headshots but sometimes not the Head for some Enemies) get an extra *2 Damage vs non Crits (on top of the *2 if it is a Headshot, or just whatever the Body Part Multiplier for that spot on the Enemy is). so if the numbers you're comparing are Crits, keep that in mind.

##### Share on other sites

• 0

Dont really know how it works, but I think that I read somewhere that puncture does 100÷ of is damage on armor but only 25% on flesh if it can pass the armory. I mean if armor=100 puncture=150 that goes 150-100= 50 to the flesh but with the cap the real damage on healt=50×0.25. And only if the armory is suppast the rest of typedamage is applied.

Slash has cap to the armor and only impact don't have any cap.

My advise is to check this without only mod first.

##### Share on other sites

• 0
9 hours ago, taiiat said:

and is modified by Health type Modifiers again

Actually in my example all of this is covered with the exception of applying the health modifier again - i.e. twice. However when adding it into the mix it makes the calculation even more wrong:

111.49875 * (1+(-0.25)) + 60.9259 + 8.9778 * (1+0.25) = 155.7722125

which compared to the previous result of 181.40245, it makes it even more inaccurate toward the real damage of 175.

So i still dont get why there is a difference. Am i calculating this wrong?

3 hours ago, Dominiuos said:

I mean if armor=100 puncture=150 that goes 150-100= 50

This is definitely not how armor works. Also i have serration only, to have larger, and thus more accurate, numbers without making it more  complex. Still getting incorrect results though.

Edited by scourge213
##### Share on other sites

• 0

I'm going to investigate a little too, maybe we can get somewhere. I wish to understand this math as well.

I'll get back to you in a few days.

Just one thing that it came to mind... when we put the mod that increase bullet speed it increases the damage too... how (math)?

##### Share on other sites

• 0

...and I give up!

There is no sense of comprehend this, nothing to win where. We deal with different types of enemies and there is no win all damage, better is to get a few rivens.

##### Share on other sites

• 0
9 hours ago, scourge213 said:

Actually in my example all of this is covered with the exception of applying the health modifier again - i.e. twice. However when adding it into the mix it makes the calculation even more wrong:

111.49875 * (1+(-0.25)) + 60.9259 + 8.9778 * (1+0.25) = 155.7722125

which compared to the previous result of 181.40245, it makes it even more inaccurate toward the real damage of 175.

So i still dont get why there is a difference. Am i calculating this wrong?

Impact:  149.6 * (1 + 1.65) =  396.44
Puncture: 28.1 * (1 + 1.65) = 74.465
Slash: 9.3 * (1 + 1.65) = 24.645

Corrupeted Heavy Gunner [8]:
700 Cloned Flesh
500 Ferrite Armor (62.5%)
1 - 0.625 == 0.375 (Impact)
1 - 0.4545 == 0.5455 (Puncture)
1 - 0.6571 == 0.3429 (Slash)

- - - - -

Armor DR
396.44 * 0.375 == 148.665
74.465 * 0.5455 == 40.6206575
24.645 * 0.3429 == 8.4507705

Armor Health type Modifiers
148.665
40.6206575 * 1.5 == 60.93098625
8.4507705 * 0.85 == 7.183154925

- - - - -

Health Health type Modifiers
148.665 * 0.75 == 111.49875
60.93098625
7.183154925 * 1.25 == 8.97894365625

111.49875 + 60.93098625 + 8.97894365625 == 181.4086
however... it's unclear how much variance there is to expect from Floating Point rounding, and Floating Point error rates.
you would expect +3 on Puncture and Slash (we assume Rounding + Truncating). i always collect Keys for Prime stuff for a while after it's new before attempting to Craft it so i can't use your Weapon example but mine (chose some Weapon i don't have any Mods to screw up on, Snipetron) and like every calculation accounting for UI error it's still a few points off. https://i.imgur.com/lZEPcKr.png (actual number 134)
getting exactly on is very laborious, and like with just about everything in the game, requires.... alternative methods of information gathering because the game can never be trusted.

Edited by taiiat
##### Share on other sites

• 0
9 hours ago, Dominiuos said:

There is no sense of comprehend this, nothing to win where. We deal with different types of enemies and there is no win all damage, better is to get a few rivens.

I hope i don't come out too rude(sorry for which), but i strongly disagree. Different types of enemies, yes, but the do share the same health-armor-shield mechanics. Even when some bosses have hidden damage mitigation the damage types still apply. The win here is to be able to tell how each weapon would perform under certain conditions. The whole point of rivens is to minimax, but if you cant decide between a rubico, lanka, opticor or plasmor for eidolon hunting which would you buy? Even as it stands now, with slightly incorrect formula, such calculations can give the best proximate weapon for the job. Or to select the few out of dozens of kitguns which are actually worth it. And so on. You could always listen to youtubers, of course, for which is best, but how did they choose their weapons/builds?

1 hour ago, taiiat said:

however... it's unclear how much variance there is to expect from Floating Point rounding, and Floating Point error rates.

...

the game can never be trusted

Floating point errors shouldn't be that severe though. In this amount of calculations with floating points, the error should be under 1%. And besides the formula with only health modifiers returns near perfect results. Instead the armor formula varies between 2.5% and 7.5%(result from 16 weapon tests - so probably even more) compared to the real damage.

You do beat me with the trust though. There is an error somewhere, but I still cant find where.

But for now this is the closest calculation.

I'll continue to search though. Something might come out.

Edited by scourge213
##### Share on other sites

• 0
23 minutes ago, scourge213 said:

Floating point errors shouldn't be that severe though.

ofcourse, but there will generally be a few points of Damage accounted for via displaying Integers but calculating(and actually applying to the Enemy) Floating Point.
in my example case that makes the the disagreement very minor, but i can't speak to your situation because i was testing with something else.

30 minutes ago, scourge213 said:

You could always listen to Content Creators, of course, for which is best, but how did they choose their weapons/builds?

not a good option as it's the blind leading the blind for 95% of them but i digress

##### Share on other sites

• 0
54 minutes ago, taiiat said:

not a good option as it's the blind leading the blind for 95% of them but i digress

I agree.  You have to sift thru tons and tons of BS before you find anything worth anything.  Surprisingly you can actually learn quite bit from Shy's videos.  😁