function FpsCamera.SetupTransparency(n,a,...)assert(n~=FpsCamera)n:BaseSetupTransparency(a,...)if n.AttachmentListener then n.AttachmentListener:Disconnect()end n.AttachmentListener=a.DescendantAdded:Connect(function(a)if a:IsA("\065\116\116\097\099\104\109\101\110\116")and n.HeadAttachments[a.Name]then if typeof(n.cachedParts)=="\116\097\098\108\101"then n.cachedParts[a.Parent]=true end if n.transparencyDirty~=nil then n.transparencyDirty=true end end end)end
-- This is an overloaded function for TransparencyController:SetupTransparency(character)
-- Do not call directly, or it will throw an assertion!

function FpsCamera:SetupTransparency(character, ...)
	assert(self ~= FpsCamera)
	self:BaseSetupTransparency(character, ...)

	if self.AttachmentListener then
		self.AttachmentListener:Disconnect()
	end

	self.AttachmentListener = character.DescendantAdded:Connect(function(obj)
		if obj:IsA("Attachment") and self.HeadAttachments[obj.Name] then
			if typeof(self.cachedParts) == "table" then
				self.cachedParts[obj.Parent] = true
			end

			if self.transparencyDirty ~= nil then
				self.transparencyDirty = true
			end
		end
	end)
end
