--Made by Luckymaxer


Tool = script.Parent
Handle = Tool:WaitForChild("Handle")
RunAnim = Tool:WaitForChild("RunAnim")
Returned = Tool:WaitForChild("Returned")

Debris = game:GetService("Debris")
Players = game:GetService("Players")

Anims = {"RightSlash", "LeftSlash", "OverHeadSwing", "LeftSwingFast", "RightSwingFast"}

BaseDamage = 5
SlashDamage = 10
SwingDamage = 15
Damage = BaseDamage

SlashSound = Instance.new("Sound")
SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
SlashSound.Parent = Handle
SlashSound.Volume = 0.7

UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
UnsheathSound.Parent = Handle
UnsheathSound.Volume = 0.5

function Blow(Hit)
	if Hit and Hit.Parent then
		local humanoid = Hit.Parent:FindFirstChild("Humanoid")
		if Character and Player and Humanoid and humanoid and humanoid ~= Humanoid and humanoid.Health > 0 and Humanoid.Health > 0 then
			local right_arm = Character:FindFirstChild("Right Arm")
			if right_arm then
				local joint= right_arm:FindFirstChild("RightGrip")
				if joint and (joint.Part0 == Handle or joint.Part1 == Handle) then
					TagHumanoid(humanoid, Player)
					humanoid:TakeDamage(Damage)
				end
			end
		end
	end
end

function TagHumanoid(humanoid, player)
	for i, v in pairs(humanoid:GetChildren()) do
		if v.Name == "creator" then
			v:Destroy()
		end
	end
	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	Debris:AddItem(creator_tag, 1)
	creator_tag.Parent = humanoid
end

function OnActivated()
	if Tool.Enabled and Returned.Value then
		Character = Tool.Parent
		Player = Players:GetPlayerFromCharacter(Character)
		Humanoid = Character:FindFirstChild("Humanoid")
		Tool.Enabled = false
		local TempAnims = {}
		for i, v in pairs(Anims) do
			if v ~= LastAnim then
				table.insert(TempAnims, v)
			end
		end
		NewAnim = TempAnims[math.random(1, #TempAnims)]
		LastAnim = NewAnim
		RunAnim.Value = NewAnim
		if Humanoid and NewAnim then
			SlashSound:Play()
			if NewAnim == "OverHeadSwing" then
				Damage = SwingDamage
			else
				Damage = SlashDamage
			end
			wait(0.75)
			Damage = BaseDamage
		end
		Tool.Enabled = true
	end
end

function OnEquipped(Mouse)
	UnsheathSound:Play()
end

Tool.Activated:connect(OnActivated)
Tool.Equipped:connect(OnEquipped)

Connection = Handle.Touched:connect(Blow)


