Roblox/luau_corpus huggingface dataset:
-- made by Weeve. for all of you lamo scripters out there, can you at least leave my name here?
-- don't edit anything here
seat = script.Parent

function onChildAdded(part)
	if (part.className == "Weld") then
		while true do
			local welde = seat:FindFirstChild("SeatWeld")

			if (welde ~= nil) then
				local sitted = welde.Part1.Parent
			end

			if (sitted.Name ~= script.Parent.Owner.Value) then
				if (script.Parent.Owner.Value == "NoOne") then
					script.Parent.Owner.Value = sitted.Name
				else
					local shipstealer = game.Workspace:FindFirstChild(sitted.Name)
					if (shipstealer ~= nil) then
						shipstealer.Humanoid.Jump=true
					end
				end
			end


			wait(0.2)

			if (welde == nil) then
				print("BreakLoop")
				script.Parent.Owner.Value = "NoOne"
			break end
		end
	end
end
--- Iterate through (physical) directory
for _, dirFolder in ipairs(script:GetChildren()) do
	--- Debug
	if debugInit then  
		print('-----------------------------------------------')  
	end

	--- Setup directory
	local dirName = dirFolder.Name
	Directory[dirName] = {}
	local dirData = Directory[dirName]

	--- Folder? Scan it!
	for _, module in ipairs(dirFolder:GetDescendants()) do
		if module.ClassName == "ModuleScript" then
			--- Add module to directory
			local moduleData = require(module)
			for key, value in pairs(moduleData) do
				dirData[key] = value
				if debugInit then  print(key, value)  end
			end
		end
	end

	--- Debug
	if debugInit then  
		print('-----------------------------------------------\nLOADED '.. dirName)  
	end
end

function Directory.NumberIDs(dirFolderName)
	return #script[dirFolderName]:GetChildren()
end
--------|    Reference    |--------
local playerGui = game.Players.LocalPlayer:WaitForChild("PlayerGui")
local whitelistedClasses = {"ScreenGui", "Frame", "ScrollingFrame", "ViewportFrame", "ImageLabel", "TextButton", "ImageButton", "TextBox", "TextLabel", "UIListLayout", "UIGridLayout", "UIAspectRatioConstraint"}
--Right.InputChanged:Connect(RightTurn)

local function TouchThrottle(input, GPE)
	if input.UserInputState == Enum.UserInputState.Begin and _IsOn then
		_InThrot = 1
		_TTick = tick()
	else
		_InThrot = _Tune.IdleThrottle/100
		_BTick = tick()
	end
end
Gas.InputBegan:Connect(TouchThrottle)
Gas.InputEnded:Connect(TouchThrottle)
--[[Driving Aids]]--
Tune.ABS 			= false  		-- Avoids brakes locking up, reducing risk of lowside
Tune.ABSThreshold 	= 30 			-- Slip speed allowed before ABS starts working (in SPS)

Tune.TCS 			= false  		-- Avoids wheelspin, reducing risk of highsides
Tune.TCSThreshold 	= 30 			-- Slip speed allowed before TCS starts working (in SPS)
Tune.TCSGradient 	= 20 			-- Slip speed gradient between 0 to max reduction (in SPS)
Tune.TCSLimit 		= 10 			-- Minimum amount of torque at max reduction (in percent)

