Fallout 4

Fallout 4

View Stats:
Zawarudo Aug 10, 2018 @ 5:36am
About damage resistance.
So Im thinking of going for a pure power armor build I got the pink color for free and its rly cute :D

So Lone Wanderer (Cha) 3 starts by reducing damage by 30% ! Its beautiful right? Like a true Robocop!

Still, there are 2 other perks I think that might sinergyze with this idea, they are:

Rooted (Str 9) adds 25 damage resistance while standing still

Toughness (End 1) adds 10 damage resistance

I want to know ... what 35 damage resistance means... is it good?

Is the damage resisted first, then whats left of the damage is reduced by wanderer's 30%? And only after that the armor gets damage and only after damage surpasses the armor my health will receive damage?

Spending 8 points on Str just for this resist doesnt sound like a good idea... but maybe this combo is worth it. Best way to casually stroll all over the commonwealth, like a tourist.

I only wish basher and rooted could combo as well.
Last edited by Zawarudo; Aug 10, 2018 @ 5:38am
< >
Showing 1-15 of 23 comments
bunny de fluff Aug 10, 2018 @ 5:48am 
it means you can take ballistic damage for 35 before your hp starts to decrease for every attack you received.
Zawarudo Aug 10, 2018 @ 5:59am 
So a guy fires a shotgun at me, the damage is "100".

A damage resistance of 35 will reduce 100 to 65 right?

Then Wanderer's damage reduction is applied removing 30% of the remaining 65 leaving me with 45 damage.

After that the Power Armor damage resistance is applied against the remaining 45.5 damage.

Is this correct?

Maybe it wont even degrade at all! ^^
MaximumEffort Aug 10, 2018 @ 6:12am 
Damage resistancw in F4 is ♥♥♥♥. The more you have, the less effective it is. Basically the difference between 100-500-1000 DR is pretty low. HP is more important in F4 than DR. DR decreases in effectiveness the higher it gets.

You can visit Fallout Wiki for an in depth explanation and examples how little it actually affect health loss after 100 DR.

And you ALWAYS lose HP, no matter what, there is always a minimum damage recieved from every damage type.

So in terms of armor, go for good legendary stats, rather than purr DR.
DouglasGrave Aug 10, 2018 @ 6:12am 
It's more complicated than that for Fallout 4. I don't remember the exact formula, but the amount of protection you get from a given amount of damage resistance is based on how it compares to the amount of damage being dealt at the time, and there's a minimum percentage that an attack will still deal. Not that that's for regular damage resistance; some effects like the Lone Wanderer perk work differently, applying an actual percentage reduction that's separate from damage resistance.

The damage resistance formula does outright break and start completely negating damage at around 1 million points of damage resistance, but that's not going to be even remotely possible without using cheats or mods.
Doombringer Aug 10, 2018 @ 6:14am 
Originally posted by bunny de fluff:
it means you can take ballistic damage for 35 before your hp starts to decrease for every attack you received.
This is so wrong.

Thre are 3 types of defense in fallout 4:
Energy Resistance
Damage Resistance (aka armor, works vs ballistic/explosive/any other non-energy damage)
Radiation Resistance

The +damage resistance from Rooted is just like wearing a piece of armor with 50 damage resistance.
Generally people just call damage resistance 'armor', in the formala below 'Armor' is either damage resistance or energy resistance, depending on what you are being attacked with.

