scourge213 Posted November 25, 2018 Share Posted November 25, 2018 (edited) 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 November 25, 2018 by scourge213 Link to comment Share on other sites More sharing options...
0 AthosTheGiant Posted November 25, 2018 Share Posted November 25, 2018 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. Link to comment Share on other sites More sharing options...
0 scourge213 Posted November 25, 2018 Author Share Posted November 25, 2018 (edited) 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 November 25, 2018 by scourge213 Link to comment Share on other sites More sharing options...
0 Vantooth Posted November 25, 2018 Share Posted November 25, 2018 (edited) ignore this for now accidentally posted too early Edited November 25, 2018 by Vantooth posted too early Link to comment Share on other sites More sharing options...
0 AthosTheGiant Posted November 25, 2018 Share Posted November 25, 2018 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. Link to comment Share on other sites More sharing options...
0 scourge213 Posted November 25, 2018 Author Share Posted November 25, 2018 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. Link to comment Share on other sites More sharing options...
0 Vantooth Posted November 25, 2018 Share Posted November 25, 2018 (edited) 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 November 25, 2018 by Vantooth Link to comment Share on other sites More sharing options...
0 taiiat Posted November 26, 2018 Share Posted November 26, 2018 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. Link to comment Share on other sites More sharing options...
0 Dominiuos Posted November 26, 2018 Share Posted November 26, 2018 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. Link to comment Share on other sites More sharing options...
0 scourge213 Posted November 26, 2018 Author Share Posted November 26, 2018 (edited) 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 November 26, 2018 by scourge213 Link to comment Share on other sites More sharing options...
0 Dominiuos Posted November 26, 2018 Share Posted November 26, 2018 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)? Link to comment Share on other sites More sharing options...
0 Dominiuos Posted November 26, 2018 Share Posted November 26, 2018 http://warframe.wikia.com/wiki/Damage_2.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. Link to comment Share on other sites More sharing options...
0 taiiat Posted November 26, 2018 Share Posted November 26, 2018 (edited) 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 November 26, 2018 by taiiat Link to comment Share on other sites More sharing options...
0 scourge213 Posted November 26, 2018 Author Share Posted November 26, 2018 (edited) 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 November 26, 2018 by scourge213 Link to comment Share on other sites More sharing options...
0 taiiat Posted November 26, 2018 Share Posted November 26, 2018 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 Link to comment Share on other sites More sharing options...
0 DatDarkOne Posted November 27, 2018 Share Posted November 27, 2018 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. 😁 Link to comment Share on other sites More sharing options...
Question
scourge213
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?
Link to comment
Share on other sites
15 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now