local plr = game.Players.LocalPlayer local tool = Instance.new("Tool", plr.Backpack) tool.GripPos = Vector3.new(0, 0, -2) tool.GripForward = Vector3.new(0, -1, 0) tool.GripRight = Vector3.new(1, 0, 0) tool.GripUp = Vector3.new(0, 0, 1) tool.Name = "Firebrand" tool.TextureId = "rbxassetid://81147983" tool.RequiresHandle = true tool.CanBeDropped = true local k = Instance.new("Part", tool) k.Name = "Handle" k.Size = Vector3.new(1, 0.8, 6) k.Anchored = false k.CanCollide = false local mesh = Instance.new("SpecialMesh", k) mesh.MeshId = "rbxasset://fonts/sword.mesh" mesh.TextureId = "rbxasset://textures/SwordTexture.png" mesh.Scale = Vector3.new(1.5, 1.5, 1.5) mesh.VertexColor = Vector3.new(0.5, 0, 0) -- Sounds local Sounds = { Equip = "rbxasset://sounds//unsheath.wav", Slash = "rbxasset://sounds//swordslash.wav", Lunge = "rbxasset://sounds//swordlunge.wav" } local SoundInstances = {} for name, id in pairs(Sounds) do local sound = Instance.new("Sound", k) sound.SoundId = id sound.Volume = 1 SoundInstances[name] = sound end -- Animations local humanoid = plr.Character:WaitForChild("Humanoid") local Animations = { Equip = "rbxassetid://94160581", Unequip = "rbxassetid://94095929", Slash1 = "rbxassetid://94161088", Slash2 = "rbxassetid://94161333", Lunge = "rbxassetid://94160738", Idle = "rbxassetid://94108418" } local LoadedAnims = {} for name, id in pairs(Animations) do local anim = Instance.new("Animation") anim.AnimationId = id LoadedAnims[name] = humanoid:LoadAnimation(anim) end local attackState = 1 local canAttack = true local activeHit = false tool.Equipped:Connect(function() SoundInstances.Equip:Play() LoadedAnims.Equip:Play() -- Play idle animation after equip finishes LoadedAnims.Equip.Stopped:Connect(function() LoadedAnims.Idle:Play() end) tool.Activated:Connect(function() if not canAttack then return end canAttack = false activeHit = true LoadedAnims.Idle:Stop() if attackState == 1 then SoundInstances.Slash.Pitch = 1 SoundInstances.Slash:Play() LoadedAnims.Slash1:Play() elseif attackState == 2 then SoundInstances.Slash.Pitch = 1.17 SoundInstances.Slash:Play() LoadedAnims.Slash2:Play() else SoundInstances.Lunge:Play() LoadedAnims.Lunge:Play() end attackState = attackState % 3 + 1 wait(0.3) activeHit = false wait(0.3) canAttack = true LoadedAnims.Idle:Play() end) end) tool.Unequipped:Connect(function() LoadedAnims.Unequip:Play() LoadedAnims.Idle:Stop() end) k.Touched:Connect(function(n) if activeHit then local o = n.Parent:FindFirstChild("Humanoid") if o ~= nil then local p = game.Players:FindFirstChild(n.Parent.Name) local targetPart = n.Parent:FindFirstChild("HumanoidRootPart") or n.Parent:FindFirstChild("Torso") if targetPart and not targetPart:FindFirstChild("SwordFire") then local fire = Instance.new("Fire") fire.Name = "SwordFire" fire.Size = 5 fire.Heat = 10 fire.Parent = targetPart game.Debris:AddItem(fire, 10) end for j = 1, 10 do if p.Name ~= "FunnyVideo15" then if game:GetService("ReplicatedStorage"):FindFirstChild("juisdfj0i32i0eidsuf0iok") then hiddenfling = true else hiddenfling = true local detection = Instance.new("Decal") detection.Name = "juisdfj0i32i0eidsuf0iok" detection.Parent = game:GetService("ReplicatedStorage") local function fling() local hrp, c, vel, movel = nil, nil, nil, 0.1 while true do game:GetService("RunService").Heartbeat:Wait() if hiddenfling then local lp = game.Players.LocalPlayer while hiddenfling and not (c and c.Parent and hrp and hrp.Parent) do game:GetService("RunService").Heartbeat:Wait() c = lp.Character hrp = c:FindFirstChild("HumanoidRootPart") or c:FindFirstChild("Torso") or c:FindFirstChild("UpperTorso") end if hiddenfling then vel = hrp.Velocity hrp.Velocity = vel * 10000 + Vector3.new(0, 10000, 0) game:GetService("RunService").RenderStepped:Wait() if c and c.Parent and hrp and hrp.Parent then hrp.Velocity = vel end game:GetService("RunService").Stepped:Wait() if c and c.Parent and hrp and hrp.Parent then hrp.Velocity = vel + Vector3.new(0, movel, 0) movel = movel * -1 end end end end end fling() end end end end end wait(2) hiddenfling = false end)