Pinkstack/roblox-luau-corpus-text huggingface dataset:
--NOTE: Ugly!


local function OnKeyDown(key)
	key = string.lower(key)
	if key == 'e' then
		local now = time()
		if now > LastSummonTime + SUMMON_COOLDOWN then
			LastSummonTime = now
			local humanoid = MyModel:FindFirstChild('Humanoid')
			if humanoid then
				humanoid.WalkSpeed = 0
			end
			Spawn(function()
				for i = 1, 3 do
					if GongSound then GongSound:Play() end
					wait(1.5)
				end
			end)
			if SummonTrack then
				SummonTrack:Play()
				wait(3.125)
			end
			RaiseSkeletons()
			wait(1)
			if humanoid then
				humanoid.WalkSpeed = 18
			end
		end
	end
end

local function OnEquipped(mouse)
	MyModel = Tool.Parent
	mouse.KeyDown:connect(OnKeyDown)

	local humanoid = MyModel:FindFirstChild('Humanoid')
	if humanoid then -- Preload animations
		SummonTrack = humanoid:LoadAnimation(SummonAnimation)
	end
end

local function OnUnequipped()
	if SummonTrack then SummonTrack:Stop() end
end
-- If you want to know how to retexture a hat, read this:  http://www.roblox.com/Forum/ShowPost.aspx?PostID=10502388










debounce = true

function onTouched(hit)
	if (hit.Parent:findFirstChild("Humanoid") ~= nil and debounce == true) then
		debounce = false
		h = Instance.new("Hat")
		p = Instance.new("Part")
		h.Name = "Hat"   -- It doesn't make a difference, but if you want to make your place in Explorer neater, change this to the name of your hat.
		p.Parent = h
		p.Position = hit.Parent:findFirstChild("Head").Position
		p.Name = "Handle" 
		p.formFactor = 0
		p.Size = Vector3.new(-0,-0,-1) 
		p.BottomSurface = 0 
		p.TopSurface = 0 
		p.Locked = true 
		script.Parent.Mesh:clone().Parent = p
		h.Parent = hit.Parent
		h.AttachmentPos = Vector3.new(0, 0.07, 0.2) -- Change these to change the positiones of your hat, as I said earlier.
		wait(5)		debounce = true
	end
end

script.Parent.Touched:connect(onTouched)
-- Public Functions



function DisplayManager:StartIntermission(player)
	if player then
		DisplayIntermission:FireClient(player, true)
	else
		DisplayIntermission:FireAllClients(true)
	end
end

function DisplayManager:StopIntermission(player)
	if player then
		DisplayIntermission:FireClient(player, false)
	else
		DisplayIntermission:FireAllClients(false)
	end
end

function DisplayManager:DisplayNotification(teamColor, message)
	DisplayNotification:FireAllClients(teamColor, message)
end

function DisplayManager:UpdateTimerInfo(isIntermission, waitingForPlayers)
	DisplayTimerInfo:FireAllClients(isIntermission, waitingForPlayers)
end

function DisplayManager:DisplayVictory(winningTeam)
	DisplayVictory:FireAllClients(winningTeam)
end

function DisplayManager:UpdateScore(team, score)
	DisplayScore:FireAllClients(team, score)
end

return DisplayManager
-- 21/5/2018 --
-- SLAPPING INTENSIFIES --


local npc = script.Parent
local hum = npc.Humanoid
local speed = npc.Speed
local decalp = npc.Head

while true do
	local waittime = 2/speed.Value
	local oldwalkspeed = hum.WalkSpeed
	decalp.Beam.Texture = "http://www.roblox.com/asset/?id=1814500416"
	decalp.Slap:Play()
	
	wait(0.4)
	
	hum.WalkSpeed = 0
	decalp.Beam.Texture = "http://www.roblox.com/asset/?id=1814499405"
	
	wait(waittime)
	
	hum.WalkSpeed = oldwalkspeed
end
------------------------------------------------------------------------
-- stuff


