Damaga calculators / soak up / reducers - any help?

Users who are viewing this thread

Ozi

Recruit
Trying to figure out the final damage of weapons and damage types to certain armors i feel myself lost. Can somone give me a formula for this? I know where to look up reducers and soak up values but i dont know how to calulate it (if for example the reducer is 1.0 does that mean -100%?!?) and how to calulate the armor factor and armor type...
 
I am more interested in calculating basic damage. So for example: 30 cut damage against plate = 80% dmg reduction = 6 dmg - 0,5 damage soak up = 3dmg per hit?

So i am unsure of how damage is calculated with different damage types and armor types.
 
It's alot more complex. The damage without armor on a training dummy is calculated like that for quick side swings I think:

potential damage = holding modifier * ( weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )

Holding the attack abit gives a damage bonus too. Holding for too long makes you lose the bonus. A quick attack does about 90% of the base damage.
The power strike bonus is 8% per point. -> power strike bonus = 1 + power strike points * 0.08
The weapon profiency damage bonus is linear. It's about +15% per 100 points. -> weapon profiency bonus = weapon profiency * 0.150 / 100
The strength bonus is 1 point of damage for every 3 points is strength above the minimum str needed for the weapon. -> strength bonus = (strength  - weapon str) DIV 3 Seems to be wrong.
Not in this equation:
Overhead gives a damage bonus.
Relative speed between attacker and defender gives a speed bonus. Both players backing off do less damage than both charging each other.
Weapon sweetspots can lower the damage(combined with the speed bonus).
Of course, defender's armor lowers the damage.
Hit location (head, torso, legs).

Example: quick swing with a 40p heavy morning star (14 str needed), 30 str, 200 twohanded skill, 10 ps

potential damage = holding modifier * ( weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )
potential damage = 0.9 * ( 40 * ( 1 + 10 * 0.08 ) * ( 1 + 200/100 * 0.15 ) + ( 30 - 14 ) DIV 3 ) =  88.74

This formular should work within an error of +- 2 damage points.

On a player the potential damage seems to be a bit randomised. It seems that the base damage gets multiplicated by a random number between 0.9 and 1.0. So we would have a maximum and minimum potential damage.

maximum potential damage = holding modifier * ( 1 * weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )
minimum potential damage = holding modifier * ( 0.9 * weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )



With armor it gets alot more complex. It calculates how much damage the armor soaks and then reduces the remaining amount by a percentive. Piercing is very good against the reduce while blunt is best against the soak. Cutting is bad against both. I can't be arsed to post the concrete formulars now, it would be alot speculation too. I think there is a random factor in it too.

Edit: Ok, here the armor calculation. This is speculative but it fits to my experiences. Armor has a value, let's leave the different hit zones out and use only one armor value. If an armour user gets hit, it takes the potential damage, armor and calculates how much damage is soaked by the armor.

remaining damage = potential damage - soaked damage = potential damage - armor value * soak factor

(speculation)
However here is where randomisation kicks in again. I think that a random number between the full and the half armor value are used.

minimum remaining damage = potential damage - 1 * armor value * soak factor
maximum remaining damage = potential damage - 0.5 * armor value * soak factor

Cutting, piercing and blunt damage have different soak factors. The lower the soak factor the less effective is the armor at absorbing damage.
armor_soak_factor_against_cut      = 0.8
armor_soak_factor_against_pierce    = 0.65
armor_soak_factor_against_blunt    = 0.5


Example:
Let's assume the morning star user gets lucky and rolls his maximum potential damage against someon in a 50 points strong armor. Again speed bonus, hit zones and sweetspots are disregarded.

potential damage = 89
armor value = 50
soak factor = 0.65 (piercing damage)

minimum remaining damage = 89 - 50 * 0.65 = 56.5
maximum remaining damage =  89 - 1/2 * 50 * 0.65 = 72.75

After that the reducing effect of the armor kicks in. The same random armor between the half and full armor points of the armor is used.

minimum final damage =  minimum remaining damage * (1 - armor value/100 * reduce factor)
maximum final damage =  maximum remaining damage * (1 - 1/2*armor value/100 * reduce factor)

