local plr = game.Players.LocalPlayer local char = plr.Character or plr.CharacterAdded:Wait() local hum = char:WaitForChild("Humanoid") local cam = workspace.CurrentCamera local tool = Instance.new("Tool") tool.Name = "Roaring Knight Roar" tool.RequiresHandle = false tool.ToolTip = "Scare your enemies! - Hecker" tool.Parent = plr.Backpack local a1 = Instance.new("Animation") a1.AnimationId = "rbxassetid://674871189" local t1 = hum:LoadAnimation(a1) t1.Looped = true local a2 = Instance.new("Animation") a2.AnimationId = "rbxassetid://101852027997337" local t2 = hum:LoadAnimation(a2) local s1 = Instance.new("Sound", char) s1.SoundId = "rbxassetid://125769978282211" local s2 = Instance.new("Sound", char) s2.SoundId = "rbxassetid://126397142477715" local blur = Instance.new("BlurEffect", cam) blur.Size = 0 blur.Enabled = false local originalFOV = cam.FieldOfView local aura = {} local ball local function auraOn() for _,p in pairs(char:GetDescendants()) do if p:IsA("BasePart") then local g = Instance.new("Highlight") g.FillColor = Color3.new(1,1,1) g.FillTransparency = 0.3 g.OutlineTransparency = 1 g.Parent = p table.insert(aura, g) end end end local function auraOff() for _,v in pairs(aura) do if v then v:Destroy() end end aura = {} end local function ballOn() ball = Instance.new("Part") ball.Shape = Enum.PartType.Ball ball.Material = Enum.Material.Neon ball.Color = Color3.new(1,1,1) ball.CanCollide = false ball.Anchored = false ball.Massless = true ball.Size = Vector3.new(4,4,4) ball.Parent = workspace local w = Instance.new("WeldConstraint", ball) w.Part0 = ball w.Part1 = char:WaitForChild("HumanoidRootPart") end local function ballOff() if ball then ball:Destroy() end ball = nil end local function replaceAll() local backup = {} for _,track in pairs(hum:GetPlayingAnimationTracks()) do track:Stop() end for _,v in pairs(hum:GetChildren()) do if v:IsA("Animator") then for _,a in pairs(v:GetChildren()) do if a:IsA("Animation") then backup[a] = a.AnimationId a.AnimationId = a2.AnimationId end end end end return backup end local function restoreAll(t) for a,id in pairs(t) do if a then a.AnimationId = id end end end tool.Equipped:Connect(function() auraOn() ballOn() blur.Enabled = true blur.Size = 12 t1:Play() s1:Play() task.delay(2, function() if tool.Parent == plr.Character then local backup = replaceAll() t1:Stop() s1:Stop() auraOff() ballOff() t2:Play() s2:Play() cam.FieldOfView = 150 task.delay(8, function() t2:Stop() s2:Stop() restoreAll(backup) cam.FieldOfView = originalFOV blur.Size = 0 blur.Enabled = false end) end end) end) tool.Unequipped:Connect(function() t1:Stop() t2:Stop() s1:Stop() s2:Stop() cam.FieldOfView = originalFOV blur.Size = 0 blur.Enabled = false auraOff() ballOff() end)