Tune.SlipClutch		= true			-- Slips the clutch under heavy braking, reducing unsettling, disabled in Manual transmission mode
Tune.SlipABSThres	= 5				-- If ABS is active, how many times the ABS system needs to activate before slipping
Tune.SlipTimeThres	= 0.5			-- If ABS is inactive, how much time needs to pass after the brakes lock to activate slipping
------------------------------------------------------------------------------------
local WaitTime = 1	-- Change this to the amount of time it takes for the button to re-enable.
local modelname = "Swing"	-- If your model is not named this, then make the purple words the same name as the model!
--[[Susupension]]
	Tune.SusEnabled		= true		-- works only in with PGSPhysicsSolverEnabled, defaults to false when PGS is disabled
	
	--Front Suspension
	Tune.FSusDamping	= 20		-- Spring Dampening
	Tune.FSusStiffness	= 2000	-- Spring Force
	Tune.FAntiRoll 		= 5	-- Anti-Roll (Gyro Dampening)
	
	Tune.FSusLength		= 5		-- Suspension length (in studs)
	Tune.FPreCompress	= 0		-- Pre-compression adds resting length force
	Tune.FExtensionLim	= 30.0		-- Max Extension Travel (in studs)
	Tune.FCompressLim	= 0		-- Max Compression Travel (in studs)
	Tune.FSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.FWsBoneLen		= 5			-- 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	= 1		-- Spring Dampening
	Tune.RSusStiffness	= 1		-- Spring Force
	Tune.FAntiRoll 		= 0		-- Anti-Roll (Gyro Dampening)

	Tune.RSusLength		= 10			-- Suspension length (in studs)
	Tune.RPreCompress	= 0		-- Pre-compression adds resting length force
	Tune.RExtensionLim	= .3		-- Max Extension Travel (in studs)
	Tune.RCompressLim	= .1		-- Max Compression Travel (in studs)
	Tune.RSusAngle		= 80		-- Suspension Angle (degrees from horizontal)
		
	Tune.RWsBoneLen		= 5			-- 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		= "Bright red"	-- Suspension Color [BrickColor]
	Tune.SusCoilCount	= 6				-- Suspension Coil Count
	Tune.WsColor		= "Black"		-- Wishbone Color [BrickColor]
	Tune.WsThickness	= .1			-- Wishbone Rod Thickness
