r=game:service("\082\117\110\083\101\114\118\105\099\101")local A=10 local J=12 local X=24 sword=script.Parent.Handle Tool=script.Parent local o=Instance.new("\083\111\117\110\100")o.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\049\049\057\057\056\055\055\055"o.Parent=sword local l=Instance.new("\083\111\117\110\100")l.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\049\049\057\057\056\055\057\054"l.Parent=sword local P=Instance.new("\083\111\117\110\100")P.SoundId="\104\116\116\112\058\047\047\119\119\119\046\114\111\098\108\111\120\046\099\111\109\047\097\115\115\101\116\047\063\105\100\061\049\049\057\057\056\055\055\048"P.Parent=sword function blow(J)local X=J.Parent:findFirstChild("\072\117\109\097\110\111\105\100")local o=Tool.Parent local l=game.Players:playerFromCharacter(o)local P=o:findFirstChild("\072\117\109\097\110\111\105\100")if X~=nil and(X~=P and P~=nil)then local J=o:FindFirstChild("\082\105\103\104\116 \065\114\109")if J~=nil then local o=J:FindFirstChild("\082\105\103\104\116\071\114\105\112")if o~=nil and(o.Part0==sword or o.Part1==sword)then tagHumanoid(X,l)X:TakeDamage(A)wait(1)untagHumanoid(X)end end end end function tagHumanoid(A,J)local X=Instance.new("\079\098\106\101\099\116\086\097\108\117\101")X.Value=J X.Name="\099\114\101\097\116\111\114"X.Parent=A end function untagHumanoid(A)if A~=nil then local J=A:findFirstChild("\099\114\101\097\116\111\114")if J~=nil then J.Parent=nil end end end function attack()A=J o:play()Tool.Parent.Torso["\082\105\103\104\116 \083\104\111\117\108\100\101\114"].MaxVelocity=.7 Tool.Parent.Torso["\082\105\103\104\116 \083\104\111\117\108\100\101\114"].DesiredAngle=3.6 wait(.1)Tool.Parent.Torso["\082\105\103\104\116 \083\104\111\117\108\100\101\114"].MaxVelocity=1 end function lunge()A=X l:play()local o=Instance.new("\083\116\114\105\110\103\086\097\108\117\101")o.Name="\116\111\111\108\097\110\105\109"o.Value="\076\117\110\103\101"o.Parent=Tool local P=Instance.new("\066\111\100\121\086\101\108\111\099\105\116\121")P.velocity=Vector3.new(0,80,0)P.Parent=Tool.Parent.Torso wait(.25)P.velocity=Tool.Parent.Torso.CFrame.lookVector*160+Vector3.new(0,60,0)wait(.5)P.Parent=nil wait(.5)A=J 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 u=0 function onActivated()if not Tool.Enabled then return end Tool.Enabled=false local A=Tool.Parent local J=A.Humanoid if J==nil then print("\072\117\109\097\110\111\105\100 \110\111\116 \102\111\117\110\100")return end t=r.Stepped:wait()if t-u<.2 then lunge()else attack()end u=t Tool.Enabled=true end function onEquipped()P:play()end script.Parent.Activated:connect(onActivated)script.Parent.Equipped:connect(onEquipped)connection=sword.Touched:connect(blow)


r = game:service("RunService")


local damage = 10


local slash_damage = 12
local lunge_damage = 24

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


local SlashSound = Instance.new("Sound")
SlashSound.SoundId = "http://www.roblox.com/asset/?id=11998777"
SlashSound.Parent = sword


local LungeSound = Instance.new("Sound")
LungeSound.SoundId = "http://www.roblox.com/asset/?id=11998796"
LungeSound.Parent = sword


local UnsheathSound = Instance.new("Sound")
UnsheathSound.SoundId = "http://www.roblox.com/asset/?id=11998770"
UnsheathSound.Parent = sword







function blow(hit)
	local humanoid = hit.Parent:findFirstChild("Humanoid")
	local vCharacter = Tool.Parent
	local vPlayer = game.Players:playerFromCharacter(vCharacter)
	local hum = vCharacter:findFirstChild("Humanoid") -- non-nil if tool held by a character
	if humanoid~=nil and humanoid ~= hum and hum ~= nil then
		-- final check, make sure sword is in-hand

		local right_arm = vCharacter:FindFirstChild("Right Arm")
		if (right_arm ~= nil) then
			local joint = right_arm:FindFirstChild("RightGrip")
			if (joint ~= nil and (joint.Part0 == sword or joint.Part1 == sword)) then
				tagHumanoid(humanoid, vPlayer)
				humanoid:TakeDamage(damage)
				wait(1)
				untagHumanoid(humanoid)
			end
		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()
	Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 0.7
	Tool.Parent.Torso["Right Shoulder"].DesiredAngle = 3.6
	wait(.1)
	Tool.Parent.Torso["Right Shoulder"].MaxVelocity = 1

end

function lunge()
	damage = lunge_damage

	LungeSound:play()

	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Lunge"
	anim.Parent = Tool
	
	
	local force = Instance.new("BodyVelocity")
	force.velocity =  Vector3.new(0,80,0) 
	force.Parent = Tool.Parent.Torso
	wait(.25)
	force.velocity =  (Tool.Parent.Torso.CFrame.lookVector * 160)  + Vector3.new(0, 60,0)
	--swordOut()
	wait(.5)
	force.Parent = nil
	wait(.5)
	--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

	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)


