function RecoilSimulator.GetRecoilCFrame(U,n)local G=U.weaponDefinition:GetVerticalRecoilVector()local y=U.rng:NextNumber(G.x,G.y)local h=U.weaponDefinition:GetHorizontalRecoilVector()local d=U.rng:NextNumber(h.x,h.y)return CFrame.fromEulerAnglesYXZ(math.rad(y),math.rad(d),0)end return RecoilSimulator
-- Given the cameraCFrame and vertical mouse delta, a cframe will be returned to be used for recoiling the camera
-- @param CFrame
-- @Returns CFrame
function RecoilSimulator:GetRecoilCFrame(cameraCFrame)
	local verticalRecoil = self.weaponDefinition:GetVerticalRecoilVector()
	local randomVerticalSpray = self.rng:NextNumber(verticalRecoil.x, verticalRecoil.y)

	local horizontalRecoil = self.weaponDefinition:GetHorizontalRecoilVector()
	local randomHorizontalSpray = self.rng:NextNumber(horizontalRecoil.x, horizontalRecoil.y)

	return CFrame.fromEulerAnglesYXZ(math.rad(randomVerticalSpray), math.rad(randomHorizontalSpray), 0)
end

return RecoilSimulator
