Assistant: 
User: System: You will be given a Luau script (that has been decompiled). You will rename the variables and functions to sound better, make the script more coherent, and add comments to areas of the script. Return the fixed script without adding ``` as we handle that. If no script has been given, do not produce any output. Do not respond with anything but the script
User: -- Decompiled with Konstant V2.1, a fast Luau decompiler made in Luau by plusgiant5 (https://discord.gg/wyButjTMhM)
-- Decompiled on 2024-10-06 16:32:34
-- Luau version 6, Types version 3
-- Time taken: 0.004189 seconds

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer_upvr_2 = game:GetService("Players").LocalPlayer
local EmoteRemote_upvr = ReplicatedStorage.Remotes.EmoteRemote
local any_InvokeServer_result1 = ReplicatedStorage.Remotes.Misc.QuestData:InvokeServer("TendouAlice")
local var9_upvw = false
local MarketplaceService_upvr = game:GetService("MarketplaceService")
local _, _ = pcall(function() -- Line 16
	--[[ Upvalues[3]:
		[1]: var9_upvw (read and write)
		[2]: MarketplaceService_upvr (readonly)
		[3]: LocalPlayer_upvr_2 (readonly)
	]]
	var9_upvw = MarketplaceService_upvr:UserOwnsGamePassAsync(LocalPlayer_upvr_2.UserId, 210850354)
end)
local var18
if not var9_upvw then
else
	local Icon = require(ReplicatedStorage.Icon)
	local tbl_upvr = {}
	var18 = "Space"
	tbl_upvr[1] = 'W'
	tbl_upvr[2] = 'A'
	tbl_upvr[3] = 'S'
	tbl_upvr[4] = 'D'
	tbl_upvr[5] = var18
	local tbl_upvr_2 = {
		overdrive = "Overdrive";
		reisen = "Reisen";
		charisma = "Charisma";
		meiling = "Meiling";
		mokou = "Mokou";
		aya = "Aya";
		bow = "Bow";
		bowr = "BowR";
		chill = "Chill";
		boom = "Miku";
		bread = "Bread";
		sit = "Sit";
		rumia = "Rumia";
		beckon = "Beckon";
	}
	if any_InvokeServer_result1 then
		tbl_upvr_2.alice = "Alice"
	end
	local var19_upvw = false
	function var18(arg1) -- Line 55
		--[[ Upvalues[3]:
			[1]: var19_upvw (read and write)
			[2]: tbl_upvr_2 (readonly)
			[3]: EmoteRemote_upvr (readonly)
		]]
		if var19_upvw then
		else
			var19_upvw = true
			task.delay(1, function() -- Line 60
				--[[ Upvalues[1]:
					[1]: var19_upvw (copied, read and write)
				]]
				var19_upvw = false
			end)
			local string_split_result1 = string.split(string.lower(arg1), ' ')
			local _2 = string_split_result1[2]
			if string_split_result1[1] ~= "/e" then return end
			if 2 < #string_split_result1 then return end
			if tbl_upvr_2[_2] then
				EmoteRemote_upvr:FireServer(tbl_upvr_2[_2])
			end
		end
	end
	LocalPlayer_upvr_2.Chatted:Connect(var18)
	var18 = game
	local UserInputService_upvr = game:GetService("UserInputService")
	var18 = UserInputService_upvr.InputBegan
	local LocalPlayer_upvr = var18.Players.LocalPlayer
	var18 = var18:Connect
	var18(function(arg1, arg2) -- Line 84
		--[[ Upvalues[4]:
			[1]: LocalPlayer_upvr (readonly)
			[2]: EmoteRemote_upvr (readonly)
			[3]: tbl_upvr (readonly)
			[4]: UserInputService_upvr (readonly)
		]]
		if arg1.UserInputType == Enum.UserInputType.MouseButton1 and LocalPlayer_upvr.Character ~= nil then
			for _, v in pairs(LocalPlayer_upvr.Character:GetChildren()) do
				if v:IsA("Tool") then
					EmoteRemote_upvr:FireServer("Cancel")
				end
			end
		elseif arg1.UserInputType == Enum.UserInputType.MouseButton2 and LocalPlayer_upvr.Character ~= nil then
			for _, v_3 in pairs(LocalPlayer_upvr.Character:GetChildren()) do
				if v_3:IsA("Tool") then
					EmoteRemote_upvr:FireServer("Cancel")
				end
			end
		end
		if arg2 then
		else
			if table.find(tbl_upvr, arg1.KeyCode.Name) then
				EmoteRemote_upvr:FireServer("Cancel")
			end
			if UserInputService_upvr.TouchEnabled and not UserInputService_upvr.KeyboardEnabled then
				EmoteRemote_upvr:FireServer("Cancel")
			end
		end
	end)
	var18 = "Emote Pack Commands:"
	for i_2, _ in pairs(tbl_upvr_2) do
		var18 = var18.."\n/e "..i_2
	end
	print(var18)
	local tbl = {Icon.new():setLabel("Reisen"):bindEvent("selected", function() -- Line 119
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Reisen")
	end), Icon.new():setLabel("Meiling"):bindEvent("selected", function() -- Line 125
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Meiling")
	end), Icon.new():setLabel("Mokou"):bindEvent("selected", function() -- Line 131
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Mokou")
	end), Icon.new():setLabel("Aya"):bindEvent("selected", function() -- Line 137
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Aya")
	end), Icon.new():setLabel("Overdrive"):bindEvent("selected", function() -- Line 143
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Overdrive")
	end), Icon.new():setLabel("Charisma"):bindEvent("selected", function() -- Line 149
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Charisma")
	end), Icon.new():setLabel("Bow"):bindEvent("selected", function() -- Line 155
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Bow")
	end), Icon.new():setLabel("BowR"):bindEvent("selected", function() -- Line 161
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("BowR")
	end), Icon.new():setLabel("Chill"):bindEvent("selected", function() -- Line 167
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Chill")
	end), Icon.new():setLabel("Boom"):bindEvent("selected", function() -- Line 173
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Miku")
	end), Icon.new():setLabel("Sit"):bindEvent("selected", function() -- Line 179
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Sit")
	end), Icon.new():setLabel("Bread"):bindEvent("selected", function() -- Line 185
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Bread")
	end), Icon.new():setLabel("Rumia"):bindEvent("selected", function() -- Line 191
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Rumia")
	end), Icon.new():setLabel("Beckon"):bindEvent("selected", function() -- Line 197
		--[[ Upvalues[1]:
			[1]: EmoteRemote_upvr (readonly)
		]]
		EmoteRemote_upvr:FireServer("Beckon")
	end)}
	if any_InvokeServer_result1 then
		table.insert(tbl, Icon.new():setLabel("Alice"):bindEvent("selected", function() -- Line 206
			--[[ Upvalues[1]:
				[1]: EmoteRemote_upvr (readonly)
			]]
			EmoteRemote_upvr:FireServer("Alice")
		end))
	end
	emoteicon = Icon.new():setImage(14203696342):setName("DropDown"):setDropdown(tbl) -- Setting global
end
Assistant:
Assistant: