local function F(F,T)while not F:FindFirstChild(T)do F.ChildAdded:wait()end return F[T]end local T=script.Parent local r={}local u local V local function J(F)if r[F]then r[F]:Play()end end local function n(F)if r[F]then r[F]:Stop()end end function OnEquipped(n)V=T.Parent u=F(V,"\072\117\109\097\110\111\105\100")if u then r.EquipAnim=u:LoadAnimation(F(T,"\069\113\117\105\112\065\110\105\109\053"))end J("\069\113\117\105\112\065\110\105\109")end function OnUnequipped()for F,T in pairs(r)do n(F)end end T.Equipped:connect(OnEquipped)T.Unequipped:connect(OnUnequipped);(F(T,"\080\108\097\121\083\108\097\115\104")).Changed:connect(function(F)J("\083\108\097\115\104\065\110\105\109")end);(F(T,"\080\108\097\121\084\104\114\117\115\116")).Changed:connect(function(F)J("\084\104\114\117\115\116\065\110\105\109")end);(F(T,"\080\108\097\121\079\118\101\114\104\101\097\100")).Changed:connect(function(F)J("\079\118\101\114\104\101\097\100\065\110\105\109")end)
-- Waits for the child of the specified parent
local function WaitForChild(parent, childName)
	while not parent:FindFirstChild(childName) do
		parent.ChildAdded:wait()
	end
	return parent[childName]
end

local Tool = script.Parent

local Animations = {}
local MyHumanoid
local MyCharacter

local function PlayAnimation(animationName)
	if Animations[animationName] then
		Animations[animationName]:Play()
	end
end

local function StopAnimation(animationName)
	if Animations[animationName] then
		Animations[animationName]:Stop()
	end
end

function OnEquipped(mouse)
	MyCharacter = Tool.Parent
	MyHumanoid = WaitForChild(MyCharacter, "Humanoid")
	if MyHumanoid then
		Animations["EquipAnim"] = MyHumanoid:LoadAnimation(WaitForChild(Tool, "EquipAnim5"))
	end
	PlayAnimation("EquipAnim")
end

function OnUnequipped()
	for animName, _ in pairs(Animations) do
		StopAnimation(animName)
	end
end

Tool.Equipped:connect(OnEquipped)
Tool.Unequipped:connect(OnUnequipped)

WaitForChild(Tool, "PlaySlash").Changed:connect(function(value)
	--if value then
	PlayAnimation("SlashAnim")
	--else
	--	StopAnimation('SlashAnim')
	--end
end)

WaitForChild(Tool, "PlayThrust").Changed:connect(function(value)
	--if value then
	PlayAnimation("ThrustAnim")
	--else
	--	StopAnimation('ThrustAnim')
	--end
end)

WaitForChild(Tool, "PlayOverhead").Changed:connect(function(value)
	--if value then
	PlayAnimation("OverheadAnim")
	--else
	--	StopAnimation('OverheadAnim')
	--end
end)
