function Create(H)return function(G)local n=Instance.new(H)for H,G in pairs(G)do if type(H)=="\110\117\109\098\101\114"then G.Parent=n else n[H]=G end end return n end end local H={Players=game:FindService("\080\108\097\121\101\114\115")or game:GetService("\080\108\097\121\101\114\115");TweenService=game:FindService("\084\119\101\101\110\083\101\114\118\105\099\101")or game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101");RunService=game:FindService("\082\117\110\083\101\114\118\105\099\101")or game:GetService("\082\117\110\083\101\114\118\105\099\101");Debris=game:FindService("\068\101\098\114\105\115")or game:GetService("\068\101\098\114\105\115");ReplicatedStorage=game:FindService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101")or game:GetService("\082\101\112\108\105\099\097\116\101\100\083\116\111\114\097\103\101"),Lighting=game:FindService("\076\105\103\104\116\105\110\103")or game:GetService("\076\105\103\104\116\105\110\103");ServerScriptService=game:FindService("\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101")or game:GetService("\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101")}local G,n,Q,O,Y,u=(script:WaitForChild("\067\114\101\097\116\111\114")).Value,(script:WaitForChild("\084\105\109\101")).Value,(script:WaitForChild("\083\112\097\119\110\080\111\115\105\116\105\111\110")).Value,script:WaitForChild("\084\105\109\101\083\111\117\110\100"),script:WaitForChild("\067\104\097\114\103\101\082\101\097\100\121"),script:WaitForChild("\083\116\114\105\107\101")local e,t=script:WaitForChild("\083\116\097\114\115"),script:WaitForChild("\083\116\097\114\083\112\108\097\115\104")local i,z=7,1000 local L=(Create("\080\097\114\116"))({Material=Enum.Material.Neon;Name="\076\105\103\104\116 \066\101\097\109",Size=Vector3.new(0,i,i),Shape=Enum.PartType.Cylinder;TopSurface=Enum.SurfaceType.Smooth,BottomSurface=Enum.SurfaceType.Smooth;Color=Color3.fromRGB(255,255,203);Anchored=true,CanCollide=false;Locked=true})local X=(Create("\080\097\114\116"))({Size=Vector3.new(1,.5,1),Anchored=true,CanCollide=false,Locked=true,Name="\067\101\108\101\115\116\105\097\108\067\105\114\099\108\101";Transparency=1})O.Parent=X Y.Parent=X u.Parent=X e.Parent=X t.Parent=X local C=script:WaitForChild("\067\101\108\101\115\116\105\097\108\067\105\114\099\108\101")C.Face=Enum.NormalId.Top C.Parent=X C.Enabled=true local m=C:WaitForChild("\067\105\114\099\108\101")m.ImageColor3=Color3.fromRGB(255,255,203)CelestialUI2=C:Clone()CelestialUI2.Face=Enum.NormalId.Bottom CelestialUI2.Parent=X local K=C:WaitForChild("\067\105\114\099\108\101")X.CFrame=CFrame.new(Q)X.Parent=workspace e.Enabled=true Y:Play()O:Play();(coroutine.wrap(function()while X and X:IsDescendantOf(workspace)do X.CFrame=X.CFrame*CFrame.Angles(0,math.rad(-3),0)H.RunService.Heartbeat:Wait()end script:Destroy()end))();(coroutine.wrap(function()L.Parent=workspace for G=0,60,1 do if L then L.Size=Vector3.new((G/60)*z,i,i)L.CFrame=(CFrame.new(Q)+Vector3.new(0,z-L.Size.X/2,0))*CFrame.Angles(0,0,math.rad(90))end H.RunService.Heartbeat:Wait()end t:Emit(t.Rate)u:Play()wait(.5)for G=0,45,1 do if L then L.Size=(Vector3.new(z,i,i)):Lerp(Vector3.new(z,i*10,i*10),G/45)L.CFrame=(CFrame.new(Q)+Vector3.new(0,z-L.Size.X/2,0))*CFrame.Angles(0,0,math.rad(90))L.Transparency=G/45 end H.RunService.Heartbeat:Wait()end if L then L:Destroy()end end))()for G=0,50,1 do if X then X.Size=Vector3.new(G,.5,G)m.ImageTransparency=1-G/50 K.ImageTransparency=1-G/50 end H.RunService.Heartbeat:Wait()end H.Lighting.GeographicLatitude=41.733 local E=H.TweenService:Create(H.Lighting,TweenInfo.new(2,Enum.EasingStyle.Sine,Enum.EasingDirection.Out,0,false,0),{ClockTime=n})E:Play()E.Completed:Wait()e.Enabled=false for G=50,0,-1 do if X then X.Size=Vector3.new(G,.5,G)m.ImageTransparency=1-G/50 K.ImageTransparency=1-G/50 end H.RunService.Heartbeat:Wait()end wait(u.TimeLength)if X then X:Destroy()end script:Destroy()
--Time changer for both Sword of Light & Darkness
--Cool aesthetics included

function Create(ty)
	return function(data)
		local obj = Instance.new(ty)
		for k, v in pairs(data) do
			if type(k) == "number" then
				v.Parent = obj
			else
				obj[k] = v
			end
		end
		return obj
	end
end

