I don't know the exact dispersion formula but afaik:1 - maximum dispersion, 0 - no dispersion. Probably all more than 1 is considered 1. E.g. function called by "Cannon Adjustment" perk.
Code:
function ModifyGunDispersion(pilot, gunDispersion)
local modifiedGunDispersion = gunDispersion;
local amplifier = 1;
if pilot:HavePerk("Gun_Dispersion")
then
amplifier = amplifier - .99;
end;
modifiedGunDispersion = modifiedGunDispersion * amplifier;
return modifiedGunDispersion;
end;
This perk simply reduces dispersion by 99%. It doesn't improve accuracy when the target has significant angular velocity but bullets are not sprayed all over the sky.
Imo this perk has no sense to me. Pilot can improve his accuracy - ok. Pilot magically controlling gun parameters - no. It should be a system which does this or one time (for each gun) buyable improvement (gunsmith or something).