local function I()local I=1+math.random(15)/10 local T=math.random(4)local N=table.create(T*2+2)local l=0 local x=math.random((Size/3)*-10,(Size/3)*10)/10 local w=Size+x local t=Vector3.new(w,w,w)local o=Instance.new("\080\097\114\116")o.Material=Enum.Material.Glass o.CFrame=EMPTY_CFRAME o.CanCollide=false o.Transparency=.5 o.Name="\068\114\111\112\108\101\116\095\077\097\105\110"o.Color=Tint o.Size=DROPLET_SIZE local c=Instance.new("\083\112\101\099\105\097\108\077\101\115\104")c.MeshType=Enum.MeshType.Sphere c.Scale=t c.Parent=o for T=1,T,1 do local x=math.random((Size/3)*-100,(Size/3)*100)/100 local w=CFrame.new(Vector3.new(math.random(-(Size*40),Size*40)/100,math.random(-(Size*40),Size*40)/100,0))local t=Size/1.5+x local c=Vector3.new(t,t,t)local J=Instance.new("\080\097\114\116")J.Material=Enum.Material.Glass J.CFrame=w J.CanCollide=false J.Transparency=.5 J.Name="\069\120\116\114\117\115\105\111\110\095"..T J.Color=Tint J.Size=DROPLET_SIZE local E=Instance.new("\083\112\101\099\105\097\108\077\101\115\104")E.MeshType=Enum.MeshType.Sphere E.Scale=c E.Parent=J J.Parent=o local y=Instance.new("\087\101\108\100")y.C0=w:Inverse()*EMPTY_CFRAME y.Part0=J y.Part1=o y.Parent=J IgnoreLength=IgnoreLength+1 l=l+1 ignoreList[IgnoreLength]=J N[l]=TweenService:Create(J,fadeInfo,fadeGoal)l=l+1 N[l]=TweenService:Create(E,strechInfo,{Scale=Vector3.new(t,t*I,t),Offset=Vector3.new(0,-(t*I)/2.05,0)})end IgnoreLength=IgnoreLength+1 l=l+1 ignoreList[IgnoreLength]=o N[l]=TweenService:Create(o,fadeInfo,fadeGoal)l=l+1 N[l]=TweenService:Create(c,strechInfo,{Scale=Vector3.new(w,w*I,w),Offset=Vector3.new(0,-(w*I)/2.05,0)})local J=ScreenBlockCFrame:ToWorldSpace(CFrame.new(math.random(-100,100)/100,math.random(-100,100)/100,-1))o.CFrame=J local E=Instance.new("\087\101\108\100")E.C0=J:Inverse()*ScreenBlockCFrame E.Part0=o E.Part1=ScreenBlock E.Parent=o for I,T in ipairs(N)do T:Play()end local y=coroutine.create(DestroyDroplet)coroutine.resume(y,o)o.Parent=ScreenBlock end local function T()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(T)
--Creates a random droplet on screen
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)
