local P={DamageMode="\078\111\114\109\097\108";Special=true;Special_Reload=10,SpeedCap=30;DamageValues={Normal={Min=10;Max=50};Lunge={Min=7;Max=10}}}local l,L,y=script.FindFirstChild,script.FindFirstChildOfClass,script.WaitForChild local d,c=script.Clone,script.Destroy local X=script.GetChildren local H=script.IsA local k=script.Parent k.Enabled=true local Y=l(k,"\068\101\102\097\117\108\116\071\114\105\112")if not Y then Y=Instance.new("\067\070\114\097\109\101\086\097\108\117\101")Y.Name="\068\101\102\097\117\108\116\071\114\105\112"Y.Value=k.Grip Y.Parent=k end k.Grip=Y.Value local J=y(k,"\072\097\110\100\108\101")pcall(function()J.Sparkle_Large_Blue.Enabled=true end)local U={Equip=y(J,"\069\113\117\105\112"),Slash=y(J,"\083\108\097\115\104");Lunge=y(J,"\076\117\110\103\101")}local o=game:FindService("\080\108\097\121\101\114\115")or game:GetService("\080\108\097\121\101\114\115")local Q=game:FindService("\068\101\098\114\105\115")or game:GetService("\068\101\098\114\105\115")local s=game:FindService("\082\117\110\083\101\114\118\105\099\101")or game:GetService("\082\117\110\083\101\114\118\105\099\101")local p=game:FindService("\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101")or game:GetService("\083\101\114\118\101\114\083\099\114\105\112\116\083\101\114\118\105\099\101")local f=Ray.new


local Properties = {
	DamageMode = "Normal", --What mode to reference the damage tables listed below
	
	Special = true,--The internal logical indicator to determine if we can use our special.
	
	Special_Reload = 10, --The Cooldown time until the ability is ready to be used.
	
	SpeedCap = 30, --This is the wielder's walkspeed when equipped

	DamageValues = {
		Normal = {
			Min = 10,
			Max = 50,
		},
		
		Lunge = {
			Min = 7,
			Max = 10
		}
	}

}

local FindFirstChild, FindFirstChildOfClass, WaitForChild = script.FindFirstChild, script.FindFirstChildOfClass, script.WaitForChild

local Clone, Destroy = script.Clone, script.Destroy

local GetChildren = script.GetChildren

local IsA = script.IsA

local Tool = script.Parent
Tool.Enabled = true

local DefaultGrip = FindFirstChild(Tool, "DefaultGrip") 
if not DefaultGrip then
	-- Create a new grip reference
	DefaultGrip = Instance.new("CFrameValue")
	DefaultGrip.Name = "DefaultGrip"
	DefaultGrip.Value = Tool.Grip
	DefaultGrip.Parent = Tool
end

Tool.Grip = DefaultGrip.Value --Reset the Tool's grip values to the DefaultGrip Value

local Handle = WaitForChild(Tool, "Handle")

pcall(function()
	Handle["Sparkle_Large_Blue"].Enabled = true --We're gonna use this as our visual indicator for our special.
end)

local Sounds = {
	Equip = WaitForChild(Handle, "Equip"),
	Slash = WaitForChild(Handle, "Slash"),
	Lunge = WaitForChild(Handle, "Lunge") 
}

local Players = (game:FindService("Players") or game:GetService("Players"))
local Debris = (game:FindService("Debris") or game:GetService("Debris"))
local RunService = (game:FindService("RunService") or game:GetService("RunService"))
local ServerScriptService = (game:FindService("ServerScriptService") or game:GetService("ServerScriptService"))

local NewRay = Ray.new
