local function c()local c=1+math.random(15)/10 local g=math.random(4)local o=table.create(g*2+2)local p=0 local w=math.random((Size/3)*-10,(Size/3)*10)/10 local R=Size+w local J=Vector3.new(R,R,R)local Y=Instance.new("\080\097\114\116")Y.Material=Enum.Material.Glass Y.CFrame=EMPTY_CFRAME Y.CanCollide=false Y.Transparency=.5 Y.Name="\068\114\111\112\108\101\116\095\077\097\105\110"Y.Color=Tint Y.Size=DROPLET_SIZE local y=Instance.new("\083\112\101\099\105\097\108\077\101\115\104")y.MeshType=Enum.MeshType.Sphere y.Scale=J y.Parent=Y for g=1,g,1 do local w=math.random((Size/3)*-100,(Size/3)*100)/100 local R=CFrame.new(Vector3.new(math.random(-(Size*40),Size*40)/100,math.random(-(Size*40),Size*40)/100,0))local J=Size/1.5+w local y=Vector3.new(J,J,J)local v=Instance.new("\080\097\114\116")v.Material=Enum.Material.Glass v.CFrame=R v.CanCollide=false v.Transparency=.5 v.Name="\069\120\116\114\117\115\105\111\110\095"..g v.Color=Tint v.Size=DROPLET_SIZE local G=Instance.new("\083\112\101\099\105\097\108\077\101\115\104")G.MeshType=Enum.MeshType.Sphere G.Scale=y G.Parent=v v.Parent=Y local a=Instance.new("\087\101\108\100")a.C0=R:Inverse()*EMPTY_CFRAME a.Part0=v a.Part1=Y a.Parent=v IgnoreLength=IgnoreLength+1 p=p+1 ignoreList[IgnoreLength]=v o[p]=TweenService:Create(v,fadeInfo,fadeGoal)p=p+1 o[p]=TweenService:Create(G,strechInfo,{Scale=Vector3.new(J,J*c,J),Offset=Vector3.new(0,-(J*c)/2.05,0)})end IgnoreLength=IgnoreLength+1 p=p+1 ignoreList[IgnoreLength]=Y o[p]=TweenService:Create(Y,fadeInfo,fadeGoal)p=p+1 o[p]=TweenService:Create(y,strechInfo,{Scale=Vector3.new(R,R*c,R),Offset=Vector3.new(0,-(R*c)/2.05,0)})local v=ScreenBlockCFrame:ToWorldSpace(CFrame.new(math.random(-100,100)/100,math.random(-100,100)/100,-1))Y.CFrame=v local G=Instance.new("\087\101\108\100")G.C0=v:Inverse()*ScreenBlockCFrame G.Part0=Y G.Part1=ScreenBlock G.Parent=Y for c,g in ipairs(o)do g:Play()end local a=coroutine.create(DestroyDroplet)coroutine.resume(a,Y)Y.Parent=ScreenBlock end local function g()CanShow=GameSettings.SavedQualityLevel.Value>=8 end;(GameSettings:GetPropertyChangedSignal("\083\097\118\101\100\081\117\097\108\105\116\121\076\101\118\101\108")):Connect(g)

