local RunService = game:GetService("RunService") local Players = game:GetService("Players") local player = Players.LocalPlayer local mouse = player:GetMouse() -- Display watermark GUI local PlayerGui = player:WaitForChild("PlayerGui") local screenGui = Instance.new("ScreenGui") screenGui.Name = "WatermarkGui" screenGui.ResetOnSpawn = false screenGui.IgnoreGuiInset = true screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global screenGui.Parent = PlayerGui local label = Instance.new("TextLabel") label.Size = UDim2.new(0.6, 0, 0.1, 0) label.Position = UDim2.new(0.2, 0, 0.45, 0) label.BackgroundTransparency = 1 label.Text = "Made by whatanwaza" label.Font = Enum.Font.GothamBlack label.TextScaled = true label.TextColor3 = Color3.new(1, 1, 1) label.TextStrokeTransparency = 0.5 label.TextTransparency = 0 label.ZIndex = 999999 label.Parent = screenGui -- Wait 3 seconds then fade out task.wait(3) for i = 0, 1, 0.02 do label.TextTransparency = i label.TextStrokeTransparency = 0.5 + (i * 0.5) task.wait(0.03) end screenGui:Destroy() -- === CORRUPT NATURE SCRIPT STARTS === local char = player.Character or player.CharacterAdded:Wait() local rightArm = char:WaitForChild("Right Arm") local humanoid = char:WaitForChild("Humanoid") -- Create the grey projectile local corruptNature = Instance.new("Part") corruptNature.Name = "CorruptNature" corruptNature.Size = Vector3.new(4, 2, 1) corruptNature.BrickColor = BrickColor.new("Medium stone grey") corruptNature.Material = Enum.Material.Metal corruptNature.CanCollide = false corruptNature.Massless = true corruptNature.Anchored = false corruptNature.Parent = workspace local weld local function weldToArm() if weld then weld:Destroy() end corruptNature.CanCollide = false corruptNature.Anchored = false weld = Instance.new("Weld") weld.Name = "CorruptNatureWeld" weld.Part0 = rightArm weld.Part1 = corruptNature weld.C0 = CFrame.new(0, -0.7, -1.2) * CFrame.Angles(math.rad(-90), math.rad(90), 0) weld.Parent = rightArm end weldToArm() local launched = false local launchSpeed = 100 local originalCFrame local flingConnection local flingVictimAngularVelocity local function spinAndFlingInsideTorso(rootPart, victimHumanoidRootPart) local startTime = tick() local flingDuration = 15 flingVictimAngularVelocity = Instance.new("BodyAngularVelocity") flingVictimAngularVelocity.MaxTorque = Vector3.new(1e6, 1e6, 1e6) flingVictimAngularVelocity.AngularVelocity = Vector3.new(30, 30, 30) flingVictimAngularVelocity.Parent = victimHumanoidRootPart flingConnection = RunService.Heartbeat:Connect(function() if not rootPart or not rootPart.Parent or not victimHumanoidRootPart or not victimHumanoidRootPart.Parent then flingConnection:Disconnect() flingVictimAngularVelocity:Destroy() return end if tick() - startTime >= flingDuration then flingConnection:Disconnect() flingVictimAngularVelocity:Destroy() return end rootPart.CFrame = victimHumanoidRootPart.CFrame end) end local function stopSpinAndFling() if flingConnection then flingConnection:Disconnect() flingConnection = nil end if flingVictimAngularVelocity then flingVictimAngularVelocity:Destroy() flingVictimAngularVelocity = nil end end local function detachFromArm() if weld then weld:Destroy() weld = nil end corruptNature.Parent = workspace corruptNature.CanCollide = false corruptNature.Anchored = false end local function corruptNatureAnimation() local rightShoulder = char:FindFirstChild("Right Shoulder") or char:FindFirstChild("RightShoulder") if not rightShoulder then return end local originalC0 = rightShoulder.C0 local steps = 20 for i = 1, steps do local alpha = i / steps rightShoulder.C0 = originalC0 * CFrame.Angles(math.rad(-90 * alpha), 0, 0) RunService.Heartbeat:Wait() end for i = 1, steps do local alpha = 1 - i / steps rightShoulder.C0 = originalC0 * CFrame.Angles(math.rad(-90 * alpha), 0, 0) RunService.Heartbeat:Wait() end rightShoulder.C0 = originalC0 end local bodyVelocity local bodyAngularVelocity local connection local function launchCorruptNature() if launched then return end launched = true detachFromArm() local origin = corruptNature.Position local targetPos = mouse.Hit.p local direction = (targetPos - origin).Unit corruptNature.CFrame = CFrame.new(origin, origin + direction) corruptNature.CanCollide = true corruptNature.Anchored = false originalCFrame = char.PrimaryPart and char.PrimaryPart.CFrame or nil bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(1e5, 1e5, 1e5) bodyVelocity.Velocity = direction * launchSpeed bodyVelocity.Parent = corruptNature bodyAngularVelocity = Instance.new("BodyAngularVelocity") bodyAngularVelocity.MaxTorque = Vector3.new(1e5, 1e5, 1e5) bodyAngularVelocity.AngularVelocity = Vector3.new(math.random(-20, 20), math.random(-20, 20), math.random(-20, 20)) bodyAngularVelocity.Parent = corruptNature connection = corruptNature.Touched:Connect(function(hit) if not launched then return end if not hit or not hit.Parent then return end if hit:IsDescendantOf(char) or hit == corruptNature then return end if bodyVelocity then bodyVelocity:Destroy() end if bodyAngularVelocity then bodyAngularVelocity:Destroy() end corruptNature.Anchored = false corruptNature.CanCollide = true connection:Disconnect() local hitHumanoid = hit.Parent:FindFirstChildOfClass("Humanoid") local hitTorso = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso") if hitHumanoid and hitTorso then corruptNature.Transparency = 1 local rootPart = char:FindFirstChild("HumanoidRootPart") local victimRoot = hit.Parent:FindFirstChild("HumanoidRootPart") if rootPart and victimRoot then rootPart.Anchored = false spinAndFlingInsideTorso(rootPart, victimRoot) end wait(15) stopSpinAndFling() if rootPart and originalCFrame then rootPart.CFrame = originalCFrame end corruptNature.Transparency = 0 weldToArm() launched = false else local pickupConnection pickupConnection = corruptNature.Touched:Connect(function(toucher) if toucher.Parent == char then pickupConnection:Disconnect() corruptNature.CanCollide = false corruptNature.Anchored = false weldToArm() launched = false end end) end end) end mouse.Button1Down:Connect(function() if not launched then coroutine.wrap(corruptNatureAnimation)() launchCorruptNature() end end) player.CharacterAdded:Connect(function(newChar) char = newChar rightArm = char:WaitForChild("Right Arm") humanoid = char:WaitForChild("Humanoid") weldToArm() launched = false end)