--| Main |--

Tool.Activated:Connect(function()
	if State.Value == "None" then
		State.Value = "PhongDev"
		
			--| Fov |--
			spawn(function()
				local Properties = {FieldOfView = DFOV - 20}
				local Info = TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut,0.1)
				local Tween = TS:Create(game.Workspace.CurrentCamera,Info,Properties)
				Tween:Play()
				
				wait(2.1)
				
				local Properties = {FieldOfView = DFOV + 30}
				local Info = TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut,0.1)
				local Tween = TS:Create(game.Workspace.CurrentCamera,Info,Properties)
				Tween:Play()
				
				task.wait(0.8)
				
				local Properties = {FieldOfView = DFOV}
				local Info = TweenInfo.new(0.25,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut,0.1)
				local Tween = TS:Create(game.Workspace.CurrentCamera,Info,Properties)
				Tween:Play()
			end)
			--| Cam Shake |--
			delay(1, function()
				local CameraShaker = require(game.ReplicatedStorage.Access.Modules.CameraShaker)
				local camshake = CameraShaker.new(Enum.RenderPriority.Camera.Value,function(shakeCFrame)
					Camera.CFrame = Camera.CFrame * shakeCFrame
				end)
				camshake:Start()
				camshake:Shake(CameraShaker.Presets.Earthquake)
				
				wait(1.05)
				
				camshake:Stop()
				
				local CameraShaker = require(game.ReplicatedStorage.Access.Modules.CameraShaker)
				local camshake = CameraShaker.new(Enum.RenderPriority.Camera.Value,function(shakeCFrame)
					Camera.CFrame = Camera.CFrame * shakeCFrame
				end)
				camshake:Start()
				camshake:Shake(CameraShaker.Presets.Explosion)
			end)
			
			--| Color Screen |--
			delay(2.05, function()
				local Color = Instance.new("ColorCorrectionEffect")
					Color.Parent = game.Lighting
					Color.Brightness = 1
					Color.Contrast = 1
				Debris:AddItem(Color, 0.2)
				
				local ColorTween = TS:Create(Color, Info, {TintColor = Color3.new(0, 0.690196, 0), Contrast = 0})
				ColorTween:Play()
			end)
			
		--| Function on Players |--
			--| Auto Rotate |--
			spawn(function()
				Humanoid.AutoRotate = false
				wait(3.30)
				Humanoid.AutoRotate = true
			end)
		------------------------------
		
		--| Remote |--
		Remotes.PhongDev:FireServer()
		------------------------------	
		
		--| Cooldown |--
		delay(4, function()
		wait(Cooldown.Value)
		State.Value = "None"
		end)
	end
end)
