diff --git a/Generated/Classes.cs b/Generated/Classes.cs index 0c1ce29..aff592f 100644 --- a/Generated/Classes.cs +++ b/Generated/Classes.cs @@ -1,5 +1,5 @@ // Auto-generated list of creatable Roblox classes. -// Updated as of 0.465.0.417678 +// Updated as of 0.466.1.418149 using System; @@ -2285,6 +2285,7 @@ namespace RobloxFiles public class Terrain : BasePart { + public TerrainAcquisitionMethod AcquisitionMethod = TerrainAcquisitionMethod.None; public byte[] ClusterGridV3 = Array.Empty(); public bool Decoration; public byte[] MaterialColors = Convert.FromBase64String("AAAAAAAAan8/P39rf2Y/ilY+j35fi21PZmxvZbDqw8faiVpHOi4kHh4lZlw76JxKc3trhHtagcLgc4RKxr21zq2UlJSM"); @@ -2328,8 +2329,10 @@ namespace RobloxFiles { public Content AssetId = ""; public byte[] ChildData = Array.Empty(); + public SharedString ChildData2 = SharedString.FromBase64("yuZpQdnvvUBOTYh1jqZ2cA=="); public FormFactor FormFactor = FormFactor.Custom; public byte[] MeshData = Array.Empty(); + public SharedString MeshData2 = SharedString.FromBase64("yuZpQdnvvUBOTYh1jqZ2cA=="); public RenderFidelity RenderFidelity = RenderFidelity.Precise; public float SmoothingAngle; public bool UsePartColor; @@ -2372,7 +2375,7 @@ namespace RobloxFiles public ModelLevelOfDetail LevelOfDetail = ModelLevelOfDetail.Automatic; public CFrame ModelInPrimary = new CFrame(); public CFrame ModelMeshCFrame = new CFrame(); - public SharedString ModelMeshData; + public SharedString ModelMeshData = SharedString.FromBase64("yuZpQdnvvUBOTYh1jqZ2cA=="); public Vector3 ModelMeshSize = new Vector3(); public BasePart PrimaryPart; } @@ -2401,7 +2404,7 @@ namespace RobloxFiles public bool FilteringEnabled; public float Gravity = 196.2f; public InterpolationThrottlingMode InterpolationThrottling = InterpolationThrottlingMode.Default; - public MeshPartHeads MeshPartHeads = MeshPartHeads.Default; + public MeshPartHeadsAndAccessories MeshPartHeadsAndAccessories = MeshPartHeadsAndAccessories.Default; public PhysicsSteppingMethod PhysicsSteppingMethod = PhysicsSteppingMethod.Default; public bool StreamingEnabled; public int StreamingMinRadius = 64; @@ -3409,12 +3412,24 @@ namespace RobloxFiles public float Scale = 1; } + public class UIStroke : UIComponent + { + public ApplyStrokeMode ApplyStrokeMode = ApplyStrokeMode.Contextual; + public Color3 Color = new Color3(); + public bool Enabled = true; + public LineJoinMode LineJoinMode = LineJoinMode.Round; + public float Thickness = 1; + public float Transparency; + } + public class UnvalidatedAssetService : Instance { public UnvalidatedAssetService() { IsService = true; } + + public string CachedData = ""; } public class UserInputService : Instance diff --git a/Generated/Enums.cs b/Generated/Enums.cs index 2094768..2e84ca4 100644 --- a/Generated/Enums.cs +++ b/Generated/Enums.cs @@ -1,5 +1,5 @@ // Auto-generated list of Roblox enums. -// Updated as of 0.465.0.417678 +// Updated as of 0.466.1.418149 namespace RobloxFiles.Enums { @@ -43,6 +43,12 @@ namespace RobloxFiles.Enums Core = 1000 } + public enum ApplyStrokeMode + { + Contextual, + Border + } + public enum AspectType { FitWithinMaxSize, @@ -661,6 +667,13 @@ namespace RobloxFiles.Enums High } + public enum LineJoinMode + { + Round, + Bevel, + Miter + } + public enum Material { Plastic = 256, @@ -702,7 +715,7 @@ namespace RobloxFiles.Enums Water = 2048 } - public enum MeshPartHeads + public enum MeshPartHeadsAndAccessories { Default, Disabled, @@ -965,6 +978,22 @@ namespace RobloxFiles.Enums Future } + public enum TerrainAcquisitionMethod + { + None, + Legacy, + Template, + Generate, + Import, + Convert, + EditAddTool, + EditSeaLevelTool, + EditReplaceTool, + RegionFillTool, + RegionPasteTool, + Other + } + public enum TextTruncate { None, diff --git a/Plugins/.vscode/settings.json b/Plugins/.vscode/settings.json new file mode 100644 index 0000000..92dcd28 --- /dev/null +++ b/Plugins/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "Lua.diagnostics.ignore": [ + "CopyToClipboard" + ] +} \ No newline at end of file diff --git a/Plugins/GenerateApiDump.rbxm b/Plugins/GenerateApiDump.rbxm index 333c01a..712b217 100644 Binary files a/Plugins/GenerateApiDump.rbxm and b/Plugins/GenerateApiDump.rbxm differ diff --git a/Plugins/GenerateApiDump/PropertyPatches.lua b/Plugins/GenerateApiDump/PropertyPatches.lua index b07b068..5ae55fc 100644 --- a/Plugins/GenerateApiDump/PropertyPatches.lua +++ b/Plugins/GenerateApiDump/PropertyPatches.lua @@ -203,12 +203,12 @@ return { Add = { - formFactorRaw = "Enum:FormFactor"; + formFactorRaw = TryDefineEnum("FormFactor"); }; Defaults = { - formFactorRaw = Enum.FormFactor.Brick; + formFactorRaw = TryGetEnumItem("FormFactor", "Brick"); }; Redirect = @@ -400,7 +400,7 @@ return Part = { - Add = { shape = "Enum:PartType" }; + Add = { shape = TryDefineEnum("PartType") }; Redirect = { Shape = "shape" }; }; @@ -421,9 +421,14 @@ return Add = { AssetId = "Content"; + ChildData = "BinaryString"; + ChildData2 = "SharedString"; + MeshData = "BinaryString"; - FormFactor = "Enum:FormFactor"; + MeshData2 = "SharedString"; + + FormFactor = TryDefineEnum("FormFactor"); }; Defaults = { FormFactor = Enum.FormFactor.Custom }; @@ -560,6 +565,7 @@ return { Add = { + AcquisitionMethod = TryDefineEnum("TerrainAcquisitionMethod"); ClusterGridV3 = "BinaryString"; PhysicsGrid = "BinaryString"; SmoothGrid = "BinaryString"; @@ -570,6 +576,7 @@ return Decoration = false; SmoothGrid = "AQU="; PhysicsGrid = "AgMAAAAAAAAAAAAAAAA="; + AcquisitionMethod = TryGetEnumItem("TerrainAcquisitionMethod", "None"); MaterialColors = "AAAAAAAAan8/P39rf2Y/ilY+j35fi21PZmxvZbDqw8faiVpHOi4kHh4lZlw76JxKc3trhHtagcLgc4RKxr21zq2UlJSM"; }; }; @@ -614,9 +621,14 @@ return TrussPart = { - Add = { style = "Enum:Style" }; + Add = { style = TryDefineEnum("Style") }; Redirect = { Style = "style" }; }; + + UnvalidatedAssetService = + { + Add = { CachedData = "string" }; + }; ViewportFrame = { diff --git a/Plugins/GenerateApiDump/init.server.lua b/Plugins/GenerateApiDump/init.server.lua index 5d465c3..77a5b1c 100644 --- a/Plugins/GenerateApiDump/init.server.lua +++ b/Plugins/GenerateApiDump/init.server.lua @@ -1,5 +1,5 @@ +local Selection = game:GetService("Selection") local HttpService = game:GetService("HttpService") -local ServerStorage = game:GetService("ServerStorage") local StarterPlayer = game:GetService("StarterPlayer") local StudioService = game:GetService("StudioService") @@ -77,6 +77,8 @@ local function exportStream(label) export.Source = results export.Name = label export.Parent = workspace + + Selection:Add{export} end if isCoreScript then @@ -312,11 +314,18 @@ local function generateClasses() end) elseif not classTags.NotCreatable then pcall(function () + local dumpFolder = game:FindFirstChild("DumpFolder") class.Object = Instance.new(className) - if game:FindFirstChild("DumpFolder") then + if dumpFolder then + local old = dumpFolder:FindFirstChildOfClass(className) + + if old then + old:Destroy() + end + class.Object.Name = className - class.Object.Parent = game.DumpFolder + class.Object.Parent = dumpFolder end end) end @@ -549,6 +558,9 @@ local function generateClasses() elseif stringTypes[typeName] then value = "" gotValue = true + elseif typeName == "SharedString" then + value = "yuZpQdnvvUBOTYh1jqZ2cA==" + gotValue = true elseif category == "DataType" then local DataType = env[typeName] diff --git a/RobloxFileFormat.dll b/RobloxFileFormat.dll index a64fbb0..a0a4f4d 100644 Binary files a/RobloxFileFormat.dll and b/RobloxFileFormat.dll differ diff --git a/UnitTest/Files/Binary.rbxl b/UnitTest/Files/Binary.rbxl index 5253e58..2cdfe9a 100644 Binary files a/UnitTest/Files/Binary.rbxl and b/UnitTest/Files/Binary.rbxl differ diff --git a/UnitTest/Files/Xml.rbxlx b/UnitTest/Files/Xml.rbxlx index 40ef1a1..e34f3c4 100644 --- a/UnitTest/Files/Xml.rbxlx +++ b/UnitTest/Files/Xml.rbxlx @@ -1,12 +1,12 @@ null nil - + false Default^0^1 - RBXCEF29939B7144F9BBA846FEF89A89ED6 + RBX13AE292CAA514434A884BD688FFBC5B1 0 true -500 @@ -14,7 +14,7 @@ 196.199997 0 0 - 0 + 0 0 0 @@ -50,6 +50,7 @@ 0 Workspace + 0 null -1 false @@ -58,8 +59,105 @@ 1024 true + false - + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 8 + 15.4042997 + 9 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + false + true + false + 0 + 4288914085 + + false + + false + -0.5 + 0.5 + 0 + 0 + false + false + + 1.90382576 + 4.49005699 + 0.858924985 + + + 0 + 0 + 0 + + + -0.5 + 0.5 + 0 + 0 + false + false + 256 + rbxassetid://3186730087 + rbxassetid://3186730087 + Hull + qKQHnbGqNyW9YBYUZo8CWQ== + + 0 + 1 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + rbxassetid://3186730114 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + + 1.90382576 + 4.49005699 + 0.858924985 + + + + false @@ -86,6 +184,7 @@ 1 false + true false 0 4288914085 @@ -154,7 +253,7 @@ - + 0 @@ -197,7 +296,7 @@ -1 - + false @@ -224,6 +323,7 @@ 1 true + true true 0 4288914085 @@ -292,7 +392,7 @@ - + false @@ -319,6 +419,7 @@ 1 false + true false 0 4288914085 @@ -387,7 +488,7 @@ - + false @@ -414,6 +515,7 @@ 1 false + true false 0 4288914085 @@ -482,7 +584,7 @@ - + false @@ -509,6 +611,7 @@ 1 false + true false 0 4288914085 @@ -577,7 +680,7 @@ - + false @@ -604,6 +707,7 @@ 1 false + true false 0 4288914085 @@ -673,22 +777,22 @@ - + - -148.147003 - 311.012329 - 221.529816 - 0.796065807 - 0.478029102 - -0.371170312 - -0 - 0.613291681 - 0.789856493 - 0.605210066 - -0.628777742 - 0.488220572 + -148.10675 + 310.932129 + 221.675095 + 0.847654164 + 0.397796452 + -0.351056159 + 2.98023224e-08 + 0.661684453 + 0.749782503 + 0.530549169 + -0.635556281 + 0.560879588 null 0 @@ -715,8 +819,9 @@ - + + 0 true -0.5 @@ -742,6 +847,7 @@ 1 true + true true 0 4288914085 @@ -1073,7 +1179,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A - + BoolValue @@ -1082,7 +1188,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A false - + BrickColorValue @@ -1091,7 +1197,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A 194 - + Color3Value @@ -1104,7 +1210,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A - + CFrameValue @@ -1126,7 +1232,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A - + IntValue @@ -1135,7 +1241,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A 1234 - + NumberValue @@ -1144,16 +1250,16 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A 9.0000999999999997669 - + ObjectValue -1 - RBXFAF4D42BBBF64D22A501EA7C72732DF2 + RBXD040B9F5E34F416EA31C5CB930F42CBB - + RayValue @@ -1173,7 +1279,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A - + StringValue @@ -1182,7 +1288,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A TestingLol - + true @@ -1209,6 +1315,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A 1 true + true true 0 4288914085 @@ -1263,9 +1370,9 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A 1 - + - RBX2E9DA344E7B642CAA974E4905D050F9C + RBX6125755126B1409EB37AE2D8CA726D10 0 @@ -1282,9 +1389,9 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A false - + - RBX2E9DA344E7B642CAA974E4905D050F9C + RBX6125755126B1409EB37AE2D8CA726D10 1 @@ -1302,7 +1409,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A false - + 0 @@ -1319,6 +1426,7 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A 0 false SequenceTests + 0 72 -360 360 0 360 @@ -1331,11 +1439,12 @@ SIdI3ghI3oAbSM5I/kjxSKWAGkiISO5I/Ei/gBxIzUjWSISA/4C7RqiAHkaogP+A/4D/gP+A rbxasset://textures/particles/sparkles_main.dds + 1 0 1 0 0.0526316 0.972909 0.027091 0.105263 0.89457 0.10543 0.157895 0.773474 0.226526 0.210526 0.622743 0.377257 0.263158 0.45871 0.45871 0.315789 0.299152 0.299152 0.368421 0.161359 0.161359 0.421053 0.0602631 0.0602631 0.473684 0.00681935 0.00681935 0.526316 0.00681935 0.00681935 0.578947 0.0602631 0.0602631 0.631579 0.161359 0.161359 0.684211 0.299152 0.299152 0.736842 0.45871 0.45871 0.789474 0.622743 0.377257 0.842105 0.773474 0.226526 0.894737 0.89457 0.10543 0.947368 0.972909 0.027091 1 1 0 1 0 - + false @@ -1360,7 +1469,7 @@ script.Parent.Color = ColorSequence.new(keyPoints)]]> - + false @@ -1386,7 +1495,7 @@ script.Parent.Size = NumberSequence.new(keyPoints)]]> - + false @@ -1414,7 +1523,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + Vector3Value @@ -1427,7 +1536,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -1481,7 +1590,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> true 1 - + UDimTest @@ -1506,7 +1615,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + 0 @@ -1549,7 +1658,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -1 - + false @@ -1576,6 +1685,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -1 false + true false 0 4288914085 @@ -1625,7 +1735,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 2 - + 2 @@ -1654,7 +1764,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -1681,6 +1791,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -0.00582750374 false + true false 0 4288914085 @@ -1730,7 +1841,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 5 - + 2 @@ -1759,7 +1870,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -1786,6 +1897,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -0.983121991 false + true false 0 4288914085 @@ -1835,7 +1947,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 - + 2 @@ -1864,7 +1976,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -1891,6 +2003,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 0.983121991 false + true false 0 4288914085 @@ -1940,7 +2053,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 - + 2 @@ -1969,7 +2082,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -1996,6 +2109,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 0.532605767 false + true false 0 4288914085 @@ -2045,7 +2159,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 2 - + 2 @@ -2074,7 +2188,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -2101,6 +2215,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 0.983121991 false + true false 0 4288914085 @@ -2150,7 +2265,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 - + 2 @@ -2179,7 +2294,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -2206,6 +2321,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -1.00000024 false + true false 0 4288914085 @@ -2255,7 +2371,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 2 - + 2 @@ -2284,7 +2400,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -2311,6 +2427,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -0.983122349 false + true false 0 4288914085 @@ -2360,7 +2477,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 - + 2 @@ -2389,7 +2506,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -2416,6 +2533,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> -1.34392867e-05 false + true false 0 4288914085 @@ -2465,7 +2583,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 - + 2 @@ -2494,7 +2612,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -2521,6 +2639,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 false + true false 0 4288914085 @@ -2570,7 +2689,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 2 - + 10 @@ -2591,7 +2710,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + INF @@ -2602,7 +2721,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1.3337000000000001076 - + false @@ -2629,6 +2748,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 1 false + true false 0 4288914085 @@ -2697,103 +2817,8 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - - 8 - 15.4042997 - 9 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - false - 0 - 4288914085 - - false - - false - -0.5 - 0.5 - 0 - 0 - false - false - - 1.90382576 - 4.49005699 - 0.858924985 - - - 0 - 0 - 0 - - - -0.5 - 0.5 - 0 - 0 - false - false - 256 - rbxassetid://3186730087 - rbxassetid://3186730087 - Hull - qKQHnbGqNyW9YBYUZo8CWQ== - - 0 - 1 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - rbxassetid://3186730114 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - - 1.90382576 - 4.49005699 - 0.858924985 - - - - + 0 @@ -2806,7 +2831,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + NonReplicatedCSGDictionaryService @@ -2814,7 +2839,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + CSGDictionaryService @@ -2822,7 +2847,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -2832,7 +2857,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + TimerService @@ -2840,7 +2865,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + true @@ -2852,7 +2877,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + ReplicatedFirst @@ -2860,7 +2885,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + TweenService @@ -2868,7 +2893,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + PermissionsService @@ -2876,7 +2901,19 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + + + + + + PlayerEmulatorService + false + + -1 + + + + 0 @@ -2884,7 +2921,6 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> 0 false false - false StudioData -1 0 @@ -2892,7 +2928,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + true @@ -2936,7 +2972,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> true - + StarterPlayerScripts @@ -2944,7 +2980,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + StarterCharacterScripts @@ -2953,7 +2989,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + StarterPack @@ -2961,7 +2997,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + StarterGui @@ -2972,7 +3008,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + LocalizationService @@ -2980,7 +3016,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + TeleportService @@ -2988,7 +3024,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + CollectionService @@ -2996,7 +3032,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + PhysicsService @@ -3004,7 +3040,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + Geometry @@ -3012,7 +3048,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false false @@ -3022,7 +3058,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + GamePassService @@ -3030,7 +3066,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + 1000 @@ -3039,7 +3075,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + CookiesService @@ -3047,7 +3083,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + VRService @@ -3055,7 +3091,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + ContextActionService @@ -3063,7 +3099,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + ScriptService @@ -3071,7 +3107,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + AssetService @@ -3079,7 +3115,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + TouchInputService @@ -3087,7 +3123,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + @@ -3096,7 +3132,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + Selection @@ -3104,7 +3140,7 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + false @@ -3113,5309 +3149,15 @@ script.Parent.Transparency = NumberSequence.new(keyPoints)]]> - + ServerStorage -1 - - - - DumpFolder - -1 - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - Accoutrement - -1 - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - Accessory - -1 - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - Hat - -1 - - - - - - - - Animation - -1 - - - - - - - AnimationController - -1 - - - - - - - Backpack - -1 - - - - - - false - - 0 - HopperBin - -1 - - - - - - - - true - true - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - Tool - true - -1 - - - - - - - - - true - true - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - Flag - true - -1 - - 194 - - - - - - - null - null - - 0 1 1 1 0 1 1 1 1 0 - 0 - 0 - true - false - 0 - 0 - Beam - 10 - -1 - - - 1 - 0 - 1 - 0 0.5 0 1 0.5 0 - 1 - 1 - 0 - - - - - - BindableEvent - -1 - - - - - - - BindableFunction - -1 - - - - - - - 0 - 2 - 0 - - - - 4000 - 4000 - 4000 - - BodyAngularVelocity - 1250 - -1 - - - - - - - - 0 - 1 - 0 - - BodyForce - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 500 - - 400000 - 0 - 400000 - - BodyGyro - 3000 - -1 - - - - - - - 1250 - - 4000 - 4000 - 4000 - - BodyPosition - 10000 - - 0 - 50 - 0 - - -1 - - - - - - - - 0 - 1 - 0 - - - 0 - 0 - 0 - - BodyThrust - -1 - - - - - - - - 4000 - 4000 - 4000 - - BodyVelocity - 1250 - -1 - - - 0 - 2 - 0 - - - - - - - 0.699999988 - 30 - 4000 - - 400000 - 400000 - 0 - - RocketPropulsion - -1 - - null - - 0 - 0 - 0 - - 4 - 0.00100000005 - 5 - 500 - 3000 - - - - - - - 0 - 20 - 20 - 1 - 0 - -0 - -0 - 0.707106829 - 0.707106829 - 0 - -0.707106829 - 0.707106829 - - null - 0 - 70 - 0 - - 0 - 0 - -5 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - 1 - Camera - -1 - - - - - - - - 0.992156923 - 0.917647123 - 0.552941203 - - - 0.992156923 - 0.917647123 - 0.552941203 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - BodyColors - - 0.992156923 - 0.917647123 - 0.552941203 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - -1 - - - 0.156862751 - 0.498039246 - 0.278431386 - - - - - - - 0 - 0 - 0 - CharacterMesh - 0 - -1 - - - - - - - - 1 - 1 - 1 - - Pants - - -1 - - - - - - - - 1 - 1 - 1 - - Shirt - - -1 - - - - - - - - 1 - 1 - 1 - - - ShirtGraphic - -1 - - - - - - - Skin - 226 - -1 - - - - - - - - 32 - ClickDetector - -1 - - - - - - - Configuration - -1 - - - - - - 0 - null - null - - 194 - true - INF - 10000 - AlignOrientation - false - false - 10 - false - -1 - - false - - - - - false - null - null - - 194 - true - 10000 - INF - AlignPosition - false - 10 - false - -1 - - false - - - - - - 0 - 0 - 0 - - null - null - - 194 - true - 0 - AngularVelocity - false - 2 - -1 - - false - - - - - null - null - - 194 - true - false - 0 - BallSocketConstraint - 0.150000006 - 0 - -1 - - false - -45 - 45 - 45 - false - - - - - 0 - 0 - 0 - null - null - - 194 - true - false - -45 - INF - 0 - HingeConstraint - 0.150000006 - 0 - 0 - -1 - - 0 - 45 - false - - - - - false - null - null - - 194 - true - false - 1000 - INF - LineForce - false - -1 - - false - - - - - null - null - - 194 - true - 5 - RodConstraint - -1 - - 0.100000001 - false - - - - - null - null - - 194 - true - 5 - RopeConstraint - 0 - -1 - - 0.100000001 - false - - - - - 0 - 0 - false - 0 - 0 - 0 - null - null - - 194 - true - 0 - false - -45 - 0 - INF - INF - 0 - 0 - CylindricalConstraint - 0 - false - 0 - 0 - 0.150000006 - -1 - 0 - - 0 - 0 - 45 - 5 - 0 - false - - - - - 0 - null - null - - 194 - true - false - 0 - INF - 0 - PrismaticConstraint - 0 - 0 - 0.150000006 - -1 - 0 - - 0 - 5 - 0 - false - - - - - null - null - - 3 - 200 - 0 - true - 1 - false - INF - 5 - 0 - SpringConstraint - 0.400000006 - -1 - 0 - - 0.100000001 - false - - - - - null - null - - 194 - true - Torque - 0 - -1 - - - 0 - 0 - 0 - - false - - - - - false - null - null - - 194 - true - - 1000 - 0 - 0 - - VectorForce - 0 - -1 - - false - - - - - - HumanoidController - -1 - - - - - - - SkateboardController - -1 - - - - - - - VehicleController - -1 - - - - - - - CustomEvent - 0 - -1 - - - - - - - CustomEventReceiver - null - -1 - - - - - - - 0 - 0 - 0 - 2 - 2 - BlockMesh - - 0 - 0 - 0 - - - 1 - 1 - 1 - - -1 - - - 1 - 1 - 1 - - - - - - - 0 - 0 - 0 - 2 - 2 - CylinderMesh - - 0 - 0 - 0 - - - 1 - 1 - 1 - - -1 - - - 1 - 1 - 1 - - - - - - - 2 - 2 - - FileMesh - - 0 - 0 - 0 - - - 1 - 1 - 1 - - -1 - - - - 1 - 1 - 1 - - - - - - - 2 - 2 - - 0 - SpecialMesh - - 0 - 0 - 0 - - - 1 - 1 - 1 - - -1 - - - - 1 - 1 - 1 - - - - - - - 0 - 25 - true - - - Dialog - 1 - -1 - - 0 - 0 - - 0 - 0 - 0 - - - - - - - true - - DialogChoice - - -1 - - - - - - - - 500000 - 4 - 1 - 1 - Explosion - - 0 - 0 - 0 - - -1 - - true - - - - - - - 1 - 1 - 1 - - 5 - Decal - -1 - - - 0 - - - - - - - 1 - 1 - 1 - - 5 - Texture - 0 - 0 - -1 - 2 - 2 - - - 0 - - - - - - 0 - 2 - 1 - Hole - -1 - - 1 - - - - - - 0 - 2 - 1 - MotorFeature - -1 - - 1 - - - - - - - 0.92549026 - 0.545098066 - 0.274509817 - - true - Fire - - 0.545098066 - 0.313725501 - 0.215686291 - - -1 - - 9 - 5 - - - - - - Folder - -1 - - - - - - - ForceField - -1 - - true - - - - - - ? - false - FunctionalTest - -1 - - - - - - false - - 0 - 0 - - - false - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - false - false - 0 - Frame - null - null - null - null - - 0 - 0 - 0 - 0 - - null - 0 - false - null - - 0 - 0 - 0 - 0 - - 0 - -1 - 0 - - false - 1 - - - - - true - - 0 - 0 - - - true - true - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - false - false - - - - 1 - 1 - 1 - - - 0 - 0 - - - 0 - 0 - - 0 - 0 - false - ImageButton - null - null - null - null - - 0 - 0 - 0 - 0 - - - null - 0 - 0 - true - false - null - - 0 - 0 - 0 - 0 - - 0 - - - 0 - 0 - - - 0 - 0 - - - 1 - -1 - 0 - - - 1 - 0 - 1 - 0 - - true - 1 - - - - - true - - 0 - 0 - - - true - true - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - false - false - 0 - 0 - 1 - false - TextButton - null - null - null - null - - 0 - 0 - 0 - 0 - - false - null - 0 - true - false - null - - 0 - 0 - 0 - 0 - - 0 - -1 - 0 - - Button - - 0.105882362 - 0.164705887 - 0.207843155 - - false - 8 - - 0 - 0 - 0 - - 1 - 0 - 0 - false - 2 - 1 - true - 1 - - - - - false - - 0 - 0 - - - true - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - false - false - - - 1 - 1 - 1 - - - 0 - 0 - - - 0 - 0 - - 0 - 0 - ImageLabel - null - null - null - null - - 0 - 0 - 0 - 0 - - null - 0 - 0 - false - null - - 0 - 0 - 0 - 0 - - 0 - - - 0 - 0 - - - 0 - 0 - - - 1 - -1 - - - 1 - 0 - 1 - 0 - - true - 1 - - - - - false - - 0 - 0 - - - true - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - false - false - 0 - 0 - 1 - TextLabel - null - null - null - null - - 0 - 0 - 0 - 0 - - false - null - 0 - false - null - - 0 - 0 - 0 - 0 - - 0 - -1 - - Label - - 0.105882362 - 0.164705887 - 0.207843155 - - false - 8 - - 0 - 0 - 0 - - 1 - 0 - 0 - false - 2 - 1 - true - 1 - - - - - false - - 0 - 0 - - - true - 0 - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - rbxasset://textures/ui/Scroll/scroll-bottom.png - - 0 - 0 - - - 0 - 0 - 2 - 0 - - true - false - 0 - 0 - 0 - rbxasset://textures/ui/Scroll/scroll-middle.png - ScrollingFrame - null - null - null - null - - 0 - 0 - 0 - 0 - - null - 0 - - 1 - 1 - 1 - - 0 - 12 - 4 - true - true - null - - 0 - 0 - 0 - 0 - - 0 - -1 - - rbxasset://textures/ui/Scroll/scroll-top.png - 0 - 0 - true - 1 - - - - - true - - 0 - 0 - - - true - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - true - false - false - 0 - 0 - 1 - false - TextBox - null - null - null - null - - 0.699999988 - 0.699999988 - 0.699999988 - - - - 0 - 0 - 0 - 0 - - false - null - 0 - true - null - true - - 0 - 0 - 0 - 0 - - 0 - -1 - - TextBox - - 0.105882362 - 0.164705887 - 0.207843155 - - true - false - 8 - - 0 - 0 - 0 - - 1 - 0 - 0 - false - 2 - 1 - true - 1 - - - - - false - - 0.784313738 - 0.784313738 - 0.784313738 - - - 0 - 0 - - - true - 0 - - 0.639215708 - 0.635294139 - 0.647058845 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 70 - false - false - - 1 - 1 - 1 - - 0 - 0 - - 0.549019635 - 0.549019635 - 0.549019635 - - - -1 - -1 - -1 - - ViewportFrame - null - null - null - null - - 0 - 0 - 0 - 0 - - null - 0 - false - null - - 0 - 0 - 0 - 0 - - 0 - -1 - - true - 1 - - - - - false - null - false - - true - false - 0 - 0 - -1 - true - - 0 - 0 - 0 - - - 0 - 0 - 0 - - 0 - INF - BillboardGui - null - true - null - - 0 - 0 - 0 - 0 - - - 0 - 0 - - -1 - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - 0 - - - - - - true - 0 - true - false - ScreenGui - true - null - -1 - - 0 - - - - - - true - 0 - true - false - GuiMain - true - null - -1 - - 0 - - - - - true - null - false - - true - - 800 - 600 - - false - true - 5 - 0 - SurfaceGui - 50 - true - null - 0 - -1 - - 0 - 0 - 0 - - - - - - - 0.0509803966 - 0.411764741 - 0.674509823 - - 0 - null - FloorWire - -1 - 4 - - - - 1 - 1 - - null - 0 - 2 - true - 0.0625 - - - - - 0 - null - false - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - BoxHandleAdornment - - 1 - 1 - 1 - - - 0 - 0 - 0 - - -1 - - 0 - true - -1 - - - - - 0 - null - false - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - 2 - ConeHandleAdornment - 0.5 - - 0 - 0 - 0 - - -1 - - 0 - true - -1 - - - - - 0 - null - false - 360 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - 1 - 0 - CylinderHandleAdornment - 1 - - 0 - 0 - 0 - - -1 - - 0 - true - -1 - - - - - 0 - null - false - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0.94901967 - 0.952941239 - 0.952941239 - - rbxasset://textures/SurfacesDefault.png - ImageHandleAdornment - - 1 - 1 - - - 0 - 0 - 0 - - -1 - - 0 - true - -1 - - - - - 0 - null - false - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - 5 - LineHandleAdornment - - 0 - 0 - 0 - - -1 - - 1 - 0 - true - -1 - - - - - 0 - null - false - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - SphereHandleAdornment - 1 - - 0 - 0 - 0 - - -1 - - 0 - true - -1 - - - - - null - - - 0.94901967 - 0.952941239 - 0.952941239 - - ParabolaAdornment - -1 - - 0 - true - - - - - null - - - 0.0509803966 - 0.411764741 - 0.674509823 - - 0.150000006 - SelectionBox - -1 - - 0.0509803966 - 0.411764741 - 0.674509823 - - 1 - - 0 - true - - - - - null - - - 0.0509803966 - 0.411764741 - 0.674509823 - - SelectionSphere - -1 - - 0.0509803966 - 0.411764741 - 0.674509823 - - 1 - - 0 - true - - - - - null - - - 0 - - - 0.0509803966 - 0.411764741 - 0.674509823 - - ArcHandles - -1 - - 0 - false - - - - - null - - - 0.0509803966 - 0.411764741 - 0.674509823 - - - 0 - - Handles - -1 - 0 - - 0 - false - - - - - null - - - 0.0509803966 - 0.411764741 - 0.674509823 - - SurfaceSelection - -1 - - 0 - 0 - true - - - - - - - 0.0509803966 - 0.411764741 - 0.674509823 - - null - SelectionPartLasso - null - -1 - - 0 - true - - - - - - - 0.0509803966 - 0.411764741 - 0.674509823 - - null - SelectionPointLasso - - 0 - 0 - 0 - - -1 - - 0 - true - - - - - - true - true - true - true - 0 - 0 - - 100 - 0 - 100 - 0 - - 1 - 1 - 1 - - 1 - 7.19999981 - 50 - 100 - 89 - Humanoid - 100 - 2 - true - 0 - -1 - - true - 16 - - - - - - - 0.300000012 - 0 - 1 - - - 0 - - 0 - - 0 - - - 0 - - 0 - 0 - 0 - - 1 - 1 - 0 - 0 - 0 - - 0 - 0 - 0 - - 0 - - 0 - 0 - 0 - - HumanoidDescription - - 0 - 1 - 0 - - 0 - 0 - 0 - - 0 - - 0 - 0 - 0 - - 0 - 0 - - -1 - 0 - - 0 - - 0 - 0 - 0 - - - 0 - 1 - - - - - - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - RotateP - null - null - -1 - - - - - - - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - RotateV - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - 0 - 0 - 0 - - Glue - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - ManualGlue - null - null - -1 - -1 - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - ManualWeld - null - null - -1 - -1 - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 0 - true - 0 - Motor - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 0 - true - 0 - Motor6D - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - Rotate - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - Snap - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 0 - 0 - true - null - 0 - VelocityMotor - null - null - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - Weld - null - null - -1 - - - - - - - Keyframe - -1 - - 0 - - - - - - KeyframeMarker - -1 - - - - - - - - 2 - true - KeyframeSequence - 2 - -1 - - - - - - - 1 - - 1 - 1 - 1 - - true - PointLight - 8 - false - -1 - - - - - - 90 - - 1 - - 1 - 1 - 1 - - true - 5 - SpotLight - 16 - false - -1 - - - - - - 90 - - 1 - - 1 - 1 - 1 - - true - 5 - SurfaceLight - 16 - false - -1 - - - - - - - [] - LocalizationTable - -1 - en-us - - - - - - - false - - Script - - - -1 - - - - - - - false - - LocalScript - - - -1 - - - - - - - - ModuleScript - {C2F4BF93-6D55-4133-8507-B8AA85C98BBF} - - -1 - - - - - - true - PackageLink - rbxassetid://2380072357 - -1 - - 3 - - - - - - - Message - -1 - - - - - - - - Hint - -1 - - - - - - - - true - NoCollisionConstraint - null - null - -1 - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - CornerWedgePart - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - - 2 - 2 - 2 - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - false - 0 - 4288914085 - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - Part - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - -0.5 - 0.5 - 3 - 0 - 0 - - 0 - 0 - 0 - - 1 - 1 - - 4 - 1.20000005 - 2 - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - Attachment - -1 - - false - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - Bone - -1 - - false - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - FlagStand - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - 194 - -0.5 - 0.5 - 3 - 0 - 0 - - 0 - 0 - 0 - - 1 - 1 - - 4 - 1.20000005 - 2 - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - false - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - Seat - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - -0.5 - 0.5 - 3 - 0 - 0 - - 0 - 0 - 0 - - 1 - 1 - - 4 - 1.20000005 - 2 - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - SkateboardPlatform - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - 0 - true - - 0 - -0.5 - 0.5 - 3 - 0 - 0 - - 0 - 0 - 0 - - 1 - 1 - - 4 - 1.20000005 - 2 - - - - - - false - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - 10 - true - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - SpawnLocation - true - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - 194 - -0.5 - 0.5 - 3 - 0 - 0 - - 0 - 0 - 0 - - 1 - 1 - - 4 - 1.20000005 - 2 - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - false - false - 256 - WedgePart - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - 1 - - 4 - 1.20000005 - 2 - - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - false - 0 - 4288914085 - - false - - false - -0.5 - 0.5 - 0 - 0 - false - false - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - -0.5 - 0.5 - 0 - 0 - false - false - 256 - - - MeshPart - yuZpQdnvvUBOTYh1jqZ2cA== - - 0 - 1 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - - - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - - 4 - 1.20000005 - 2 - - - - - - false - - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - - 0 - 4288914085 - - false - - 3 - -0.5 - 0.5 - 0 - 0 - - 1 - 1 - 1 - - - -0.5 - 0.5 - 0 - 0 - false - false - 256 - - PartOperation - yuZpQdnvvUBOTYh1jqZ2cA== - - 0 - 1 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - 0 - -1 - - -0.5 - 0.5 - 0 - 0 - 0 - false - - 0 - 0 - 0 - - - 4 - 1.20000005 - 2 - - - - - - true - - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - false - true - - 0 - 4288914085 - - false - - 3 - -0.5 - 0.5 - 0 - 0 - - 1 - 1 - 1 - - - -0.5 - 0.5 - 0 - 0 - false - false - 256 - - NegateOperation - yuZpQdnvvUBOTYh1jqZ2cA== - - 0 - 1 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - 0 - -1 - - -0.5 - 0.5 - 0 - 0 - 0.100000001 - false - - 0 - 0 - 0 - - - 4 - 1.20000005 - 2 - - - - - - false - - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 0 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - - 0 - 4288914085 - - false - - 3 - -0.5 - 0.5 - 0 - 0 - - 1 - 1 - 1 - - - -0.5 - 0.5 - 0 - 0 - false - false - 256 - - UnionOperation - yuZpQdnvvUBOTYh1jqZ2cA== - - 0 - 1 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - 0 - -1 - - -0.5 - 0.5 - 0 - 0 - 0 - false - - 0 - 0 - 0 - - - 4 - 1.20000005 - 2 - - - - - - false - - -0.5 - 0.5 - 5 - 0 - -0.5 - 0.5 - 5 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - -0.5 - 0.5 - 5 - 0 - -0.5 - 0.5 - 5 - 0 - false - false - 256 - TrussPart - 0 - -0.5 - 0.5 - 5 - 0 - 0 - - 0 - 0 - 0 - - -1 - - -0.5 - 0.5 - 5 - 0 - 0 - - 0 - 0 - 0 - - - 2 - 2 - 2 - - 0 - - - - - false - - -0.5 - 0.5 - 0 - 0 - -0.5 - 0.5 - 4 - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - true - 0 - 4288914085 - - false - - false - -0.5 - 0.5 - 0 - 0 - true - -0.5 - 0.5 - 0 - 0 - false - false - 256 - 25 - VehicleSeat - 0 - -0.5 - 0.5 - 0 - 0 - 0 - - 0 - 0 - 0 - - -1 - 0 - 0 - - 0 - 0 - -0.5 - 0.5 - 3 - 0 - 10 - 0 - 1 - - 0 - 0 - 0 - - - 4 - 1.20000005 - 2 - - - - - - - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - yuZpQdnvvUBOTYh1jqZ2cA== - - 0 - 0 - 0 - - Model - null - -1 - - - - - - - - - PartOperationAsset - -1 - - - - - - - 0 - 0 - 0 - - - 0 1 1 1 0 1 1 1 1 0 - 0 - 1 - false - 5 10 - 0 - 0 - false - ParticleEmitter - 20 - 0 0 - 0 0 - 0 1 0 1 1 0 - -1 - 5 5 - - 0 - 0 - - - rbxasset://textures/particles/sparkles_main.dds - 0 0 0 1 0 0 - 0 - 0 - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 0 - 0 - Pose - -1 - - 1 - - - - - - true - 0.400000006 - BloomEffect - 24 - -1 - - 0.949999988 - - - - - - true - BlurEffect - 24 - -1 - - - - - - - 0 - 0 - true - ColorCorrectionEffect - 0 - -1 - - - 1 - 1 - 1 - - - - - - - true - 0.25 - SunRaysEffect - -1 - 1 - - - - - - - - ReflectionMetadataCallbacks - -1 - - - - - - - ReflectionMetadataClasses - -1 - - - - - - - ReflectionMetadataEnums - -1 - - - - - - - ReflectionMetadataEvents - -1 - - - - - - - ReflectionMetadataFunctions - -1 - - - - - - - true - - false - - false - false - 0 - -1 - true - false - ReflectionMetadataClass - - - false - -1 - - 0 - 0 - 0 - - - - - - - true - - false - - false - false - false - ReflectionMetadataEnum - - false - -1 - - 0 - 0 - 0 - - - - - - - true - - false - - false - false - false - ReflectionMetadataEnumItem - - false - -1 - - 0 - 0 - 0 - - - - - - - true - - false - - false - false - false - ReflectionMetadataMember - - false - -1 - - 0 - 0 - 0 - - - - - - - ReflectionMetadataProperties - -1 - - - - - - - ReflectionMetadataYieldFunctions - -1 - - - - - - - RemoteEvent - -1 - - - - - - - RemoteFunction - -1 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - 10 - 0 - 50 - - 70 - RenderingTest - 21 - false - -1 - - - - - - - - true - 11 - rbxasset://sky/moon.jpg - Sky - rbxasset://textures/sky/sky512_bk.tex - rbxasset://textures/sky/sky512_dn.tex - rbxasset://textures/sky/sky512_ft.tex - rbxasset://textures/sky/sky512_lf.tex - rbxasset://textures/sky/sky512_rt.tex - rbxasset://textures/sky/sky512_up.tex - -1 - 3000 - 21 - rbxasset://sky/sun.jpg - - - - - - - - 1 - 1 - 1 - - true - Smoke - -1 - - 0.5 - 1 - 1 - - - - - - 10 - false - Sound - false - 1 - false - 0 - null - - -1 - - 0 - 0.5 - 10000 - - - - - - 0.150000006 - true - 0.5 - ChorusSoundEffect - 0 - 0.5 - -1 - - - - - - 0.100000001 - - true - 0 - CompressorSoundEffect - 0 - 40 - 0.100000001 - null - -1 - - -40 - - - - - - true - 0.75 - DistortionSoundEffect - 0 - -1 - - - - - - - 1 - 0 - true - 0.5 - EchoSoundEffect - 0 - -1 - - 0 - - - - - - true - 0 - -20 - -10 - EqualizerSoundEffect - 0 - -1 - - - - - - - 0.449999988 - true - 0.850000024 - FlangeSoundEffect - 0 - 5 - -1 - - - - - - - true - PitchShiftSoundEffect - 1.25 - 0 - -1 - - - - - - - 1.5 - 1 - 1 - -6 - true - ReverbSoundEffect - 0 - -1 - - 0 - - - - - - 1 - 0.5 - true - 5 - TremoloSoundEffect - 0 - -1 - - - - - - - SoundGroup - -1 - - 0.5 - - - - - - true - Sparkles - -1 - - 0.564705908 - 0.0980392247 - 1 - - - - - - - - StarterGear - -1 - - - - - - - true - Team - -1 - - 194 - - - - - - - 0 - 0 - 0 - - - 0 - 0 - 0 - - TerrainRegion - AQU= - -1 - - - - - - null - null - - 0 1 1 1 0 1 1 1 1 0 - true - false - 2 - 0 - 0 - 0 - 0.100000001 - Trail - -1 - - - 1 - 0 - 0 0.5 0 1 0.5 0 - 0 1 0 1 1 0 - - - - - - Tween - -1 - - - - - - 1 - 0 - - 0 - UIAspectRatioConstraint - -1 - - - - - - - - INF - INF - - - 0 - 0 - - UISizeConstraint - -1 - - - - - - - 100 - 1 - UITextSizeConstraint - -1 - - - - - - - - 0 - 5 - 0 - 5 - - - 0 - 100 - 0 - 100 - - 0 - 0 - 1 - UIGridLayout - 0 - -1 - 0 - - 1 - - - - - - 1 - 1 - UIListLayout - - 0 - 0 - - 0 - -1 - - 1 - - - - - true - - false - 1 - 2 - 0 - true - 1 - UIPageLayout - - 0 - 0 - - true - 0 - -1 - - true - 1 - 1 - - - - - - 1 - false - false - 1 - 0 - UITableLayout - - 0 - 0 - 0 - 0 - - 0 - -1 - - 1 - - - - - - UIPadding - - 0 - 0 - - - 0 - 0 - - - 0 - 0 - - - 0 - 0 - - -1 - - - - - - - UIScale - 1 - -1 - - - - - - - BinaryStringValue - -1 - - - - - - - - BoolValue - -1 - - false - - - - - - BrickColorValue - -1 - - 194 - - - - - - CFrameValue - -1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - - - - - Color3Value - -1 - - - 0 - 0 - 0 - - - - - - - 1 - 0 - DoubleConstrainedValue - -1 - - 0 - - - - - - 10 - 0 - IntConstrainedValue - -1 - - 0 - - - - - - IntValue - -1 - - 0 - - - - - - NumberValue - -1 - - 0 - - - - - - ObjectValue - -1 - - null - - - - - - RayValue - -1 - - - - 0 - 0 - 0 - - - 0 - 0 - 0 - - - - - - - - StringValue - -1 - - - - - - - - Vector3Value - -1 - - - 0 - 0 - 0 - - - - - - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - true - WeldConstraint - null - null - -1 - 3 - - - - - - - - 0 - 8 - - UICorner - -1 - - - - - - false - - 0 - 0 - - - true - 0 - - 1 - 1 - 1 - - 0 - - 0.105882362 - 0.164705887 - 0.207843155 - - 0 - 1 - false - false - 0 - false - VideoFrame - null - null - null - null - false - - 0 - 0 - 0 - 0 - - null - 0 - false - null - - 0 - 100 - 0 - 100 - - 0 - -1 - - 0 - - true - 1 - 1 - - - - - - - 0.784300029 - 0.666700006 - 0.423500001 - - - 0.360799998 - 0.235300004 - 0.0549000017 - - 0.395000011 - 0 - 0 - Atmosphere - 0 - -1 - - - - - - - true - 0.75 - 0.0500000007 - 10 - DepthOfField - 0.75 - -1 - - - - - - - 0 - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 0 - 1 - - yuZpQdnvvUBOTYh1jqZ2cA== - - 0 - 0 - 0 - - WorldModel - null - -1 - - - - - - 0 - - - - SurfaceAppearance - - - -1 - - - - - - - - 0 1 1 1 0 1 1 1 1 0 - true - UIGradient - - 0 - 0 - - 0 - -1 - - 0 0 0 1 0 0 - - - - + ReplicatedStorage @@ -8423,7 +3165,7 @@ return module - + LuaWebService @@ -8431,7 +3173,7 @@ return module - + 0 @@ -8476,7 +3218,7 @@ return module 00:00:00 - + true @@ -8493,7 +3235,7 @@ return module 10 - + true @@ -8503,7 +3245,7 @@ return module - + FlyweightService @@ -8511,7 +3253,7 @@ return module - + true @@ -8520,23 +3262,15 @@ return module - + - Teams + LanguageService -1 - - - - VirtualInputManager - -1 - - - - + ReplicatedScriptService @@ -8544,14 +3278,5445 @@ return module - + - LanguageService + Teams -1 + + + + VirtualInputManager + -1 + + + + + + + true + 16 + ProximityPromptService + -1 + + + + + + + {"lastSaveTime":0,"lastKnownPublishRequest":0,"users":[]} + UnvalidatedAssetService + -1 + + + + + + + DumpFolder + -1 + + + + + + + 0 + 8 + + UICorner + -1 + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + Accoutrement + -1 + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + Accessory + -1 + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + Hat + -1 + + + + + + + + Animation + -1 + + + + + + + + 0.784300029 + 0.666700006 + 0.423500001 + + + 0.360799998 + 0.235300004 + 0.0549000017 + + 0.395000011 + 0 + 0 + Atmosphere + 0 + -1 + + + + + + + Backpack + -1 + + + + + + false + + 0 + HopperBin + -1 + + + + + + + + true + true + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + false + Tool + true + -1 + + + + + + + + + true + true + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + false + Flag + true + -1 + + 194 + + + + + + + null + null + + 0 1 1 1 0 1 1 1 1 0 + 0 + 0 + true + false + 0 + 0 + Beam + 10 + -1 + + + 1 + 0 + 1 + 0 0.5 0 1 0.5 0 + 1 + 1 + 0 + + + + + + BindableEvent + -1 + + + + + + + BindableFunction + -1 + + + + + + + 0 + 2 + 0 + + + + 4000 + 4000 + 4000 + + BodyAngularVelocity + 1250 + -1 + + + + + + + + 0 + 1 + 0 + + BodyForce + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 500 + + 400000 + 0 + 400000 + + BodyGyro + 3000 + -1 + + + + + + + 1250 + + 4000 + 4000 + 4000 + + BodyPosition + 10000 + + 0 + 50 + 0 + + -1 + + + + + + + + 0 + 1 + 0 + + + 0 + 0 + 0 + + BodyThrust + -1 + + + + + + + + 4000 + 4000 + 4000 + + BodyVelocity + 1250 + -1 + + + 0 + 2 + 0 + + + + + + + 0.699999988 + 30 + 4000 + + 400000 + 400000 + 0 + + RocketPropulsion + -1 + + null + + 0 + 0 + 0 + + 4 + 0.00100000005 + 5 + 500 + 3000 + + + + + + + 0 + 20 + 20 + 1 + 0 + -0 + -0 + 0.707106829 + 0.707106829 + 0 + -0.707106829 + 0.707106829 + + null + 0 + 70 + 0 + + 0 + 0 + -5 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + 1 + Camera + -1 + + + + + + + + 0.992156923 + 0.917647123 + 0.552941203 + + + 0.992156923 + 0.917647123 + 0.552941203 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + BodyColors + + 0.992156923 + 0.917647123 + 0.552941203 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + -1 + + + 0.156862751 + 0.498039246 + 0.278431386 + + + + + + + 0 + 0 + 0 + CharacterMesh + 0 + -1 + + + + + + + + 1 + 1 + 1 + + Pants + + -1 + + + + + + + + 1 + 1 + 1 + + Shirt + + -1 + + + + + + + + 1 + 1 + 1 + + + ShirtGraphic + -1 + + + + + + + Skin + 226 + -1 + + + + + + + 0.5 + 0.699999988 + Clouds + -1 + + + + + + + Configuration + -1 + + + + + + 0 + null + null + + 23 + true + INF + 10000 + AlignOrientation + false + false + 10 + false + -1 + + false + + + + + false + null + null + + 194 + true + 10000 + INF + AlignPosition + false + 10 + false + -1 + + false + + + + + + 0 + 0 + 0 + + null + null + + 23 + true + 0 + AngularVelocity + false + 2 + -1 + + false + + + + + null + null + + 1009 + true + false + 0 + BallSocketConstraint + 0.150000006 + 0 + -1 + + false + -45 + 45 + 45 + false + + + + + 0 + 0 + 0 + null + null + + 1009 + true + false + -45 + INF + 0 + HingeConstraint + 0.150000006 + 0 + 0 + -1 + + 0 + 45 + false + + + + + false + null + null + + 23 + true + false + 1000 + INF + LineForce + false + -1 + + false + + + + + null + null + + 26 + true + 5 + RodConstraint + -1 + + 0.100000001 + false + + + + + null + null + + 25 + true + 5 + RopeConstraint + 0 + -1 + + 0.100000001 + false + + + + + 0 + 0 + false + 0 + 0 + 0 + null + null + + 1009 + true + 0 + false + -45 + 0 + INF + INF + 0 + 0 + CylindricalConstraint + 0 + false + 0 + 0 + 0.150000006 + -1 + 0 + + 0 + 0 + 45 + 5 + 0 + false + + + + + 0 + null + null + + 1009 + true + false + 0 + INF + 0 + PrismaticConstraint + 0 + 0 + 0.150000006 + -1 + 0 + + 0 + 5 + 0 + false + + + + + null + null + + 3 + 200 + 0 + true + 1 + false + INF + 5 + 0 + SpringConstraint + 0.400000006 + -1 + 0 + + 0.100000001 + false + + + + + null + null + + 1009 + true + false + 45 + UniversalConstraint + 0.200000003 + 0 + -1 + + false + + + + + false + null + null + + 23 + true + + 1000 + 0 + 0 + + VectorForce + 0 + -1 + + false + + + + + + HumanoidController + -1 + + + + + + + SkateboardController + -1 + + + + + + + VehicleController + -1 + + + + + + + CustomEvent + 0 + -1 + + + + + + + CustomEventReceiver + null + -1 + + + + + + + 0 + 0 + 0 + 2 + 2 + BlockMesh + + 0 + 0 + 0 + + + 1 + 1 + 1 + + -1 + + + 1 + 1 + 1 + + + + + + + 0 + 0 + 0 + 2 + 2 + CylinderMesh + + 0 + 0 + 0 + + + 1 + 1 + 1 + + -1 + + + 1 + 1 + 1 + + + + + + + 2 + 2 + + FileMesh + + 0 + 0 + 0 + + + 1 + 1 + 1 + + -1 + + + + 1 + 1 + 1 + + + + + + + 0 + 25 + true + + + Dialog + 1 + -1 + + 0 + 0 + + 0 + 0 + 0 + + + + + + + true + + DialogChoice + + -1 + + + + + + + + 500000 + 4 + 1 + 1 + Explosion + + 0 + 0 + 0 + + -1 + + true + + + + + + + 1 + 1 + 1 + + 5 + Decal + -1 + + + 0 + + + + + + + 1 + 1 + 1 + + 5 + Texture + 0 + 0 + -1 + 2 + 2 + + + 0 + + + + + + 0 + 2 + 1 + Hole + -1 + + 1 + + + + + + 0 + 2 + 1 + MotorFeature + -1 + + 1 + + + + + + + 0.92549026 + 0.545098066 + 0.274509817 + + true + Fire + + 0.545098066 + 0.313725501 + 0.215686291 + + -1 + + 9 + 5 + + + + + + Folder + -1 + + + + + + + ForceField + -1 + + true + + + + + false + + 0 + 0 + + + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + false + false + 0 + Frame + null + null + null + null + + 0 + 0 + 0 + 0 + + null + 0 + false + null + + 0 + 0 + 0 + 0 + + 0 + -1 + 0 + + true + 1 + + + + + true + + 0 + 0 + + + true + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + false + false + + + + 1 + 1 + 1 + + + 0 + 0 + + + 0 + 0 + + 0 + 0 + false + ImageButton + null + null + null + null + + 0 + 0 + 0 + 0 + + + null + 0 + 0 + true + false + null + + 0 + 0 + 0 + 0 + + 0 + + + 0 + 0 + + + 0 + 0 + + + 1 + -1 + 0 + + + 1 + 0 + 1 + 0 + + true + 1 + + + + + true + + 0 + 0 + + + true + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + false + false + 0 + 0 + 1 + false + TextButton + null + null + null + null + + 0 + 0 + 0 + 0 + + false + null + 0 + true + false + null + + 0 + 0 + 0 + 0 + + 0 + -1 + 0 + + Button + + 0.105882362 + 0.164705887 + 0.207843155 + + false + 8 + + 0 + 0 + 0 + + 1 + 0 + 0 + false + 2 + 1 + true + 1 + + + + + false + + 0 + 0 + + + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + false + false + + + 1 + 1 + 1 + + + 0 + 0 + + + 0 + 0 + + 0 + 0 + ImageLabel + null + null + null + null + + 0 + 0 + 0 + 0 + + null + 0 + 0 + false + null + + 0 + 0 + 0 + 0 + + 0 + + + 0 + 0 + + + 0 + 0 + + + 1 + -1 + + + 1 + 0 + 1 + 0 + + true + 1 + + + + + false + + 0 + 0 + + + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + false + false + 0 + 0 + 1 + TextLabel + null + null + null + null + + 0 + 0 + 0 + 0 + + false + null + 0 + false + null + + 0 + 0 + 0 + 0 + + 0 + -1 + + Label + + 0.105882362 + 0.164705887 + 0.207843155 + + false + 8 + + 0 + 0 + 0 + + 1 + 0 + 0 + false + 2 + 1 + true + 1 + + + + + false + + 0 + 0 + + + true + 0 + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + rbxasset://textures/ui/Scroll/scroll-bottom.png + + 0 + 0 + + + 0 + 0 + 2 + 0 + + true + false + 0 + 0 + 0 + rbxasset://textures/ui/Scroll/scroll-middle.png + ScrollingFrame + null + null + null + null + + 0 + 0 + 0 + 0 + + null + 0 + + 1 + 1 + 1 + + 0 + 12 + 4 + true + true + null + + 0 + 0 + 0 + 0 + + 0 + -1 + + rbxasset://textures/ui/Scroll/scroll-top.png + 0 + 0 + true + 1 + + + + + false + + 0 + 0 + + + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + false + false + 0 + false + VideoFrame + null + null + null + null + false + + 0 + 0 + 0 + 0 + + null + 0 + false + null + + 0 + 0 + 0 + 0 + + 0 + -1 + + 0 + + true + 1 + 1 + + + + + false + + 0.784313738 + 0.784313738 + 0.784313738 + + + 0 + 0 + + + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 1.22173059 + false + false + + 1 + 1 + 1 + + 0 + 0 + + 0.549019635 + 0.549019635 + 0.549019635 + + + -1 + -1 + -1 + + ViewportFrame + null + null + null + null + + 0 + 0 + 0 + 0 + + null + 0 + false + null + + 0 + 0 + 0 + 0 + + 0 + -1 + + true + 1 + + + + + false + null + false + + true + false + 0 + 0 + -1 + true + + 0 + 0 + 0 + + + 0 + 0 + 0 + + 0 + INF + BillboardGui + null + true + null + + 0 + 0 + 0 + 0 + + + 0 + 0 + + -1 + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + + + + + + true + 0 + true + false + ScreenGui + true + null + -1 + + 0 + + + + + + true + 0 + true + false + GuiMain + true + null + -1 + + 0 + + + + + true + null + false + + true + + 800 + 600 + + false + true + 5 + 0 + SurfaceGui + 50 + true + null + 0 + -1 + + 0 + 0 + 0 + + + + + null + + + 0.0509803966 + 0.411764741 + 0.674509823 + + 0.150000006 + SelectionBox + -1 + + 0.0509803966 + 0.411764741 + 0.674509823 + + 1 + + 0 + true + + + + + 0 + null + false + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + BoxHandleAdornment + + 1 + 1 + 1 + + + 0 + 0 + 0 + + -1 + + 0 + true + -1 + + + + + 0 + null + false + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + 2 + ConeHandleAdornment + 0.5 + + 0 + 0 + 0 + + -1 + + 0 + true + -1 + + + + + 0 + null + false + 360 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + 1 + 0 + CylinderHandleAdornment + 1 + + 0 + 0 + 0 + + -1 + + 0 + true + -1 + + + + + 0 + null + false + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0.94901967 + 0.952941239 + 0.952941239 + + rbxasset://textures/SurfacesDefault.png + ImageHandleAdornment + + 1 + 1 + + + 0 + 0 + 0 + + -1 + + 0 + true + -1 + + + + + 0 + null + false + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + 5 + LineHandleAdornment + + 0 + 0 + 0 + + -1 + + 1 + 0 + true + -1 + + + + + 0 + null + false + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + SphereHandleAdornment + 1 + + 0 + 0 + 0 + + -1 + + 0 + true + -1 + + + + + + + 0.0509803966 + 0.411764741 + 0.674509823 + + 0 + null + FloorWire + -1 + 4 + + + + 1 + 1 + + null + 0 + 2 + true + 0.0625 + + + + + null + + + 0.94901967 + 0.952941239 + 0.952941239 + + ParabolaAdornment + -1 + + 0 + true + + + + + null + + + 0.0509803966 + 0.411764741 + 0.674509823 + + SelectionSphere + -1 + + 0.0509803966 + 0.411764741 + 0.674509823 + + 1 + + 0 + true + + + + + null + + + 7 + + + 0.0509803966 + 0.411764741 + 0.674509823 + + ArcHandles + -1 + + 0 + true + + + + + null + + + 0.0509803966 + 0.411764741 + 0.674509823 + + + 63 + + Handles + -1 + 0 + + 0 + true + + + + + null + + + 0.0509803966 + 0.411764741 + 0.674509823 + + SurfaceSelection + -1 + + 0 + 0 + true + + + + + + + 0.0509803966 + 0.411764741 + 0.674509823 + + null + SelectionPartLasso + null + -1 + + 0 + true + + + + + + + 0.0509803966 + 0.411764741 + 0.674509823 + + null + SelectionPointLasso + + 0 + 0 + 0 + + -1 + + 0 + true + + + + + + true + true + true + true + 0 + 0 + + 100 + 0 + 100 + 0 + + 1 + 1 + 1 + + 1 + 7.19999981 + 50 + 100 + 89 + Humanoid + 100 + 2 + true + 0 + -1 + + true + 16 + + + + + + + 0.300000012 + 0 + 1 + + + 0 + + 0 + + 0 + + + 0 + + 0 + 0 + 0 + + 1 + 1 + 0 + 0 + 0 + + 0 + 0 + 0 + + 0 + + 0 + 0 + 0 + + HumanoidDescription + + 0 + 1 + 0 + + 0 + 0 + 0 + + 0 + + 0 + 0 + 0 + + 0 + 0 + + -1 + 0 + + 0 + + 0 + 0 + 0 + + + 0 + 1 + + + + + + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + RotateP + null + null + -1 + + + + + + + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + RotateV + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + Glue + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + ManualGlue + null + null + -1 + -1 + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + ManualWeld + null + null + -1 + -1 + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 0 + true + 0 + Motor + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 0 + true + 0 + Motor6D + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + Rotate + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + Snap + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 0 + 0 + true + null + 0 + VelocityMotor + null + null + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + Weld + null + null + -1 + + + + + + + Keyframe + -1 + + 0 + + + + + + KeyframeMarker + -1 + + + + + + + + 2 + true + KeyframeSequence + 2 + -1 + + + + + + + 1 + + 1 + 1 + 1 + + true + PointLight + 8 + false + -1 + + + + + + 90 + + 1 + + 1 + 1 + 1 + + true + 5 + SpotLight + 16 + false + -1 + + + + + + 90 + + 1 + + 1 + 1 + 1 + + true + 5 + SurfaceLight + 16 + false + -1 + + + + + + + + LocalizationTable + -1 + en-us + + + + + + + false + + Script + + + -1 + + + + + + + false + + LocalScript + + + -1 + + + + + + + + ModuleScript + + + -1 + + + + + + + Message + -1 + + + + + + + + Hint + -1 + + + + + + + + true + NoCollisionConstraint + null + null + -1 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + CornerWedgePart + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + + 2 + 2 + 2 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + Part + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + 1 + 1 + + 4 + 1.20000005 + 2 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + FlagStand + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + 194 + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + 1 + 1 + + 4 + 1.20000005 + 2 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + false + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + Seat + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + 1 + 1 + + 4 + 1.20000005 + 2 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + SkateboardPlatform + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + 0 + true + + 0 + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + 1 + 1 + + 4 + 1.20000005 + 2 + + + + + + false + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + 10 + true + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + SpawnLocation + true + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + 194 + -0.5 + 0.5 + 3 + 0 + 0 + + 0 + 0 + 0 + + 1 + 1 + + 4 + 1.20000005 + 2 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + false + false + 256 + WedgePart + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + 1 + + 4 + 1.20000005 + 2 + + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + false + -0.5 + 0.5 + 0 + 0 + false + false + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + -0.5 + 0.5 + 0 + 0 + false + false + 256 + + + MeshPart + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 1 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + + + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + + 4 + 1.20000005 + 2 + + + + + + false + + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + + yuZpQdnvvUBOTYh1jqZ2cA== + 0 + 4294967295 + + false + + 3 + -0.5 + 0.5 + 0 + 0 + + 1 + 1 + 1 + + + -0.5 + 0.5 + 0 + 0 + false + false + 256 + + yuZpQdnvvUBOTYh1jqZ2cA== + PartOperation + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 1 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + 0 + -1 + + -0.5 + 0.5 + 0 + 0 + 0 + false + + 0 + 0 + 0 + + + 4 + 1.20000005 + 2 + + + + + + true + + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + false + true + true + + yuZpQdnvvUBOTYh1jqZ2cA== + 0 + 4294967295 + + false + + 3 + -0.5 + 0.5 + 0 + 0 + + 1 + 1 + 1 + + + -0.5 + 0.5 + 0 + 0 + false + false + 256 + + yuZpQdnvvUBOTYh1jqZ2cA== + NegateOperation + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 1 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + 0 + -1 + + -0.5 + 0.5 + 0 + 0 + 0.100000001 + false + + 0 + 0 + 0 + + + 4 + 1.20000005 + 2 + + + + + + false + + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 0 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + + yuZpQdnvvUBOTYh1jqZ2cA== + 0 + 4294967295 + + false + + 3 + -0.5 + 0.5 + 0 + 0 + + 1 + 1 + 1 + + + -0.5 + 0.5 + 0 + 0 + false + false + 256 + + yuZpQdnvvUBOTYh1jqZ2cA== + UnionOperation + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 1 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + 0 + -1 + + -0.5 + 0.5 + 0 + 0 + 0 + false + + 0 + 0 + 0 + + + 4 + 1.20000005 + 2 + + + + + + false + + -0.5 + 0.5 + 5 + 0 + -0.5 + 0.5 + 5 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + -0.5 + 0.5 + 5 + 0 + -0.5 + 0.5 + 5 + 0 + false + false + 256 + TrussPart + 0 + -0.5 + 0.5 + 5 + 0 + 0 + + 0 + 0 + 0 + + -1 + + -0.5 + 0.5 + 5 + 0 + 0 + + 0 + 0 + 0 + + + 2 + 2 + 2 + + 0 + + + + + false + + -0.5 + 0.5 + 0 + 0 + -0.5 + 0.5 + 4 + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + true + true + 0 + 4288914085 + + false + + false + -0.5 + 0.5 + 0 + 0 + true + -0.5 + 0.5 + 0 + 0 + false + false + 256 + 25 + VehicleSeat + 0 + -0.5 + 0.5 + 0 + 0 + 0 + + 0 + 0 + 0 + + -1 + 0 + 0 + + 0 + 0 + -0.5 + 0.5 + 3 + 0 + 10 + 0 + 1 + + 0 + 0 + 0 + + + 4 + 1.20000005 + 2 + + + + + + + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 0 + 0 + + WorldModel + null + -1 + + + + + + + + + PartOperationAsset + -1 + + + + + + + 0 + 0 + NumberPose + -1 + + 0 + 1 + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 0 + 0 + Pose + -1 + + 1 + + + + + + true + 0.400000006 + BloomEffect + 24 + -1 + + 0.949999988 + + + + + + true + BlurEffect + 24 + -1 + + + + + + + true + 0.75 + 0.0500000007 + 10 + DepthOfFieldEffect + 0.75 + -1 + + + + + + Interact + + true + true + true + 0 + 1000 + 0 + 101 + 10 + ProximityPrompt + + true + null + -1 + 0 + + + 0 + 0 + + + + + + + + ReflectionMetadataCallbacks + -1 + + + + + + + ReflectionMetadataClasses + -1 + + + + + + + ReflectionMetadataEnums + -1 + + + + + + + ReflectionMetadataEvents + -1 + + + + + + + ReflectionMetadataFunctions + -1 + + + + + + + true + + false + + false + false + 0 + 2147483647 + true + false + ReflectionMetadataClass + + 5000 + + false + -1 + + 0 + 0 + 0 + + + + + + + true + + false + + false + false + false + ReflectionMetadataEnum + 5000 + + false + -1 + + 0 + 0 + 0 + + + + + + + true + + false + + false + false + false + ReflectionMetadataEnumItem + 5000 + + false + -1 + + 0 + 0 + 0 + + + + + + + true + + false + + false + false + false + ReflectionMetadataMember + 5000 + + false + -1 + + 0 + 0 + 0 + + + + + + + ReflectionMetadataProperties + -1 + + + + + + + ReflectionMetadataYieldFunctions + -1 + + + + + + + RemoteEvent + -1 + + + + + + + RemoteFunction + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + 10 + 0 + 50 + + 70 + RenderingTest + 21 + false + -1 + + + + + + + + true + 11 + rbxasset://sky/moon.jpg + Sky + rbxasset://textures/sky/sky512_bk.tex + rbxasset://textures/sky/sky512_dn.tex + rbxasset://textures/sky/sky512_ft.tex + rbxasset://textures/sky/sky512_lf.tex + rbxasset://textures/sky/sky512_rt.tex + rbxasset://textures/sky/sky512_up.tex + -1 + 3000 + 21 + rbxasset://sky/sun.jpg + + + + + + + + 1 + 1 + 1 + + true + Smoke + -1 + + 0.5 + 1 + 1 + + + + + + 10 + false + Sound + false + 1 + false + 0 + null + + -1 + + 0 + 0.5 + 10000 + + + + + + 0.150000006 + true + 0.5 + ChorusSoundEffect + 0 + 0.5 + -1 + + + + + + 0.100000001 + + true + 0 + CompressorSoundEffect + 0 + 40 + 0.100000001 + null + -1 + + -40 + + + + + + true + 0.75 + DistortionSoundEffect + 0 + -1 + + + + + + + 1 + 0 + true + 0.5 + EchoSoundEffect + 0 + -1 + + 0 + + + + + + true + 0 + -20 + -10 + EqualizerSoundEffect + 0 + -1 + + + + + + + 0.449999988 + true + 0.850000024 + FlangeSoundEffect + 0 + 5 + -1 + + + + + + + true + PitchShiftSoundEffect + 1.25 + 0 + -1 + + + + + + + 1.5 + 1 + 1 + -6 + true + ReverbSoundEffect + 0 + -1 + + 0 + + + + + + 1 + 0.5 + true + 5 + TremoloSoundEffect + 0 + -1 + + + + + + + SoundGroup + -1 + + 0.5 + + + + + + StandalonePluginScripts + -1 + + + + + + 0 + + + + SurfaceAppearance + + + -1 + + + + + + + + TeleportOptions + + + false + -1 + + + + + + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + TerrainRegion + AQU= + -1 + + + + + + null + null + + 0 1 1 1 0 1 1 1 1 0 + true + false + 2 + 0 + 0 + 0 + 0.100000001 + Trail + -1 + + + 1 + 0 + 0 0.5 0 1 0.5 0 + 0 1 0 1 1 0 + + + + + + Tween + -1 + + + + + + 1 + 0 + + 0 + UIAspectRatioConstraint + -1 + + + + + + + + INF + INF + + + 0 + 0 + + UISizeConstraint + -1 + + + + + + + 0 1 1 1 0 1 1 1 1 0 + true + UIGradient + + 0 + 0 + + 0 + -1 + + 0 0 0 1 0 0 + + + + + + + 0 + 5 + 0 + 5 + + + 0 + 100 + 0 + 100 + + 0 + 0 + 1 + UIGridLayout + 0 + -1 + 0 + + 1 + + + + + + 1 + 1 + UIListLayout + + 0 + 0 + + 0 + -1 + + 1 + + + + + true + + false + 1 + 2 + 0 + true + 1 + UIPageLayout + + 0 + 0 + + true + 0 + -1 + + true + 1 + 1 + + + + + + 1 + false + false + 1 + 0 + UITableLayout + + 0 + 0 + 0 + 0 + + 0 + -1 + + 1 + + + + + + UIPadding + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + + 0 + 0 + + -1 + + + + + + 0 + + + 0 + 0 + 0 + + true + 0 + UIStroke + -1 + + 1 + 0 + + + + + + BinaryStringValue + -1 + + + + + + + + BoolValue + -1 + + false + + + + + + BrickColorValue + -1 + + 194 + + + + + + CFrameValue + -1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + + + + + Color3Value + -1 + + + 0 + 0 + 0 + + + + + + + 1 + 0 + DoubleConstrainedValue + -1 + + 0 + + + + + + 10 + 0 + IntConstrainedValue + -1 + + 0 + + + + + + IntValue + -1 + + 0 + + + + + + NumberValue + -1 + + 0 + + + + + + ObjectValue + -1 + + null + + + + + + RayValue + -1 + + + + 0 + 0 + 0 + + + 0 + 0 + 0 + + + + + + + + StringValue + -1 + + + + + + + + Vector3Value + -1 + + + 0 + 0 + 0 + + + + + + + 100 + 1 + UITextSizeConstraint + -1 + + + + + + true + + 0 + 0 + + + true + 0 + + 0.639215708 + 0.635294139 + 0.647058845 + + 0 + + 0.105882362 + 0.164705887 + 0.207843155 + + 0 + 1 + true + false + false + 0 + 0 + 1 + false + TextBox + null + null + null + null + + 0.699999988 + 0.699999988 + 0.699999988 + + + + 0 + 0 + 0 + 0 + + false + null + 0 + true + null + true + + 0 + 0 + 0 + 0 + + 0 + -1 + + TextBox + + 0.105882362 + 0.164705887 + 0.207843155 + + true + false + 8 + + 0 + 0 + 0 + + 1 + 0 + 0 + false + 2 + 1 + true + 1 + + + + + + AnimationController + -1 + + + + + + + 0 + 0 + true + ColorCorrectionEffect + 0 + -1 + + + 1 + 1 + 1 + + + + + + + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 0 + 0 + + Actor + null + -1 + + + + + + + StarterGear + -1 + + + + + + + + 32 + ClickDetector + -1 + + + + + + null + null + + 23 + true + Torque + 0 + -1 + + + 0 + 0 + 0 + + false + + + + + + 2 + 2 + + 0 + SpecialMesh + + 0 + 0 + 0 + + + 1 + 1 + 1 + + -1 + + + + 1 + 1 + 1 + + + + + + + ? + false + FunctionalTest + -1 + + + + + + + 0 + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + yuZpQdnvvUBOTYh1jqZ2cA== + + 0 + 0 + 0 + + Model + null + -1 + + + + + + + 0 + 0 + 0 + + + 0 1 1 1 0 1 1 1 1 0 + 0 + 1 + true + 5 10 + 0 + 0 + false + ParticleEmitter + 0 + 20 + 0 0 + 0 0 + 0 1 0 1 1 0 + -1 + 5 5 + + 0 + 0 + + + rbxasset://textures/particles/sparkles_main.dds + 1 + 0 0 0 1 0 0 + 0 + 0 + + + + + + true + 0.25 + SunRaysEffect + -1 + 1 + + + + + + + true + Sparkles + -1 + + 0.564705908 + 0.0980392247 + 1 + + + + + + + + true + Team + -1 + + 1 + + + + + + UIScale + 1 + -1 + + + + + + + + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 1 + + true + WeldConstraint + null + null + -1 + 3 + + + + Q1NHUEhTBwAAAANxenpBq3RavVrWxL3W0ls9BipCQyiCLz9FsibAiDtQQzU4HkEiYwdDEAAA AAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAACAPxUAAAAEAAAA+dYAQK5wBr+S diff --git a/UnitTest/RobloxFileFormat.UnitTest.csproj b/UnitTest/RobloxFileFormat.UnitTest.csproj index 49947c4..22f9de0 100644 --- a/UnitTest/RobloxFileFormat.UnitTest.csproj +++ b/UnitTest/RobloxFileFormat.UnitTest.csproj @@ -1,7 +1,7 @@  - WinExe + Exe netcoreapp3.1 diff --git a/Utility/ImplicitMember.cs b/Utility/ImplicitMember.cs index 7dfa553..45f244b 100644 --- a/Utility/ImplicitMember.cs +++ b/Utility/ImplicitMember.cs @@ -8,10 +8,20 @@ namespace RobloxFiles.Utility internal class ImplicitMember { private const BindingFlags flags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase; - private readonly object member; - private ImplicitMember(FieldInfo field) { member = field; } - private ImplicitMember(PropertyInfo prop) { member = prop; } + private readonly object member; + private readonly string inputName; + + private ImplicitMember(FieldInfo field, string name) + { + member = field; + inputName = name; + } + private ImplicitMember(PropertyInfo prop, string name) + { + member = prop; + inputName = name; + } public static ImplicitMember Get(Type type, string name) { @@ -21,7 +31,7 @@ namespace RobloxFiles.Utility .FirstOrDefault(); if (field != null) - return new ImplicitMember(field); + return new ImplicitMember(field, name); var prop = type .GetProperties(flags) @@ -29,7 +39,7 @@ namespace RobloxFiles.Utility .FirstOrDefault(); if (prop != null) - return new ImplicitMember(prop); + return new ImplicitMember(prop, name); return null; } @@ -38,35 +48,54 @@ namespace RobloxFiles.Utility { get { - Type result = null; - - if (member is FieldInfo field) - result = field.FieldType; - else if (member is PropertyInfo prop) - result = prop.PropertyType; - - return result; + switch (member) + { + case PropertyInfo prop: return prop.PropertyType; + case FieldInfo field: return field.FieldType; + + default: return null; + } } } public object GetValue(object obj) { - if (member is FieldInfo field) - return field.GetValue(obj); - else if (member is PropertyInfo prop) - return prop.GetValue(obj); - - return null; + object result = null; + + switch (member) + { + case FieldInfo field: + { + result = field.GetValue(obj); + break; + } + case PropertyInfo prop: + { + result = prop.GetValue(obj); + break; + } + } + + return result; } public void SetValue(object obj, object value) { - if (member is FieldInfo field) - field.SetValue(obj, value); - else if (member is PropertyInfo prop) - prop.SetValue(obj, value); - - RobloxFile.LogError("Unknown field in ImplicitMember.SetValue"); + switch (member) + { + case FieldInfo field: + { + field.SetValue(obj, value); + return; + } + case PropertyInfo prop: + { + prop.SetValue(obj, value); + return; + } + } + + RobloxFile.LogError($"Unknown field '{inputName}' in ImplicitMember.SetValue"); } } }