repeat wait()until game.Players.LocalPlayer.Character local t=game.Players.LocalPlayer local i=t.Character local o=i:WaitForChild("\072\117\109\097\110\111\105\100")local x=i:WaitForChild("\076\111\119\101\114\084\111\114\115\111")local P=game:GetService("\085\115\101\114\073\110\112\117\116\083\101\114\118\105\099\101")local Y=t:GetMouse()local U=false local l=true local Z=5 local r=t.Character.HumanoidRootPart.Orientation.Y local n=Instance.new("\065\110\105\109\097\116\105\111\110")n.AnimationId=script.Anim01.AnimationId local G=o:LoadAnimation(n)local A=game:GetService("\084\119\101\101\110\083\101\114\118\105\099\101")local I=(t.PlayerGui:WaitForChild("\077\111\099\104\105\095\083\107\105\108\108\095\076\105\115\116"..t.Name)):WaitForChild("\070\114\097\109\101")local R=7 P.InputBegan:Connect(function(i)if i.KeyCode==Enum.KeyCode.F and(l==true and(Tool.Equip.Value==true and Tool.Active.Value=="\078\111\110\101"))then G:Play()U=true Tool.Active.Value="\053\082\111\108\108\101\114\068\111\110\117\116"script.Fire:FireServer("\083\116\097\114\116");(I:FindFirstChild(Tool.Active.Value)).Frame.Size=UDim2.new(1,0,1,0)local i=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",x)i.Name="\066\111\100\121\086\101\108\111\099\105\116\121\082\111\108\108\068\111\117\103\104"i.MaxForce=Vector3.new(math.huge,0,math.huge)r=t.Character.HumanoidRootPart.Orientation.Y while script.Parent.Equip.Value==true and U==true do t.Character.HumanoidRootPart.CFrame=CFrame.new(t.Character.HumanoidRootPart.Position,Vector3.new(Y.Hit.p.x,t.Character.HumanoidRootPart.Position.y,Y.Hit.p.z))i.Velocity=t.Character.HumanoidRootPart.CFrame.lookVector*Z if Z<80 then Z=Z+1.25 end local o=45 if t.Character.HumanoidRootPart.Orientation.Y-r>=o or t.Character.HumanoidRootPart.Orientation.Y-r<=-o then Z=Z-Z/2 end wait()r=t.Character.HumanoidRootPart.Orientation.Y end end end)P.InputEnded:Connect(function(t)if t.KeyCode==Enum.KeyCode.F and(l==true and(Tool.Equip.Value==true and Tool.Active.Value=="\053\082\111\108\108\101\114\068\111\110\117\116"))then G:Stop()l=false U=false script.Fire:FireServer("\082\101\108\101\097\115\101")local t=x:FindFirstChild("\066\111\100\121\086\101\108\111\099\105\116\121\082\111\108\108\068\111\117\103\104")t.MaxForce=Vector3.new(5000,0,5000)wait(.5)t:Destroy();(A:Create((I:FindFirstChild(Tool.Active.Value)).Frame,TweenInfo.new(R),{Size=UDim2.new(0,0,1,0)})):Play()Tool.Active.Value="\078\111\110\101"wait(R)Z=5 l=true end end)

repeat wait() until game.Players.LocalPlayer.Character

local Player = game.Players.LocalPlayer
local char = Player.Character
local hum = char:WaitForChild("Humanoid")
local Torso = char:WaitForChild("LowerTorso")
local UIS = game:GetService("UserInputService")
local Mouse = Player:GetMouse()
local toggle = false
local Debounce = true
local Speed = 5
local prevdir = Player.Character.HumanoidRootPart.Orientation.Y

local Anim = Instance.new("Animation")
Anim.AnimationId = script.Anim01.AnimationId
local PlayAnim = hum:LoadAnimation(Anim)

local Tween = game:GetService("TweenService")
local Gui = Player.PlayerGui:WaitForChild("Mochi_Skill_List".. Player.Name):WaitForChild("Frame")

local Cooldown = 7



UIS.InputBegan:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.F and Debounce == true and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		
		PlayAnim:Play()
		toggle = true
		Tool.Active.Value = "5RollerDonut"
		script.Fire:FireServer("Start")
		Gui:FindFirstChild(Tool.Active.Value).Frame.Size = UDim2.new(1, 0, 1, 0)
		local BV = Instance.new("BodyVelocity",Torso)
		BV.Name = "BodyVelocityRollDough"
		BV.MaxForce = Vector3.new(math.huge,0,math.huge)
		prevdir = Player.Character.HumanoidRootPart.Orientation.Y
		while script.Parent.Equip.Value == true and toggle == true do
			Player.Character.HumanoidRootPart.CFrame = CFrame.new(Player.Character.HumanoidRootPart.Position, Vector3.new(Mouse.Hit.p.x,Player.Character.HumanoidRootPart.Position.y,Mouse.Hit.p.z))
			BV.Velocity = Player.Character.HumanoidRootPart.CFrame.lookVector * Speed
			if Speed < 80 then
				Speed = Speed + 1.25
			end
			local MaxAngle = 45
			if (Player.Character.HumanoidRootPart.Orientation.Y - prevdir) >= MaxAngle or (Player.Character.HumanoidRootPart.Orientation.Y - prevdir) <= -MaxAngle  then
				Speed = Speed - (Speed/2)
			end
			wait()
			prevdir = Player.Character.HumanoidRootPart.Orientation.Y
		end
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.KeyCode == Enum.KeyCode.F and Debounce == true and Tool.Equip.Value == true and Tool.Active.Value == "5RollerDonut" then
		PlayAnim:Stop()
		Debounce = false
		toggle = false
		script.Fire:FireServer("Release")
		local BV = Torso:FindFirstChild("BodyVelocityRollDough")
		BV.MaxForce = Vector3.new(5000, 0, 5000)
		wait(0.5)
		BV:Destroy()
		Tween:Create(Gui:FindFirstChild(Tool.Active.Value).Frame, TweenInfo.new(Cooldown), {Size = UDim2.new(0, 0, 1, 0)}):Play()
		Tool.Active.Value = "None"
		wait(Cooldown)
		Speed = 5
		Debounce = true
	end
end)
