Weapon Damage Formula
This article is incomplete. You can help by filling in any blank descriptions. Further information might be found in a section of the discussion page. Please remove this message when no longer necessary. |
Gun Damage = (PerkModifiers(BaseWeaponDamage * DamageMultiplier * GunConditionPenalty * SkillBonus) + CriticalDamageBonus) - DamageAbsorbedByArmor
Melee Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty * SkillBonus + MeleeDamageActorValue + MeleeArmConditionPenalty) + CriticalDamageBonus
Unarmed Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty + UnarmedDamageActorValue + MeleeArmConditionPenalty) + CriticalDamageBonus
PerkModifiers is a function that modifies the input value using any perks active on the actor that have a "Calculate Weapon Damage" Entry Point and returns the result. Note: consumables which increase damage, such as Yao Guai Meat, are implemented by adding a perk to the actor which has a "Calculate Weapon Damage" entry point for the duration of the effect.
BaseWeaponDamage is specified on the weapon form.
DamageMultiplier = fDamageWeaponMult
DamageAbsorbedByArmor = ArmorRatingValue * (fArmorRatingBase + ArmorCondition * (fArmorRatingMax - fArmorRatingBase))
GunConditionPenalty = fDamageGunWeapCondBase + fDamageGunWeapCondMult * WeaponCondition
Note: fDamageGunWeapCondBase and fDamageGunWeapCondMult cannot be modified to any effect in New Vegas.
MeleeConditionPenalty = fDamageMeleeWeapCondBase + fDamageMeleeWeapCondMult * WeaponCondition
SkillBonus = fDamageSkillBase + fDamageSkillMult * ActorSkillValue / 100
MeleeDamageActorValue is an ActorValue. The base value = fAVDMeleeDamageStrengthMult * (fAVDMeleeDamageStrengthOffset + ActorStrengthValue)
- The value of the MeleeDamage actor value can be increased or decreased by certain abilities, effects, perks, enchanted armors, and consumables. For example, the "Takoma Park Little Leaguer Cap" has an enchantment which increases melee damage by 5 while a baseball bat is equipped. Wearing this cap while equiping a baseball bat would mean that the base value calculated from strength is further increased by 5.
UnarmedDamageActorValue is an ActorValue. The base value = fAVDUnarmedDamageBase + (fAVDUnarmedDamageMult * ActorUnarmedValue)
MeleeArmConditionPenalty = BaseWeaponDamage * (fDamageArmConditionBase - 1 + fDamageArmConditionMult * ArmCondition) / 2
- With default values, this term reduces melee damage dealt by (up to) 10% of base weapon damage when arms are crippled and does nothing when arms are healthy.
CriticalDamageBonus = PerkCritModifiers(CritDamage) * IsCriticalHit
- PerkCritModifiers is a function that modifies the input value using any perks active on the actor that have a "Calculate My Critical Hit Damage" Entry Point and returns the result.
- CritDamage is the "Crit Dmg" value on the weapon form
WeaponCondition is 1 at 100% condition, 0.5 at 50% condition, and etc.
ActorSkillValue is the actor's skill value with the weapon.
ActorStrengthValue is the actor's strength value.
ArmCondition is the condition of the actor's arm.
- When using a one handed weapon, ArmCondition is 1 with a healthy right arm and 0 with a crippled right arm.
- When using a two handed weapon, ArmCondition is 1 with both arms healthy, 0.5 with 1 arm crippled, 0 with two arms crippled.
IsCriticalHit is 1 if the attack was a critical hit, 0 otherwise. See also the Critical Hit Chance Formula.
Game settings used in these formulas
Setting | Default | Description |
fDamageWeaponMult | 1 | Scales base weapon damage in the damage formulas. |
fDamageGunWeapCondMult | 0.34 | Used to calculate GunConditionPenalty (Unused in Fallout: New Vegas) |
fDamageGunWeapCondBase | 0.66 | Used to calculate GunConditionPenalty (Unused in Fallout: New Vegas) |
fDamageMeleeWeapCondMult | 0.5 | Used to calculate MeleeConditionPenalty (Unused in Fallout: New Vegas) |
fDamageMeleeWeapCondBase | 0.5 | Used to calculate MeleeConditionPenalty (Unused in Fallout: New Vegas) |
fDamageSkillBase | 0.5 | Used to calculate SkillBonus |
fDamageSkillMult | 0.5 | Used to calculate SkillBonus |
fAVDMeleeDamageStrengthMult | 0.5 | Used to calculate MeleeDamageActorValue |
fAVDMeleeDamageStrengthOffset | 0 | Used to calculate MeleeDamageActorValue |
fDamageArmConditionBase | 0.2 | Used to calculate MeleeArmConditionPenalty |
fDamageArmConditionMult | 0.8 | Used to calculate MeleeArmConditionPenalty |
Critical hit damage
The critical hit bonus damage is NOT special: it does not ignores the actor's damage resistance. The critical damage is simply added on top of the base damage on a critical hit.
Notes
If weapon damage is calculated to be 0 before being modified by perks, the game engine considers the attack to have missed, even if the bullet physically impacts an actor. No blood spatter is made, no hit sound effect is played, and the attack cannot be a critical hit, even if the critical hit chance is 100% or more. However, if weapon damage is modified to be zero by a perk, the attack still has a chance to critically hit and any critical hits will do bonus damage.
In New Vegas, some of these values are no longer functional. For example, changing fDamageGunWeapCondMult or fDamageGunWeapCondBase will have no effect (unlike Fallout 3, where they work as expected). The calculations appear to be hard-coded. Further testing is in progress.
Sneak attack damage
Sneak attack damage is multiplied against the attacker's (only the player in Fallout 3 and vanilla New Vegas) perk modified weapon damage.
Setting | Default | Description |
fCombatDamageBonusSneakingMult | 2.0 | Multiplies the damage of attacks from any weapons that are not melee or unarmed |
fCombatDamageBonusMeleeSneakingMult | 5.0 | Multiplies the damage of attacks from melee and unarmed weapons |
fDamageSneakAttackMult | 4.0 | Unused |