Why not just throw the RNG at each projectile spawned? Would only be three extra operations per each projectile, and no new lines, if written right.
Get angle between output and cursor, add randomized number with minimum and maximum of spread and -spread to X, Y, Z values of angle, spawn...