--[=[
	@return Shake
	Construct a new Shake instance.
]=]

function Shake.new()
	local self = setmetatable({}, Shake)
	self.Amplitude = 1
	self.Frequency = 1
	self.FadeInTime = 1
	self.FadeOutTime = 1
	self.SustainTime = 0
	self.Sustain = false
	self.PositionInfluence = Vector3.one
	self.RotationInfluence = Vector3.one
	self.TimeFunction = if RunService:IsRunning() then time else os.clock
	self._timeOffset = rng:NextNumber(-1e9, 1e9)
	self._startTime = 0
	self._trove = Trove.new()
	self._running = false
	return self
end

