First time making recoil patterns

hi, im new to making a fps framework and ive been working on a recoil pattern for gun tool
, how ever each time i fire it just goes in a line, and not like what i expected, maybe thats just because idk how to make a pattern

goal: trying to make it like phantom forces

   --this is the code that i use btw

	local recoilreducer = 8.85--when the player is aiming, it gets higher
	local RecoilPattern = {
		CFrame.Angles(4/15, 0.2/recoilreducer, -0.235/recoilreducer),
		CFrame.Angles(1.125/15, -0.1/recoilreducer, 0.215/recoilreducer),
		CFrame.Angles(0.35/15, 0.1125/recoilreducer, -0.195/recoilreducer),
		CFrame.Angles(1.5/15, -0.125/recoilreducer, 0.175/recoilreducer),
		CFrame.Angles(-1.125/15, 0.225/recoilreducer, -0.235/recoilreducer),
		CFrame.Angles(1.5/15, -0.175/recoilreducer, 0.215/recoilreducer),
		CFrame.Angles(-1.125/15, 0.1135/recoilreducer, -0.195/recoilreducer),
		CFrame.Angles(1.5/15, -0.125/recoilreducer, 0.175/recoilreducer),
		CFrame.Angles(0, 0, 0),
	}

	if equipped then
		if Shooting then
			local RecoilAmount = Camera.CFrame * RecoilPattern[CurrentRecoilCycle]
			Camera.CFrame = Camera.CFrame:Lerp(RecoilAmount, 0.0935)

			CurrentRecoilCycle = CurrentRecoilCycle % #RecoilPattern + 1
		end
	end

if anyone has any ideas or solutions please reach out, much appreciated

(pretty bad at english, so sorry)

So is are the angles from the recoil patterns not having an effect even if you try increasing them?

they do but they just go in a straight line

There’s gotta be more code around this. This snippet is not enough to show me how this even works. It looks entirely broken in this snippet, as in it should just do nothing all the time.

thats literally all there is for the recoil pattern code, if you want me to show you how the equip and shooting works then here

UIS.InputBegan:Connect(function(Input)
	if Input.UserInputType == Enum.UserInputType.MouseButton1 and equipped then
		shootAnim:Play()
		Shooting = true
		while Shooting do
			fireevent:FireServer(FirePoint.Position, Camera.CFrame.LookVector, Mouse.Hit.p)
			local flash = FlashMuzzle:Clone()
			flash.Parent = FirePoint
			shootAnim:Play()
			wait(0.096587)
			if flash.Parent == FirePoint then
				flash:Destroy()
			end
		end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.UserInputType == Enum.UserInputType.MouseButton1 and equipped then
		shootAnim:Stop()
		Shooting = false
	end
end)