Cutting, piercing and blunt damage have different reduce factors. The lower the reduce factor the less effective is the armor at reducing the reamining damage.
armor_reduction_factor_against_cut      = 1.0
armor_reduction_factor_against_pierce    = 0.5
armor_reduction_factor_against_blunt    = 0.75


Example:
minimum remaining damage =  56.5
maximum remaining damage =  72.75
armor value = 50
reduce factor = 0.5 (piercing)

minimum final damage =  56.5 * (1 - 50/100 * 0.5 )= 42.375
(absolute) maximum final damage =  72.75 * (1 - 50/200 * 0.5 ) = 63.65625

If the morning star guy get unlucky and rolls the minimum potential damage then the final damage range changes too.

minimum potential damage = holding modifier * ( 0.9 * weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )
minimum potential damage = 0.9 * ( 0.9 *40 * ( 1 + 10 * 0.08 ) * ( 1 + 200/100 * 0.15 ) + ( 30 - 14 ) DIV 3 ) =  80.316

So:
(minimum) potential damage = 80
armor value = 50
soak factor = 0.65 (piercing damage)
reduce factor = 0.5 (piercing damage)

minimum remaining damage = 80 - 50 * 0.65 = 47.5
maximum remaining damage =  80 - 1/2 * 50 * 0.65 = 63.75

(absolute) minimum final damage =  47.5 * (1 - 50/100 * 0.5 ) = 35.625
maximum final damage = 63.75 * (1 - 50/200 * 0.5 ) = 55.78125

So the damage done by a 40p weapon with a quick sideswing + body hit with no speedbonus or sweetspot malus should do between 36 and 64 points of damage to the guy in a 50 point body armor. That is if the attacker has 30 str, 10 ps and 200 wpf.

 
Yup, armour is between 50 - 100% of listed value, only armour protecting the hit location is taken into effect (head is against helmet, body is torso and gloves, legs is leg armour). Headshots with any weapon cause double or triple raw damage (i.e. before armour and soak is factored in).

As far as I can tell speed bonus modifies the damage caused rather than being a damage multiplier - 100% speed bonus means you do 100% of the rolled damage, 50% means you do half and 150% gives half again. Not 100% sure about it, but it seems to be what happens in my experience. It also affects projectiles, in general the further the projectile travels the lower the speed bonus will be.
 
No, he shows negative speed bonus too if you back away while hitting so it this way:

No speed bonus shown: +0% speed bonus -> normal damage
+30%  speed bonus -> 1.3 * normal damage (happens when charging into the enemy on foot while attacking)
- 20% speed bonus -> 0.8 * normal damage (about what you get when attacking while backing away)
+ 100% speed bonus -> 2 * normal damage (typical on horseback)
-90% speed bonus -> 0.1 * normal damage (often happens when the sweetspot mechnic kicks in, for example when trying to stab at closest range)

They mixed actually differencial speed of attacker&defender and sweetspots together into the speed bonus, so it is often abit confusing.
 
Urist, what about that -35% damage penalty for using certain weapons on the horseback?
Where does it apply in this formula? As an additional modifier * 0.65 to those things listed in the brackets? Or to the potential damage?
potential damage = holding modifier * ( weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )
 
I did some more exact testing with a 100 base damage weapon. The holding modifier for a quick swing is 0.85 and not 0.9.  I think I was also wrong about the nature of the algorythm. I seems that the holding modifer is directly multiplicated with base damage and after that powerstrike, wpf and strength bonus comes into play. Furthermore the difficulty of the weapon does not seem to lower the str bonus. It should be like that:

potential damage =  holding modifier *weapon base damage * power strike bonus * weapon profiency bonus + strength bonus

The strength bonus seems to be 1 point of damage for 5 points of strength. The wpf bonus is about 17.8% per 100 points. Powerstrike bonus is still 8% per point.

The penalty for a twohanded weapon on horseback is multiplicated with the base damage as well AFTER the str bonus is applied. The penalty is about -23,5%(normal 2h) and -15% for 1/2h weapons. Strange numbers but they are reproducable.
Should be look like that on horseback:

potential damage = horse_shield_modifier * ( holding modifier *weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )

