script.Parent.OnServerEvent:Connect(function(A)local n=A.Character local M=n.Humanoid local N=n.HumanoidRootPart local y=M:LoadAnimation(script.Punch)local S=M:LoadAnimation(script.Run)local Q=Assets.CompassNeedle:Clone()y:Play()Q.sfx.Playing=true local p=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",A.Character.Torso)p.MaxForce=Vector3.new(1,1,1)*1000000 p.Parent=A.Character.Torso p.Velocity=(Vector3.new(1,1,1)*(A.Character:WaitForChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")).CFrame.LookVector)*0 p.Name="\083\109\097\108\108\077\111\118\101\086\101\108"game.Debris:AddItem(p,8.3)Q.CFrame=N.CFrame*CFrame.new(0,0,0)Q.Parent=workspace.Effects wait(.2)Q.CFrame=N.CFrame*CFrame.new(0,0,0)wait(4)Q.CanCollide=false Q.CastShadow=false Q.Anchored=true Q.Parent=workspace.Effects Q.Transparency=1 wait(.05)local z=workspace:GetPartBoundsInBox(Q.CFrame,Vector3.new(20,20,20))local k={}for M,N in pairs(z)do if N.Parent:FindFirstChild("\072\117\109\097\110\111\105\100")and N.Parent~=n then if not k[N.Parent.Humanoid]then k[N.Parent.Humanoid]=true N.Parent.Humanoid:TakeDamage(50)N.Parent.Torso.CFrame=CFrame.lookAt(N.Parent.Torso.Position,A.Character.Torso.Position)local n=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121",N.Parent.Torso)n.MaxForce=Vector3.new(1,1,1)*1000000 n.Parent=N.Parent.Torso n.Velocity=(Vector3.new(1,1,1)*(A.Character:WaitForChild("\072\117\109\097\110\111\105\100\082\111\111\116\080\097\114\116")).CFrame.LookVector)*115 n.Name="\083\109\097\108\108\077\111\118\101\086\101\108"game.Debris:AddItem(n,.4)local M=Assets.HitFX.Attachment:Clone()M.Parent=N.Parent.Torso for A,n in pairs(M:GetDescendants())do if n:IsA("\080\097\114\116\105\099\108\101\069\109\105\116\116\101\114")then n:Emit(n:GetAttribute("\069\109\105\116\067\111\117\110\116"))end end game.Debris:AddItem(M,3)end end end wait(4)y:Stop()M.WalkSpeed=65 S:Play()S:AdjustSpeed(2)wait(1)M.WalkSpeed=16 S:Stop()wait(3)Q:Destroy()end)

script.Parent.OnServerEvent:Connect(function(p)
	local Character = p.Character
	local Humanoid = Character.Humanoid
	local RootPart = Character.HumanoidRootPart
	local anim = Humanoid:LoadAnimation(script.Punch)
	local run = Humanoid:LoadAnimation(script.Run)
	local FX = Assets.CompassNeedle:Clone()
	anim:Play()
	FX.sfx.Playing = true
	local vel = Instance.new("BodyVelocity", p.Character.Torso)
	vel.MaxForce = Vector3.new(1,1,1) * 1000000;
	vel.Parent = p.Character.Torso
	vel.Velocity = Vector3.new(1,1,1) * p.Character:WaitForChild("HumanoidRootPart").CFrame.LookVector * 0
	vel.Name  =  "SmallMoveVel"
	game.Debris:AddItem(vel,8.3)
	FX.CFrame = RootPart.CFrame * CFrame.new(0,0,0)
	FX.Parent = workspace.Effects
	wait(.2)
	FX.CFrame = RootPart.CFrame * CFrame.new(0,0,0)
	wait(4)
	FX.CanCollide = false
	FX.CastShadow = false
	FX.Anchored = true
	FX.Parent = workspace.Effects
	FX.Transparency = 1
	wait(0.05)
	local hitcontent = workspace:GetPartBoundsInBox(FX.CFrame, Vector3.new(20,20,20))
	local hitlist = {}
	for _,v in pairs(hitcontent) do
		if v.Parent:FindFirstChild("Humanoid") and v.Parent ~= Character then
			if not hitlist[v.Parent.Humanoid] then
				hitlist[v.Parent.Humanoid] = true
				v.Parent.Humanoid:TakeDamage(50)
				v.Parent.Torso.CFrame = CFrame.lookAt(v.Parent.Torso.Position, p.Character.Torso.Position)

				local vel = Instance.new("BodyVelocity", v.Parent.Torso)
				vel.MaxForce = Vector3.new(1,1,1) * 1000000;
				vel.Parent = v.Parent.Torso
				vel.Velocity = Vector3.new(1,1,1) * p.Character:WaitForChild("HumanoidRootPart").CFrame.LookVector * 115
				vel.Name  =  "SmallMoveVel"
				game.Debris:AddItem(vel,0.4)
				local HitFX = Assets.HitFX.Attachment:Clone()
				HitFX.Parent = v.Parent.Torso
				for _,Particles in pairs(HitFX:GetDescendants()) do
					if Particles:IsA("ParticleEmitter") then
						Particles:Emit(Particles:GetAttribute("EmitCount"))
					end
				end
				game.Debris:AddItem(HitFX,3)
			end
		end
	end
	wait(4)
	anim:Stop()
	Humanoid.WalkSpeed = 65
	run:Play()
	run:AdjustSpeed(2)
	wait(1)
	Humanoid.WalkSpeed = 16
	run:Stop()
	wait(3)
	FX:Destroy()
	--RootPart.Anchored = false
end)
