How is dismember chance calculated?

MiTHMoN

Refugee
I was looking through the XML files to check dismember chances.

entityclasses.xml sets the base dismember chance at 5%.
<passive_effect name="DismemberChance" operation="base_set" value=".05"/>

progression.xml appears to add up to 45% (totaling 50%) at level 10 in an attribute.
<passive_effect name="DismemberChance" operation="base_add" level="2,10" value=".05,.45"/>

items.xml gives boosts to certain weapons.
(chainsaw and machete +100%)
<passive_effect name="DismemberChance" operation="base_add" value="1"/>
(to sledgehammer power attack)
<passive_effect name="DismemberChance" operation="base_add" value=".3" tags="secondary"/>

progression.xml gives perk boosts to sledge, club, stun baton, knuckles.
(sledge and club +50%)
<passive_effect name="DismemberChance" operation="base_add" level="4,5" value=".5" tags="head"/>
(knuckles +20%)
<passive_effect name="DismemberChance" operation="base_add" level="5" value=".2" tags="head"/>
(batons +20%)
<passive_effect name="DismemberChance" operation="base_add" level="4,5" value=".2" tags="attIntellect"/>

Based on these numbers, I would assume that the dismember chances would be:
150% machete / chainsaw
130% sledgehammer (power attack headshot)
100% club (headshot)
70% knuckles / batons

entityclasses.xml list Ferals with 0.7 DismemberMultiplier, and radiated+charged+infernal with 0.4 DismemberMultiplier.

Based on that, I would assume 150 x 0.4 = 60% chance to dismember with a machete / chainsaw against a radiated or above, 130 x 0.4 = 52% chance to dismember with a sledge to the face of those same enemies, etc.

But clearly that doesn't seem to be the case, otherwise we'd be dismembering everything with 1-4 headshots. So, how does it work and where is my math wrong here?
 
So, how does it work and where is my math wrong here?
From an answer (likely from a dev) that was given Way back When the skill system was updated to give those chances:
The percentage isn't per swing, it's "per enemy". The chance per swing is calculated from your damage vs the health of the enemy. So something like (the exact math wasn't given, but TFP doesn't usually do "complicated") :

chance_per_swing = ( weapon_damage / enemy_max_HP ) * chance_to_dismember
 
Back
Top