# Difference between revisions of "Talk:Weapon Damage Formula"

### From GECK

SnakeChomp (Talk | contribs) (→Formula was incorrect. but updated now: Another in game test) |
(→Formula was incorrect. but updated now: clarified) |
||

Line 55: | Line 55: | ||

player.getav meleedamage (returns 20)</pre> | player.getav meleedamage (returns 20)</pre> | ||

::--[[User:SnakeChomp|SnakeChomp]] 17:41, 29 December 2008 (UTC) | ::--[[User:SnakeChomp|SnakeChomp]] 17:41, 29 December 2008 (UTC) | ||

+ | |||

+ | :::Er, yes I did misread the formula there and what you have is correct. Offset/Mults work differently than Base/Mults. However my main point is that you are using the wrong pieces in the right places. You have: | ||

+ | *Melee Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty * SkillBonus + StrengthBonus) + CriticalDamageBonus | ||

+ | :::But it should be: | ||

+ | *Melee Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty * SkillBonus + '''MeleeDamageAV''') + CriticalDamageBonus | ||

+ | :::Some Actor Values are Derived Actor Values (this is what the AVD stands for in fAVDMeleeDamageStrengthOffset/Mult, as well as all the other AVDs). If you type in: | ||

+ | player.getavinfo MeleeDamage | ||

+ | :::it will print out some info, with the first line saying what the 'base' value is. This is the 'derived' portion of the AV, and this is calculated using the formula: | ||

+ | *baseMeleeDamageAV = fAVDMeleeDamageStrengthMult * (ActorStrength + fAVDMeleeDamageStrengthOffset) | ||

+ | :::which is the same formula you are using for StrengthBonus. The problem is that your formula doesn't take into account the boosts to the MeleeDamageAV, and though there aren't many if any in the vanilla game, this is a value that is often adjusted with perks and rebalance mods etc, so your formula should probably just use MeleeDamageAV (which is the actual value used by the game), and have the description of that part in the formula simply point to a [[Derived Settings]] page where ALL of the Derived Actor Values (and thus all of the fAVDblahblahblah) settings would be listed, as it makes more sense to put derived statistics on one page rather than define them willy nilly wherever they fit into another formula. | ||

+ | :::--[[User:Quetzilla|Quetzilla]] 23:26, 29 December 2008 (UTC) |

## Revision as of 18:26, 29 December 2008

## Contents

## Melee formula possibly incomplete

The fVATSAutomaticMeleeDamageMult game setting probably impacts melee damage dealt when in VATS mode, but it isn't so easy to determine how much damage is done when hitting things in VATS, especially because the target actor damage resist values are taken into account. If anyone experiments with fVATSAutomaticMeleeDamageMult to see what it does, and shows that it does impact melee damage in vats, can you please update the formula with what you learn. --SnakeChomp 05:19, 20 December 2008 (UTC)

## Unarmed formula

I don't know how to make the UI tell me how much unarmed damage my character would do, so I can't effectively tweak the unarmed settings to come up with a formula for unarmed damage. If anyone knows a way to get the UI to display the calculated unarmed damage value like it will for weapons, please share. --SnakeChomp 05:19, 20 December 2008 (UTC)

## Sneak damage

If anyone knows how sneak damage is calculated, please share. See the sneak damage section of the page for some comments.--SnakeChomp 21:37, 24 December 2008 (UTC)

## Formula was incorrect. but updated now

The formula was found to be incorrect, but the discussion about it is currently contained on the Talk:Gun Spread Formula page. It should be moved here so it can be easily found in the future. In the mean time this page has been corrected with the new formula.

--SnakeChomp 07:45, 29 December 2008 (UTC)

