# Talk:Gun Spread Formula

### From GECK

## Clearer Formatting

I think we can make this page a bit clearer if we simplify the formula by merging the Base/Mult pairs in the variables section. So we'd do something like:

Skill Factor (SF) = fGunSpreadSkillBase + (fGunSpreadSkillMult * RelatedSkillValue)

And then in the formula you could just plug in SF instead of (SB + (S * SM)), which will reduce the length of the formula by ~half, as well as making it easier to understand visually.

Another guideline we could use is UESP: UESP Damage Formula

I have to go out for a bit but when I come back I'll make a mockup on my user page so we can decide which works better

--Quetzilla 21:43, 21 December 2008 (UTC)

- I agree the formula is a bit unwieldy. I didn't put it in a <code> tag because that style of formatting messes up when it spans multiple lines. It makes sense to separate it into logical fragments, such as (ISB + ISM) and (CrB + CrM) and etc.--SnakeChomp 22:33, 21 December 2008 (UTC)

- Okay, I've complete my mockup of how I think we could improve the page:
- User:Quetzilla/Spread_Formula_Test
- This is intended just for the first two sections of this page rather than the whole thing. I've put the formula itself first as that way the essence of how the settings affects things can be comprehended before seeing all the details about the settings themselves
- I've left the formula as is, but split up into into 3 stages to aid in understanding. It may not be as comprehensive to see it separately, but I think it will be more helpful to new users looking at the information than the previous method.
- Also, is it possible that WeaponMinSpread is just added onto the total spread, rather than the Max() function being used? I imagine that when the other values aren't trivial (skill < 20 for example), the min spread may just be hard to discern.
- --Quetzilla 00:17, 22 December 2008 (UTC)

## Formula still needs work

Current Forumla:

Gun Spread = PerkModifiers((AB + AC * AM) + (ISB + ISM) * (CrB + CrM) * (CB + C * CM + SB + S * SM) * (WB + WM + RB + RM))

I think this is still inaccurate particularly this part:

(CB + C * CM + SB + S * SM)

If this is true, then when S (skill) == 100, with default values, that whole part of the equation collapses to 0. That part is multiplied by everything else in the equation except the ArmCrippled influence, but if the arm is not cripple then that is 0 as well, which would result in 100 skill completely eliminating spread, which isn't what I observe in the game. 100 skill would also eliminate any effect of crouching or iron sights, which doesn't seem to be true either.

Also, this formula doesn't take into account the Spread value set on the Weapon Object in the GECK at any point, that I can see.

- I have heard that a weapon skill of 100 is indeed supposed to remove weapon sway, but I haven't checked it myself. I'll take a moment to do that, but consider my next statement to see if that describes the behavior you see.
- As for the weapon spread on the weapon form, I think there is a max() function that is compared with the value of the formula and the weapon minimum spread chance. Even with the formula resulting in a value of 0. So the real result would be max(min wepaon spread, formula), therefore you never actually have 0 weapon spread, you only ever have something like 0.5 spread as specified on the weapon form (the 10mm pistol has 0.5 spread)--SnakeChomp 22:18, 21 December 2008 (UTC)
- Just did a quick test, and indeed, with a weapon skill of 100 using a weapon with 0 spread, there is 0 spread. Using a weapon with a non zero spread, there is still spread equal to the spread value of the weapon form. I'll add this to the formula page.--SnakeChomp 22:22, 21 December 2008 (UTC)