Why do the parts freak out like this?

robloxapp-20221224-1634177.wmv (4.2 MB)
What they’re supposed to do is turn a little bit (tick) twice, then do a fast spin which will throw the player off if it’s touching it.

wait(10)
local Parts = script:GetChildren()  
while true do


	for i , part in ipairs(Parts) do 
		spawn(function()
			


	wait(3)
	

	for i = 1, 7 do
		part.Orientation += Vector3.new(0,2.5,0)
	end

	wait(.8)

	for i = 1, 7 do
		part.Orientation += Vector3.new(0,2.5,0)
	end
	wait(.8)

	local Num = 12
	for i = Num, 0, -1 do
		task.wait()

		part.Orientation += Vector3.new(0,25,0)

		for _, Touching in workspace:GetPartsInPart(part) do
			if game.Players:GetPlayerFromCharacter(Touching.Parent) then
				Touching.Parent.HumanoidRootPart.AssemblyLinearVelocity = (part.CFrame.UpVector * 200) + (part.CFrame.LookVector * 200)
			end
		end
	end
		end)
	end
	wait()
end

You should be using TweenService for this instead.