Difference between revisions of "Weapon Damage Formula"

30 bytes removed ,  03:42, 29 December 2008
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 * (BaseWeaponDamage + SkillBonus)) + CriticalDamageBonus
  Gun Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * GunConditionPenalty * SkillBonus) + CriticalDamageBonus


  Melee Damage = PerkModifiers(StrengthBonus + DamageMultiplier * MeleeConditionPenalty * (BaseWeaponDamage + SkillBonus)) + CriticalDamageBonus
  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
'''StrengthBonus''' = fAVDMeleeDamageStrengthMult * (ActorStrengthValue + fAVDMeleeDamageStrengthOffset)
:*fAVDMeleeDamageStrengthMult defaults to: 0.5
:*fAVDMeleeDamageStrengthOffset defaults to: 0
:*ActorStrengthValue is the actor's strength value


'''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 / 10 * fDamageSkillMult
'''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.


'''BaseWeaponDamage''' = WeaponDamage * fDamageSkillBase
'''StrengthBonus''' = fAVDMeleeDamageStrengthMult * (ActorStrengthValue + fAVDMeleeDamageStrengthOffset)
:*WeaponDamage is specified on the [[Weapons|weapon form]]
:*fAVDMeleeDamageStrengthMult defaults to: 0.5
:*fDamageSkillBase defaults to: 0.5
:*fAVDMeleeDamageStrengthOffset defaults to: 0
:*ActorStrengthValue is the actor's strength value


'''CriticalDamageBonus''' = IsCriticalHit * PerkCritModifiers(CritDamage)
'''CriticalDamageBonus''' = IsCriticalHit * PerkCritModifiers(CritDamage)
Anonymous user