local Players = game:GetService("Players") local RunService = game:GetService("RunService") local StarterGui = game:GetService("StarterGui") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local SPEAR_NAME = "Ruby thorn" local DAMAGE = 50 local old = Character:FindFirstChild(SPEAR_NAME) if old then old:Destroy() end local spear = Instance.new("Tool") spear.Name = SPEAR_NAME spear.RequiresHandle = true spear.CanBeDropped = false local handle = Instance.new("Part") handle.Name = "Handle" handle.Size = Vector3.new(0.4, 7, 0.4) handle.Material = Enum.Material.Granite handle.BrickColor = BrickColor.new("Really black") handle.Color = Color3.fromRGB(60, 0, 0) handle.Anchored = false handle.CanCollide = false handle.TopSurface = Enum.SurfaceType.Smooth handle.BottomSurface = Enum.SurfaceType.Smooth handle.Parent = spear local spike = Instance.new("Part") spike.Size = Vector3.new(0.3, 1.6, 0.3) spike.Position = handle.Position + Vector3.new(0, handle.Size.Y/2 + spike.Size.Y/2, 0) spike.BrickColor = BrickColor.new("Dark stone grey") spike.Material = Enum.Material.Granite spike.CanCollide = false spike.Anchored = false spike.Parent = spear local weld1 = Instance.new("WeldConstraint", spike) weld1.Part0 = spike weld1.Part1 = handle local crystal = Instance.new("Part") crystal.Size = Vector3.new(0.6, 1.4, 0.6) crystal.Position = spike.Position + Vector3.new(0, spike.Size.Y/2 + crystal.Size.Y/2, 0) crystal.Material = Enum.Material.Neon crystal.Color = Color3.fromRGB(255, 0, 0) crystal.Transparency = 0.5 crystal.CanCollide = false crystal.Anchored = false crystal.Parent = spear local weld2 = Instance.new("WeldConstraint", crystal) weld2.Part0 = crystal weld2.Part1 = handle local core = Instance.new("Part") core.Size = Vector3.new(0.25, 1, 0.25) core.Position = crystal.Position core.Material = Enum.Material.Neon core.Color = Color3.new(1, 1, 1) core.CanCollide = false core.Anchored = false core.Parent = spear local weld3 = Instance.new("WeldConstraint", core) weld3.Part0 = core weld3.Part1 = handle local function tagHumanoid(hum) if hum and hum:IsA("Humanoid") and hum.Health > 0 then hum:TakeDamage(DAMAGE) end end local touchedConn spear.Equipped:Connect(function() touchedConn = handle.Touched:Connect(function(hit) local h = hit.Parent:FindFirstChildOfClass("Humanoid") if h and hit.Parent ~= Character then tagHumanoid(h) end end) end) spear.Unequipped:Connect(function() if touchedConn then touchedConn:Disconnect() end end) local trail = Instance.new("Trail") trail.Attachment0 = Instance.new("Attachment", handle) trail.Attachment1 = Instance.new("Attachment", handle) trail.Color = ColorSequence.new(Color3.new(1, 0, 0)) trail.Transparency = NumberSequence.new(0.2) trail.Lifetime = 0.3 trail.MinLength = 0.1 trail.Enabled = false trail.Parent = handle spear.Parent = LocalPlayer.Backpack