FRotator(5.f, 0.f, 0.f).RotateVector( **((CameraForwardVector * 50000) + CameraWorldPosition)** )
You’re rotating both your origin and your direction, I doubt that helps.
CameraWorldPosition + FRotator(5.f, 0.f, 0.f).RotateVector( **CameraForwardVector** ) * 50000
See if that helps. By the way, this is just stylistic advice but you have much to gain and nothing to lose by separating this kind of stuff over multiple lines of code. Rather than cram everything on a single line, it’s a lot more readable to calculate each vector separately before passing it to your trace. Readability helps avoiding precisely this sort of issue.
And you mention Quake as a reference, I’m pretty certain Quake 3 randomizes its pellet spread.