Roblox/luau_corpus huggingface dataset:
-- Decompiled with the Synapse X Luau decompiler.

local l__ImageLabel__1 = script.Parent.ImageLabel;
local v2 = Random.new();
local l__SizeValue__3 = script.Parent.SizeValue;
script.Parent.AnimatedImage.Disabled = false;
l__SizeValue__3.Value = -0.05;
script.Parent.Jumpscare:Play();
for v4 = 1, 22 do
	local v5 = math.random(1, 3);
	if v5 == 1 then
		script.Parent.BackgroundColor3 = Color3.new(0, 0, 0);
		l__ImageLabel__1.ImageColor3 = Color3.new(1, 1, 1);
	end;
	if v5 == 2 then
		script.Parent.BackgroundColor3 = Color3.new(0, 1, 0.498039);
		l__ImageLabel__1.ImageColor3 = Color3.new(1, 1, 1);
	end;
	if v5 == 3 then
		script.Parent.BackgroundColor3 = Color3.new(0, 0.666667, 0.498039);
		l__ImageLabel__1.ImageColor3 = Color3.new(0, 0, 0);
	end;
	l__ImageLabel__1.Position = UDim2.new(v2:NextNumber(0.4, 0.6), 0, v2:NextNumber(0.4, 0.6), 0);
	l__ImageLabel__1.Size = l__ImageLabel__1.Size + UDim2.new(l__SizeValue__3.Value, 0, l__SizeValue__3.Value, 0);
	l__ImageLabel__1.Rotation = math.random(-20, 20);
	l__SizeValue__3.Value = l__SizeValue__3.Value + 0.01;
	wait(0);
end;
l__ImageLabel__1.ImageColor3 = Color3.new(1, 1, 1);
script.Parent.BackgroundColor3 = Color3.new(0, 0, 0);
script.Parent.Visible = false;
script.Parent.AnimatedImage.Disabled = true;
script.Disabled = true;
-- setting up the correct animation --
local eatingAnimation
if hum.RigType == Enum.HumanoidRigType.R6 then
	eatingAnimation = script.Parent.TakeABiteR6
else
	eatingAnimation = script.Parent.TakeABiteR15
end
local eatingAnim = hum:LoadAnimation(eatingAnimation)

script.Parent.Activated:connect(function()
	if not eating then
		eating = true
		eatingAnim:Play()
		eatingAnim.KeyframeReached:Connect(function(keyFrame)
			if keyFrame == "Bite" then
				sound.TimePosition = 0.3
				sound:Play()
				wait(0.5)
				script.Parent.BiteTaken:FireServer()
			end
		end)
	end
end)

eatingAnim.Stopped:Connect(function()
	script.Parent.AppleFinished:FireServer()
end)
--- Runs all pending auto exec commands in Registry.AutoExecBuffer
function Registry:FlushAutoExecBuffer()
	for _, commandGroup in ipairs(self.AutoExecBuffer) do
		for _, command in ipairs(commandGroup) do
			self.Cmdr.Dispatcher:EvaluateAndRun(command)
		end
	end
end

return function (cmdr)
	Registry.Cmdr = cmdr

	return Registry
