Curious on how I could do this. Currently working on a shotgun and I'm currently trying to rotate the CFrame that the shot comes from, but this doesn't work since it's reduced to a position in the ray.

Current code:

local headFrame = player.Character.Head.CFrame
local offset = CFrame.Angles(Random.new():NextNumber(4), Random.new():NextNumber(4), Random.new():NextNumber(4))

headFrame = headFrame * offset

local ray = Ray.new(headFrame.p, (mouse.Hit.p - headFrame.p).Unit * 2048), module.ignore, false, true)

Any ideas?