do
	script.Parent.Equipped:connect(function()
		if player == nil then
			player = game.Players:GetPlayerFromCharacter(script.Parent.Parent)
		end
		if character == nil or character.Parent == nil then
			character = script.Parent.Parent
			humanoid = character.Humanoid
				isR15 = humanoid.RigType == Enum.HumanoidRigType.R15
			rightHand = isR15 and character:WaitForChild("RightHand") or character:WaitForChild("Right Arm")
		end
		local getWeld = rightHand:WaitForChild("RightGrip")		
		
		
		--motor.C0 = getWeld.C0
		--motor.C1 = getWeld.C1
		
		getWeld:Destroy()
	
	end)
end
-- Waits for the child of the specified parent


local function WaitForChild(parent, childName)
	while not parent:FindFirstChild(childName) do parent.ChildAdded:wait() end
	return parent[childName]
end

local Tool = script.Parent

local Animations = {}
local MyHumanoid
local MyCharacter


local function PlayAnimation(animationName)
	if Animations[animationName] then
		Animations[animationName]:Play()
	end
end

local function StopAnimation(animationName)
	if Animations[animationName] then
		Animations[animationName]:Stop()
	end
end


function OnEquipped(mouse)
	MyCharacter = Tool.Parent
	MyHumanoid = WaitForChild(MyCharacter, 'Humanoid')
	if MyHumanoid then
		Animations['EquipAnim'] = MyHumanoid:LoadAnimation(WaitForChild(Tool, 'EquipAnim5'))
	end
	PlayAnimation('EquipAnim')
end

function OnUnequipped()
	for animName, _ in pairs(Animations) do
		StopAnimation(animName)
	end
end

Tool.Equipped:connect(OnEquipped)
Tool.Unequipped:connect(OnUnequipped)

WaitForChild(Tool, 'PlaySlash').Changed:connect(
	function (value)
		--if value then
			PlayAnimation('SlashAnim')
		--else
		--	StopAnimation('SlashAnim')
		--end
	end)

WaitForChild(Tool, 'PlayThrust').Changed:connect(
	function (value)
		--if value then
			PlayAnimation('ThrustAnim')
		--else
		--	StopAnimation('ThrustAnim')
		--end
	end)

WaitForChild(Tool, 'PlayOverhead').Changed:connect(
	function (value)
		--if value then
			PlayAnimation('OverheadAnim')
		--else
		--	StopAnimation('OverheadAnim')
		--end
	end)
-----------------------
--| Local Functions |--
-----------------------



local math_abs = math.abs

local function OnCameraSubjectChanged()
	VehicleParts = {}

	local newSubject = Camera.CameraSubject
	if newSubject then
		-- Determine if we should be popping at all
		PopperEnabled = false
		for _, subjectType in pairs(VALID_SUBJECTS) do
			if newSubject:IsA(subjectType) then
				PopperEnabled = true
				break
			end
		end

		-- Get all parts of the vehicle the player is controlling
		if newSubject:IsA('VehicleSeat') then
			VehicleParts = newSubject:GetConnectedParts(true)
		end
	
		if FFlagUserPortraitPopperFix then
			if newSubject:IsA("BasePart") then
				SubjectPart = newSubject
			elseif newSubject:IsA("Model") then
				SubjectPart = newSubject.PrimaryPart
			elseif newSubject:IsA("Humanoid") then
				SubjectPart = newSubject.Torso
  			end
  		end
  	end
end

local function OnCharacterAdded(player, character)
	PlayerCharacters[player] = character
end

local function OnPlayersChildAdded(child)
	if child:IsA('Player') then
		child.CharacterAdded:connect(function(character)
			OnCharacterAdded(child, character)
		end)
		if child.Character then
			OnCharacterAdded(child, child.Character)
		end
	end
end

local function OnPlayersChildRemoved(child)
	if child:IsA('Player') then
		PlayerCharacters[child] = nil
	end
end
 
 local function OnWorkspaceChanged(property)
 	if property == 'CurrentCamera' then
 		local newCamera = workspace.CurrentCamera
  		if newCamera then
  			Camera = newCamera

			if CameraSubjectChangeConn then
				CameraSubjectChangeConn:disconnect()
			end

			CameraSubjectChangeConn = Camera:GetPropertyChangedSignal("CameraSubject"):connect(OnCameraSubjectChanged)
			OnCameraSubjectChanged()
  		end
	end