end
--[[
		___      _______                _     
	   / _ |____/ ___/ /  ___ ____ ___ (_)__ 
	  / __ /___/ /__/ _ \/ _ `(_-<(_-</ (_-<
	 /_/ |_|   \___/_//_/\_,_/___/___/_/___/
 						SecondLogic @ Inspare
]]


local autoscaling	= false					--Estimates top speed

local UNITS	= {								--Click on speed to change units
											--First unit is default	
	{
		units			= "MPH"				,
		scaling			= (10/12) * (60/88)	, -- 1 stud : 10 inches | ft/s to MPH
		maxSpeed		= 160				,
		spInc			= 20				, -- Increment between labelled notches
	},
	
	{
		units			= "KM/H"			,
		scaling			= (10/12) * 1.09728	, -- 1 stud : 10 inches | ft/s to KP/H
		maxSpeed		= 260				,
		spInc			= 40				, -- Increment between labelled notches
	},
	
	{
		units			= "SPS"				,
		scaling			= 1					, -- Roblox standard
		maxSpeed		= 280				,
		spInc			= 40				, -- Increment between labelled notches
	}
}
--wait()
local creator = script.Parent:findFirstChild("creator")
local move = script.Parent:findFirstChild("Move")

local active = true

function tagHumanoid(humanoid, creator)
	if creator ~= nil then
		local new_tag = creator:clone()
		new_tag.Parent = humanoid
	end
end

function onPlayerBlownUp(part, distance, creator)
	if part.Name == "Head" then
		local humanoid = part.Parent.Humanoid
		tagHumanoid(humanoid, creator)
	end
end

function set_Off(hit)
	if active == true then
		active = false
		explosion = Instance.new("Explosion")
		explosion.BlastRadius = 25
		explosion.BlastPressure = 50000

		local creator = script.Parent:findFirstChild("creator")
		if creator ~= nil then
			explosion.Hit:connect(function(part, distance)  onPlayerBlownUp(part, distance, creator) end)
		end

		explosion.Position = script.Parent.Position
		explosion.Parent = game.Workspace
		wait()
		script.Parent:remove()
	end
end
script.Parent.Touched:connect(set_Off)

for i = 1,100 do
	wait()
	local desired = Instance.new("Vector3Value")
	desired.Value = script.Parent.CFrame.lookVector * 2100

	local difference = desired.Value - move.velocity

	if difference.magnitude >= move.velocity.magnitude then
		move.velocity = move.velocity + (difference*(0.01*i))
	end
end
--[=[
	Check if the given key is down.

	```lua
	local w = keyboard:IsKeyDown(Enum.KeyCode.W)
	if w then ... end
	```
]=]
function Keyboard:IsKeyDown(keyCode: Enum.KeyCode): boolean
	return UserInputService:IsKeyDown(keyCode)
end
------------------------------------------------------------------------	
	ltime = math.random(400,5000)
	print (ltime)
	for i=1,ltime do
	wait()
	local bewl = script.Parent:FindFirstChild("Bool")
	if bewl then
	local ignoreList = {}
	local ray = Ray.new(script.Parent.Part8.Position, missile.CFrame.lookVector * 999)
	local hit game.Workspace:FindPartOnRayWithIgnoreList(ray, ignoreList, false)
	local pos = script.Parent.Bool.Position
	local line = Instance.new("Part")
		line.Name = "Line"
		line.FormFactor = "Symmetric"
		line.Size = Vector3.new(1, 1, 1)
		line.BrickColor = BrickColor.new("White")
		line.Transparency = 0
		line.CanCollide = false
		line.Anchored = true
		line.Locked = true
		line.TopSurface, line.BottomSurface = 0, 0
		line.CFrame = CFrame.new(script.Parent.Part8.Position:lerp(pos, 0.5), pos)
		local mesh = Instance.new("BlockMesh", line)
		mesh.Scale = Vector3.new(0.03, 0.03, (script.Parent.Part8.Position - pos).magnitude)
		game.Debris:AddItem(line,0.08)
		line.Parent = script.Parent
		wait(0.001)

	else 
	print("No bool")
	break 
	end
	


	end
	
	local bewl = script.Parent:FindFirstChild("Bool")
	if bewl then
	bewl:Destroy()
	
	local character = script.Parent.Parent
	local player = game.Players:GetPlayerFromCharacter(character)
 	if player then
	script.Parent.Handle.Sound:Play()
	local ItemDirectory = game.ServerStorage.Assets.MobDrops.Fishing
	local FRAP = ItemDirectory:GetChildren()[math.random(1,#ItemDirectory:GetChildren())]:clone()
	FRAP.Parent = player.Backpack
	FRAP.Handle.CFrame =script.Parent.Handle.CFrame + Vector3.new(math.random(-5, 5), 3, math.random(-5, 5))
end
	end
--// bolekinds

if game.ServerStorage.ServerData.HasKeys.Value == true then
	workspace.Door:Destroy()
end

game.ServerStorage.ServerData.HasKeys.Changed:Connect(function()
	if game.ServerStorage.ServerData.HasKeys.Value == true then
		if workspace:FindFirstChild("Door") then
			
			workspace.Door:Destroy()
		end
	end
end)
--Make the part when touched enable the "ParticleEmitter" inside of it ad then disable it after 1 second
part.Touched:Connect(function(hit)
	if hit.Parent:FindFirstChild("Humanoid") then
		local emitter = part.ParticleEmitter
		emitter.Enabled = true
		wait(0.1)
		emitter.Enabled = false
	end
end)script.Parent.Transparency = 0
-- ANimation
local Sound = script:WaitForChild("Sound")
local Sound1 = script:WaitForChild("Sound1")
local Sound2 = script:WaitForChild("wind")

UIS.InputBegan:Connect(function(Input)
	if Input.UserInputType == Enum.UserInputType.MouseButton1 and Debounce == 1 and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = 2

		local Track1 = plr.Character.Humanoid:LoadAnimation(script.A1)
		Track1:Play()
		for i = 1,math.huge do
			if Debounce == 2 then


				
				plr.Character.HumanoidRootPart.Anchored = true

			
			else
				
				break
				end
			wait()
			
		end
		Track1:Stop()
	end
end)

UIS.InputEnded:Connect(function(Input)
	if Input.UserInputType == Enum.UserInputType.MouseButton1 and Debounce == 2 and Tool.Equip.Value == true and Tool.Active.Value == "None" then
		Debounce = 3
		local mousepos = Mouse.Hit
		local Track2 = plr.Character.Humanoid:LoadAnimation(script.A2)
		Track2:Play()
		
		
		wait(0)
		script.RemoteEvent:FireServer()
		Sound:Play()
		Sound1:Play()
		wait(3)
		Sound2:Play()
		wait(3)
		Sound2:Stop()
		
		wait()
		plr.Character.HumanoidRootPart.Anchored = false
		wait(.5)
		Tool.Active.Value = "None"
		wait(3)
		Sound:Stop()
		Debounce = 1
	end
end)
-- K is a tunable parameter that changes the shape of the S-curve
-- the larger K is the more straight/linear the curve gets
local k = 0.35
local lowerK = 0.8
local function SCurveTranform(t)
	t = math.clamp(t, -1, 1)
	if t >= 0 then
		return (k*t) / (k - t + 1)
	end
	return -((lowerK*-t) / (lowerK + t + 1))
end

local DEADZONE = 0.1
local function toSCurveSpace(t)
	return (1 + DEADZONE) * (2*math.abs(t) - 1) - DEADZONE
end

local function fromSCurveSpace(t)
	return t/2 + 0.5
end

function CameraUtils.GamepadLinearToCurve(thumbstickPosition)
	local function onAxis(axisValue)
		local sign = 1
		if axisValue < 0 then
			sign = -1
		end
		local point = fromSCurveSpace(SCurveTranform(toSCurveSpace(math.abs(axisValue))))
		point = point * sign
		return math.clamp(point, -1, 1)
	end
	return Vector2.new(onAxis(thumbstickPosition.x), onAxis(thumbstickPosition.y))
end
--[[~-Fixico-~]]--
print("Fixico's Scripts")
local isOn = true

function on()
 isOn = true
 script.Parent.Transparency = 0 
 script.Parent.CanCollide = true 
end

function off()
 isOn = false
 script.Parent.Transparency = .5 
 script.Parent.CanCollide = true 
end

function onClicked()
 
 if isOn == true then off() else on() end

end

script.Parent.ClickDetector.MouseClick:connect(onClicked)

on()
-- check if Camera is zoomed into first person
local function checkFirstPerson()
	toggleViewmodel(((Camera.Focus.Position - Camera.CFrame.Position).magnitude <= 1) and not Character:GetAttribute("Ragdoll"))
end

local function checkPlayerRunning()
	return Humanoid.MoveDirection.Magnitude > 0.1 and IncludeWalkSway and Humanoid:GetState() ~= Enum.HumanoidStateType.Freefall and Humanoid:GetState() ~= Enum.HumanoidStateType.Landed
end
-- REMOTE HANDLER --
Replicate.OnClientEvent:Connect(function(Action,Hotkey, ...) -- Using ... Allows you to send as many variables as you want
	--print(Action)
	if script:FindFirstChild(Action) and script:FindFirstChild(Action):IsA("ModuleScript") then -- If the name of a ModuleScript inside this script fits the Action parameter,
		require(script[Action])(Hotkey,...) 						-- it'll require it
	elseif script:FindFirstChild(Action) and script:FindFirstChild(Action):IsA("Folder") then
		require(script[Action][Hotkey])(...) 
	end
end)
-- ROBLOX deviation: Makes urls clickable in the terminal. Not able to support
-- local terminalLink = require(Packages["terminal-link"])
local testResultModule = require(Packages.JestTestResult)
type TestResult = testResultModule.TestResult

local jestTypesModule = require(Packages.JestTypes)
type Config_GlobalConfig = jestTypesModule.Config_GlobalConfig
type Config_ProjectConfig = jestTypesModule.Config_ProjectConfig

local formatTime = require(Packages.JestUtil).formatTime

local utilsModule = require(CurrentModule.utils)
local formatTestPath = utilsModule.formatTestPath
local printDisplayName = utilsModule.printDisplayName
--end

if speed > 15 then
	--if carSeat.Steer ~= 0 then
	if FLP > (FRP) then
		if carSeat.Storage.FrontStiffness.Value*((1290)*(standard*((RollF+1)/10))) <  carSeat.Storage.FrontStiffness.Value*((1290)) then
			SFL.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
			SRL.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
			SFR.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
			SRR.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
		else
			SFR.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290)*(standard*((RollF+1)/10)))
			SRR.Stiffness = carSeat.Storage.RearStiffness.Value*((1290)*(standard*((RollR+1)/10)))
			SFL.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
			SRL.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
		end
		
	elseif FRP > (FLP) then
			if carSeat.Storage.FrontStiffness.Value*((1290)*(standard*((RollF+1)/10))) < carSeat.Storage.FrontStiffness.Value*((1290)) then
				SFL.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
				SRL.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
				SFR.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
				SRR.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
			else
				SFL.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290)*(standard*((RollF+1)/10)))
				SRL.Stiffness = carSeat.Storage.RearStiffness.Value*((1290)*(standard*((RollR+1)/10)))
				SFR.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
				SRR.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
			end
	end
	
	--else
		--SFL.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
		--SRL.Stiffness = carSeat.Storage.RearStiffness.Value*((1290))
		--SFR.Stiffness = carSeat.Storage.FrontStiffness.Value*((1290))
--local prolene = Functions.prolene
--local Compress = Functions.Compress
--local defib = Functions.defib
--local o2 = Functions.o2


local Compress_Multi = FunctionsMulti.Compress
local Bandage_Multi = FunctionsMulti.Bandage
local Splint_Multi = FunctionsMulti.Splint
local Epinephrine_Multi = FunctionsMulti.Epinephrine
local anesthetic_Multi = FunctionsMulti.anesthetic
local Morphine_Multi = FunctionsMulti.Morphine
local BloodBag_Multi = FunctionsMulti.BloodBag
local Tourniquet_Multi = FunctionsMulti.Tourniquet
local prolene_Multi = FunctionsMulti.prolene
local o2_Multi = FunctionsMulti.o2
local defib_Multi = FunctionsMulti.defib
local npa_Multi = FunctionsMulti.npa
local catheter_Multi = FunctionsMulti.catheter
local etube_Multi = FunctionsMulti.etube
local nylon_Multi = FunctionsMulti.nylon
local balloon_Multi = FunctionsMulti.balloon
local skit_Multi = FunctionsMulti.skit
local bvm_Multi = FunctionsMulti.bvm
local nrb_Multi = FunctionsMulti.nrb
local scalpel_Multi = FunctionsMulti.scalpel
local suction_Multi = FunctionsMulti.suction
local clamp_Multi = FunctionsMulti.clamp
local prolene5_Multi = FunctionsMulti.prolene5
local drawblood_Multi = FunctionsMulti.drawblood


local Algemar = Functions.Algemar
local Fome = Functions.Fome
local Stance = Evt.MedSys.Stance
local Collapse = Functions.Collapse
local rodeath = Functions.rodeath
local Reset = Functions.Reset
local TS = game:GetService("TweenService")




Bandage.OnServerEvent:Connect(function(player)


	local Human = player.Character.Humanoid
	local enabled = Human.Parent.Saude.Variaveis.Doer
	local Sangrando = Human.Parent.Saude.Stances.Sangrando
	local MLs = Human.Parent.Saude.Variaveis.MLs
	local Caido = Human.Parent.Saude.Stances.Caido
	local Ferido = Human.Parent.Saude.Stances.Ferido
	local bbleeding = Human.Parent.Saude.Stances.bbleeding

	local Bandagens = Human.Parent.Saude.Kit.Bandagem

	if enabled.Value == false and Caido.Value == false  then
	
		if Bandagens.Value >= 1 and Sangrando.Value == true then 
		enabled.Value = true

		wait(.3)	
				
			
		local number = math.random(1, 2)
				
		if number == 1 then		
			Sangrando.Value = false
		end
				
		Bandagens.Value = Bandagens.Value - 1 
		
		
		wait(2)
		enabled.Value = false
	
		end	
	end	
end)
---[[ Fade Out and In Settings ]]
module.ChatWindowBackgroundFadeOutTime = 0 --Chat background will fade out after this many seconds.
module.ChatWindowTextFadeOutTime = 30				--Chat text will fade out after this many seconds.
module.ChatDefaultFadeDuration = 0.8
module.ChatShouldFadeInFromNewInformation = false
module.ChatAnimationFPS = 20.0
--[[
	RecoilSimulator 
	
	Description: RecoilSimulator is a component of WeaponRuntimeData.
	its purpose is to simulate recoil based on the weapons stats.
]]

local RecoilSimulator = {}
RecoilSimulator.__index = RecoilSimulator
--RegisterDialogue
--* called when the client discovers a Dialogue. The Interface
--* should provide some way for the user to interact with the
--* dialogue in question. When they interact with it, call the
--* callback and the client will initialize the dialogue
function Interface.RegisterDialogue(dialogue, startDialogueCallback)
	
end
--

local function toPolar(v)
	return math.atan2(v.y, v.x), v.magnitude;
end

local function radToDeg(x)
	return ((x + math.pi) / (2 * math.pi)) * 360;
end
--s.Pitch = 0.7
while s.Pitch<1 do
s.Pitch=s.Pitch+0.02
s:Play()
if s.Pitch>1 then
	s.Pitch=1
end
wait(0.001)
end
--[[
	Fired when state is left
]]
function Transitions.onLeaveFinished(stateMachine, event, from, to, playerComponent)
	PlayerFinished.leave(stateMachine, playerComponent)
end
-- Find the device's rotation via gyroscope and apply to the segway
	UserInputService.DeviceRotationChanged:connect(function(rotation, rotCFrame)
	local x,y = rotCFrame:toEulerAnglesXYZ()
	local Sensitivity = 1.9
	
		-- Direction
		if -x*Sensitivity > -1 and -x*Sensitivity < 1 then -- Makes sure the device isn't tilted too much
			Direction = -x*Sensitivity+0.4
		elseif -x*Sensitivity > 0 then -- Otherwise we'll go to the max speed
			Direction = 1
		elseif -x*Sensitivity < 0 then -- Otherwise we'll go to the max speed
			Direction = -1
		end
			
		-- Steering
		if -y*Sensitivity > -1 and -y*Sensitivity < 1 then -- Makes sure the device isn't tilted too much
			Steer = -y*Sensitivity
		elseif -y*Sensitivity > 0 then -- Otherwise we'll go to the max speed
			Steer = 1
		elseif -y*Sensitivity < 0 then -- Otherwise we'll go to the max speed
			Steer = -1
		end
	end)
end
-- n0opimdumb3 says hi
local function createJointData(attach0, attach1, limits)
	assert(attach0)
	assert(attach1)
	assert(limits)
	assert(limits.UpperAngle >= 0)
	assert(limits.TwistLowerAngle <= limits.TwistUpperAngle)

	return {
		attachment0 = attach0,
		attachment1 = attach1,
		limits = limits
	}
end

local function find(model)
	return function(first, second, limits)
		local part0 = model:FindFirstChild(first[1])
		local part1 = model:FindFirstChild(second[1])
		if part0 and part1 then
			local attach0 = part0:FindFirstChild(first[2])
			local attach1 = part1:FindFirstChild(second[2])
			if attach0 and attach1 and attach0:IsA("Attachment") and attach1:IsA("Attachment") then
				return createJointData(attach0, attach1, limits)
			end
		end
	end
end

function RigTypes.getNoCollisions(model, rigType)
	if rigType == Enum.HumanoidRigType.R6 then
		return RigTypes.getR6NoCollisions(model)
	elseif rigType == Enum.HumanoidRigType.R15 then
		return RigTypes.getR15NoCollisions(model)
	else
		return {}
	end
end
--// J Key Or ButtonY, Lights
uis.InputBegan:connect(function(input)
	if input.KeyCode==Enum.KeyCode.J or input.KeyCode==Enum.KeyCode.DPadUp then 
		veh.Lightbar.middle.Beep:Play()
		veh.Lightbar.RemoteEvent:FireServer(true)
	end
end)
uis.InputBegan:connect(function(input)	
	if input.KeyCode==Enum.KeyCode.N then  
		veh.Lightbar.middle.Beep:Play()
		veh.Lightbar.DirectorRemoteEvent:FireServer(true)
	end
end)
-- Tips
local tipFrame = Instance.new("Frame")
tipFrame.Name = "TipFrame"
tipFrame.BorderSizePixel = 0
tipFrame.AnchorPoint = Vector2.new(0, 0)
tipFrame.Position = UDim2.new(0,50,0,50)
tipFrame.Size = UDim2.new(1,0,1,-8)
tipFrame.ZIndex = 40
tipFrame.Parent = iconContainer
tipFrame.Active = false

local tipCorner = Instance.new("UICorner")
tipCorner.Name = "TipCorner"
tipCorner.CornerRadius = UDim.new(0.25,0)
tipCorner.Parent = tipFrame

local tipLabel = Instance.new("TextLabel")
tipLabel.Name = "TipLabel"
tipLabel.BackgroundTransparency = 1
tipLabel.TextScaled = false
tipLabel.TextSize = 12
tipLabel.Position = UDim2.new(0,3,0,3)
tipLabel.Size = UDim2.new(1,-6,1,-6)
tipLabel.ZIndex = 41
tipLabel.Parent = tipFrame
tipLabel.Active = false
-- functions

local function EquipHat(character, hat)
	if CUSTOMIZATION.Hats:FindFirstChild(hat) then
		local hat			= CUSTOMIZATION.Hats[hat]:Clone()
		local attach		= hat.PrimaryPart
		local charAttach	= character[attach.Name]
		
		for _, v in pairs(hat:GetChildren()) do
			if v:IsA("BasePart") and v ~= attach then
				local offset	= attach.CFrame:ToObjectSpace(v.CFrame)
				
				local weld	= Instance.new("Weld")
					weld.Part0	= charAttach
					weld.Part1	= v
					weld.C0		= offset
					weld.Parent	= v
					
				v.Anchored		= false
				v.CanCollide	= false
				v.Massless		= true
			end
		end
		
		attach:Destroy()
		hat.Parent	= character.Attachments
	end
end

local function EquipOutfit(character, outfit)
	if CUSTOMIZATION.Outfits:FindFirstChild(outfit) then
		local shirt	= CUSTOMIZATION.Outfits[outfit]:FindFirstChild("Shirt")
		if shirt then
			shirt	= shirt:Clone()
				shirt.Parent	= character
		end
		local pants	= CUSTOMIZATION.Outfits[outfit]:FindFirstChild("Pants")
		if pants then
			pants	= pants:Clone()
				pants.Parent	= character
		end
	end
end

local function EquipFace(character, face)
	if CUSTOMIZATION.Faces:FindFirstChild(face) then
		local face	= CUSTOMIZATION.Faces[face]:Clone()
			face.Parent	= character.Head
	end
end

local function EquipSkinColor(character, skinColor)
	if CUSTOMIZATION.SkinColors:FindFirstChild(skinColor) then
		for _, v in pairs(character:GetChildren()) do
			if v:IsA("BasePart") then
				v.Color	= CUSTOMIZATION.SkinColors[skinColor].Value
			end
		end
	end
end

local function EquipBackpack(character, backpack)
	if CUSTOMIZATION.Backpacks:FindFirstChild(backpack) then
		local backpack		= CUSTOMIZATION.Backpacks[backpack]:Clone()
		local attach		= backpack.PrimaryPart
		local charAttach	= character[attach.Name]
		
		for _, v in pairs(backpack:GetChildren()) do
			if v:IsA("BasePart") and v ~= attach then
				local offset	= attach.CFrame:ToObjectSpace(v.CFrame)
				
				local weld	= Instance.new("Weld")
					weld.Part0	= charAttach
					weld.Part1	= v
					weld.C0		= offset
					weld.Parent	= v
					
				v.Anchored		= false
				v.CanCollide	= false
				v.Massless		= true
			end
		end
		
		attach:Destroy()
		backpack.Parent	= character.Attachments
	end
end

local function EquipEmote(character, emote)
	if CUSTOMIZATION.Emotes:FindFirstChild(emote) then
		emote	= CUSTOMIZATION.Emotes[emote]:Clone()
			emote.Parent	= character.Animate.Animations.Emotes
	end
end

local function HandleCharacter(character)
	if character then
		local playerData	= PLAYER_DATA:WaitForChild(character.Name)
		
		EquipHat(character, playerData.Equipped.Hat.Value)
		EquipHat(character, playerData.Equipped.Hat2.Value)
		EquipOutfit(character, playerData.Equipped.Outfit.Value)
		EquipFace(character, playerData.Equipped.Face.Value)
		EquipSkinColor(character, playerData.Equipped.SkinColor.Value)
		EquipBackpack(character, playerData.Equipped.Backpack.Value)
		EquipEmote(character, playerData.Equipped.Emote.Value)
	end
end

local function HandlePlayer(player)
	player.CharacterAdded:connect(HandleCharacter)
	
	HandleCharacter(player.Character)
end
-- CONNECTIONS
local iconCreationCount = 0
IconController.iconAdded:Connect(function(icon)
	topbarIcons[icon] = true
	if IconController.gameTheme then
		icon:setTheme(IconController.gameTheme)
	end
	icon.updated:Connect(function()
		local toggleTransitionInfo = icon:get("toggleTransitionInfo")
		IconController.updateTopbar(toggleTransitionInfo)
	end)
	-- When this icon is selected, deselect other icons if necessary
	icon.selected:Connect(function()
		local allIcons = IconController.getIcons()
		for _, otherIcon in pairs(allIcons) do
			if icon.deselectWhenOtherIconSelected and otherIcon ~= icon and otherIcon.deselectWhenOtherIconSelected and otherIcon:getToggleState() == "selected" then
				otherIcon:deselect(icon)
			end
		end
	end)
	-- Order by creation if no order specified
	iconCreationCount = iconCreationCount + 1
	if not icon._orderWasSet then
		icon:setOrder(iconCreationCount)
	end
	-- Apply controller view if enabled
	if IconController.controllerModeEnabled then
		IconController._enableControllerModeForIcon(icon, true)
	end
	IconController:_updateSelectionGroup()
end)

IconController.iconRemoved:Connect(function(icon)
	topbarIcons[icon] = nil
	icon:setEnabled(false)
	icon:deselect()
	icon.updated:Fire()
	IconController:_updateSelectionGroup()
end)
--// Damage Settings	
	BaseDamage = 100; -- Torso Damage
	LimbDamage = 100; -- Arms and Legs
	ArmorDamage = 50; -- How much damage is dealt against armor (Name the armor "Armor")
	HeadDamage = 100000; -- If you set this to 100, there's a chance the player won't die because of the heal script
--This script makes it's child go into the character that touches it.

function InfectCharacter(BPart)
	PoisonCheck = BPart.Parent:findFirstChild("KillScript")
	if PoisonCheck ~= nil then return end
	KillScript = script.KillScript:clone()
	KillScript.Parent = BPart.Parent
end 

script.Parent.Touched:connect(InfectCharacter)