Does anyone know if this forumla is still accurate? Ive got some questions about the code because im trying to understand what it says but for example have no idea what 'float' means for example and it makes it hard to read the code xD Likewise I would love to know how magnitude is exactly calculated? I expect its something along the lines of weaponskill, speed of attack etc. influencing a flat damage numbert from your weapon but if its in the code listed here, I dont see it
That said the simplified line I can read and it put it in an excel sheet and experimented abit with it and found some interesting things out. I used this formula to do some maths in excel:
magnitude* 100/(100 + armour) - (1 - FactorByDamageType )* 0.5 * armour |
Using FactorByDamageType of 0,1 for cutting damage.
First of all, the amount of damage reduction is mostly effected by how much damage is incoming. If you have say...30 armor and take a hit of 50 slashing damage you would (or should) get 24,96 damage in total. A damage reduction of 25.04 points or 50,08%. Not bad.
If you have that same armor though and you take 60 damage that same armor only reduces it by 27,35 or 45,58%. With 70 damage that damage reduction gets reduced to 29,65 or 42.36%.
So essentially: the bigger the incoming blow is, the less your armor will do for you.
Secondly, I compared the differences between increasing armor or damage by multiples of 10 and examined the results.I wanted to know if increaseing armor values has any significant results on the amount of damage reduction.
I noticed that to remove damage completly (or at least trivialize it) your armor needs to be equal or higher then the incoming damage. For example a hit of magnitude 60 will only do 10.5 damage if you have 60 armor. And by 70 armor its reduced to 3,79 damage. But getting armor that high is pretty hard, if not impossible.
For the damage comparisons I kept a armor value of 30 which is mid to high tier in most areas. Say a nice chainmail vest with some shoulder armor providing a bonus for example. 40 is also doable in some cases with high tier armor or in places where armors overlap like the legs or arms.
Anyway. With armor 30, attacks with magnitude 10 are completly negated. Magnitude 20 attacks would do 1,88 damage. Magnitude 30 it goes up to 9.58. Magnitude 40 is 17,27. Magnitude 50 is 24,96. Magnitude 60 is 32,65. Magnitude 70 is 40,35. Again, all calculated with cutting damage mind you. The damage numbers for blunt and piercing with these values arent pretty and cutting damage is the best case scenario. It has the biggest protection against incoming blows and its already pretty clear armor does next to nothing against big hits if this damage formula is indeed accurate....
To quikly recap this: to get any worthwhile amount of damage reduction your armor values need to be as close to the incoming damage as possible. And something tells me armor doesent scale as easily as damage does... It all depends on how 'magnitude' is calculated but if people killing people in 1 hit in MP is any indication (or indeed the player in SP with a big enough weapon) its pretty damn clear that armor is indeed pretty damn worthless against incoming (big) hits.
Tl.dr what I get from this: Bigger numbers is better! Armor is only usefull for small blows and doesent scale to the degree that attacks do. That also explains why 2 handed weapons completly cleave through armor as the damage they do completly makes a mockery of anything this formula could do for you. You simply cant achieve the armor values needed to survive these hits, let alone trivialize them.
The best way to not get damage is thus to not get hit. (very usefull info I know
). Seeing as movement can be a big thing in not getting hit maybe wearing less armor can be a very wise choice in some cases as well. Shields could also help but only against ranged projectiles and 1 handed attacks. 2 handers also make a mockery of those and equipping a shield slows down your own attacks making the chance that you can fend off that raging beserker alot lower.
Nothing we dident already know and please excuse me for nerding out, but im a big math guy