roblox_standard.lua 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694
  1. local empty = {}
  2. local read_write = { read_only = false }
  3. local read_write_class = { read_only = false, other_fields = true }
  4. local read_only = { read_only = true }
  5. local function def_fields(field_list)
  6. local fields = {}
  7. for _, field in ipairs(field_list) do
  8. fields[field] = empty
  9. end
  10. return { fields = fields }
  11. end
  12. local enum = def_fields({"Value", "Name"})
  13. local function def_enum(field_list)
  14. local fields = {}
  15. for _, field in ipairs(field_list) do
  16. fields[field] = enum
  17. end
  18. fields["GetEnumItems"] = read_only
  19. return { fields = fields }
  20. end
  21. stds.roblox = {
  22. globals = {
  23. script = {
  24. other_fields = true,
  25. fields = {
  26. Source = read_write;
  27. GetHash = read_write;
  28. Disabled = read_write;
  29. LinkedSource = read_write;
  30. CurrentEditor = read_write_class;
  31. Archivable = read_write;
  32. ClassName = read_only;
  33. DataCost = read_only;
  34. Name = read_write;
  35. Parent = read_write_class;
  36. RobloxLocked = read_write;
  37. ClearAllChildren = read_write;
  38. Clone = read_write;
  39. Destroy = read_write;
  40. FindFirstAncestor = read_write;
  41. FindFirstAncestorOfClass = read_write;
  42. FindFirstAncestorWhichIsA = read_write;
  43. FindFirstChild = read_write;
  44. FindFirstChildOfClass = read_write;
  45. FindFirstChildWhichIsA = read_write;
  46. GetChildren = read_write;
  47. GetDebugId = read_write;
  48. GetDescendants = read_write;
  49. GetFullName = read_write;
  50. GetPropertyChangedSignal = read_write;
  51. IsA = read_write;
  52. IsAncestorOf = read_write;
  53. IsDescendantOf = read_write;
  54. WaitForChild = read_write;
  55. AncestryChanged = read_write;
  56. Changed = read_write;
  57. ChildAdded = read_write;
  58. ChildRemoved = read_write;
  59. DescendantAdded = read_write;
  60. DescendantRemoving = read_write;
  61. }
  62. },
  63. game = {
  64. other_fields = true,
  65. fields = {
  66. CreatorId = read_only;
  67. CreatorType = read_only;
  68. GameId = read_only;
  69. GearGenreSetting = read_only;
  70. Genre = read_only;
  71. IsSFFlagsLoaded = read_only;
  72. JobId = read_only;
  73. PlaceId = read_only;
  74. PlaceVersion = read_only;
  75. PrivateServerId = read_only;
  76. PrivateServerOwnerId = read_only;
  77. Workspace = read_only;
  78. BindToClose = read_write;
  79. GetJobIntervalPeakFraction = read_write;
  80. GetJobTimePeakFraction = read_write;
  81. GetJobsExtendedStats = read_write;
  82. GetJobsInfo = read_write;
  83. GetObjects = read_write;
  84. IsGearTypeAllowed = read_write;
  85. IsLoaded = read_write;
  86. Load = read_write;
  87. OpenScreenshotsFolder = read_write;
  88. OpenVideosFolder = read_write;
  89. ReportInGoogleAnalytics = read_write;
  90. SetPlaceId = read_write;
  91. SetUniverseId = read_write;
  92. Shutdown = read_write;
  93. HttpGetAsync = read_write;
  94. HttpPostAsync = read_write;
  95. GraphicsQualityChangeRequest = read_write;
  96. Loaded = read_write;
  97. ScreenshotReady = read_write;
  98. FindService = read_write;
  99. GetService = read_write;
  100. Close = read_write;
  101. CloseLate = read_write;
  102. ServiceAdded = read_write;
  103. ServiceRemoving = read_write;
  104. Archivable = read_write;
  105. ClassName = read_only;
  106. DataCost = read_only;
  107. Name = read_write;
  108. Parent = read_write_class;
  109. RobloxLocked = read_write;
  110. ClearAllChildren = read_write;
  111. Clone = read_write;
  112. Destroy = read_write;
  113. FindFirstAncestor = read_write;
  114. FindFirstAncestorOfClass = read_write;
  115. FindFirstAncestorWhichIsA = read_write;
  116. FindFirstChild = read_write;
  117. FindFirstChildOfClass = read_write;
  118. FindFirstChildWhichIsA = read_write;
  119. GetChildren = read_write;
  120. GetDebugId = read_write;
  121. GetDescendants = read_write;
  122. GetFullName = read_write;
  123. GetPropertyChangedSignal = read_write;
  124. IsA = read_write;
  125. IsAncestorOf = read_write;
  126. IsDescendantOf = read_write;
  127. WaitForChild = read_write;
  128. AncestryChanged = read_write;
  129. Changed = read_write;
  130. ChildAdded = read_write;
  131. ChildRemoved = read_write;
  132. DescendantAdded = read_write;
  133. DescendantRemoving = read_write;
  134. }
  135. },
  136. workspace = {
  137. other_fields = true,
  138. fields = {
  139. AllowThirdPartySales = read_write;
  140. AutoJointsMode = read_write;
  141. CurrentCamera = read_write_class;
  142. DistributedGameTime = read_write;
  143. FallenPartsDestroyHeight = read_write;
  144. FilteringEnabled = read_write;
  145. Gravity = read_write;
  146. PGSPhysicsSolverEnabled = read_write;
  147. StreamingEnabled = read_write;
  148. StreamingMinRadius = read_write;
  149. StreamingTargetRadius = read_write;
  150. TemporaryLegacyPhysicsSolverOverride = read_write;
  151. Terrain = read_only;
  152. BreakJoints = read_write;
  153. ExperimentalSolverIsEnabled = read_write;
  154. FindPartOnRay = read_write;
  155. FindPartOnRayWithIgnoreList = read_write;
  156. FindPartOnRayWithWhitelist = read_write;
  157. FindPartsInRegion3 = read_write;
  158. FindPartsInRegion3WithIgnoreList = read_write;
  159. FindPartsInRegion3WithWhiteList = read_write;
  160. GetNumAwakeParts = read_write;
  161. GetPhysicsAnalyzerBreakOnIssue = read_write;
  162. GetPhysicsAnalyzerIssue = read_write;
  163. GetPhysicsThrottling = read_write;
  164. GetRealPhysicsFPS = read_write;
  165. IsRegion3Empty = read_write;
  166. IsRegion3EmptyWithIgnoreList = read_write;
  167. JoinToOutsiders = read_write;
  168. MakeJoints = read_write;
  169. PGSIsEnabled = read_write;
  170. SetPhysicsAnalyzerBreakOnIssue = read_write;
  171. SetPhysicsThrottleEnabled = read_write;
  172. UnjoinFromOutsiders = read_write;
  173. ZoomToExtents = read_write;
  174. PhysicsAnalyzerIssuesFound = read_write;
  175. PrimaryPart = read_write_class;
  176. BreakJoints = read_write;
  177. GetBoundingBox = read_write;
  178. GetExtentsSize = read_write;
  179. GetPrimaryPartCFrame = read_write;
  180. MakeJoints = read_write;
  181. MoveTo = read_write;
  182. SetPrimaryPartCFrame = read_write;
  183. TranslateBy = read_write;
  184. Archivable = read_write;
  185. ClassName = read_only;
  186. DataCost = read_only;
  187. Name = read_write;
  188. Parent = read_write_class;
  189. RobloxLocked = read_write;
  190. ClearAllChildren = read_write;
  191. Clone = read_write;
  192. Destroy = read_write;
  193. FindFirstAncestor = read_write;
  194. FindFirstAncestorOfClass = read_write;
  195. FindFirstAncestorWhichIsA = read_write;
  196. FindFirstChild = read_write;
  197. FindFirstChildOfClass = read_write;
  198. FindFirstChildWhichIsA = read_write;
  199. GetChildren = read_write;
  200. GetDebugId = read_write;
  201. GetDescendants = read_write;
  202. GetFullName = read_write;
  203. GetPropertyChangedSignal = read_write;
  204. IsA = read_write;
  205. IsAncestorOf = read_write;
  206. IsDescendantOf = read_write;
  207. WaitForChild = read_write;
  208. AncestryChanged = read_write;
  209. Changed = read_write;
  210. ChildAdded = read_write;
  211. ChildRemoved = read_write;
  212. DescendantAdded = read_write;
  213. DescendantRemoving = read_write;
  214. }
  215. },
  216. },
  217. read_globals = {
  218. -- Methods
  219. delay = empty;
  220. settings = empty;
  221. spawn = empty;
  222. tick = empty;
  223. time = empty;
  224. typeof = empty;
  225. version = empty;
  226. wait = empty;
  227. warn = empty;
  228. -- Libraries
  229. math = def_fields({"abs", "acos", "asin", "atan", "atan2", "ceil", "clamp", "cos", "cosh",
  230. "deg", "exp", "floor", "fmod", "frexp", "ldexp", "log", "log10", "max", "min", "modf",
  231. "noise", "pow", "rad", "random", "randomseed", "sign", "sin", "sinh", "sqrt", "tan",
  232. "tanh", "huge", "pi"}),
  233. debug = def_fields({"traceback", "profilebegin", "profileend"}),
  234. utf8 = def_fields({"char", "codes", "codepoint", "len", "offset", "graphemes",
  235. "nfcnormalize", "nfdnormalize", "charpattern"}),
  236. -- Types
  237. Axes = def_fields({"new"}),
  238. BrickColor = def_fields({"new", "palette", "random", "White", "Gray", "DarkGray", "Black",
  239. "Red", "Yellow", "Green", "Blue"}),
  240. CFrame = def_fields({"new", "fromEulerAnglesXYZ", "Angles", "fromOrientation",
  241. "fromAxisAngle", "fromMatrix"}),
  242. Color3 = def_fields({"new", "fromRGB", "fromHSV"}),
  243. ColorSequence = def_fields({"new"}),
  244. ColorSequenceKeypoint = def_fields({"new"}),
  245. DockWidgetPluginGuiInfo = def_fields({"new"}),
  246. Enums = def_fields({"GetEnums"}),
  247. Faces = def_fields({"new"}),
  248. Instance = def_fields({"new"}),
  249. NumberRange = def_fields({"new"}),
  250. NumberSequence = def_fields({"new"}),
  251. NumberSequenceKeypoint = def_fields({"new"}),
  252. PhysicalProperties = def_fields({"new"}),
  253. Random = def_fields({"new"}),
  254. Ray = def_fields({"new"}),
  255. Rect = def_fields({"new"}),
  256. Region3 = def_fields({"new"}),
  257. Region3int16 = def_fields({"new"}),
  258. TweenInfo = def_fields({"new"}),
  259. UDim = def_fields({"new"}),
  260. UDim2 = def_fields({"new"}),
  261. Vector2 = def_fields({"new"}),
  262. Vector2int16 = def_fields({"new"}),
  263. Vector3 = def_fields({"new", "FromNormalId", "FromAxis"}),
  264. Vector3int16 = def_fields({"new"}),
  265. -- Enums
  266. Enum = {
  267. readonly = true,
  268. fields = {
  269. ActionType = def_enum({"Nothing", "Pause", "Lose", "Draw", "Win"}),
  270. ActuatorRelativeTo = def_enum({"Attachment0", "Attachment1", "World"}),
  271. ActuatorType = def_enum({"None", "Motor", "Servo"}),
  272. AnimationPriority = def_enum({"Idle", "Movement", "Action", "Core"}),
  273. AppShellActionType = def_enum({"None", "OpenApp", "TapChatTab",
  274. "TapConversationEntry", "TapAvatarTab", "ReadConversation", "TapGamePageTab",
  275. "TapHomePageTab", "GamePageLoaded", "HomePageLoaded", "AvatarEditorPageLoaded"}),
  276. AspectType = def_enum({"FitWithinMaxSize", "ScaleWithParentSize"}),
  277. AssetType = def_enum({"Image", "TeeShirt", "Audio", "Mesh", "Lua", "Hat", "Place",
  278. "Model", "Shirt", "Pants", "Decal", "Head", "Face", "Gear", "Badge",
  279. "Animation", "Torso", "RightArm", "LeftArm", "LeftLeg", "RightLeg", "Package",
  280. "GamePass", "Plugin", "MeshPart", "HairAccessory", "FaceAccessory",
  281. "NeckAccessory", "ShoulderAccessory", "FrontAccessory", "BackAccessory",
  282. "WaistAccessory", "ClimbAnimation", "DeathAnimation", "FallAnimation",
  283. "IdleAnimation", "JumpAnimation", "RunAnimation", "SwimAnimation",
  284. "WalkAnimation", "PoseAnimation", "EarAccessory", "EyeAccessory"}),
  285. AutoJointsMode = def_enum({"Default", "Explicit", "LegacyImplicit"}),
  286. AvatarContextMenuOption = def_enum({"Friend", "Chat", "Emote"}),
  287. AvatarJointPositionType = def_enum({"Fixed", "ArtistIntent"}),
  288. Axis = def_enum({"X", "Y", "Z"}),
  289. BinType = def_enum({"Script", "GameTool", "Grab", "Clone", "Hammer"}),
  290. BodyPart = def_enum({"Head", "Torso", "LeftArm", "RightArm", "LeftLeg", "RightLeg"}),
  291. BodyPartR15 = def_enum({"Head", "UpperTorso", "LowerTorso", "LeftFoot",
  292. "LeftLowerLeg", "LeftUpperLeg", "RightFoot", "RightLowerLeg", "RightUpperLeg",
  293. "LeftHand", "LeftLowerArm", "LeftUpperArm", "RightHand", "RightLowerArm",
  294. "RightUpperArm", "RootPart", "Unknown"}),
  295. Button = def_enum({"Jump", "Dismount"}),
  296. ButtonStyle = def_enum({"Custom", "RobloxButtonDefault", "RobloxButton",
  297. "RobloxRoundButton", "RobloxRoundDefaultButton", "RobloxRoundDropdownButton"}),
  298. CameraMode = def_enum({"Classic", "LockFirstPerson"}),
  299. CameraPanMode = def_enum({"Classic", "EdgeBump"}),
  300. CameraType = def_enum({"Fixed", "Watch", "Attach", "Track", "Follow", "Custom",
  301. "Scriptable", "Orbital"}),
  302. CellBlock = def_enum({"Solid", "VerticalWedge", "CornerWedge",
  303. "InverseCornerWedge", "HorizontalWedge"}),
  304. CellMaterial = def_enum({"Empty", "Grass", "Sand", "Brick", "Granite", "Asphalt",
  305. "Iron", "Aluminum", "Gold", "WoodPlank", "WoodLog", "Gravel", "CinderBlock",
  306. "MossyStone", "Cement", "RedPlastic", "BluePlastic", "Water"}),
  307. CellOrientation = def_enum({"NegZ", "X", "Z", "NegX"}),
  308. CenterDialogType = def_enum({"UnsolicitedDialog", "PlayerInitiatedDialog",
  309. "ModalDialog", "QuitDialog"}),
  310. ChatCallbackType = def_enum({"OnCreatingChatWindow", "OnClientSendingMessage",
  311. "OnClientFormattingMessage", "OnServerReceivingMessage"}),
  312. ChatColor = def_enum({"Blue", "Green", "Red", "White"}),
  313. ChatMode = def_enum({"Menu", "TextAndMenu"}),
  314. ChatPrivacyMode = def_enum({"AllUsers", "NoOne", "Friends"}),
  315. ChatStyle = def_enum({"Classic", "Bubble", "ClassicAndBubble"}),
  316. CollisionFidelity = def_enum({"Default", "Hull", "Box"}),
  317. ComputerCameraMovementMode = def_enum({"Default", "Follow", "Classic", "Orbital"}),
  318. ComputerMovementMode = def_enum({"Default", "KeyboardMouse", "ClickToMove"}),
  319. ConnectionError = def_enum({"OK", "DisconnectErrors", "DisconnectBadhash",
  320. "DisconnectSecurityKeyMismatch", "DisconnectNewSecurityKeyMismatch",
  321. "DisconnectProtocolMismatch", "DisconnectReceivePacketError",
  322. "DisconnectReceivePacketStreamError", "DisconnectSendPacketError",
  323. "DisconnectIllegalTeleport", "DisconnectDuplicatePlayer",
  324. "DisconnectDuplicateTicket", "DisconnectTimeout", "DisconnectLuaKick",
  325. "DisconnectOnRemoteSysStats", "DisconnectHashTimeout",
  326. "DisconnectCloudEditKick", "DisconnectPlayerless", "DisconnectEvicted",
  327. "DisconnectDevMaintenance", "DisconnectRobloxMaintenance", "DisconnectRejoin",
  328. "DisconnectConnectionLost", "DisconnectIdle", "DisconnectRaknetErrors",
  329. "DisconnectWrongVersion", "PlacelaunchErrors", "PlacelaunchDisabled",
  330. "PlacelaunchError", "PlacelaunchGameEnded", "PlacelaunchGameFull",
  331. "PlacelaunchUserLeft", "PlacelaunchRestricted", "PlacelaunchUnauthorized",
  332. "PlacelaunchFlooded", "PlacelaunchHashExpired", "PlacelaunchHashException",
  333. "PlacelaunchPartyCannotFit", "PlacelaunchHttpError",
  334. "PlacelaunchCustomMessage", "PlacelaunchOtherError", "TeleportErrors",
  335. "TeleportFailure", "TeleportGameNotFound", "TeleportGameEnded",
  336. "TeleportGameFull", "TeleportUnauthorized", "TeleportFlooded",
  337. "TeleportIsTeleporting"}),
  338. ConnectionState = def_enum({"Connected", "Disconnected"}),
  339. ContextActionPriority = def_enum({"Low", "Medium", "Default", "High"}),
  340. ContextActionResult = def_enum({"Pass", "Sink"}),
  341. ControlMode = def_enum({"MouseLockSwitch", "Classic"}),
  342. CoreGuiType = def_enum({"PlayerList", "Health", "Backpack", "Chat", "All"}),
  343. CreatorType = def_enum({"User", "Group"}),
  344. CurrencyType = def_enum({"Default", "Robux", "Tix"}),
  345. CustomCameraMode = def_enum({"Default", "Follow", "Classic"}),
  346. DEPRECATED_DebuggerDataModelPreference = def_enum({"Server", "Client"}),
  347. DataStoreRequestType = def_enum({"GetAsync", "SetIncrementAsync", "UpdateAsync",
  348. "GetSortedAsync", "SetIncrementSortedAsync", "OnUpdate"}),
  349. DevCameraOcclusionMode = def_enum({"Zoom", "Invisicam"}),
  350. DevComputerCameraMovementMode = def_enum({"UserChoice", "Classic", "Follow",
  351. "Orbital"}),
  352. DevComputerMovementMode = def_enum({"UserChoice", "KeyboardMouse", "ClickToMove",
  353. "Scriptable"}),
  354. DevTouchCameraMovementMode = def_enum({"UserChoice", "Classic", "Follow",
  355. "Orbital"}),
  356. DevTouchMovementMode = def_enum({"UserChoice", "Thumbstick", "DPad", "Thumbpad",
  357. "ClickToMove", "Scriptable", "DynamicThumbstick"}),
  358. DeveloperMemoryTag = def_enum({"Internal", "HttpCache", "Instances", "Signals",
  359. "LuaHeap", "Script", "PhysicsCollision", "PhysicsParts", "GraphicsSolidModels",
  360. "GraphicsMeshParts", "GraphicsParticles", "GraphicsParts",
  361. "GraphicsSpatialHash", "GraphicsTerrain", "GraphicsTexture",
  362. "GraphicsTextureCharacter", "Sounds", "StreamingSounds", "TerrainVoxels",
  363. "Gui", "Animation", "Navigation"}),
  364. DialogBehaviorType = def_enum({"SinglePlayer", "MultiplePlayers"}),
  365. DialogPurpose = def_enum({"Quest", "Help", "Shop"}),
  366. DialogTone = def_enum({"Neutral", "Friendly", "Enemy"}),
  367. DominantAxis = def_enum({"Width", "Height"}),
  368. EasingDirection = def_enum({"In", "Out", "InOut"}),
  369. EasingStyle = def_enum({"Linear", "Sine", "Back", "Quad", "Quart", "Quint",
  370. "Bounce", "Elastic"}),
  371. ElasticBehavior = def_enum({"WhenScrollable", "Always", "Never"}),
  372. EnviromentalPhysicsThrottle = def_enum({"DefaultAuto", "Disabled", "Always",
  373. "Skip2", "Skip4", "Skip8", "Skip16"}),
  374. ErrorReporting = def_enum({"DontReport", "Prompt", "Report"}),
  375. ExplosionType = def_enum({"NoCraters", "Craters", "CratersAndDebris"}),
  376. FillDirection = def_enum({"Horizontal", "Vertical"}),
  377. FilterResult = def_enum({"Rejected", "Accepted"}),
  378. Font = def_enum({"Legacy", "Arial", "ArialBold", "SourceSans", "SourceSansBold",
  379. "SourceSansSemibold", "SourceSansLight", "SourceSansItalic", "Bodoni",
  380. "Garamond", "Cartoon", "Code", "Highway", "SciFi", "Arcade", "Fantasy",
  381. "Antique", "Gotham", "GothamSemibold", "GothamBold", "GothamBlack"}),
  382. FontSize = def_enum({"Size8", "Size9", "Size10", "Size11", "Size12", "Size14",
  383. "Size18", "Size24", "Size36", "Size48", "Size28", "Size32", "Size42", "Size60",
  384. "Size96"}),
  385. FormFactor = def_enum({"Symmetric", "Brick", "Plate", "Custom"}),
  386. FrameStyle = def_enum({"Custom", "ChatBlue", "RobloxSquare", "RobloxRound",
  387. "ChatGreen", "ChatRed", "DropShadow"}),
  388. FramerateManagerMode = def_enum({"Automatic", "On", "Off"}),
  389. FriendRequestEvent = def_enum({"Issue", "Revoke", "Accept", "Deny"}),
  390. FriendStatus = def_enum({"Unknown", "NotFriend", "Friend", "FriendRequestSent",
  391. "FriendRequestReceived"}),
  392. FunctionalTestResult = def_enum({"Passed", "Warning", "Error"}),
  393. GameAvatarType = def_enum({"R6", "R15", "PlayerChoice"}),
  394. GearGenreSetting = def_enum({"AllGenres", "MatchingGenreOnly"}),
  395. GearType = def_enum({"MeleeWeapons", "RangedWeapons", "Explosives", "PowerUps",
  396. "NavigationEnhancers", "MusicalInstruments", "SocialItems", "BuildingTools",
  397. "Transport"}),
  398. Genre = def_enum({"All", "TownAndCity", "Fantasy", "SciFi", "Ninja", "Scary",
  399. "Pirate", "Adventure", "Sports", "Funny", "WildWest", "War", "SkatePark",
  400. "Tutorial"}),
  401. GraphicsMode = def_enum({"Automatic", "Direct3D9", "Direct3D11", "OpenGL", "Metal",
  402. "Vulkan", "NoGraphics"}),
  403. HandlesStyle = def_enum({"Resize", "Movement"}),
  404. HorizontalAlignment = def_enum({"Center", "Left", "Right"}),
  405. HoverAnimateSpeed = def_enum({"VerySlow", "Slow", "Medium", "Fast", "VeryFast"}),
  406. HttpCachePolicy = def_enum({"None", "Full", "DataOnly", "Default",
  407. "InternalRedirectRefresh"}),
  408. HttpContentType = def_enum({"ApplicationJson", "ApplicationXml",
  409. "ApplicationUrlEncoded", "TextPlain", "TextXml"}),
  410. HttpError = def_enum({"OK", "InvalidUrl", "DnsResolve", "ConnectFail",
  411. "OutOfMemory", "TimedOut", "TooManyRedirects", "InvalidRedirect", "NetFail",
  412. "Aborted", "SslConnectFail", "Unknown"}),
  413. HttpRequestType = def_enum({"Default", "MarketplaceService", "Players", "Chat",
  414. "Avatar", "Analytics"}),
  415. HumanoidDisplayDistanceType = def_enum({"Viewer", "Subject", "None"}),
  416. HumanoidHealthDisplayType = def_enum({"DisplayWhenDamaged", "AlwaysOn",
  417. "AlwaysOff"}),
  418. HumanoidRigType = def_enum({"R6", "R15"}),
  419. HumanoidStateType = def_enum({"FallingDown", "Running", "RunningNoPhysics",
  420. "Climbing", "StrafingNoPhysics", "Ragdoll", "GettingUp", "Jumping", "Landed",
  421. "Flying", "Freefall", "Seated", "PlatformStanding", "Dead", "Swimming",
  422. "Physics", "None"}),
  423. InOut = def_enum({"Edge", "Inset", "Center"}),
  424. InfoType = def_enum({"Asset", "Product", "GamePass"}),
  425. InitialDockState = def_enum({"Top", "Bottom", "Left", "Right", "Float"}),
  426. InputType = def_enum({"NoInput", "Constant", "Sin"}),
  427. JointCreationMode = def_enum({"All", "Surface", "None"}),
  428. JointType = def_enum({"None", "Rotate", "RotateP", "RotateV", "Glue", "Weld",
  429. "Snap"}),
  430. KeyCode = def_enum({"Unknown", "Backspace", "Tab", "Clear", "Return", "Pause",
  431. "Escape", "Space", "QuotedDouble", "Hash", "Dollar", "Percent", "Ampersand",
  432. "Quote", "LeftParenthesis", "RightParenthesis", "Asterisk", "Plus", "Comma",
  433. "Minus", "Period", "Slash", "Zero", "One", "Two", "Three", "Four", "Five",
  434. "Six", "Seven", "Eight", "Nine", "Colon", "Semicolon", "LessThan", "Equals",
  435. "GreaterThan", "Question", "At", "LeftBracket", "BackSlash", "RightBracket",
  436. "Caret", "Underscore", "Backquote", "A", "B", "C", "D", "E", "F", "G", "H",
  437. "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X",
  438. "Y", "Z", "LeftCurly", "Pipe", "RightCurly", "Tilde", "Delete", "KeypadZero",
  439. "KeypadOne", "KeypadTwo", "KeypadThree", "KeypadFour", "KeypadFive",
  440. "KeypadSix", "KeypadSeven", "KeypadEight", "KeypadNine", "KeypadPeriod",
  441. "KeypadDivide", "KeypadMultiply", "KeypadMinus", "KeypadPlus", "KeypadEnter",
  442. "KeypadEquals", "Up", "Down", "Right", "Left", "Insert", "Home", "End",
  443. "PageUp", "PageDown", "LeftShift", "RightShift", "LeftMeta", "RightMeta",
  444. "LeftAlt", "RightAlt", "LeftControl", "RightControl", "CapsLock", "NumLock",
  445. "ScrollLock", "LeftSuper", "RightSuper", "Mode", "Compose", "Help", "Print",
  446. "SysReq", "Break", "Menu", "Power", "Euro", "Undo", "F1", "F2", "F3", "F4",
  447. "F5", "F6", "F7", "F8", "F9", "F10", "F11", "F12", "F13", "F14", "F15",
  448. "World0", "World1", "World2", "World3", "World4", "World5", "World6", "World7",
  449. "World8", "World9", "World10", "World11", "World12", "World13", "World14",
  450. "World15", "World16", "World17", "World18", "World19", "World20", "World21",
  451. "World22", "World23", "World24", "World25", "World26", "World27", "World28",
  452. "World29", "World30", "World31", "World32", "World33", "World34", "World35",
  453. "World36", "World37", "World38", "World39", "World40", "World41", "World42",
  454. "World43", "World44", "World45", "World46", "World47", "World48", "World49",
  455. "World50", "World51", "World52", "World53", "World54", "World55", "World56",
  456. "World57", "World58", "World59", "World60", "World61", "World62", "World63",
  457. "World64", "World65", "World66", "World67", "World68", "World69", "World70",
  458. "World71", "World72", "World73", "World74", "World75", "World76", "World77",
  459. "World78", "World79", "World80", "World81", "World82", "World83", "World84",
  460. "World85", "World86", "World87", "World88", "World89", "World90", "World91",
  461. "World92", "World93", "World94", "World95", "ButtonX", "ButtonY", "ButtonA",
  462. "ButtonB", "ButtonR1", "ButtonL1", "ButtonR2", "ButtonL2", "ButtonR3",
  463. "ButtonL3", "ButtonStart", "ButtonSelect", "DPadLeft", "DPadRight", "DPadUp",
  464. "DPadDown", "Thumbstick1", "Thumbstick2"}),
  465. KeywordFilterType = def_enum({"Include", "Exclude"}),
  466. Language = def_enum({"Default"}),
  467. LeftRight = def_enum({"Left", "Center", "Right"}),
  468. LevelOfDetailSetting = def_enum({"High", "Medium", "Low"}),
  469. Limb = def_enum({"Head", "Torso", "LeftArm", "RightArm", "LeftLeg", "RightLeg",
  470. "Unknown"}),
  471. ListDisplayMode = def_enum({"Horizontal", "Vertical"}),
  472. ListenerType = def_enum({"Camera", "CFrame", "ObjectPosition", "ObjectCFrame"}),
  473. Material = def_enum({"Plastic", "Wood", "Slate", "Concrete", "CorrodedMetal",
  474. "DiamondPlate", "Foil", "Grass", "Ice", "Marble", "Granite", "Brick", "Pebble",
  475. "Sand", "Fabric", "SmoothPlastic", "Metal", "WoodPlanks", "Cobblestone", "Air",
  476. "Water", "Rock", "Glacier", "Snow", "Sandstone", "Mud", "Basalt", "Ground",
  477. "CrackedLava", "Neon", "Glass", "Asphalt", "LeafyGrass", "Salt", "Limestone",
  478. "Pavement"}),
  479. MembershipType = def_enum({"None", "BuildersClub", "TurboBuildersClub",
  480. "OutrageousBuildersClub"}),
  481. MeshType = def_enum({"Head", "Torso", "Wedge", "Prism", "Pyramid", "ParallelRamp",
  482. "RightAngleRamp", "CornerWedge", "Brick", "Sphere", "Cylinder", "FileMesh"}),
  483. MessageType = def_enum({"MessageOutput", "MessageInfo", "MessageWarning",
  484. "MessageError"}),
  485. MouseBehavior = def_enum({"Default", "LockCenter", "LockCurrentPosition"}),
  486. MoveState = def_enum({"Stopped", "Coasting", "Pushing", "Stopping", "AirFree"}),
  487. NameOcclusion = def_enum({"OccludeAll", "EnemyOcclusion", "NoOcclusion"}),
  488. NetworkOwnership = def_enum({"Automatic", "Manual", "OnContact"}),
  489. NormalId = def_enum({"Top", "Bottom", "Back", "Front", "Right", "Left"}),
  490. OutputLayoutMode = def_enum({"Horizontal", "Vertical"}),
  491. OverrideMouseIconBehavior = def_enum({"None", "ForceShow", "ForceHide"}),
  492. PacketPriority = def_enum({"IMMEDIATE_PRIORITY", "HIGH_PRIORITY",
  493. "MEDIUM_PRIORITY", "LOW_PRIORITY"}),
  494. PartType = def_enum({"Ball", "Block", "Cylinder"}),
  495. PathStatus = def_enum({"Success", "ClosestNoPath", "ClosestOutOfRange",
  496. "FailStartNotEmpty", "FailFinishNotEmpty", "NoPath"}),
  497. PathWaypointAction = def_enum({"Walk", "Jump"}),
  498. PermissionLevelShown = def_enum({"Game", "RobloxGame", "RobloxScript", "Studio",
  499. "Roblox"}),
  500. Platform = def_enum({"Windows", "OSX", "IOS", "Android", "XBoxOne", "PS4", "PS3",
  501. "XBox360", "WiiU", "NX", "Ouya", "AndroidTV", "Chromecast", "Linux", "SteamOS",
  502. "WebOS", "DOS", "BeOS", "UWP", "None"}),
  503. PlaybackState = def_enum({"Begin", "Delayed", "Playing", "Paused", "Completed",
  504. "Cancelled"}),
  505. PlayerActions = def_enum({"CharacterForward", "CharacterBackward", "CharacterLeft",
  506. "CharacterRight", "CharacterJump"}),
  507. PlayerChatType = def_enum({"All", "Team", "Whisper"}),
  508. PoseEasingDirection = def_enum({"Out", "InOut", "In"}),
  509. PoseEasingStyle = def_enum({"Linear", "Constant", "Elastic", "Cubic", "Bounce"}),
  510. PrivilegeType = def_enum({"Owner", "Admin", "Member", "Visitor", "Banned"}),
  511. ProductPurchaseDecision = def_enum({"NotProcessedYet", "PurchaseGranted"}),
  512. QualityLevel = def_enum({"Automatic", "Level01", "Level02", "Level03", "Level04",
  513. "Level05", "Level06", "Level07", "Level08", "Level09", "Level10", "Level11",
  514. "Level12", "Level13", "Level14", "Level15", "Level16", "Level17", "Level18",
  515. "Level19", "Level20", "Level21"}),
  516. R15CollisionType = def_enum({"OuterBox", "InnerBox"}),
  517. RenderFidelity = def_enum({"Automatic", "Precise"}),
  518. RenderPriority = def_enum({"First", "Input", "Camera", "Character", "Last"}),
  519. RenderingTestComparisonMethod = def_enum({"psnr", "diff"}),
  520. ReverbType = def_enum({"NoReverb", "GenericReverb", "PaddedCell", "Room",
  521. "Bathroom", "LivingRoom", "StoneRoom", "Auditorium", "ConcertHall", "Cave",
  522. "Arena", "Hangar", "CarpettedHallway", "Hallway", "StoneCorridor", "Alley",
  523. "Forest", "City", "Mountains", "Quarry", "Plain", "ParkingLot", "SewerPipe",
  524. "UnderWater"}),
  525. RibbonTool = def_enum({"Select", "Scale", "Rotate", "Move", "Transform",
  526. "ColorPicker", "MaterialPicker", "Group", "Ungroup", "None"}),
  527. RollOffMode = def_enum({"Inverse", "Linear", "InverseTapered", "LinearSquare"}),
  528. RotationType = def_enum({"MovementRelative", "CameraRelative"}),
  529. RuntimeUndoBehavior = def_enum({"Aggregate", "Snapshot", "Hybrid"}),
  530. SaveFilter = def_enum({"SaveAll", "SaveWorld", "SaveGame"}),
  531. SavedQualitySetting = def_enum({"Automatic", "QualityLevel1", "QualityLevel2",
  532. "QualityLevel3", "QualityLevel4", "QualityLevel5", "QualityLevel6",
  533. "QualityLevel7", "QualityLevel8", "QualityLevel9", "QualityLevel10"}),
  534. ScaleType = def_enum({"Stretch", "Slice", "Tile", "Fit", "Crop"}),
  535. ScreenOrientation = def_enum({"LandscapeLeft", "LandscapeRight", "LandscapeSensor",
  536. "Portrait", "Sensor"}),
  537. ScrollBarInset = def_enum({"None", "ScrollBar", "Always"}),
  538. ScrollingDirection = def_enum({"X", "Y", "XY"}),
  539. ServerAudioBehavior = def_enum({"Enabled", "Muted", "OnlineGame"}),
  540. SizeConstraint = def_enum({"RelativeXY", "RelativeXX", "RelativeYY"}),
  541. SortOrder = def_enum({"LayoutOrder", "Name", "Custom"}),
  542. SoundType = def_enum({"NoSound", "Boing", "Bomb", "Break", "Click", "Clock",
  543. "Slingshot", "Page", "Ping", "Snap", "Splat", "Step", "StepOn", "Swoosh",
  544. "Victory"}),
  545. SpecialKey = def_enum({"Insert", "Home", "End", "PageUp", "PageDown", "ChatHotkey"}),
  546. StartCorner = def_enum({"TopLeft", "TopRight", "BottomLeft", "BottomRight"}),
  547. Status = def_enum({"Poison", "Confusion"}),
  548. StudioStyleGuideColor = def_enum({"MainBackground", "Titlebar", "Dropdown",
  549. "Tooltip", "Notification", "ScrollBar", "ScrollBarBackground", "TabBar", "Tab",
  550. "RibbonTab", "RibbonTabTopBar", "Button", "MainButton", "RibbonButton",
  551. "ViewPortBackground", "InputFieldBackground", "Item", "TableItem",
  552. "CategoryItem", "GameSettingsTableItem", "GameSettingsTooltip", "EmulatorBar",
  553. "EmulatorDropDown", "ColorPickerFrame", "CurrentMarker", "Border", "Shadow",
  554. "Light", "Dark", "Mid", "MainText", "SubText", "TitlebarText", "BrightText",
  555. "DimmedText", "LinkText", "WarningText", "ErrorText", "InfoText",
  556. "SensitiveText", "ScriptSideWidget", "ScriptBackground", "ScriptText",
  557. "ScriptSelectionText", "ScriptSelectionBackground",
  558. "ScriptFindSelectionBackground", "ScriptMatchingWordSelectionBackground",
  559. "ScriptOperator", "ScriptNumber", "ScriptString", "ScriptComment",
  560. "ScriptPreprocessor", "ScriptKeyword", "ScriptBuiltInFunction",
  561. "ScriptWarning", "ScriptError", "DebuggerCurrentLine", "DebuggerErrorLine",
  562. "DiffFilePathText", "DiffTextHunkInfo", "DiffTextNoChange", "DiffTextAddition",
  563. "DiffTextDeletion", "DiffTextSeparatorBackground",
  564. "DiffTextNoChangeBackground", "DiffTextAdditionBackground",
  565. "DiffTextDeletionBackground", "DiffLineNum", "DiffLineNumSeparatorBackground",
  566. "DiffLineNumNoChangeBackground", "DiffLineNumAdditionBackground",
  567. "DiffLineNumDeletionBackground", "DiffFilePathBackground",
  568. "DiffFilePathBorder", "Separator", "ButtonBorder", "ButtonText",
  569. "InputFieldBorder", "CheckedFieldBackground", "CheckedFieldBorder",
  570. "CheckedFieldIndicator", "HeaderSection", "Midlight", "StatusBar"}),
  571. StudioStyleGuideModifier = def_enum({"Default", "Selected", "Pressed", "Disabled",
  572. "Hover"}),
  573. Style = def_enum({"AlternatingSupports", "BridgeStyleSupports", "NoSupports"}),
  574. SurfaceConstraint = def_enum({"None", "Hinge", "SteppingMotor", "Motor"}),
  575. SurfaceType = def_enum({"Smooth", "Glue", "Weld", "Studs", "Inlet", "Universal",
  576. "Hinge", "Motor", "SteppingMotor", "SmoothNoOutlines"}),
  577. SwipeDirection = def_enum({"Right", "Left", "Up", "Down", "None"}),
  578. TableMajorAxis = def_enum({"RowMajor", "ColumnMajor"}),
  579. Technology = def_enum({"Legacy", "Voxel"}),
  580. TeleportResult = def_enum({"Success", "Failure", "GameNotFound", "GameEnded",
  581. "GameFull", "Unauthorized", "Flooded", "IsTeleporting"}),
  582. TeleportState = def_enum({"RequestedFromServer", "Started", "WaitingForServer",
  583. "Failed", "InProgress"}),
  584. TeleportType = def_enum({"ToPlace", "ToInstance", "ToReservedServer"}),
  585. TextFilterContext = def_enum({"PublicChat", "PrivateChat"}),
  586. TextTruncate = def_enum({"None", "AtEnd"}),
  587. TextXAlignment = def_enum({"Left", "Center", "Right"}),
  588. TextYAlignment = def_enum({"Top", "Center", "Bottom"}),
  589. TextureMode = def_enum({"Stretch", "Wrap", "Static"}),
  590. TextureQueryType = def_enum({"NonHumanoid", "NonHumanoidOrphaned", "Humanoid",
  591. "HumanoidOrphaned"}),
  592. ThreadPoolConfig = def_enum({"Auto", "PerCore1", "PerCore2", "PerCore3",
  593. "PerCore4", "Threads1", "Threads2", "Threads3", "Threads4", "Threads8",
  594. "Threads16"}),
  595. ThrottlingPriority = def_enum({"Extreme", "ElevatedOnServer", "Default"}),
  596. ThumbnailSize = def_enum({"Size48x48", "Size180x180", "Size420x420", "Size60x60",
  597. "Size100x100", "Size150x150", "Size352x352"}),
  598. ThumbnailType = def_enum({"HeadShot", "AvatarBust", "AvatarThumbnail"}),
  599. TickCountSampleMethod = def_enum({"Fast", "Benchmark", "Precise"}),
  600. TopBottom = def_enum({"Top", "Center", "Bottom"}),
  601. TouchCameraMovementMode = def_enum({"Default", "Follow", "Classic", "Orbital"}),
  602. TouchMovementMode = def_enum({"Default", "Thumbstick", "DPad", "Thumbpad",
  603. "ClickToMove", "DynamicThumbstick"}),
  604. TweenStatus = def_enum({"Canceled", "Completed"}),
  605. UITheme = def_enum({"Light", "Dark"}),
  606. UiMessageType = def_enum({"UiMessageError", "UiMessageInfo"}),
  607. UploadSetting = def_enum({"Never", "Ask", "Always"}),
  608. UserCFrame = def_enum({"Head", "LeftHand", "RightHand"}),
  609. UserInputState = def_enum({"Begin", "Change", "End", "Cancel", "None"}),
  610. UserInputType = def_enum({"MouseButton1", "MouseButton2", "MouseButton3",
  611. "MouseWheel", "MouseMovement", "Touch", "Keyboard", "Focus", "Accelerometer",
  612. "Gyro", "Gamepad1", "Gamepad2", "Gamepad3", "Gamepad4", "Gamepad5", "Gamepad6",
  613. "Gamepad7", "Gamepad8", "TextInput", "None"}),
  614. VRTouchpad = def_enum({"Left", "Right"}),
  615. VRTouchpadMode = def_enum({"Touch", "VirtualThumbstick", "ABXY"}),
  616. VerticalAlignment = def_enum({"Center", "Top", "Bottom"}),
  617. VerticalScrollBarPosition = def_enum({"Left", "Right"}),
  618. VibrationMotor = def_enum({"Large", "Small", "LeftTrigger", "RightTrigger",
  619. "LeftHand", "RightHand"}),
  620. VideoQualitySettings = def_enum({"LowResolution", "MediumResolution",
  621. "HighResolution"}),
  622. VirtualInputMode = def_enum({"Recording", "Playing", "None"}),
  623. WaterDirection = def_enum({"NegX", "X", "NegY", "Y", "NegZ", "Z"}),
  624. WaterForce = def_enum({"None", "Small", "Medium", "Strong", "Max"}),
  625. ZIndexBehavior = def_enum({"Global", "Sibling"}),
  626. }
  627. }
  628. },
  629. }
  630. stds.testez = {
  631. read_globals = {
  632. "describe",
  633. "it", "itFOCUS", "itSKIP",
  634. "FOCUS", "SKIP", "HACK_NO_XPCALL",
  635. "expect",
  636. }
  637. }
  638. stds.plugin = {
  639. read_globals = {
  640. "plugin",
  641. }
  642. }
  643. ignore = {
  644. "212", -- unused arguments
  645. }
  646. std = "lua51+roblox"
  647. files["**/*.spec.lua"] = {
  648. std = "+testez",
  649. }