local function CreateDroplet()
	--Setup
	local stretch = 1 + math.random(15) / 10

	local RunAmount = math.random(4)
	local Tweens = table.create(RunAmount * 2 + 2)
	local TweensLength = 0

	local SizeOffset = math.random((Size / 3) * -10, (Size / 3) * 10) / 10
	local Scale = Size + SizeOffset
	local MeshScale = Vector3.new(Scale, Scale, Scale)

	--Main droplet object
	local DropletMain = Instance.new("Part")
	DropletMain.Material = Enum.Material.Glass
	DropletMain.CFrame = EMPTY_CFRAME
	DropletMain.CanCollide = false
	DropletMain.Transparency = 0.5
	DropletMain.Name = "Droplet_Main"
	DropletMain.Color = Tint
	DropletMain.Size = DROPLET_SIZE

	local Mesh = Instance.new("SpecialMesh")
	Mesh.MeshType = Enum.MeshType.Sphere
	Mesh.Scale = MeshScale
	Mesh.Parent = DropletMain

	--Create droplet extrusions
	for i = 1, RunAmount do
		local eSizeOffset = math.random(
			(Size / 3) * -100,
			(Size / 3) * 100
		) / 100

		local ExtrusionCFrame = CFrame.new(Vector3.new(
			math.random(-(Size * 40), Size * 40) / 100,
			math.random(-(Size * 40), Size * 40) / 100,
			0
		))

		local ExtrusionScale = Size / 1.5 + eSizeOffset
		local ExtrusionMeshScale = Vector3.new(ExtrusionScale, ExtrusionScale, ExtrusionScale)

		local Extrusion = Instance.new("Part")
		Extrusion.Material = Enum.Material.Glass
		Extrusion.CFrame = ExtrusionCFrame
		Extrusion.CanCollide = false
		Extrusion.Transparency = 0.5
		Extrusion.Name = "Extrusion_" .. i
		Extrusion.Color = Tint
		Extrusion.Size = DROPLET_SIZE

		local ExtrusionMesh = Instance.new("SpecialMesh")
		ExtrusionMesh.MeshType = Enum.MeshType.Sphere
		ExtrusionMesh.Scale = ExtrusionMeshScale
		ExtrusionMesh.Parent = Extrusion
		Extrusion.Parent = DropletMain

		local weld = Instance.new("Weld")
		weld.C0 = ExtrusionCFrame:Inverse() * EMPTY_CFRAME
		weld.Part0 = Extrusion
		weld.Part1 = DropletMain
		weld.Parent = Extrusion

		IgnoreLength = IgnoreLength + 1
		TweensLength = TweensLength + 1
		ignoreList[IgnoreLength] = Extrusion
		Tweens[TweensLength] = TweenService:Create(Extrusion, fadeInfo, fadeGoal)

		TweensLength = TweensLength + 1
		Tweens[TweensLength] = TweenService:Create(ExtrusionMesh, strechInfo, {
			Scale = Vector3.new(ExtrusionScale, ExtrusionScale * stretch, ExtrusionScale);
			Offset = Vector3.new(0, -(ExtrusionScale * stretch) / 2.05, 0);
		})
	end

	IgnoreLength = IgnoreLength + 1
	TweensLength = TweensLength + 1
	ignoreList[IgnoreLength] = DropletMain
	Tweens[TweensLength] = TweenService:Create(DropletMain, fadeInfo, fadeGoal)

	TweensLength = TweensLength + 1
	Tweens[TweensLength] = TweenService:Create(Mesh, strechInfo, {
		Scale = Vector3.new(Scale, Scale * stretch, Scale);
		Offset = Vector3.new(0, -(Scale * stretch) / 2.05, 0);
	})

	local NewCFrame = ScreenBlockCFrame:ToWorldSpace(CFrame.new(
		math.random(-100, 100) / 100,
		math.random(-100, 100) / 100,
		-1
	))

	DropletMain.CFrame = NewCFrame
	local weld = Instance.new("Weld")
	weld.C0 = NewCFrame:Inverse() * ScreenBlockCFrame
	weld.Part0 = DropletMain
	weld.Part1 = ScreenBlock
	weld.Parent = DropletMain

	for _, t in ipairs(Tweens) do
		t:Play()
	end

	local DestroyRoutine = coroutine.create(DestroyDroplet)
	coroutine.resume(DestroyRoutine, DropletMain)
	DropletMain.Parent = ScreenBlock
end

local function OnGraphicsChanged()
	CanShow = GameSettings.SavedQualityLevel.Value >= 8
end

GameSettings:GetPropertyChangedSignal("SavedQualityLevel"):Connect(OnGraphicsChanged)
