local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer --configs local Variant = "Scythe" local UseAlternateOutfit = false local EnableShirtGraphic = false local ShirtGraphicID = "rbxassetid://0" local MainFaces = { "rbxassetid://117711976219124", "rbxassetid://115347453335255", "rbxassetid://104057476450014" } local Variants = { ["Scythe"] = { Shirt = "rbxassetid://15851652187", Pants = "rbxassetid://15851669773", AltShirt = "rbxassetid://17443566426", AltPants = "rbxassetid://17442538282", BodyColor = BrickColor.new("Grey") } } local function MorphPlayer() local character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local variantData = Variants[Variant] if not variantData then return end for _, item in ipairs(character:GetChildren()) do if item:IsA("Accessory") or item:IsA("Shirt") or item:IsA("Pants") or item:IsA("ShirtGraphic") then item:Destroy() end end local head = character:FindFirstChild("Head") if head then for _, d in ipairs(head:GetChildren()) do if d:IsA("Decal") then d:Destroy() end end end for _, part in ipairs(character:GetChildren()) do if part:IsA("BasePart") then part.BrickColor = variantData.BodyColor end end local shirt = Instance.new("Shirt") shirt.Name = "GraceShirt" shirt.ShirtTemplate = UseAlternateOutfit and (variantData.AltShirt or variantData.Shirt) or variantData.Shirt shirt.Parent = character local pants = Instance.new("Pants") pants.Name = "GracePants" pants.PantsTemplate = UseAlternateOutfit and (variantData.AltPants or variantData.Pants) or variantData.Pants pants.Parent = character if EnableShirtGraphic then local sg = Instance.new("ShirtGraphic") sg.Name = "GraceNeckGraphic" sg.Graphic = ShirtGraphicID sg.Parent = character end if head then local mainFace = Instance.new("Decal") mainFace.Name = "mainFace" mainFace.Face = Enum.NormalId.Front mainFace.Parent = head spawn(function() while character and character.Parent do for _, faceId in ipairs(MainFaces) do mainFace.Texture = faceId task.wait(0.7) end end end) end end LocalPlayer.CharacterAdded:Connect(function() task.wait(1) MorphPlayer() end) if LocalPlayer.Character then task.wait(1) MorphPlayer() end