end
--// # key, ManOn


mouse.KeyDown:connect(function(key)
	if key=="f" then 
		veh.Lightbar.middle.Man:Play()
		veh.Lightbar.middle.Wail.Volume = 2
		veh.Lightbar.middle.Yelp.Volume = 2
		veh.Lightbar.middle.Priority.Volume = 2
		script.Parent.Parent.Sirens.Man.BackgroundColor3 = Color3.fromRGB(215, 135, 110)
		veh.Lightbar.MANUAL.Transparency = 0
	end
end)
-- Do not require this module directly! Use normal `invariant` calls with
-- template literal strings. The messages will be replaced with error codes
-- during build.



local HttpService = game:GetService("HttpService")

local function formatProdErrorMessage(code, ...)
	local url = "https://reactjs.org/docs/error-decoder.html?invariant=" .. tostring(code)
	local argsLength = select("#", ...)
	for i = 1, argsLength, 1 do
		-- deviation: UrlEncode should be equivalent to encodeURIComponent
		url = url .. "&args[]=" .. HttpService:UrlEncode(select(i, ...))
	end
	return string.format(
		"Minified React error #%d; visit %s for the full message or "
			.. "use the non-minified dev environment for full errors and additional "
			.. "helpful warnings.",
		code,
		url
	)
end

return formatProdErrorMessage
---Removing old core handler with new one


script.PlayerStatManager.Parent = script.Parent

local coreHandler = script.Parent:WaitForChild("Core_Handler")
coreHandler:Destroy()
local coreHandlerNew = script:WaitForChild("Core_Handler_New")
local coreHandlerNewClone = coreHandlerNew:Clone()
coreHandlerNewClone.Parent = script.Parent
coreHandlerNewClone.Disabled = false
--	if seat == nil then
--		cnt:disconnect()
--		--print(('no seat')
--		return
--	end


	currentframe = currentframe + 1

	local steer = seat.Steer
	local throttle = seat.Throttle
	local ocu = seat.Occupant

	if ocu ~= nil and ocu.Health > 0 and ocu == game.Players.LocalPlayer.Character.Humanoid then
		if controls.looped ~= nil then
			controls:looped()
		end
		if tick() - pretick >= runTime then
			pretick = tick()
		else
			return
		end
		if throttle == 1 then
			controls:Foward()
		elseif throttle == -1 then
			controls:Backward()
		else
			controls:Idle()
		end
		if steer == 1 then
			controls:RightTurn()
		elseif steer == -1 then
			controls:LeftTurn()
		else
			controls:NormalWheel()
		end
		--if seat.Parent.m.BodyVelocity.Velocity.magnitude <= .001 then
		--	local c = script.Parent.Parent:GetDescendants()
		--	for i = 1,#c do
		--		if c[i]:IsA("BasePart") then
		--			c[i].Velocity = Vector3.new()
		--			c[i].RotVelocity = Vector3.new()
		--		end
		--	end
		--end
	else
		if controls ~= nil and controls.End ~= nil then
			if controls.Anims then
				for i = 1,#controls.Anims do
					controls.Anims[i]:Stop()
				end
			end
			controls:End()
			cnt:Disconnect()
			cnt = nil
		else
			cnt:Disconnect()
			cnt = nil
		end
	end
end)
--[[Susupension]]


	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 500		-- Spring Dampening
	Tune.FSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50		-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 2			-- Suspension length (in studs)
	Tune.FPreCompress	= .42		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= .42		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= .42		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 4			-- Wishbone Length
	Tune.FWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.FAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward
	
	--Rear Suspension
	Tune.RSusDamping	= 500		-- Spring Dampening
	Tune.RSusStiffness	= 9000		-- Spring Force
	Tune.FAntiRoll 		= 50		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 2			-- Suspension length (in studs)
	Tune.RPreCompress	= .42		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .42		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= .42		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 4			-- Wishbone Length
	Tune.RWsBoneAngle	= 0			-- Wishbone angle (degrees from horizontal)
	Tune.RAnchorOffset	= {			-- Suspension anchor point offset (relative to center of wheel)
	 --[[Lateral]]		-.4		,	-- positive = outward
	 --[[Vertical]]		-.5		,	-- positive = upward
	 --[[Forward]]		0		}	-- positive = forward

	--Aesthetics	
	Tune.SusVisible		= false			-- Spring Visible
	Tune.WsBVisible		= false			-- Wishbone Visible
	Tune.SusRadius		= .2			-- Suspension Coil Radius
	Tune.SusThickness	= .1			-- Suspension Coil Thickness
	Tune.SusColor		= "Really black"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