local Services = {
	Players = (game:FindService("Players") or game:GetService("Players")),
	TweenService = (game:FindService("TweenService") or game:GetService("TweenService")),
	RunService = (game:FindService("RunService") or game:GetService("RunService")),
	Debris = (game:FindService("Debris") or game:GetService("Debris")),
	ReplicatedStorage = (game:FindService("ReplicatedStorage") or game:GetService("ReplicatedStorage")),
	Lighting = (game:FindService("Lighting") or game:GetService("Lighting")),
	ServerScriptService = (game:FindService("ServerScriptService") or game:GetService("ServerScriptService")),
}

local Creator, Time, SpawnPosition, TimeSound, ChargeReady, Strike =
	script:WaitForChild("Creator").Value,
	script:WaitForChild("Time").Value,
	script:WaitForChild("SpawnPosition").Value,
	script:WaitForChild("TimeSound"),
	script:WaitForChild("ChargeReady"),
	script:WaitForChild("Strike")
local Stars, StarSplash = script:WaitForChild("Stars"), script:WaitForChild("StarSplash")

local BeamWidth, BeamHeight = 7, 1000

local LightBeam = Create("Part")({
	Material = Enum.Material.Neon,
	Name = "Light Beam",
	Size = Vector3.new(0, BeamWidth, BeamWidth),
	Shape = Enum.PartType.Cylinder,
	TopSurface = Enum.SurfaceType.Smooth,
	BottomSurface = Enum.SurfaceType.Smooth,
	Color = Color3.fromRGB(255, 255, 203),
	Anchored = true,
	CanCollide = false,
	Locked = true,
})

local CelestialCircle = Create("Part")({
	Size = Vector3.new(1, 0.5, 1),
	Anchored = true,
	CanCollide = false,
	Locked = true,
	Name = "CelestialCircle",
	Transparency = 1,
})

TimeSound.Parent = CelestialCircle
ChargeReady.Parent = CelestialCircle
Strike.Parent = CelestialCircle
Stars.Parent = CelestialCircle
StarSplash.Parent = CelestialCircle

local CelestialUI = script:WaitForChild("CelestialCircle")
CelestialUI.Face = Enum.NormalId.Top
CelestialUI.Parent = CelestialCircle
CelestialUI.Enabled = true

local CelestialImage = CelestialUI:WaitForChild("Circle")
CelestialImage.ImageColor3 = Color3.fromRGB(255, 255, 203)

CelestialUI2 = CelestialUI:Clone()
CelestialUI2.Face = Enum.NormalId.Bottom
CelestialUI2.Parent = CelestialCircle

local CelestialImage2 = CelestialUI:WaitForChild("Circle")

CelestialCircle.CFrame = CFrame.new(SpawnPosition)
CelestialCircle.Parent = workspace
Stars.Enabled = true
ChargeReady:Play()
TimeSound:Play()

coroutine.wrap(function()
	while CelestialCircle and CelestialCircle:IsDescendantOf(workspace) do
		CelestialCircle.CFrame = CelestialCircle.CFrame * CFrame.Angles(0, math.rad(-3), 0)
		Services.RunService.Heartbeat:Wait()
	end
	script:Destroy()
end)()

coroutine.wrap(function()
	--Cast large beam of light!
	LightBeam.Parent = workspace
	for i = 0, 60, 1 do
		if LightBeam then
			LightBeam.Size = Vector3.new((i / 60) * BeamHeight, BeamWidth, BeamWidth)
			LightBeam.CFrame = (CFrame.new(SpawnPosition) + Vector3.new(0, BeamHeight - (LightBeam.Size.X / 2), 0))
				* CFrame.Angles(0, 0, math.rad(90))
		end
		Services.RunService.Heartbeat:Wait()
	end
	StarSplash:Emit(StarSplash.Rate)
	Strike:Play()
	wait(1 / 2)
	for i = 0, 45, 1 do
		if LightBeam then
			LightBeam.Size = Vector3.new(BeamHeight, BeamWidth, BeamWidth)
				:Lerp(Vector3.new(BeamHeight, BeamWidth * 10, BeamWidth * 10), i / 45)
			LightBeam.CFrame = (CFrame.new(SpawnPosition) + Vector3.new(0, BeamHeight - (LightBeam.Size.X / 2), 0))
				* CFrame.Angles(0, 0, math.rad(90))
			LightBeam.Transparency = (i / 45)
		end
		Services.RunService.Heartbeat:Wait()
	end
	if LightBeam then
		LightBeam:Destroy()
	end
end)()

for i = 0, 50, 1 do
	if CelestialCircle then
		CelestialCircle.Size = Vector3.new(i, 0.5, i)
		CelestialImage.ImageTransparency = (1 - (i / 50))
		CelestialImage2.ImageTransparency = (1 - (i / 50))
	end
	Services.RunService.Heartbeat:Wait()
end

Services.Lighting.GeographicLatitude = 41.733
local TimeTween = Services.TweenService:Create(
	Services.Lighting,
	TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out, 0, false, 0),
	{ ClockTime = Time }
)
TimeTween:Play()
TimeTween.Completed:Wait()

Stars.Enabled = false
for i = 50, 0, -1 do
	if CelestialCircle then
		CelestialCircle.Size = Vector3.new(i, 0.5, i)
		CelestialImage.ImageTransparency = (1 - (i / 50))
		CelestialImage2.ImageTransparency = (1 - (i / 50))
	end
	Services.RunService.Heartbeat:Wait()
end

wait(Strike.TimeLength)

if CelestialCircle then
	CelestialCircle:Destroy()
end

script:Destroy()
