r=game:service("\082\117\110\083\101\114\118\105\099\101")local D=5 local q=10 local u=30 sword=script.Parent.Handle Tool=script.Parent local n=Instance.new("\083\111\117\110\100")n.SoundId="\114\098\120\097\115\115\101\116\058\047\047\115\111\117\110\100\115\092\115\119\111\114\100\115\108\097\115\104\046\119\097\118"n.Parent=sword n.Volume=.7 local B=Instance.new("\083\111\117\110\100")B.SoundId="\114\098\120\097\115\115\101\116\058\047\047\115\111\117\110\100\115\092\115\119\111\114\100\108\117\110\103\101\046\119\097\118"B.Parent=sword B.Volume=.6 local y=Instance.new("\083\111\117\110\100")y.SoundId="\114\098\120\097\115\115\101\116\058\047\047\115\111\117\110\100\115\092\117\110\115\104\101\097\116\104\046\119\097\118"y.Parent=sword y.Volume=1 local X=true function blow(D)if D.Parent==nil or D.Parent==game.Workspace.CurrentCamera then return end local q=D.Parent:findFirstChild("\072\117\109\097\110\111\105\100")local u=Tool.Parent local n=game.Players:playerFromCharacter(u)local B=u:findFirstChild("\072\117\109\097\110\111\105\100")if q and(q~=B and B)then if X==true then X=false q:TakeDamage(10)wait()X=true end end end function tagHumanoid(D,q)local u=Instance.new("\079\098\106\101\099\116\086\097\108\117\101")u.Value=q u.Name="\099\114\101\097\116\111\114"u.Parent=D end function untagHumanoid(D)if D~=nil then local q=D:findFirstChild("\099\114\101\097\116\111\114")if q~=nil then q.Parent=nil end end end function attack()D=q n:play()local u=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")u.Name="\116\111\111\108\097\110\105\109"u.Value="\083\108\097\115\104"u.Parent=Tool end function lunge()D=u B:play()local n=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")n.Name="\116\111\111\108\097\110\105\109"n.Value="\076\117\110\103\101"n.Parent=Tool wait(.25)swordOut()wait(.75)swordUp()D=q end function swordUp()Tool.GripForward=Vector3.new(-1,0,0)Tool.GripRight=Vector3.new(0,1,0)Tool.GripUp=Vector3.new(0,0,1)end function swordOut()Tool.GripForward=Vector3.new(0,0,1)Tool.GripRight=Vector3.new(0,-1,0)Tool.GripUp=Vector3.new(-1,0,0)end function swordAcross() end Tool.Enabled=true local Z=0 function onActivated()if not Tool.Enabled then return end Tool.Enabled=false local D=Tool.Parent local q=D.Humanoid if q==nil then print("\072\117\109\097\110\111\105\100 \110\111\116 \102\111\117\110\100")return end local u=r.Stepped:wait()if u-Z<.2 then lunge()else attack()end Z=u Tool.Enabled=true end function onEquipped()y:play()end script.Parent.Activated:connect(onActivated)script.Parent.Equipped:connect(onEquipped)connection=sword.Touched:connect(blow)


r = game:service("RunService")


local damage = 5


local slash_damage = 10
local lunge_damage = 30

sword = script.Parent.Handle
Tool = script.Parent


local SlashSound = Instance.new("Sound")
SlashSound.SoundId = "rbxasset://sounds\\swordslash.wav"
SlashSound.Parent = sword
SlashSound.Volume = .7

local LungeSound = Instance.new("Sound")
LungeSound.SoundId = "rbxasset://sounds\\swordlunge.wav"
LungeSound.Parent = sword
LungeSound.Volume = .6

local UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "rbxasset://sounds\\unsheath.wav"
UnsheathSound.Parent = sword
UnsheathSound.Volume = 1

local DB = true
function blow(hit)
	if (hit.Parent == nil or hit.Parent == game.Workspace.CurrentCamera) then return end 
	
	local humanoid = hit.Parent:findFirstChild("Humanoid")
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)
	local hum = vCharacter:findFirstChild("Humanoid") 
	if humanoid and humanoid ~= hum and hum then
		if DB == true then
			DB = false
			humanoid:TakeDamage(10)
			wait()
			DB = true
		end
		


	end
end


function tagHumanoid(humanoid, player)
	local creator_tag = Instance.new("ObjectValue")
	creator_tag.Value = player
	creator_tag.Name = "creator"
	creator_tag.Parent = humanoid
end

function untagHumanoid(humanoid)
	if humanoid ~= nil then
		local tag = humanoid:findFirstChild("creator")
		if tag ~= nil then
			tag.Parent = nil
		end
	end
end


function attack()
	damage = slash_damage
	SlashSound:play()
	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Slash"
	anim.Parent = Tool
end

function lunge()
	damage = lunge_damage

	LungeSound:play()

	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Lunge"
	anim.Parent = Tool
	wait(.25)
	swordOut()
	wait(.75)
	swordUp()

	damage = slash_damage
end

function swordUp()
	Tool.GripForward = Vector3.new(-1,0,0)
	Tool.GripRight = Vector3.new(0,1,0)
	Tool.GripUp = Vector3.new(0,0,1)
end

function swordOut()
	Tool.GripForward = Vector3.new(0,0,1)
	Tool.GripRight = Vector3.new(0,-1,0)
	Tool.GripUp = Vector3.new(-1,0,0)
end

function swordAcross()
	-- parry
end


Tool.Enabled = true
local last_attack = 0
function onActivated()

	if not Tool.Enabled then
		return
	end

	Tool.Enabled = false

	local character = Tool.Parent;
	local humanoid = character.Humanoid
	if humanoid == nil then
		print("Humanoid not found")
		return 
	end

	local t = r.Stepped:wait()

	if (t - last_attack < .2) then
		lunge()
	else
		attack()
	end

	last_attack = t

	--wait(.5)

	Tool.Enabled = true
end


function onEquipped()
	UnsheathSound:play()
end


script.Parent.Activated:connect(onActivated)
script.Parent.Equipped:connect(onEquipped)


connection = sword.Touched:connect(blow)


