return function(q,w)if type(q)~="\116\097\098\108\101"then q={q}end for q,D in ipairs(q)do local s={}for q,D in ipairs(D.Size.Keypoints)do table.insert(s,NumberSequenceKeypoint.new(D.Time,D.Value*w,D.Envelope*w))end D.Size=NumberSequence.new(s)D.Drag=D.Drag*w D.VelocityInheritance=D.VelocityInheritance*w D.Speed=NumberRange.new(D.Speed.Min*w,D.Speed.Max*w)D.Acceleration=Vector3.new(D.Acceleration.X*w,D.Acceleration.Y*w,D.Acceleration.Z*w)end end




return function(_t, scale)
	--- Allow for array of particles
	if type(_t) ~= "table" then  _t = {_t}  end
	
	--- Iterate through particles
	for _, p in ipairs(_t) do
		--- Size
		local newKeypoints = {} 
		for _, keypoint in ipairs(p.Size.Keypoints) do
			table.insert(newKeypoints, NumberSequenceKeypoint.new(
				keypoint.Time, 
				keypoint.Value * scale, 
				keypoint.Envelope * scale
			))
		end
		p.Size = NumberSequence.new(newKeypoints)
		
		--- Drag
		p.Drag = p.Drag * scale
		
		--- Velocity
		p.VelocityInheritance = p.VelocityInheritance * scale
		
		--- Speed
		p.Speed = NumberRange.new(
			p.Speed.Min * scale, 
			p.Speed.Max * scale
		)
		
		--- Acceleration
		p.Acceleration = Vector3.new(
			p.Acceleration.X * scale, 
			p.Acceleration.Y * scale, 
			p.Acceleration.Z * scale
		)
	end
end