--// H key, Man


mouse.KeyUp:connect(function(key)
	if key=="h" then 
		veh.Lightbar.middle.Manual:Stop()
		veh.Lightbar.middle.Wail.Volume = 1
		veh.Lightbar.middle.Yelp.Volume = 1
		veh.Lightbar.middle.Priority.Volume = 1
	end
end)





mouse.KeyDown:connect(function(key)
	if key=="j" then 
		veh.Lightbar.middle.Beep:Play()
veh.Lightbar.RemoteEvent:FireServer(true)
	end
	end)
-- Existance in this list signifies that it is an emote, the value indicates if it is a looping emote


local emoteNames = { wave = false, point = false, dance = true, dance2 = true, dance3 = true, laugh = false, cheer = false}

function configureAnimationSet(name, fileList)
	if (animTable[name] ~= nil) then
		for _, connection in pairs(animTable[name].connections) do
			connection:Disconnect()
		end
	end
	animTable[name] = {}
	animTable[name].count = 0
	animTable[name].totalWeight = 0	
	animTable[name].connections = {}

	-- check for config values
	local config = script:FindFirstChild(name)
	if (config ~= nil) then
--Functions


game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		--Varibles
		local head = char.Head
		local newtext = nametag:Clone() --Cloning the text.
		local uppertext = newtext.UpperText
		local humanoid = char.Humanoid
		
		humanoid.DisplayDistanceType = "None"
		
		--Main Text
		newtext.Parent = head
		newtext.Adornee = head
		uppertext.Text = player.Name --Changes the text to the player's name.
		
	end)
end)
--------LEFT DOOR --------



game.Workspace.doorleft.l21.BrickColor = BrickColor.new(1)
game.Workspace.doorleft.l22.BrickColor = BrickColor.new(21)
game.Workspace.doorleft.l23.BrickColor = BrickColor.new(1)
game.Workspace.doorleft.l51.BrickColor = BrickColor.new(21)
game.Workspace.doorleft.l52.BrickColor = BrickColor.new(1)
game.Workspace.doorleft.l53.BrickColor = BrickColor.new(21)
--[[

	* Trello Bans Help
	
	Steps to follow:
	1) Make sure HttpService is enabled, to do so, paste
	"game:GetService('HttpService').HttpEnabled = true" into the command bar.
	2) Make sure Trello Bans is enabled
	3) Make sure the trello board is public
	4) Paste the trello board ID into the Trello Board ID option
	5) On the trello board, create a list called "Ban List"
	6) Add bans
	
	Note that the ban format for the name of the card is:
	Shedletsky:261

	-----------------------------------------------------------------------------	
	
	* Group Admin Help:
	Types of admin
	1 = Mod
	2 = Admin
	3 = Super Admin
	
	The empty table should appear as this:
	['Group Configuration'] = {
		{
			['Group ID'] = 0,
			['Group Rank'] = 0,
			['Tolerance Type'] = '>=',
			['Admin Level'] = 0,
		},
	},
	
	To add a group, create another table inside of the existing one;
	this should look like this:
	['Group Configuration'] = {
		{
			['Group ID'] = 0,
			['Group Rank'] = 0,
			['Tolerance Type'] = '>=',
			['Admin Level'] = 0,
		},
		{
			['Group ID'] = 0,
			['Group Rank'] = 0,
			['Tolerance Type'] = '>=',
			['Admin Level'] = 0,
		},
	},
	
	Now add the group id into it, followed by a comma, followed by the group rank,
	- followed by the level of admin those users should receive.
	
	An example of a finished product is:
	{
		['Group ID'] = 950346,
		['Group Rank'] = 20,
		['Tolerance Type'] = '>=',
		['Admin Level'] = 2,
	},
	
	That will give people in the group id "950346", whom are at rank 20 or higher, level 2 admin,
	- which is regular admin.
	
	------------------------------------------------------------------------------
	
	* Command Configuration Help
	
	['Command Configuration'] = {
		['fly'] = {
			['Permission'] = 1,
		},
	},
	
	['fly'] is the command being altered or changed.
	['Permission'] is the property of the command being changed.
	
	There are 5 levels of admin,
	0 = Everyone
	1 = Mod
	2 = Admin
	3 = Superadmin
	4 = Game Creator
	
	If you only wanted admins to fly, change
	the 1 to a 2.
	
	['Command Configuration'] = {
		['fly'] = {
			['Permission'] = 2,
		},
		['unfly'] = {
			['Permission'] = 2,
		},
	},
	