- Here I go again...
- From what I know, the fAVDMeleeDamageStrengthMult is not directly applied to weapon damage, but is actually applied to the MeleeDamage AND UnarmedDamage actor values (see Stats_List#Derived_Statistics. This is something you can easily test in game, by simply typing:

player.getavinfo MeleeDamage player.getavinfo UnarmedDamage player.modav strength 1 player.getavinfo MeleeDamage player.getavinfo UnarmedDamage

- Then, simply set fAVDMeleeDamageStrengthMult to something like 2, and repeat. The theoretical formula, which I will test later if you don't test it first, would be:

(BaseWeaponDmg * DmgMult * ConditionFACTOR * SkillFACTOR) + MeleeDamageAV

- And then stick that inside the PerkModifiers() and add the critical damage bonus.
- In the case of Unarmed combat, MeleeDamageAV is actually UnarmedDamageAV
- Remember that many things can modify the Melee/UnarmedDamageAV besides just the strength bonus, such as chems,perks,armor,whatever. Also, the formula for how strength affects both AVs is:

AV + fAVDMeleeDamageStrengthOffset + (ActorStrengthValue * fAVDMeleeDamageStrengthMult)

- Your formula listed under StrengthBonus multiplies the StrengthValue by the Offset, which isn't correct (and that much I have tested).
- --Quetzilla 08:06, 29 December 2008 (UTC)

- I think you misread the formula. The strength bonus is actually
`fAVDMeleeDamageStrengthMult`, so the offset is not being multiplied with the strength actor value as you said. Here is what I did to test this.*****(ActorStrengthValue**+**fAVDMeleeDamageStrengthOffset)

- I think you misread the formula. The strength bonus is actually

player.forceav strength 1 setgamesetting fAVDMeleeDamageStrengthMult 1 player.getav meleedamage (returns 1) setgamesetting favdmeleedamagestrengthmult 2 player.getav meleedamage (returns 2) setgamesetting favdmeleedamagestrengthoffset 1 player.getav meleedamage (returns 4)

- If the formula was as you suggested, I would expect that the third getav command would return 1 + 1 * 2 = 3, but the value returned is 2 * (1 + 1) = 4.
- I have not personally seen any items that increase melee damage directly, but I found two in the GECK using the "Increase Melee Damage" base effect. I believe that the melee damage actor value is calculated as the strength bonus + melee damage actor value bonuses. It is likely that these melee ddmage actor value bonuses are simply added to the strength bonus to result in the final meleedamage actor value. A similar situation happens in the Critical Hit Chance Formula in how it handles luck and "increased critical hit chance" effects.
- --SnakeChomp 16:28, 29 December 2008 (UTC)

- Here is another test you can do for this.

player.forceav strength 1 setgamesetting fAVDMeleeDamageStrengthMult 10 player.getav meleedamage (returns 10) setgamesetting fAVDMeleeDamageStrengthOffset -1 player.getav meleedamage (returns 0) setgamesetting fAVDMeleeDamageStrengthOffset 1 player.getav meleedamage (returns 20)

- --SnakeChomp 17:41, 29 December 2008 (UTC)

- Er, yes I did misread the formula there and what you have is correct. Offset/Mults work differently than Base/Mults. However my main point is that you are using the wrong pieces in the right places. You have:

- Melee Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty * SkillBonus + StrengthBonus) + CriticalDamageBonus

- But it should be:

- Melee Damage = PerkModifiers(BaseWeaponDamage * DamageMultiplier * MeleeConditionPenalty * SkillBonus +
**MeleeDamageAV**) + CriticalDamageBonus

- Some Actor Values are Derived Actor Values (this is what the AVD stands for in fAVDMeleeDamageStrengthOffset/Mult, as well as all the other AVDs). If you type in:

player.getavinfo MeleeDamage

- it will print out some info, with the first line saying what the 'base' value is. This is the 'derived' portion of the AV, and this is calculated using the formula:

- baseMeleeDamageAV = fAVDMeleeDamageStrengthMult * (ActorStrength + fAVDMeleeDamageStrengthOffset)

- which is the same formula you are using for StrengthBonus. The problem is that your formula doesn't take into account the boosts to the MeleeDamageAV, and though there aren't many if any in the vanilla game, this is a value that is often adjusted with perks and rebalance mods etc, so your formula should probably just use MeleeDamageAV (which is the actual value used by the game), and have the description of that part in the formula simply point to a Derived Settings page where ALL of the Derived Actor Values (and thus all of the fAVDblahblahblah) settings would be listed, as it makes more sense to put derived statistics on one page rather than define them willy nilly wherever they fit into another formula.
- --Quetzilla 23:26, 29 December 2008 (UTC)