Roblox/luau_corpus huggingface dataset:
--////////////////////////////////////////////////////////////////////////////////////////////
--///////////////////////////////////////////////// Code to hook client UI up to server events
--////////////////////////////////////////////////////////////////////////////////////////////

function DoChatBarFocus()
	if (not ChatWindow:GetCoreGuiEnabled()) then return end
	if (not ChatBar:GetEnabled()) then return end

	if (not ChatBar:IsFocused() and ChatBar:GetVisible()) then
		moduleApiTable:SetVisible(true)
		InstantFadeIn()
		ChatBar:CaptureFocus()
		moduleApiTable.ChatBarFocusChanged:fire(true)
	end
end

chatBarFocusChanged.Event:connect(function(focused)
	moduleApiTable.ChatBarFocusChanged:fire(focused)
end)

function DoSwitchCurrentChannel(targetChannel)
	if (ChatWindow:GetChannel(targetChannel)) then
		ChatWindow:SwitchCurrentChannel(targetChannel)
	end
end

function SendMessageToSelfInTargetChannel(message, channelName, extraData)
	local channelObj = ChatWindow:GetChannel(channelName)
	if (channelObj) then
		local messageData = {
			ID = -1,
			FromSpeaker = nil,
			SpeakerUserId = 0,
			OriginalChannel = channelName,
			IsFiltered = true,
			MessageLength = string.len(message),
			MessageLengthUtf8 = utf8.len(utf8.nfcnormalize(message)),
			Message = trimTrailingSpaces(message),
			MessageType = ChatConstants.MessageTypeSystem,
			Time = os.time(),
			ExtraData = extraData,
		}

		channelObj:AddMessageToChannel(messageData)
	end
end

function chatBarFocused()
	if (not mouseIsInWindow) then
		DoBackgroundFadeIn()
		if (textIsFaded) then
			DoTextFadeIn()
		end
	end

	chatBarFocusChanged:Fire(true)
end
--Made by SinisterAlex
function onTouched(part)

	local h = part.Parent:findFirstChild("Humanoid") or part.Parent:findFirstChild("Zombie")

	if h~=nil then

wait(0.001)
h.Health = 0
children = h.Parent:children()
part.Parent:findFirstChild("Head").BrickColor = BrickColor.new("Bright red")
part.Parent:findFirstChild("Torso").BrickColor = BrickColor.new("Bright red")
part.Parent:findFirstChild("Left Arm").BrickColor = BrickColor.new("Bright red")
part.Parent:findFirstChild("Right Arm").BrickColor = BrickColor.new("Bright red")
part.Parent:findFirstChild("Left Leg").BrickColor = BrickColor.new("Bright red") 
part.Parent:findFirstChild("Right Leg").BrickColor = BrickColor.new("Bright red")

part.Parent:findFirstChild("Head").Material = "Plastic"
part.Parent:findFirstChild("Torso").Material = "Plastic"
part.Parent:findFirstChild("Left Arm").Material = "Plastic"
part.Parent:findFirstChild("Right Arm").Material = "Plastic"
part.Parent:findFirstChild("Left Leg").Material = "Plastic"
part.Parent:findFirstChild("Right Leg").Material = "Plastic"

wait(1)


	for i=1,#children do

		if(children[i].className == "Part" and children[i].Name ~= "Torso") then stick(children[i], h.Parent.Torso) end

		if(children[i].className == "Hat") then stick(children[i].Handle, h.Parent.Torso) end

	end

	end


end



script.Parent.Touched:connect(onTouched)
-- connect events
Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
Humanoid.Jumping:connect(onJumping)
Humanoid.Climbing:connect(onClimbing)
Humanoid.GettingUp:connect(onGettingUp)
Humanoid.FreeFalling:connect(onFreeFall)
Humanoid.FallingDown:connect(onFallingDown)
Humanoid.Seated:connect(onSeated)
Humanoid.PlatformStanding:connect(onPlatformStanding)
Humanoid.Swimming:connect(onSwimming)

