Take note of this though! (g_weapon.c, function FireWeapon)
case WP_KAR98:
aimSpreadScale = 1.0f;
Bullet_Fire( ent, KAR98_SPREAD*aimSpreadScale, KAR98_DAMAGE, qfalse );
break;
case WP_CARBINE:
aimSpreadScale = 1.0f;
Bullet_Fire( ent, CARBINE_SPREAD*aimSpreadScale, CARBINE_DAMAGE, qfalse );
break;
[...]
case WP_GARAND:
aimSpreadScale = 1.0f;
Bullet_Fire( ent, GARAND_SPREAD*aimSpreadScale, GARAND_DAMAGE, qfalse );
break;
[...]
case WP_K43:
aimSpreadScale = 1.0;
Bullet_Fire( ent, K43_SPREAD*aimSpreadScale, K43_DAMAGE, qfalse );
break;
I don’t know how this translates in numbers regarding weapons spread - but I think it simply means you fire those weapons like you would fire other weapons while moving around like mad, i.e the weapon spread is still taken in consideration, but it’s always “maxed out”.