So what I'm trying to do is add 90 degrees along the Y axis. This is the script I have.

function MagicSpark() --ID 1
	local Spark = game.ServerStorage.MagicSpark:Clone()
	Spark.Parent = game.Workspace
	Spark.CFrame = Character.UpperTorso.CFrame * CFrame.new(0,0,-6)
	local x, y, z = Character.UpperTorso.CFrame:toEulerAnglesXYZ()
	y = y + 90
	local rotation = CFrame.Angles(x, y, z)
	Spark.CFrame = rotation + Character.UpperTorso.Position
	wait(2.5)
	Spark:Destroy()
	wait(1)
	script.Parent.SpellTriggerScript.Cooldown.Value = false
end

But I've noticed that when I added the 90 degrees to about 30 degrees on the y axis, it jumps to 130, skipping over all the angles in between. I honestly don't know how to explain it better so sorry if it's unclear.