Effects.ChildAdded:connect(function(ch)
	if ch.Name == "Swimming" then
		pose = "Running"
	end
end)
-- 	-- All lines up to what looks like a stack -- or if nothing looks like a stack
-- 	-- (maybe it's a code frame instead), just the first non-empty line.
-- 	-- If the error is a plain "Error:" instead of a SyntaxError or TypeError we
-- 	-- remove the prefix from the message because it is generally not useful.
-- 	local re = RegExp([=[^(?:Error: )?([\s\S]*?(?=\n\s*at\s.*:\d*:\d*)|\s*.*)([\s\S]*)$]=])
-- 	local messageMatch = re:exec(content)
-- 	if not messageMatch then
-- 		-- For typescript
-- 		error('If you hit this error, the regex above is buggy.')
-- 	end
-- 	local message = removeBlankErrorLine(messageMatch[2])
-- 	local stack = removeBlankErrorLine(messageMatch[3])
-- 	return {message = message, stack = stack}
-- end

return {
	formatStackTrace = formatStackTrace,
	getStackTraceLines = getStackTraceLines,
	-- separateMessageFromStack = separateMessageFromStack
}
--Supercharger
local Whine_Pitch = 1.4		--max pitch of the whine (not exact so might have to mess with it)
--- These are the IDs of possible blood textures, I already set 3 up for u k

local blood_textures = {
	408399602,
	502143538,
	508050784
}
--Set up the touched connection.
TouchConnection = SlingshotBall.Touched:Connect(function(TouchPart)
	SlingshotBallHit(TouchPart)
end)
------------------------------------------------------------------------
-- save current character into token buffer, grabs next character
-- * like luaX:nextc, returns the character read for convenience
------------------------------------------------------------------------
function luaX:save_and_next(ls)
  self:save(ls, ls.current)
  return self:nextc(ls)
end
--[[
	Index into `Event` to get a prop key for attaching to an event on a Roblox
	Instance.

	Example:

		Roact.createElement("TextButton", {
			Text = "Hello, world!",

			[Roact.Event.MouseButton1Click] = function(rbx)
				print("Clicked", rbx)
			end
		})
]]

local Type = require(script.Parent.Parent.Type)

local Event = {}

local eventMetatable = {
	__tostring = function(self)
		return ("RoactHostEvent(%s)"):format(self.name)
	end,
}

setmetatable(Event, {
	__index = function(_self, eventName)
		local event = {
			[Type] = Type.HostEvent,
			name = eventName,
		}

		setmetatable(event, eventMetatable)

		Event[eventName] = event

		return event
	end,
})

return Event
-- Local private variables and constants
local UNIT_Z = Vector3.new(0,0,1)
local X1_Y0_Z1 = Vector3.new(1,0,1)	--Note: not a unit vector, used for projecting onto XZ plane
local ZERO_VECTOR3 = Vector3.new(0,0,0)
local TAU = 2 * math.pi
--- Validates that the argument will work without any type errors.
function Argument:Validate(isFinal)
	if self.RawValue == nil or #self.RawValue == 0 and self.Required == false then
		return true
	end

	if self.Type.Validate or self.Type.ValidateOnce then
		for i = 1, #self.TransformedValues do
			if self.Type.Validate then
				local valid, errorText = self.Type.Validate(self:GetTransformedValue(i))

				if not valid then
					return valid, errorText or "Invalid value"
				end
			end

			if isFinal and self.Type.ValidateOnce then
				local validOnce, errorTextOnce = self.Type.ValidateOnce(self:GetTransformedValue(i))

				if not validOnce then
					return validOnce, errorTextOnce
				end
			end
		end

		return true
	else
		return true
	end
end
--[[ Functions overridden from BaseCamera ]]--
function LegacyCamera:SetCameraToSubjectDistance(desiredSubjectDistance)
	return BaseCamera.SetCameraToSubjectDistance(self,desiredSubjectDistance)
end

function LegacyCamera:Update(dt)

	-- Cannot update until cameraType has been set
	if not self.cameraType then return end

	local now = tick()
	local timeDelta = (now - self.lastUpdate)
	local camera = 	workspace.CurrentCamera
	local newCameraCFrame = camera.CFrame
	local newCameraFocus = camera.Focus
	local player = PlayersService.LocalPlayer

	if self.lastUpdate == nil or timeDelta > 1 then
		self.lastDistanceToSubject = nil
	end
	local subjectPosition = self:GetSubjectPosition()

	if self.cameraType == Enum.CameraType.Fixed then
		if subjectPosition and player and camera then
			local distanceToSubject = self:GetCameraToSubjectDistance()
			local newLookVector = self:CalculateNewLookVectorFromArg(nil, CameraInput.getRotation())

			newCameraFocus = camera.Focus -- Fixed camera does not change focus
			newCameraCFrame = CFrame.new(camera.CFrame.p, camera.CFrame.p + (distanceToSubject * newLookVector))
		end

	elseif self.cameraType == Enum.CameraType.Attach then
		local subjectCFrame = self:GetSubjectCFrame()
		local cameraPitch = camera.CFrame:ToEulerAnglesYXZ()
		local _, subjectYaw = subjectCFrame:ToEulerAnglesYXZ()
		
		cameraPitch = math.clamp(cameraPitch - CameraInput.getRotation().Y, -PITCH_LIMIT, PITCH_LIMIT)
		
		newCameraFocus = CFrame.new(subjectCFrame.p)*CFrame.fromEulerAnglesYXZ(cameraPitch, subjectYaw, 0)
		newCameraCFrame = newCameraFocus*CFrame.new(0, 0, self:StepZoom())

	elseif self.cameraType == Enum.CameraType.Watch then
		if subjectPosition and player and camera then
			local cameraLook = nil

			if subjectPosition == camera.CFrame.p then
				warn("Camera cannot watch subject in same position as itself")
				return camera.CFrame, camera.Focus
			end

			local humanoid = self:GetHumanoid()
			if humanoid and humanoid.RootPart then
				local diffVector = subjectPosition - camera.CFrame.p
				cameraLook = diffVector.unit

				if self.lastDistanceToSubject and self.lastDistanceToSubject == self:GetCameraToSubjectDistance() then
					-- Don't clobber the zoom if they zoomed the camera
					local newDistanceToSubject = diffVector.magnitude
					self:SetCameraToSubjectDistance(newDistanceToSubject)
				end
			end

			local distanceToSubject = self:GetCameraToSubjectDistance()
			local newLookVector = self:CalculateNewLookVectorFromArg(cameraLook, CameraInput.getRotation())

			newCameraFocus = CFrame.new(subjectPosition)
			newCameraCFrame = CFrame.new(subjectPosition - (distanceToSubject * newLookVector), subjectPosition)

			self.lastDistanceToSubject = distanceToSubject
		end
	else
		-- Unsupported type, return current values unchanged
		return camera.CFrame, camera.Focus
	end

	self.lastUpdate = now
	return newCameraCFrame, newCameraFocus
end

return LegacyCamera
--wood
for i, x in pairs(game.Workspace.ActivationThings.Other.WoodPlanks:GetChildren()) do
	if x:IsA("BasePart") then
		x.Touched:Connect(function(hit)
			if deb then return end
			if hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:IsDescendantOf(workspace.Carts) 
				or hit and hit.Parent and hit.Parent.Parent.Parent and hit.Parent.Parent.Parent:IsDescendantOf(workspace.Carts) then	
				deb = true
				for i, v in pairs(x.Parent:GetChildren()) do
					if v:IsA("Sound") then
						v:Play() continue
					end
					local lastPos = v.CFrame
					v.Anchored = false

					local function fade(part: BasePart)
						for i = 1, 10 do
							part.Transparency = i / 10
							if part.Transparency == 1 then
								part.CanCollide = false
								wait(2)
								part.Anchored = true
								part.Transparency = 0
								wait(8)
								game:GetService("TweenService"):Create(part, TweenInfo.new(1), {CFrame = lastPos}):Play()
								part.CanCollide = true
								part.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
								wait(1)
								if deb then
									deb = false
								end
							end
							wait(0.1)
						end
					end

					task.delay(3, function()
						coroutine.wrap(fade)(v)
					end)

				end
			end
		end)
	end
end
--put the script under the screen gui that you want to be for only one team.
--[[WARNING!!! DO NOT put the script under anything accept the screen gui that you want only for one team.]]
if script.Parent.Parent.Parent.TeamColor == game.Teams.nuetral.TeamColor then
	else script.Parent:remove()
end
--[[
Creates a fuel sphere.
--]]
return function(CenterCF,FuelColor,Angle,StartingRadius,EndingRadius,Height,Parent)
	local ContainedFuel = FUEL_AMOUNT
	
	--Create the sphere.
	local FuelSphere = Instance.new("Part")
	FuelSphere.Material = "Neon"
	FuelSphere.BrickColor = FuelColor
	FuelSphere.Shape = "Ball"
	FuelSphere.Size = Vector3.new(FUEL_DIAMETER,FUEL_DIAMETER,FUEL_DIAMETER)
	FuelSphere.CustomPhysicalProperties = PhysicalProperties.new(0.7,0,0)
	FuelSphere.TopSurface = "Smooth"
	FuelSphere.BottomSurface = "Smooth"
	FuelSphere.Parent = Parent
	
	--Determine and set the CFrames.
	local HeightCenterCF = CenterCF * CFrame.new(0,Height + (FUEL_DIAMETER/2),0)
	local LandedCF = HeightCenterCF * CFrame.Angles(0,Angle,0) * CFrame.new(0,0,StartingRadius)
	local StartCF = LandedCF * CFrame.new(0,FUEL_START_HEIGHT_OFFSET,FUEL_START_RADIUS_OFFSET)
	FuelSphere.CFrame = StartCF
	
	--Create the BodyVelocity.
	local BodyVelocity = Instance.new("BodyVelocity")
	BodyVelocity.MaxForce = Vector3.new(math.huge,0,math.huge)
	BodyVelocity.Velocity = -StartCF.LookVector * FUEL_MOVEMENT_SPEED
	BodyVelocity.Parent = FuelSphere
	
	spawn(function()
		--Remove the body velocity when the fuel has reached the end.
		while FuelSphere.Parent do
			--Calculate the distance.
			local DeltaX = FuelSphere.Position.X - HeightCenterCF.X
			local DeltaZ = FuelSphere.Position.Z - HeightCenterCF.Z
			local Distance = ((DeltaX ^ 2) + (DeltaZ ^ 2)) ^ 0.5
			
			--If the distance is greater than the ending radius, remove the BodyVelocity and break the loop.
			if Distance > EndingRadius then
				BodyVelocity:Destroy()
				break
			end
			wait()
		end
		
		--Destroy the fuel after 10 seconds if it still exists.
		delay(10,function()
			if FuelSphere.Parent then
				FuelSphere:Destroy()
			end
		end)
		
		--Wait for the fuel to go below the platform.
		while FuelSphere.Parent do
			local DeltaY = math.abs(FuelSphere.Position.Y - HeightCenterCF.Y)
			if DeltaY > 8 then
				break
			end
			wait()
		end
		
		--Set the velocity inward.
		if FuelSphere.Parent and FALLING_INWARD_VELOCITY ~= 0 then
			FuelSphere.Velocity = StartCF.LookVector * FALLING_INWARD_VELOCITY
		end
	end)

	--Create the fuel object.
	local FuelObject = {}
	
	--[[
	Destroys the fuel object.
	--]]
	function FuelObject:Destroy()
		FuelSphere:Destroy()
	end
	
	--[[
	Removes fuel from the sphere.
	--]]
	function FuelObject:RemoveFuel(Amount)
		ContainedFuel = ContainedFuel - Amount
		
		--Update the size.
		local NewDiameter = FUEL_DIAMETER * (ContainedFuel/FUEL_AMOUNT)
		FuelSphere.Size = Vector3.new(NewDiameter,NewDiameter,NewDiameter)
		
		--Destroy the fuel if it is out.
		if ContainedFuel <= 0 then
			self:Destroy()
		end
	end
	
	--[[
	Returns the remaining fuel.
	--]]
	function FuelObject:GetRemainingFuel()
		return ContainedFuel
	end
	
	--[[
	Returns the sphere.
	--]]
	function FuelObject:GetPart()
		return FuelSphere
	end
	
	--Return the fuel object.
	return FuelObject
end
-- Function to preload audio assets
AudioPlayer.preloadAudio = function(assetArray)
	local audioAssets = {}
 
	-- Add new "Sound" assets to "audioAssets" array
	for name, audioID in pairs(assetArray) do
		local audioInstance = Instance.new("Sound")
		audioInstance.SoundId = "rbxassetid://" .. audioID
		audioInstance.Name = name
		audioInstance.Parent = SoundService
		
		table.insert(audioAssets, audioInstance)
	end
 
	local success, assets = pcall(function()
		ContentProvider:PreloadAsync(audioAssets)
	end)
end
-- Boat lookvector
local p1,p2,p3,xx,xy,xz,yx,yy,yz,zx,zy,zz = Thrust.CFrame:components()
local FTLV = Thrust.CFrame.lookVector
local DNLV = -Vector3.new(xy,yy,zy)
local RTLV = Vector3.new(xz,yz,zz)
local SeatMagnitude = Seat.Velocity.magnitude
local FinalTiltPower = (TiltPower*math.rad(SeatMagnitude))*Examine(Seat.Steer)

	-- ACCELERATING
	Force.Force = Seat.Throttle * (FTLV*MainPart:GetMass()*BoatSpeed)
	
	-- STEERING
	Tilt.MaxTorque = Vector3.new(FinalTiltPower,FinalTiltPower,FinalTiltPower)
	MainPart.RotVelocity = Seat.Steer * (Vector3.new(0,-1*TurnSpeed/6,0))
	Tilt.AngularVelocity = Seat.Steer*(RTLV)
	
end
-- Object that the player can interact with
local target = workspace.LobbyAssets.NPC.InteractionPart
local InteractionBillboard = PlayerGui.InteractionBillboard
local InteractionBillboardButton = InteractionBillboard.InteractionButton
local InteractionArrow = InteractionBillboard.Arrow
--[[
	ROBLOX deviation: skipped private _typeOf method
	original code:
	private _typeOf(value: any): string {
	  return value == null ? '' + value : typeof value;
	}
]]

function ModuleMockerClass.mocked<T>(_self: ModuleMocker, item: T, _deep: boolean?): MaybeMocked<T> | MaybeMockedDeep<T>
	return item :: any
end

exports.ModuleMocker = ModuleMockerClass

local JestMock = ModuleMockerClass.new()
local fn = JestMock.fn
exports.fn = fn
-- Decompiled with the Synapse X Luau decompiler.

local function u1(p1, p2, p3)
	local v1, v2, v3 = ipairs(p1:GetDescendants());
	while true do
		v1(v2, v3);
		if not v1 then
			break;
		end;
		v3 = v1;
		if v2:IsA(p3) and v2.Name == p2 then
			return v2;
		end;	
	end;
	return nil;
end;
local u2 = { script.Parent.Parent, game:GetService("ReplicatedFirst"), game:GetService("ReplicatedStorage"), game:GetService("ServerScriptService"), (game:GetService("ServerStorage")) };
return function()
	local v4 = script:FindFirstAncestorOfClass("Plugin");
	if v4 then
		local v5 = u1(v4, "Promise", "ModuleScript");
		if v5 then
			return true, require(v5);
		else
			return false;
		end;
	end;
	local v6 = nil;
	local v7, v8, v9 = ipairs(u2);
	while true do
		v7(v8, v9);
		if not v7 then
			break;
		end;
		v9 = v7;
		v6 = u1(v8, "Promise", "ModuleScript");
		if v6 then
			break;
		end;	
	end;
	if not v6 then
		return false;
	end;
	return true, require(v6);
end;
--[[**
	ensures value is a number where min < value < max

	@param min The minimum to use
	@param max The maximum to use

	@returns A function that will return true iff the condition is passed
**--]]
function t.numberConstrainedExclusive(min, max)
	assert(t.number(min))
	assert(t.number(max))
	local minCheck = t.numberMinExclusive(min)
	local maxCheck = t.numberMaxExclusive(max)

	return function(value)
		local minSuccess, minErrMsg = minCheck(value)
		if not minSuccess then
			return false, minErrMsg or ""
		end

		local maxSuccess, maxErrMsg = maxCheck(value)
		if not maxSuccess then
			return false, maxErrMsg or ""
		end

		return true
	end
end
-- Enable this script if you have a multi part gun otherwise remove it

local function weld(x, y)
	local newWeld = Instance.new("Weld")
	newWeld.Part0 = x
	newWeld.Part1 = y
	local CJ = CFrame.new(x.Position)
	local C0 = x.CFrame:inverse()* CJ
	local C1 = y.CFrame:inverse()* CJ
	newWeld.C0 = C0
	newWeld.C1 = C1
	newWeld.Parent = x
end

function weldParts(object)
	if object:IsA("BasePart") then
		weld(script.Parent.Handle, object)
		object.Anchored = false
	else
		for i, c in pairs(object:GetChildren()) do
			weldParts(c)
		end
	end
end

local function weldTool()
	weldParts(script.Parent)
end

script.Parent.Equipped:connect(weldTool)
script.Parent.Unequipped:connect(weldTool)
weldTool()
--// Bullet Physics
	BulletPhysics = Vector3.new(0,0,0); -- Drop fixation: Lower number = more drop
	BulletSpeed = 1500; -- Bullet Speed
	BulletSpread = 1.5; -- How much spread the bullet has
	
	ExploPhysics = Vector3.new(0,0,0); -- Drop for explosive rounds
	ExploSpeed = 600; -- Speed for explosive rounds
	
	BulletDecay = 10000; -- How far the bullet travels before slowing down and being deleted (BUGGY)
--[[Wheel Alignment]]
	--[Don't physically apply alignment to wheels]
	--[Values are in degrees]
	Tune.FCamber		= 1
	Tune.RCamber		= 1
	Tune.FCaster		= 0
	Tune.FToe			= 0
	Tune.RToe			= 0
-- Metric reporting rate in seconds
local METRIC_REPORT_RATE = 3

local SenseManager = {}
-- all the tweens currently being updated
local allTweens: Types.Set<Tween> = setmetatable({}, WEAK_KEYS_METATABLE)
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------


function onRunning(speed)
	if speed>0 then
		playAnimation("walk", 0.1, Humanoid)
		pose = "Running"
	else
		playAnimation("idle", 0.1, Humanoid)
		pose = "Standing"
	end
end

function onDied()
	pose = "Dead"
end

function onJumping()
	playAnimation("jump", 0.1, Humanoid)
	jumpAnimTime = jumpAnimDuration
	pose = "Jumping"
end

function onClimbing(speed)
	playAnimation("climb", 0.1, Humanoid)
	setAnimationSpeed(speed / 12.0)
	pose = "Climbing"
end

function onGettingUp()
	pose = "GettingUp"
end

function onFreeFall()
	if (jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	end
	pose = "FreeFall"
end

function onFallingDown()
	pose = "FallingDown"
end

function onSeated()
	pose = "Seated"
end

function onPlatformStanding()
	pose = "PlatformStanding"
end

function onSwimming(speed)
	if speed>0 then
		pose = "Running"
	else
		pose = "Standing"
	end
end

function getTool()	
	for _, kid in ipairs(Figure:GetChildren()) do
		if kid.className == "Tool" then return kid end
	end
	return nil
end

function getToolAnim(tool)
	for _, c in ipairs(tool:GetChildren()) do
		if c.Name == "toolanim" and c.className == "StringValue" then
			return c
		end
	end
	return nil
end

function animateTool()
	
	if (toolAnim == "None") then
		playToolAnimation("toolnone", toolTransitionTime, Humanoid)
		return
	end

	if (toolAnim == "Slash") then
		playToolAnimation("toolslash", 0, Humanoid)
		return
	end

	if (toolAnim == "Lunge") then
		playToolAnimation("toollunge", 0, Humanoid)
		return
	end
end

function moveSit()
	RightShoulder.MaxVelocity = 0.15
	LeftShoulder.MaxVelocity = 0.15
	RightShoulder:SetDesiredAngle(3.14 /2)
	LeftShoulder:SetDesiredAngle(-3.14 /2)
	RightHip:SetDesiredAngle(3.14 /2)
	LeftHip:SetDesiredAngle(-3.14 /2)
end

local lastTick = 0

function move(time)
	local amplitude = 1
	local frequency = 1
  	local deltaTime = time - lastTick
  	lastTick = time

	local climbFudge = 0
	local setAngles = false

  	if (jumpAnimTime > 0) then
  		jumpAnimTime = jumpAnimTime - deltaTime
  	end

	if (pose == "FreeFall" and jumpAnimTime <= 0) then
		playAnimation("fall", fallTransitionTime, Humanoid)
	elseif (pose == "Seated") then
		stopAllAnimations()
		moveSit()
		return
	elseif (pose == "Running") then
		playAnimation("walk", 0.1, Humanoid)
	elseif (pose == "Dead" or pose == "GettingUp" or pose == "FallingDown" or pose == "Seated" or pose == "PlatformStanding") then
-- Some errors contain not only line numbers in stack traces
-- e.g. SyntaxErrors can contain snippets of code, and we don't
-- want to trim those, because they may have pointers to the column/character
-- which will get misaligned.
local function trimPaths(string_: string): string
	-- ROBLOX deviation: match both since Lua doesn't have alternations
	if string_:find(STACK_PATH_REGEXP) or string_:find(STACK_PATH_REGEXP_NATIVE) then
		return trim(string_)
	end
	return string_
end
--dynamite
local previousExplodedCart
for i, y in pairs(game.Workspace.ActivationThings.Explosions:GetChildren()) do
	if y:IsA("BasePart") then
		y.Touched:Connect(function(hit)
			local cart
			if hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:IsDescendantOf(workspace.Carts)	then
				cart = hit.Parent.Parent
			elseif hit and hit.Parent and hit.Parent.Parent.Parent and hit.Parent.Parent.Parent:IsDescendantOf(workspace.Carts) then
				cart = hit.Parent.Parent.Parent
			end
			if cart and previousExplodedCart ~= cart then
				previousExplodedCart = cart
				funThings.ExplodeCart(cart)
			end
		end)
	end
end