--[[
* Determine the common suffix of two strings.
* @param {string} text1 First string.
* @param {string} text2 Second string.
* @return {number} The number of characters common to the end of each string.
--]]
local function _diff_commonSuffix(text1: string, text2: string): number
	-- Quick check for common null cases.
	if #text1 == 0 or #text2 == 0 or strbyte(text1, -1) ~= strbyte(text2, -1) then
		return 0
	end
	-- Binary search.
	-- Performance analysis: https://neil.fraser.name/news/2007/10/09/
	local pointermin = 1
	local pointermax = min(#text1, #text2)
	local pointermid = pointermax
	local pointerend = 1
	while pointermin < pointermid do
		if strsub(text1, -pointermid, -pointerend) == strsub(text2, -pointermid, -pointerend) then
			pointermin = pointermid
			pointerend = pointermin
		else
			pointermax = pointermid
		end
		pointermid = floor(pointermin + (pointermax - pointermin) / 2)
	end
	return pointermid
end
-- Dropdowns
local dropdownContainer = Instance.new("Frame")
dropdownContainer.Name = "DropdownContainer"
dropdownContainer.BackgroundTransparency = 1
dropdownContainer.BorderSizePixel = 0
dropdownContainer.AnchorPoint = Vector2.new(0.5, 0)
dropdownContainer.ZIndex = -2
dropdownContainer.ClipsDescendants = true
dropdownContainer.Visible = true
dropdownContainer.Parent = iconContainer
dropdownContainer.Active = false

local dropdownFrame = Instance.new("ScrollingFrame")
dropdownFrame.Name = "DropdownFrame"
dropdownFrame.BackgroundTransparency = 1
dropdownFrame.BorderSizePixel = 0
dropdownFrame.AnchorPoint = Vector2.new(0.5, 0)
dropdownFrame.Position = UDim2.new(0.5, 0, 0, 0)
dropdownFrame.Size = UDim2.new(0.5, 2, 1, 0)
dropdownFrame.ZIndex = -1
dropdownFrame.ClipsDescendants = false
dropdownFrame.Visible = true
dropdownFrame.TopImage = dropdownFrame.MidImage
dropdownFrame.BottomImage = dropdownFrame.MidImage
dropdownFrame.VerticalScrollBarInset = Enum.ScrollBarInset.Always
dropdownFrame.VerticalScrollBarPosition = Enum.VerticalScrollBarPosition.Right
dropdownFrame.Parent = dropdownContainer
dropdownFrame.Active = false

local dropdownList = Instance.new("UIListLayout")
dropdownList.Name = "DropdownList"
dropdownList.FillDirection = Enum.FillDirection.Vertical
dropdownList.SortOrder = Enum.SortOrder.LayoutOrder
dropdownList.Parent = dropdownFrame

local dropdownPadding = Instance.new("UIPadding")
dropdownPadding.Name = "DropdownPadding"
dropdownPadding.PaddingRight = UDim.new(0, 2)
dropdownPadding.Parent = dropdownFrame
--//Variables\\--
local tool = script.Parent
	local handle = tool:WaitForChild("Handle")

local contextActionService = game:GetService("ContextActionService")
	
local player = game.Players.LocalPlayer
	local mouse = player:GetMouse()
	local character = player.Character or player.CharacterAdded:Wait()	
	
local enabled = true
local specialDB = true

local cursorId = "http://www.roblox.com/asset/?id=251497633"
local hitId = "http://www.roblox.com/asset/?id=70785856"

local configs = tool:WaitForChild("Configurations")
	local fireRate = configs:FindFirstChild("FireRate")
	local specialRechargeTime = configs:FindFirstChild("SpecialRechargeTime")

local fire = tool:WaitForChild("Fire")
local activateSpecial = tool:WaitForChild("ActivateSpecial")
local hit = tool:WaitForChild("Hit")
--[[

	LOWGames Studios
	Date: 27 October 2022
	by Elder
	
]]--

local u1 = nil;
coroutine.wrap(function()
	u1 = require(game.ReplicatedStorage:WaitForChild("Framework"):WaitForChild("Library"));
end)();
return function(p1)
	for v1 = #p1, 2, -1 do
		local v2 = math.random(v1);
		p1[v1] = p1[v2];
		p1[v2] = p1[v1];
	end;
	return p1;
end;
-- Connects a function to an event such that it fires asynchronously
function Connect(event,func)
	return event:connect(function(...)
		local a = {...}
		spawn(function() func(unpack(a)) end)
	end)
end
---This server script creates the sounds and also exists so that it can be easily copied into an NPC and create sounds for that NPC. 
--Remove the local script if you copy this into an NPC.
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
function newSound(name, id)
local sound = Instance.new("Sound")
sound.SoundId = id
sound.Name = name
sound.archivable = false
sound.Parent = script.Parent.Head
return sound
end
-- Local Variables
local MapSave = Instance.new('Folder')
MapSave.Parent = ServerStorage
MapSave.Name = 'MapSave'
--// Event Connections
L_14_.OnClientEvent:connect(function(L_22_arg1)
	if L_22_arg1.TeamColor == L_1_.TeamColor and L_22_arg1.Character and L_22_arg1.Character:FindFirstChild('Head') then
		if L_22_arg1.Character.Saude.FireTeam.SquadName.Value ~= '' then
			spawnTag(L_22_arg1.Character, L_22_arg1.Character.Saude.FireTeam.SquadColor.Value)
		else
			spawnTag(L_22_arg1.Character, Color3.fromRGB(255,255,255))
		end
	end;
	
	if L_22_arg1.TeamColor ~= L_1_.TeamColor then
		if L_22_arg1.Character and L_22_arg1.Character:FindFirstChild('Head') and L_22_arg1.Character.Head:FindFirstChild('TeamTag') then
			L_22_arg1.Character.Head.TeamTag:Destroy()
		end
	end;
end)
----------------------------------------------------------------------------------------------------
-----------------=[ RECOIL & PRECISAO ]=------------------------------------------------------------
----------------------------------------------------------------------------------------------------
	,VRecoil = {0,0}				--- Vertical Recoil
	,HRecoil = {0,0}				--- Horizontal Recoil
	,AimRecover = 0					---- Between 0 & 1
	
	,RecoilPunch = 0
	,VPunchBase = 0					--- Vertical Punch
	,HPunchBase = 0					--- Horizontal Punch
	,DPunchBase = 0 				--- Tilt Punch | useless
	
	,AimRecoilReduction = 0 		--- Recoil Reduction Factor While Aiming (Do not set to 0)
	,PunchRecover = 0
	,MinRecoilPower = 0
	,MaxRecoilPower = 0
	,RecoilPowerStepAmount = 0
	
	,MinSpread = 0					--- Min bullet spread value | Studs
	,MaxSpread = 0					--- Max bullet spread value | Studs
	,AimInaccuracyStepAmount = 0
	,WalkMultiplier = 0				--- Bullet spread based on player speed

	,SwayBase = 0.25				--- Weapon Base Sway | Studs
	,MaxSway =	2					--- Max sway value based on player stamina | Studs
-- Main loop
spawn(function()
	while wait(cooldown) do
		
		if check_movement() then
			
			footstepsSound.SoundId = get_material()
			
			footstepsSound.Parent = nil
			footstepsSound.Parent = rootPart
		end
	end
end)
-- int rd_int_basic(string src, int s, int e, int d)
-- @src - Source binary string
-- @s - Start index of a little endian integer
-- @e - End index of the integer
-- @d - Direction of the loop
local function rd_int_basic(src, s, e, d)
	local num = 0

	-- if bb[l] > 127 then -- signed negative
	-- 	num = num - 256 ^ l
	-- 	bb[l] = bb[l] - 128
	-- end

	for i = s, e, d do num = num + string.byte(src, i, i) * 256 ^ (i - s) end

	return num
end
-------------------------
function onClicked()
R.BrickColor = BrickColor.new("Really red")
C.One.BrickColor = BrickColor.new("Really black")
C.Two.BrickColor = BrickColor.new("Really black")
C.Three.BrickColor = BrickColor.new("Really black")
C.MIC.BrickColor = BrickColor.new("Really black")
C.A.BrickColor = BrickColor.new("Really black")
C.B.BrickColor = BrickColor.new("Really black")
C.M.BrickColor = BrickColor.new("Really black")
end
script.Parent.ClickDetector.MouseClick:connect(onClicked)
--local root = shark:WaitForChild("HumanoidRootPart")
local root = shark.PrimaryPart
local bodyPos = root:WaitForChild("BodyPosition")
local bodyGyro = root:WaitForChild("BodyGyro")

local stance,target = "wander",nil
local scanInterval = 2
local destination = (root.CFrame*CFrame.new(0,0,5)).p
local orientation = root.CFrame
local holdDuration = 5
local holdOrder = 0
local lastAdjustment,nextAdjustment = 0,25

function MakeAMove()
if (tick()-holdOrder < holdDuration) then return end
if stance == "wander" then
local collisionRay = Ray.new(
(root.CFrame*CFrame.new(0,100,-15)).p ,
Vector3.new(0,-1000,0)
)
local part,pos,norm,mat = workspace:FindPartOnRayWithIgnoreList(collisionRay,shark:GetDescendants())
-----------------
--| Constants |--
-----------------

local BLAST_RADIUS = 25 -- Blast radius of the explosion
local BLAST_DAMAGE = 900 -- Amount of damage done to players
local BLAST_FORCE = 10000 -- Amount of force applied to parts

local IGNORE_LIST = {rocket = 1, handle = 1, effect = 1, water = 1} -- Rocket will fly through things named these
-- ~60 c/s
game["Run Service"].Heartbeat:connect(function(dt)	
	_IsOn = script.Parent.IsOn.Value
	_InControls = script.Parent.ControlsOpen.Value

	--Steering
	Steering(dt)

	--Gear
	Gear()

	--Power
	Engine(dt)

	--Update External Values
	script.Parent.Values.Gear.Value = _CGear
	script.Parent.Values.RPM.Value = _RPM
	script.Parent.Values.Boost.Value = ((_TBoost/2)*_TPsi)+((_SBoost/2)*_SPsi)
	script.Parent.Values.BoostTurbo.Value = (_TBoost/2)*_TPsi
	script.Parent.Values.BoostSuper.Value = (_SBoost/2)*_SPsi
	script.Parent.Values.HpNatural.Value = _NH
	script.Parent.Values.HpElectric.Value = _EH
	script.Parent.Values.HpTurbo.Value = _TH
	script.Parent.Values.HpSuper.Value = _SH
	script.Parent.Values.HpBoosted.Value = _BH
	script.Parent.Values.Horsepower.Value = _HP
	script.Parent.Values.TqNatural.Value = _NT/_Tune.Ratios[_CGear+1]/fFD/hpScaling
	script.Parent.Values.TqElectric.Value = _ET/_Tune.Ratios[_CGear+1]/fFD/hpScaling
	script.Parent.Values.TqTurbo.Value = _TT/_Tune.Ratios[_CGear+1]/fFD/hpScaling
	script.Parent.Values.TqSuper.Value = _ST/_Tune.Ratios[_CGear+1]/fFD/hpScaling
	script.Parent.Values.TqBoosted.Value = script.Parent.Values.TqTurbo.Value+script.Parent.Values.TqSuper.Value
	script.Parent.Values.Torque.Value = script.Parent.Values.TqNatural.Value+script.Parent.Values.TqElectric.Value+script.Parent.Values.TqBoosted.Value
	script.Parent.Values.TransmissionMode.Value = _TMode
	script.Parent.Values.Throttle.Value = _GThrot
	script.Parent.Values.Brake.Value = _GBrake
	if script.Parent.Values.AutoClutch.Value then
		script.Parent.Values.Clutch.Value = _Clutch
	end
	script.Parent.Values.SteerC.Value = _GSteerC
	script.Parent.Values.SteerT.Value = _GSteerT
	script.Parent.Values.PBrake.Value = _PBrake
	script.Parent.Values.TCS.Value = _TCS
	script.Parent.Values.TCSActive.Value = _TCSActive
	script.Parent.Values.TCSAmt.Value = 1-_TCSAmt
	script.Parent.Values.ABS.Value = _ABS
	script.Parent.Values.ABSActive.Value = _fABSActive or _rABSActive
	script.Parent.Values.MouseSteerOn.Value = _MSteer
	script.Parent.Values.Velocity.Value = bike.DriveSeat.Velocity
end)

while wait(.0667) do
	if _TMode == "Auto" then Auto() end
end
--	mouse.Button1Down:connect(function() onButton1Down(mouse) end)
	mouse.Button1Up:connect(function() nofiar(mouse) end)
	mouse.KeyDown:connect(KeyDownFunctions)
	c = Tool.Parent:findFirstChild("Crouch")
	while true do
		wait()
	end
end


function onUnequippedLocal(mouse)
	nofiar(mouse)
end

Tool.Unequipped:connect(onUnequippedLocal)

Tool.Equipped:connect(onEquippedLocal)

script.Parent.Activated:connect(onActivated)
Tool.Equipped:connect(Equip)
Tool.Unequipped:connect(Unequip)
Tool.Unequipped:connect(Uncrouch)
--[=[
	Add to spring position to adjust for velocity of target. May have to set clock to time().

	@param velocity T
	@param dampen number
	@param speed number
	@return T
]=]
function SpringUtils.getVelocityAdjustment(velocity, dampen, speed)
	assert(velocity, "Bad velocity")
	assert(dampen, "Bad dampen")
	assert(speed, "Bad speed")

	return velocity*(2*dampen/speed)
end
--!nonstrict
--[[
	Gamepad Character Control - This module handles controlling your avatar using a game console-style controller

	2018 PlayerScripts Update - AllYourBlox
--]]

local UserInputService = game:GetService("UserInputService")
local ContextActionService = game:GetService("ContextActionService")
--[[
	@class BlendTextbox.story
]]

local require = require(game:GetService("ServerScriptService"):FindFirstChild("LoaderUtils", true).Parent).load(script)

local Blend = require("Blend")
local Maid = require("Maid")

return function(target)
	local maid = Maid.new()

	local state = Blend.State("hi")

	maid:GiveTask((Blend.New "Frame" {
		Size = UDim2.new(1, 0, 1, 0);
		BackgroundTransparency = 1;
		Parent = target;

		[Blend.Children] = {
			Blend.New "TextBox" {
				Size = UDim2.new(0, 200, 0, 50);
				Text = state;
				[Blend.OnChange "Text"] = state;
				[Blend.OnEvent "Focused"] = function()
					print("Focused")
				end;

				[function(inst) return inst.Focused end] = function()
					print("Focused (via func)")
				end;

				-- this also works
				[function(inst) return inst:GetPropertyChangedSignal("Text") end] = function()
					print("Property changed from :GetPropertyChangedSignal()")
				end;
			};

			Blend.New "TextBox" {
				Size = UDim2.new(0, 200, 0, 50);
				[Blend.OnChange "Text"] = state; -- read state
				Text = state; -- write state
			};

			Blend.New "UIListLayout" {
				Padding = UDim.new(0, 10);
			};
		};
	}):Subscribe())

	return function()
		maid:DoCleaning()
	end
end
--// Tables
local L_95_ = {
	
	"285421759";
	"151130102";
	"151130171";
	"285421804";
	"287769483";
	"287769415";
	"285421687";
	"287769261";
	"287772525";
	"287772445";
	"287772351";
	"285421819";
	"287772163";
	
}

local L_96_ = {
	
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
		
}

local L_97_ = {
	
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	"";
	
}

local L_98_ = workspace:FindFirstChild("BulletModel: " .. L_2_.Name) or Instance.new("Folder", workspace)
L_98_.Name = "BulletModel: " .. L_2_.Name

local L_99_

local L_100_ = L_24_.Ammo
local L_101_ = L_24_.StoredAmmo * L_24_.MagCount

local L_102_ = L_24_.ExplosiveAmmo

IgnoreList = {
	L_3_,
	L_98_,
	L_5_
}
-- << COMMANDS >>
local module = {
	
	-----------------------------------
	{
	Name = "";
	Aliases	= {};
	Prefixes = {settings.Prefix};
	Rank = 1;
	RankLock = false;
	Loopable = false;
	Tags = {};
	Description = "";
	Contributors = {};
	--
	Args = {};
	Function = function(speaker, args)
		
	end;
	UnFunction = function(speaker, args)
		
	end;
	--
	};
	
	
	
	
	-----------------------------------
	{
	Name = "";
	Aliases	= {};
	Prefixes = {settings.Prefix};
	Rank = 1;
	RankLock = false;
	Loopable = false;
	Tags = {};
	Description = "";
	Contributors = {};
	--
	Args = {};
	--[[
	ClientCommand = true;
	FireAllClients = true;
	BlockWhenPunished = true;
	PreFunction = function(speaker, args)
		
	end;
	Function = function(speaker, args)
		wait(1)
	end;
	--]]
	--
	};
	
	
	
	
	-----------------------------------
	
};



return module
--//Controller//--
JarBody.Touched:Connect(function(Hit)
	local Humanoid = Hit.Parent:FindFirstChild("Humanoid")
	
	if Humanoid then
		if not Configuration.OnCD then
			Configuration.OnCD = true
			
			if JarBody.Transparency >= 1 then
				Jar:Destroy()

			else
				JarBody.Transparency = JarBody.Transparency + 0.1
				
			end
			
			task.wait(Configuration.CDTime)
			
			Configuration.OnCD = false

		end
	end
end)
-- Modules
local ModuleScripts = ReplicatedStorage:WaitForChild("ModuleScripts")
local GameSettings = require(ModuleScripts:WaitForChild("GameSettings"))
local Data = ServerScriptService.Data
local DataStore = require(Data.Modules.DataStore)
local PlayerManagement = ServerScriptService.PlayerManagement
local PlayerManagementModules = PlayerManagement.ModuleScripts
local ParticleController = require(PlayerManagementModules.ParticleController)
--[=[
	Yields the current thread until the given Promise completes. Returns the Promise's status, followed by the values that the promise resolved or rejected with.

	@yields
	@return Status -- The Status representing the fate of the Promise
	@return ...any -- The values the Promise resolved or rejected with.
]=]
function Promise.prototype:awaitStatus()
	self._unhandledRejection = false

	if self._status == Promise.Status.Started then
		local thread = coroutine.running()

		self
			:finally(function()
				task.spawn(thread)
			end)
			-- The finally promise can propagate rejections, so we attach a catch handler to prevent the unhandled
			-- rejection warning from appearing
			:catch(
				function() end
			)

		coroutine.yield()
	end

	if self._status == Promise.Status.Resolved then
		return self._status, unpack(self._values, 1, self._valuesLength)
	elseif self._status == Promise.Status.Rejected then
		return self._status, unpack(self._values, 1, self._valuesLength)
	end

	return self._status
end

local function awaitHelper(status, ...)
	return status == Promise.Status.Resolved, ...
end
-- Decompiled with the Synapse X Luau decompiler.
 --NOTE: Currently in beta! Not representative of final product.
local u1 = require(game.ReplicatedStorage:WaitForChild("Resources"));
while (not u1.Loaded) do
	game:GetService("RunService").Heartbeat:Wait();
end
local u2 = Random.new();
local u3 = {
	"Energy",
	"Gems",
	"Native"
};
local t_Parent_1 = script.Parent;
local f_CreatePower;
f_CreatePower = function() -- [line 9] CreatePower
	--[[
		Upvalues: 
			[1] = u1
			[2] = u3
			[3] = t_Parent_1
			[4] = u2
	--]]
	local v1 = u1.Directory.Powers[u1.Functions.table.random(u3)];
	local v2 = u1.Functions.table.random(v1.tiers);
	local v3 = script.PowerFrame:Clone();
	local v4 = 0 + ((v3.AbsoluteSize.X * 0.5) / t_Parent_1.AbsoluteSize.X);
	local v5 = 1 - ((v3.AbsoluteSize.X * 0.5) / t_Parent_1.AbsoluteSize.X);
	local v6 = 0 + ((v3.AbsoluteSize.Y * 0.5) / t_Parent_1.AbsoluteSize.Y);
	local v7 = 1 - ((v3.AbsoluteSize.Y * 0.5) / t_Parent_1.AbsoluteSize.Y);
	v3.power.Image = v1.icon;
	v3.power.level.Text = v2.title;
	v3.Position = UDim2.new(u2:NextNumber(v4, v5), 0, u2:NextNumber(v6, v7), 0);
	v3.Parent = t_Parent_1;
	local v8 = coroutine.wrap;
	local u4 = v3;
	v8(function() -- [line 24] anonymous function
		--[[
			Upvalues: 
				[1] = u4
				[2] = u1
		--]]
		local v9 = u4.Size;
		u4.Size = UDim2.new();
		local v10 = u1.Functions.Tween;
		local v11 = u4;
		local v12 = {
			1,
			7,
			1,
			0,
			true
		};
		local v13 = {};
		v13.Size = v9;
		v13.Rotation = 0;
		v10(v11, v12, v13).Completed:Wait();
		local v14 = u1.Functions.Tween;
		local v15 = u4;
		local v16 = {
			1,
			5,
			1,
			0,
			true
		};
		local v17 = {};
		v17.Size = UDim2.new();
		v14(v15, v16, v17).Completed:Wait();
		u4:Destroy();
	end)();
end;
CreatePower = f_CreatePower;
while true do
	CreatePower();
	u1.Functions.Wait(0.5);
end