Difference between revisions of "Weapon Damage Formula"
Fix the formula after it was found to be wrong. Reorder formula components.
imported>SnakeChomp (Make it more clear that actor skill value is divided by 10) |
imported>SnakeChomp (Fix the formula after it was found to be wrong. Reorder formula components.) |
||
Line 1: | Line 1: | ||
{{Incomplete}} | {{Incomplete}} | ||
Gun Damage = PerkModifiers(DamageMultiplier * GunConditionPenalty * | Gun Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * GunConditionPenalty * SkillBonus) + CriticalDamageBonus | ||
Melee Damage = PerkModifiers( | Melee Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty * SkillBonus + StrengthBonus) + CriticalDamageBonus | ||
Unarmed Damage = ''Formula unknown at this time'' | Unarmed Damage = ''Formula unknown at this time'' | ||
'''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. | '''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 [[Weapons|weapon form]]. | |||
'''DamageMultiplier''' = fDamageWeaponMult | '''DamageMultiplier''' = fDamageWeaponMult | ||
:*fDamageWeaponMult defaults to: 1 | :*fDamageWeaponMult defaults to: 1 | ||
'''GunConditionPenalty''' = fDamageGunWeapCondBase + (fDamageGunWeapCondMult * WeaponCondition) | '''GunConditionPenalty''' = fDamageGunWeapCondBase + (fDamageGunWeapCondMult * WeaponCondition) | ||
Line 27: | Line 24: | ||
:*WeaponCondition is 1 at 100% condition, 0.5 at 50% condition, and etc | :*WeaponCondition is 1 at 100% condition, 0.5 at 50% condition, and etc | ||
'''SkillBonus''' = ActorSkillValue / | '''SkillBonus''' = fDamageSkillBase + (fDamageSkillMult * ActorSkillValue / 100) | ||
:*fDamageSkillBase defaults to: 0.5 | |||
:*fDamageSkillMult defaults to: 0.5 | :*fDamageSkillMult defaults to: 0.5 | ||
:*ActorSkillValue is the actor's skill value with the weapon. | :*ActorSkillValue is the actor's skill value with the weapon. | ||
''' | '''StrengthBonus''' = fAVDMeleeDamageStrengthMult * (ActorStrengthValue + fAVDMeleeDamageStrengthOffset) | ||
:* | :*fAVDMeleeDamageStrengthMult defaults to: 0.5 | ||
:* | :*fAVDMeleeDamageStrengthOffset defaults to: 0 | ||
:*ActorStrengthValue is the actor's strength value | |||
'''CriticalDamageBonus''' = IsCriticalHit * PerkCritModifiers(CritDamage) | '''CriticalDamageBonus''' = IsCriticalHit * PerkCritModifiers(CritDamage) |