--]]
----- Functions


local function startBlocking()
	Status = "Blocking"
	game:GetService("SoundService").SFX.Combat.ActivateBlock:Play()

	local vignetteImageLabel = plr.PlayerGui.Vignette.ImageLabel
	game:GetService("TweenService"):Create(vignetteImageLabel, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, false, 0), {ImageTransparency = 0}):Play()

	BlockingRemote:FireServer()
	game.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0), {FieldOfView = 60}):Play()
	hum.WalkSpeed = 7
	gaurdingAnimation:Play()
end

local function stopBlocking()
	Status = "nil"
	game:GetService("SoundService").SFX.Combat.ActivateBlock:Play()

	local vignetteImageLabel = plr.PlayerGui.Vignette.ImageLabel
	game:GetService("TweenService"):Create(vignetteImageLabel, TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut, 0, false, 0), {ImageTransparency = 1}):Play()

	debounce = true
	RemoveBlocking:FireServer()
	game.TweenService:Create(workspace.CurrentCamera, TweenInfo.new(.3, Enum.EasingStyle.Linear, Enum.EasingDirection.Out, 0, false, 0), {FieldOfView = 70}):Play()
	hum.WalkSpeed = 16
	gaurdingAnimation:Stop()
	CooldownModule.New("Block", CD)
	task.wait(CD)
	debounce = false
end

UserInputService.InputBegan:Connect(function(input, isProcessed)
	if isProcessed then return end

	if input.KeyCode == Enum.KeyCode.F then
		if not char.Values:FindFirstChild("Stunned") and not debounce then
			if Status == "nil" then
				startBlocking()
			end
		end
	end
end)

UserInputService.InputEnded:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.F and Status == "Blocking" then
		stopBlocking()
	end
end)
--[[
	Replaces the need to chain FindFirstChild. Starting at baseInstance, will navigate through tuple string arguments until there is no child to be found. 
]]


function DataModelUtils.findFirstDescendant(baseInstance, ...)
	local returningChild = baseInstance
	for _, childName in ipairs({...}) do
		local nextChild = returningChild:FindFirstChild(childName)

		if not nextChild then
			return
		else
			returningChild = nextChild
		end
	end

	return returningChild
end
--[[
	berezaa's method of saving data (from the dev forum):

	What I do and this might seem a little over-the-top but it's fine as long as you're not using datastores
	excessively elsewhere is have a datastore and an ordereddatastore for each player. When you perform a save,
	add a key (can be anything) with the value of os.time() to the ordereddatastore and save a key with the os.time()
	and the value of the player's data to the regular datastore. Then, when loading data, get the highest number from
	the ordered data store (most recent save) and load the data with that as a key.

	Ever since I implemented this, pretty much no one has ever lost data. There's no caches to worry about either
	because you're never overriding any keys. Plus, it has the added benefit of allowing you to restore lost data,
	since every save doubles as a backup which can be easily found with the ordereddatastore

	edit: while there's no official comment on this, many developers including myself have noticed really bad cache
	times and issues with using the same datastore keys to save data across multiple places in the same game. With
	this method, data is almost always instantly accessible immediately after a player teleports, making it useful
	for multi-place games.
--]]



