2022-05-06 20:19:57 +00:00
|
|
|
--!strict
|
2021-03-09 22:56:27 +00:00
|
|
|
local HttpService = game:GetService("HttpService")
|
|
|
|
|
2022-12-16 20:22:34 +00:00
|
|
|
export type GetSet = string | {
|
|
|
|
Get: string,
|
|
|
|
Set: string,
|
|
|
|
Flags: string?,
|
2022-06-28 20:21:05 +00:00
|
|
|
}
|
|
|
|
|
2022-12-16 20:22:34 +00:00
|
|
|
export type Patch = {
|
|
|
|
Redirect: { [string]: GetSet }?,
|
|
|
|
Defaults: { [string]: any }?,
|
2022-06-28 20:21:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
-- strict type reaffirmation?
|
|
|
|
-- this is some bug with Luau.
|
|
|
|
|
|
|
|
local function GetSet(getSet: GetSet): GetSet
|
|
|
|
return getSet
|
|
|
|
end
|
|
|
|
|
|
|
|
local function UseColor3(propName: string): GetSet
|
2022-12-16 20:22:34 +00:00
|
|
|
return {
|
|
|
|
Get = string.format("BrickColor.FromColor3(%s)", propName),
|
|
|
|
Set = propName .. " = value?.Color",
|
2019-06-30 22:01:19 +00:00
|
|
|
}
|
|
|
|
end
|
|
|
|
|
2022-05-06 20:19:57 +00:00
|
|
|
local function TryGetEnumItem(enumName, itemName): EnumItem?
|
2022-12-16 20:22:34 +00:00
|
|
|
local gotEnum, enum = pcall(function()
|
2022-05-06 20:19:57 +00:00
|
|
|
return (Enum :: any)[enumName] :: Enum
|
2021-02-18 19:15:08 +00:00
|
|
|
end)
|
2022-12-16 20:22:34 +00:00
|
|
|
|
2021-02-18 19:15:08 +00:00
|
|
|
if gotEnum then
|
2022-12-16 20:22:34 +00:00
|
|
|
local gotEnumItem, item = pcall(function()
|
2022-05-06 20:19:57 +00:00
|
|
|
return (enum :: any)[itemName] :: EnumItem
|
2021-02-18 19:15:08 +00:00
|
|
|
end)
|
|
|
|
|
|
|
|
if gotEnumItem then
|
|
|
|
return item
|
|
|
|
end
|
|
|
|
end
|
2022-05-06 20:19:57 +00:00
|
|
|
|
|
|
|
return nil
|
2021-02-18 19:15:08 +00:00
|
|
|
end
|
|
|
|
|
2022-12-16 20:22:34 +00:00
|
|
|
local GuiTextMixIn: Patch = {
|
|
|
|
Redirect = {
|
|
|
|
Font = GetSet({
|
|
|
|
Get = "FontUtility.GetLegacyFont(FontFace)",
|
|
|
|
Set = "FontUtility.TryGetFontFace(value, out FontFace)",
|
|
|
|
}),
|
|
|
|
|
|
|
|
FontSize = GetSet({
|
|
|
|
Get = "FontUtility.GetFontSize(TextSize)",
|
|
|
|
Set = "TextSize = FontUtility.GetFontSize(value)",
|
|
|
|
}),
|
|
|
|
|
|
|
|
TextColor = UseColor3("TextColor3"),
|
|
|
|
TextWrap = GetSet("TextWrapped"),
|
|
|
|
|
|
|
|
Transparency = GetSet({
|
|
|
|
Get = "base.Transparency",
|
|
|
|
Set = "base.Transparency = value;\nTextTransparency = value;",
|
|
|
|
Flag = "new",
|
|
|
|
}),
|
|
|
|
},
|
2019-06-30 22:01:19 +00:00
|
|
|
}
|
|
|
|
|
2022-05-06 20:19:57 +00:00
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2022-12-16 20:22:34 +00:00
|
|
|
local PropertyPatches: { [string]: Patch } = {
|
|
|
|
AnimationRigData = {
|
|
|
|
Defaults = {
|
|
|
|
name = "AQAAAAEAAAAAAAAA",
|
|
|
|
label = "AQAAAAEAAAAAAAAA",
|
|
|
|
parent = "AQAAAAEAAAAAAA==",
|
|
|
|
|
|
|
|
transform = "AQAAAAEAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAA=",
|
|
|
|
preTransform = "AQAAAAEAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAA=",
|
|
|
|
postTransform = "AQAAAAEAAAAAAIA/AAAAAAAAAAAAAAAAAACAPwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAAAA=",
|
|
|
|
|
|
|
|
weight = "AQAAAAAAAAA=",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
2023-07-21 06:21:48 +00:00
|
|
|
AudioSearchParams = {
|
|
|
|
Redirect = {
|
|
|
|
AudioSubtype = GetSet("AudioSubType"),
|
2022-12-16 20:22:34 +00:00
|
|
|
},
|
2023-07-21 06:21:48 +00:00
|
|
|
},
|
2022-12-16 20:22:34 +00:00
|
|
|
|
2023-07-21 06:21:48 +00:00
|
|
|
BallSocketConstraint = {
|
|
|
|
-- Why does this even exist?
|
2022-12-16 20:22:34 +00:00
|
|
|
Redirect = {
|
|
|
|
MaxFrictionTorque = GetSet("MaxFrictionTorqueXml"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
BasePart = {
|
|
|
|
Redirect = {
|
|
|
|
Position = GetSet({
|
|
|
|
Get = "CFrame.Position",
|
|
|
|
Set = "CFrame = new CFrame(value) * CFrame.Rotation",
|
|
|
|
}),
|
|
|
|
|
|
|
|
MaterialVariant = GetSet("MaterialVariantSerialized"),
|
|
|
|
BrickColor = UseColor3("Color"),
|
|
|
|
Color = GetSet("Color3uint8"),
|
|
|
|
Size = GetSet("size"),
|
|
|
|
},
|
|
|
|
|
|
|
|
Defaults = {
|
|
|
|
Color3uint8 = Color3.fromRGB(163, 162, 165),
|
|
|
|
MaterialVariantSerialized = "",
|
|
|
|
size = Vector3.new(4, 1.2, 2),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
BodyColors = {
|
|
|
|
Redirect = {
|
|
|
|
HeadColor = UseColor3("HeadColor3"),
|
|
|
|
LeftArmColor = UseColor3("LeftArmColor3"),
|
|
|
|
RightArmColor = UseColor3("RightArmColor3"),
|
|
|
|
LeftLegColor = UseColor3("LeftLegColor3"),
|
|
|
|
RightLegColor = UseColor3("RightLegColor3"),
|
|
|
|
TorsoColor = UseColor3("TorsoColor3"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
BodyAngularVelocity = {
|
|
|
|
Redirect = { angularvelocity = GetSet("AngularVelocity") },
|
|
|
|
},
|
|
|
|
|
|
|
|
BodyGyro = {
|
|
|
|
Redirect = { cframe = GetSet("CFrame") },
|
|
|
|
},
|
|
|
|
|
|
|
|
Camera = {
|
|
|
|
Redirect = { CoordinateFrame = GetSet("CFrame") },
|
|
|
|
},
|
|
|
|
|
|
|
|
DataStoreService = {
|
|
|
|
Defaults = {
|
|
|
|
AutomaticRetry = true,
|
|
|
|
LegacyNamingScheme = false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
DoubleConstrainedValue = {
|
|
|
|
Redirect = {
|
|
|
|
Value = GetSet("value"),
|
|
|
|
ConstrainedValue = GetSet("value"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
Fire = {
|
|
|
|
Defaults = {
|
|
|
|
heat_xml = 9,
|
|
|
|
size_xml = 5,
|
|
|
|
},
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
Heat = GetSet("heat_xml"),
|
|
|
|
Size = GetSet("size_xml"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
FloatCurve = {
|
|
|
|
Defaults = { ValuesAndTimes = "AAAAAAEAAAAKAAAAAAAAFkUAAAAA" },
|
|
|
|
},
|
|
|
|
|
|
|
|
FormFactorPart = {
|
|
|
|
Defaults = {
|
|
|
|
formFactorRaw = TryGetEnumItem("FormFactor", "Brick"),
|
|
|
|
},
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
FormFactor = GetSet("formFactorRaw"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
FunctionalTest = {
|
|
|
|
Defaults = { HasMigratedSettingsToTestService = false },
|
|
|
|
},
|
|
|
|
|
|
|
|
GuiBase2d = {
|
|
|
|
Redirect = { Localize = GetSet("AutoLocalize") },
|
|
|
|
},
|
|
|
|
|
|
|
|
GuiBase3d = {
|
|
|
|
Redirect = { Color = UseColor3("Color3") },
|
|
|
|
},
|
|
|
|
|
|
|
|
GuiObject = {
|
|
|
|
Redirect = {
|
|
|
|
Transparency = GetSet("BackgroundTransparency"),
|
|
|
|
BackgroundColor = UseColor3("BackgroundColor3"),
|
|
|
|
BorderColor = UseColor3("BorderColor3"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
HttpService = {
|
|
|
|
Defaults = { HttpEnabled = false },
|
|
|
|
},
|
|
|
|
|
|
|
|
Humanoid = {
|
|
|
|
Defaults = {
|
|
|
|
Health_XML = 100,
|
|
|
|
InternalHeadScale = 1,
|
|
|
|
InternalBodyScale = Vector3.new(1, 1, 1),
|
|
|
|
},
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
Health = GetSet("Health_XML"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
HumanoidDescription = {
|
|
|
|
Defaults = {
|
|
|
|
AccessoryBlob = "[]",
|
|
|
|
EmotesDataInternal = "[]",
|
|
|
|
EquippedEmotesDataInternal = "[]",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
InsertService = {
|
|
|
|
Defaults = { AllowClientInsertModels = false },
|
|
|
|
},
|
|
|
|
|
|
|
|
IntConstrainedValue = {
|
|
|
|
Redirect = {
|
|
|
|
Value = GetSet("value"),
|
|
|
|
ConstrainedValue = GetSet("value"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
Lighting = {
|
|
|
|
Defaults = {
|
|
|
|
Technology = TryGetEnumItem("Technology", "Compatibility"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
LocalizationTable = {
|
|
|
|
Defaults = { Contents = "[]" },
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
DevelopmentLanguage = GetSet("SourceLocaleId"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
MarkerCurve = {
|
|
|
|
Defaults = { ValuesAndTimes = "AAAAAAEAAAAKAAAAAAAAFkUAAAAA" },
|
|
|
|
},
|
|
|
|
|
|
|
|
MaterialService = {
|
|
|
|
Redirect = { Use2022Materials = GetSet("Use2022MaterialsXml") },
|
|
|
|
|
|
|
|
Defaults = {
|
|
|
|
AsphaltName = "Asphalt",
|
|
|
|
BasaltName = "Basalt",
|
|
|
|
BrickName = "Brick",
|
|
|
|
CobblestoneName = "Cobblestone",
|
|
|
|
ConcreteName = "Concrete",
|
|
|
|
CorrodedMetalName = "CorrodedMetal",
|
|
|
|
CrackedLavaName = "CrackedLava",
|
|
|
|
DiamondPlateName = "DiamondPlate",
|
|
|
|
FabricName = "Fabric",
|
|
|
|
FoilName = "Foil",
|
|
|
|
GlacierName = "Glacier",
|
|
|
|
GraniteName = "Granite",
|
|
|
|
GrassName = "Grass",
|
|
|
|
GroundName = "Ground",
|
|
|
|
IceName = "Ice",
|
|
|
|
LeafyGrassName = "LeafyGrass",
|
|
|
|
LimestoneName = "Limestone",
|
|
|
|
MarbleName = "Marble",
|
|
|
|
MetalName = "Metal",
|
|
|
|
MudName = "Mud",
|
|
|
|
PavementName = "Pavement",
|
|
|
|
PebbleName = "Pebble",
|
|
|
|
PlasticName = "Plastic",
|
|
|
|
RockName = "Rock",
|
|
|
|
SaltName = "Salt",
|
|
|
|
SandName = "Sand",
|
|
|
|
SandstoneName = "Sandstone",
|
|
|
|
SlateName = "Slate",
|
|
|
|
SmoothPlasticName = "SmoothPlastic",
|
|
|
|
SnowName = "Snow",
|
|
|
|
WoodName = "Wood",
|
|
|
|
WoodPlanksName = "WoodPlanks",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
MeshPart = {
|
|
|
|
Defaults = { VertexCount = 0 },
|
|
|
|
Redirect = { MeshID = GetSet("MeshId") },
|
|
|
|
},
|
|
|
|
|
|
|
|
Model = {
|
2023-07-21 06:21:48 +00:00
|
|
|
Defaults = { ScaleFactor = 1 },
|
2022-12-16 20:22:34 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
PackageLink = {
|
|
|
|
Defaults = { AutoUpdate = false },
|
|
|
|
},
|
|
|
|
|
|
|
|
Part = {
|
|
|
|
Redirect = { Shape = GetSet("shape") },
|
|
|
|
},
|
|
|
|
|
|
|
|
ParticleEmitter = {
|
|
|
|
Redirect = {
|
|
|
|
VelocitySpread = GetSet({
|
|
|
|
Get = "SpreadAngle.X",
|
|
|
|
Set = "SpreadAngle = new Vector2(value, value)",
|
|
|
|
}),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
PartOperation = {
|
|
|
|
Defaults = { FormFactor = Enum.FormFactor.Custom },
|
|
|
|
},
|
|
|
|
|
|
|
|
Players = {
|
|
|
|
Defaults = { MaxPlayersInternal = 16 },
|
|
|
|
},
|
|
|
|
|
|
|
|
PolicyService = {
|
|
|
|
Defaults = {
|
|
|
|
IsLuobuServer = TryGetEnumItem("TriStateBoolean", "Unknown"),
|
|
|
|
LuobuWhitelisted = TryGetEnumItem("TriStateBoolean", "Unknown"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
RotationCurve = {
|
|
|
|
Defaults = { ValuesAndTimes = "AAAAAAEAAAAKAAAAAAAAFkUAAAAA" },
|
|
|
|
},
|
|
|
|
|
|
|
|
SelectionBox = {
|
|
|
|
Redirect = { SurfaceColor = UseColor3("SurfaceColor3") },
|
|
|
|
},
|
|
|
|
|
|
|
|
SelectionSphere = {
|
|
|
|
Redirect = { SurfaceColor = UseColor3("SurfaceColor3") },
|
|
|
|
},
|
|
|
|
|
|
|
|
ServerScriptService = {
|
|
|
|
Defaults = { LoadStringEnabled = false },
|
|
|
|
},
|
|
|
|
|
|
|
|
Smoke = {
|
|
|
|
Defaults = {
|
|
|
|
size_xml = 1,
|
|
|
|
opacity_xml = 0.5,
|
|
|
|
riseVelocity_xml = 1,
|
|
|
|
},
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
Size = GetSet("size_xml"),
|
|
|
|
Opacity = GetSet("opacity_xml"),
|
|
|
|
RiseVelocity = GetSet("riseVelocity_xml"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
Sound = {
|
|
|
|
Defaults = {
|
|
|
|
xmlRead_MinDistance_3 = 10,
|
|
|
|
xmlRead_MaxDistance_3 = 10000,
|
|
|
|
},
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
MaxDistance = GetSet("xmlRead_MaxDistance_3"),
|
|
|
|
xmlRead_MinDistance_3 = GetSet("EmitterSize"),
|
|
|
|
RollOffMinDistance = GetSet("EmitterSize"),
|
|
|
|
MinDistance = GetSet("EmitterSize"),
|
|
|
|
Pitch = GetSet("PlaybackSpeed"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
Sparkles = {
|
|
|
|
Redirect = { Color = GetSet("SparkleColor") },
|
|
|
|
},
|
|
|
|
|
|
|
|
StarterPlayer = {
|
|
|
|
Defaults = {
|
|
|
|
GameSettingsAvatar = Enum.GameAvatarType.R15,
|
|
|
|
GameSettingsR15Collision = Enum.R15CollisionType.OuterBox,
|
|
|
|
LoadCharacterLayeredClothing = Enum.LoadCharacterLayeredClothing.Default,
|
|
|
|
|
|
|
|
GameSettingsScaleRangeHead = NumberRange.new(0.95, 1.00),
|
|
|
|
GameSettingsScaleRangeWidth = NumberRange.new(0.70, 1.00),
|
|
|
|
GameSettingsScaleRangeHeight = NumberRange.new(0.90, 1.05),
|
|
|
|
GameSettingsScaleRangeBodyType = NumberRange.new(0.00, 1.00),
|
|
|
|
GameSettingsScaleRangeProportion = NumberRange.new(0.00, 1.00),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
SurfaceAppearance = {
|
|
|
|
Defaults = { AlphaMode = Enum.AlphaMode.Overlay },
|
|
|
|
},
|
|
|
|
|
|
|
|
TextBox = GuiTextMixIn,
|
|
|
|
TextLabel = GuiTextMixIn,
|
|
|
|
TextButton = GuiTextMixIn,
|
|
|
|
|
|
|
|
Terrain = {
|
|
|
|
Defaults = {
|
|
|
|
Decoration = false,
|
|
|
|
SmoothGrid = "AQU=",
|
|
|
|
PhysicsGrid = "AgMAAAAAAAAAAAAAAAA=",
|
|
|
|
AcquisitionMethod = TryGetEnumItem("TerrainAcquisitionMethod", "None"),
|
|
|
|
MaterialColors = "AAAAAAAAan8/P39rf2Y/ilY+j35fi21PZmxvZbDqw8faiVpHOi4kHh4lZlw76JxKc3trhHtagcLgc4RKxr21zq2UlJSM",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
TerrainRegion = {
|
|
|
|
Defaults = {
|
|
|
|
ExtentsMax = Vector3int16.new(),
|
|
|
|
ExtentsMin = Vector3int16.new(),
|
|
|
|
|
|
|
|
GridV3 = "",
|
|
|
|
SmoothGrid = "AQU=",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
TextChatService = {
|
|
|
|
Defaults = {
|
|
|
|
CreateDefaultCommands = true,
|
|
|
|
CreateDefaultTextChannels = true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
TriangleMeshPart = {
|
|
|
|
Defaults = {
|
|
|
|
InitialSize = Vector3.new(1, 1, 1),
|
|
|
|
PhysicalConfigData = "1B2M2Y8AsgTpgAmY7PhCfg==",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
TrussPart = {
|
|
|
|
Redirect = { Style = GetSet("style") },
|
|
|
|
},
|
|
|
|
|
|
|
|
UnvalidatedAssetService = {
|
|
|
|
Defaults = {
|
|
|
|
CachedData = HttpService:JSONEncode({
|
|
|
|
users = {},
|
|
|
|
lastSaveTime = 0,
|
|
|
|
lastKnownPublishRequest = 0,
|
|
|
|
}),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
UserInputService = {
|
|
|
|
Defaults = { LegacyInputEventsEnabled = true },
|
|
|
|
},
|
|
|
|
|
|
|
|
ViewportFrame = {
|
|
|
|
Defaults = {
|
2023-07-21 06:21:48 +00:00
|
|
|
CameraCFrame = CFrame.identity,
|
2022-12-16 20:22:34 +00:00
|
|
|
CameraFieldOfView = 70,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
WeldConstraint = {
|
|
|
|
Defaults = {
|
2023-07-21 06:21:48 +00:00
|
|
|
CFrame0 = CFrame.identity,
|
2022-12-16 20:22:34 +00:00
|
|
|
State = 3,
|
|
|
|
|
|
|
|
Part0 = Instance.new("Part"),
|
|
|
|
Part1 = Instance.new("Part"),
|
|
|
|
},
|
|
|
|
|
|
|
|
Redirect = {
|
|
|
|
Part0 = GetSet("Part0Internal"),
|
|
|
|
Part1 = GetSet("Part1Internal"),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
Workspace = {
|
|
|
|
Defaults = {
|
2023-07-21 06:21:48 +00:00
|
|
|
CollisionGroupData = "AQEABP////8HRGVmYXVsdA==",
|
2022-12-16 20:22:34 +00:00
|
|
|
|
|
|
|
TouchesUseCollisionGroups = false,
|
|
|
|
ExplicitAutoJoints = true,
|
|
|
|
TerrainWeldsFixed = true,
|
|
|
|
|
|
|
|
StreamingMinRadius = 64,
|
|
|
|
StreamingTargetRadius = 1024,
|
|
|
|
|
|
|
|
MeshPartHeads = TryGetEnumItem("MeshPartHeads", "Default"),
|
|
|
|
SignalBehavior = TryGetEnumItem("SignalBehavior", "Default"),
|
|
|
|
StreamingPauseMode = TryGetEnumItem("StreamingPauseMode", "Default"),
|
|
|
|
PhysicsSteppingMethod = TryGetEnumItem("PhysicsSteppingMethod", "Default"),
|
|
|
|
MeshPartHeadsAndAccessories = TryGetEnumItem("MeshPartHeadsAndAccessories", "Default"),
|
|
|
|
},
|
|
|
|
},
|
2022-05-06 20:19:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
2022-06-28 20:21:05 +00:00
|
|
|
return PropertyPatches
|
2022-05-06 20:19:57 +00:00
|
|
|
|
2022-12-16 20:22:34 +00:00
|
|
|
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|