The damage reduction formula for armor is:
1-0.5(AttackDamage/Armor)^.3653
(minimum 1% (if armor>0), maximum 95% (unless you set armor to 1000000+, then it's 100%)

Most % multiplier multiply each other in this game
So if you have 30% reduced damage taken then multiply the result from the armor formula by 0.7 (since 1-0.30=0.7)
If you have another reduce damage taken ability (like Pack Alpha perk from nukaworld), then it multiplies again, so you would take [damage after armor] * 0.7 * 0.75 if you had Lone Wanderer 3 and Pack Alpha (and no non-dog companion).
Last edited by Doombringer; Aug 10, 2018 @ 6:33am
Doombringer Aug 10, 2018 @ 6:22am 
Originally posted by DouglasGrave:
The damage resistance formula does outright break and start completely negating damage at around 1 million points of damage resistance, but that's not going to be even remotely possible without using cheats or mods.
It doesn't break down at all, it's a conditional statement in the armor function.
The armor script is extends [Native Hidden] in creation kit, so you can't see it, but with enough data it is easy to figure out how it works.

if damage reduction from armor>95%, then =95%
(This may be a MAX(95%, calculated armor damage reduction) instead, same difference though.)

if armor >1000000 then =100%
If you have ~550x the attack damage in armor you hit 95%, from there to 999999 armor it stays 95%, then at 1000000+ it is set to 100%.
DouglasGrave Aug 10, 2018 @ 6:24am 
Originally posted by Doombringer:
Originally posted by DouglasGrave:
The damage resistance formula does outright break and start completely negating damage at around 1 million points of damage resistance, but that's not going to be even remotely possible without using cheats or mods.
It doesn't break down at all, it's a conditional statement in the armor function.
The armor script is extends [Native Hidden] in creation kit, so you can't see it, but with enough data it is easy to figure out how it works.

if damage reduction from armor>95%, then =95%
(This may be a MAX(95%, calculated armor damage reduction) instead, same difference though.)

if armor >1000000 then =100%
If you have ~550x the attack damage in armor you hit 95%, from there to 999999 armor it stays 95%, then at 1000000+ it is set to 100%.
I admit I haven't looked directly at the code for that particularly calculation, and had assumed it was simply the point at which the miniscule amount of damage was treated as actually zero due to rounding limits.

But it's hard to say for sure without seeing the exact script.
Last edited by DouglasGrave; Aug 10, 2018 @ 6:25am
Sevrojin Aug 10, 2018 @ 6:30am 
dont bother with DR get X-01 powerarmor and take a mini nuke to the face
Doombringer Aug 10, 2018 @ 6:38am 
power armor sucks vs explosives.
shielded mods on it give 2% explosive damage reduction (all added together), so full shielded suit =12% reduction.
Non-power armor: metal limb with 'dense' mod and torso with 'padded' mod = 75% explosive damage reduction. When you have this setup, enemies with mini-nuke launchers rarely shoot at you, and generally pull out a melee weapon instead...
(Super Mutant Suiciders with still blast you, but enemy mini-nukes only do 450 explosive anyways. Your own mini-nukes are the scary ones, they can do over 7k damage...)
Last edited by Doombringer; Aug 10, 2018 @ 6:40am
Doombringer Aug 10, 2018 @ 6:48am 
Originally posted by DouglasGrave:
I assumed it was simply the point at which the miniscule amount of damage was treated as actually zero due to rounding limits.
I've tested this extensively in game, you can do the same if you want.
~550x (or more) attack damage in armor = 95% reduction exact, which stays the same up to 999999 armor.
Then at 1mil+ it is exactly 100%.
Health is this game is a floating point.
Console will only show 2 decimal places.
If something does .0001 damage, you can just get hit hundreds of times and it will show up with getav health...

There is also a conditional statement at the low end, because the formula gives negative numbers when armor is below ~15% attack damage (sets reduction to exactly 1%).

As a note, if you do decide to test it for yourself:
setav damageresistance is broken, need to use modav instead.
(setav works for energyresistance though, so it's kind of odd...)
Last edited by Doombringer; Aug 10, 2018 @ 6:52am
DouglasGrave Aug 10, 2018 @ 6:58am 
Originally posted by Doombringer:
Originally posted by DouglasGrave:
I assumed it was simply the point at which the miniscule amount of damage was treated as actually zero due to rounding limits.
I've tested this extensively in game, you can do the same if you want.
~550x (or more) attack damage in armor = 95% reduction exact, which stays the same up to 999999 armor.
Then at 1mil+ it is exactly 100%.
Health is this game is a floating point.
Console will only show 2 decimal places.
If something does .0001 damage, you can just get hit hundreds of times and it will show up with getav health...

As a note, if you do decide to test it for yourself:
setav damageresistance is broken, need to use modav instead.
(setav works for energyresistance though, so it's kind of odd...)
That sort of outcome can still occur behind the scenes due to rounding issues, where 1 million simply happens to be just past the point at which it stops counting decimal places (the apparent convenience due to it being the first number to use a particular decimal place).

It's hard to properly check that if the console only shows 2 decimal places, since you couldn't readily check how much your health is being adjusted.
Doombringer Aug 10, 2018 @ 7:01am 
It is easy to test.
1 damage hit.
does 0.05 damage at 600 armor
does 0.05 damage at 6000 armor
does 0.05 damage at 60000 armor
does 0.05 damage at 600000 armor
does 0.05 damage at 999999 armor
does 0 damage at 1000000+ armor...

That is not a rounding error.
Do it with higher damage hits, the armor required for 95% reduction to start increases, but at 1mil again it drops to 0.
Do it with damage numbers so high that it never hits 95% damage reduction, well guess what? at 1mil+ it still goes to 0.
Last edited by Doombringer; Aug 10, 2018 @ 7:09am
DouglasGrave Aug 10, 2018 @ 7:09am 
Originally posted by Doombringer:
It is easy to test.
1 damage hit.
does 0.05 damage at 600 armor
does 0.05 damage at 6000 armor
does 0.05 damage at 60000 armor
does 0.05 damage at 600000 armor
does 0.05 damage at 999999 armor
does 0 damage at 1000000+ armor...

That is not a rounding error.
It can be, depending on how the numbers are being handled.

Let's say your formula only handles up to six decimal places. If you give it 0.000001 (as a result of dividing 1 by a certain amount of damage resistance), it sees that as a non-zero amount and rounds it up to the minimum damage it allows, giving 0.05 damage. If you instead give it 0.0000001 (adding an additional decimal place), it can see that as being 0.000000, since it doesn't handle the seventh decimal place, and considers it to be exactly 0 damage which it doesn't try to round it up to 0.05 damage.

Originally posted by Doombringer:
Do it with higher damage hits, the armor required for 95% reduction to start increases, but at 1mil again it drops to 0.
Do with damage numbers so high that it never hits 95% damage reduction, well guess what? at 1mil+ it still goes to 0.
That part does suggest against it, but I've seen enough formulas with weird rounding to not completely discount it.

If it's included explicitly, it may have been done as a shortcut to skip doing the calculation when it's likely to give 0 damage anyway. Seeing the exact formula/script would help there, since that's the sort of check you'd place right at the start (before any calculations happen).

EDIT: Missed word "not" from before "completely".
Last edited by DouglasGrave; Aug 10, 2018 @ 7:29am
Doombringer Aug 10, 2018 @ 7:15am 
Man, test this before theorycrafting it (with no data lol), seriously.
That is not how it works at all.
I told you you can take 0.001 damage.
It does show up if you get hit dozens/hundreds of times.
(Floating points go to 100 decimal places. Why use floating point if you are going to round anyways? Why would a number that goes to 100 decimal places only see 6 of them? why would a number than goes to 100 decimal places not be able to handle a 7th one? why would it then round to 2 decimal places?)
What you are saying makes 0 sense and doesn't match how the game works.
Yes, the code could also reference flying spagetti monsters, but it doesn't.

You haven't tested this at all, I spent a lot of time doing so, but you are telling me I'm wrong.
Nice.
Last edited by Doombringer; Aug 10, 2018 @ 7:30am
DouglasGrave Aug 10, 2018 @ 7:30am 
Originally posted by Doombringer:
Man, test this before theorycrafting it, seriously.
That is not how it works at all.
I told you you can take 0.001 damage.
It does show up if you get hit hundreds of times.
(Floating points go to 100 decimal places. Why use floating point if you are going to round anyways?)
What you are saying makes 0 sense and doesn't match how the game works.
Yes, the code could also reference flying spagetti monsters, but it doesn't.

You haven't tested this at all, I spent a lot of time doing so, but you are telling me I'm wrong.
Nice.
I'm not in a convenient point to do more than responses at the moment, so I'm theorizing; testing must wait for me at the moment, which is why I only talk about what might be possible rather than saying it must be, or that I've done testing indicating otherwise. I can likewise only speculate about rounding floating points without seeing the script itself; sometimes there is an unusual reason for certain things (or sometimes it's accidental).

Regarding testing itself, the point of having me do it is so that I can independent replicate your results. It's not consistent to then ask me to depend on your results on their own, since that voids the point of telling me to test it.
< >
Showing 1-15 of 23 comments
Per page: 1530 50

Date Posted: Aug 10, 2018 @ 5:36am
Posts: 23