1handed weapon on horse: horse_shield_modifier = 1
1&1/2 handed weapon on horse: horse_shield_modifier = 0.85
2 handed weapon on horse: horse_shield_modifier = 0.765
Edit: The penalty for using a 1&1/2 hander with a shield seems to be -15%.
1&1/2_shield on horse: horse_shield_modifier = 0.85

 
Urist said:
I did some more exact testing with a 100 base damage weapon. The holding modifier for a quick swing is 0.85 and not 0.9.  I think I was also wrong about the nature of the algorythm. I seems that the holding modifer is directly multiplicated with base damage and after that powerstrike, wpf and strength bonus comes into play. Furthermore the difficulty of the weapon does not seem to lower the str bonus. It should be like that:

potential damage =  holding modifier *weapon base damage * power strike bonus * weapon profiency bonus + strength bonus

The strength bonus seems to be 1 point of damage for 5 points of strength. The wpf bonus is about 17.8% per 100 points. Powerstrike bonus is still 8% per point.

The penalty for a twohanded weapon on horseback is multiplicated with the base damage as well AFTER the str bonus is applied. The penalty is about -23,5%(normal 2h) and -15% for 1/2h weapons. Strange numbers but they are reproducable.
Should be look like that on horseback:

potential damage = 1h_1/2h_2h_horseback_factor * ( holding modifier *weapon base damage * power strike bonus * weapon profiency bonus + strength bonus )

1handed weapon: 1h_1/2h_2h_horseback_factor = 1
1&1/2 handed weapon: 1h_1/2h_2h_horseback_factor = 0.85
2 handed weapon: 1h_1/2h_2h_horseback_factor = 0.765
It's really very useful to find out, that the strenght bonus doesn't depend on difficulty of a weapon.
In my testings (I did some as well) I didn't count, that 1.5h and 2h weapons had different penalties. It's surprising.
I was testing speed penalties. And it appears, that 1.5h has ~20% speed penalty (didn't test 2h (yet)).
Anyway, thank you for a very important information.
 
Thanks for the detailed descriptions.  I had a couple of questions: 

*Is there a different formula involved for polearms than the 1h/2h one on horseback?

*Is there a greater penalty to using a lance with a shield on horseback than a spear or warspear on horseback (since spears under 155 range recently had the shield penalty removed)

*When a polearm that does have a shield penalty is used on horseback without a shield, will you get the full damage from it, or the penalized damage?

Finally... I've noticed that the slower a weapon is, the more it seems to benefit from momentum bonus - is there any truth in that, or am I simply having the placebo effect because slower weapons naturally stay in their 'sweet spots' longer than faster weapons?
 
Ok, I've written a script (you can find it in my signature), that does all these calculations, except for armours (soak, reduction, etc). I'm just not interested in it yet.
It's written in python. If you use Windows, you'll need to install the interpreter (from the python home site). In GNU/Linux you just do $python mib-dmg.py
So, it calculates "potential damage" using the aforementioned formula. It also takes into consideration shield/mount penalty, your str, ps and wpf. Have fun. Run it without attributes to get help.
PS: it's my first python script in my life, so, the visual part of the output leaves much to be desired (yet) :smile:

EDIT>
New version, polearms (the post below), armours and damage types added. I won't edit this post ever, the changelog is available inside the script.
 
StinkyMcGirk said:
Thanks for the detailed descriptions.  I had a couple of questions: 

*Is there a different formula involved for polearms than the 1h/2h one on horseback?

*Is there a greater penalty to using a lance with a shield on horseback than a spear or warspear on horseback (since spears under 155 range recently had the shield penalty removed)

*When a polearm that does have a shield penalty is used on horseback without a shield, will you get the full damage from it, or the penalized damage?

Finally... I've noticed that the slower a weapon is, the more it seems to benefit from momentum bonus - is there any truth in that, or am I simply having the placebo effect because slower weapons naturally stay in their 'sweet spots' longer than faster weapons?

All 1h polearms get a -28% damage penalty when used with a shield. The penalty stays the same when used on horseback, no matter if a shield is equipped or not. It uses the same, one-handed animation anyway. There is no damage difference between a lance or a spear, no matter how long they are. I can't comment on the speed though. Polearms who are forced 2h(itp_two_handed) even get a -35% penalty, so for example the hafted blade has to rely on horse speed to deal damage.
 
Back
Top Bottom