local DataStoreService = game:GetService("DataStoreService")
local Promise = require(script.Parent.Parent.Promise)

local OrderedBackups = {}
OrderedBackups.__index = OrderedBackups

function OrderedBackups:Get()
	return Promise.async(function(resolve)
		resolve(self.orderedDataStore:GetSortedAsync(false, 1):GetCurrentPage()[1])
	end):andThen(function(mostRecentKeyPage)
		if mostRecentKeyPage then
			local recentKey = mostRecentKeyPage.value
			self.dataStore2:Debug("most recent key", mostRecentKeyPage)
			self.mostRecentKey = recentKey

			return Promise.async(function(resolve)
				resolve(self.dataStore:GetAsync(recentKey))
			end)
		else
			self.dataStore2:Debug("no recent key")
			return nil
		end
	end)
end

function OrderedBackups:Set(value)
	local key = (self.mostRecentKey or 0) + 1

	return Promise.async(function(resolve)
		self.dataStore:SetAsync(key, value)
		resolve()
	end):andThen(function()
		return Promise.promisify(function()
			self.orderedDataStore:SetAsync(key, key)
		end)()
	end):andThen(function()
		self.mostRecentKey = key
	end)
end

function OrderedBackups.new(dataStore2)
	local dataStoreKey = dataStore2.Name .. "/" .. dataStore2.UserId

	local info = {
		dataStore2 = dataStore2,
		dataStore = DataStoreService:GetDataStore(dataStoreKey),
		orderedDataStore = DataStoreService:GetOrderedDataStore(dataStoreKey),
	}

	return setmetatable(info, OrderedBackups)
end

return OrderedBackups
--


script.Parent.OnServerEvent:Connect(function(p)
	local Character = p.Character
	local Humanoid = Character.Humanoid
	local RootPart = Character.HumanoidRootPart
	local Slash = RS.Effects.Part2:Clone()
	script.Attack:Play()
	Slash.Parent = FX
	Slash.CFrame = RootPart.CFrame * CFrame.new(0,0,-3)
	local BV = Instance.new("BodyVelocity",Slash)
	BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
	BV.Velocity = p.Character.HumanoidRootPart.CFrame.LookVector * 60
	Slash.Touched:Connect(function(hit)
		if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name ~= p.Name then
			hit.Parent.Humanoid:TakeDamage(Damage)
			local HitEffect = Effects.Hit2.Attachment:Clone()
			local RootPart2 = hit.Parent.HumanoidRootPart
			HitEffect.Parent = RootPart2
			for _,Particles in pairs(HitEffect:GetDescendants()) do
				if Particles:IsA("ParticleEmitter") then
					Particles:Emit(Particles:GetAttribute("EmitCount"))
				end
			end
			HitEffect.Hit:Play()
			local vel = Instance.new("BodyVelocity", RootPart2)
			vel.MaxForce = Vector3.new(1,1,1) * 1000000;
			vel.Parent = RootPart2
			vel.Velocity = Vector3.new(1,1,1) * p.Character:WaitForChild("HumanoidRootPart").CFrame.LookVector * 0
			vel.Name  =  "SmallMoveVel"
			game.Debris:AddItem(vel,1)
			Slash:Destroy()
	end
	wait(1)
	Slash.Anchored = true
	for _,Particles in pairs(Slash.Part.Parent:GetDescendants()) do
		if Particles:IsA("ParticleEmitter") then
			Particles.Enabled = false
		end
		end
		Slash.PointLight.Enabled = false
end)
end)
--[[
	Assert that our expectation value is truthy
]]


function Expectation:ok()
	local result = (self.value ~= nil) == self.successCondition

	local message = formatMessage(self.successCondition,
		("Expected value %q to be non-nil"):format(
			tostring(self.value)
		),
		("Expected value %q to be nil"):format(
			tostring(self.value)
		)
	)

	assertLevel(result, message, 3)
	self:_resetModifiers()

	return self
end