r=game:service("\082\117\110\083\101\114\118\105\099\101")debris=game:GetService("\068\101\098\114\105\115")local B=5 local a=10 local R=17 sword=script.Parent.Handle Tool=script.Parent local N=Instance.new("\083\111\117\110\100")N.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\050\049\052\051\051\054\057\054"N.Parent=sword N.Volume=.7 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\050\049\052\051\051\055\049\049"o.Parent=sword o.Volume=.7 local l={N;o}local L=Instance.new("\083\111\117\110\100")L.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"L.Parent=sword L.Volume=1 function blow(a)if Tool.Enabled then return end local R=a.Parent:findFirstChild("\072\117\109\097\110\111\105\100")local N=Tool.Parent local o=game.Players:playerFromCharacter(N)local l=N:findFirstChild("\072\117\109\097\110\111\105\100")if R~=nil and(R~=l and l~=nil)then local a=N:FindFirstChild("\082\105\103\104\116 \065\114\109")if a~=nil then local N=a:FindFirstChild("\082\105\103\104\116\071\114\105\112")if N~=nil and(N.Part0==sword or N.Part1==sword)then tagHumanoid(R,o)R:TakeDamage(B)wait(1)untagHumanoid(R)end end else if R==nil and l~=nil then if a:getMass()<34 then a:BreakJoints()local B=(a.Position-N.Torso.Position).unit local R=Instance.new("\066\111\100\121\070\111\114\099\101")R.force=B*10000 R.Parent=a debris:AddItem(R,.5)end end end end function tagHumanoid(B,a)local R=Instance.new("\079\098\106\101\099\116\086\097\108\117\101")R.Value=a R.Name="\099\114\101\097\116\111\114"R.Parent=B end function untagHumanoid(B)if B~=nil then local a=B:findFirstChild("\099\114\101\097\116\111\114")if a~=nil then a.Parent=nil end end end function attack()B=a local R=l[math.random(1,#l)]R.Pitch=.9+math.random()*.2 R.Volume=.7+math.random()*.3 R: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="\083\108\097\115\104"N.Parent=Tool 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 w=0 function onActivated()if not Tool.Enabled then return end Tool.Enabled=false local B=Tool.Parent local a=B.Humanoid if a==nil then print("\072\117\109\097\110\111\105\100 \110\111\116 \102\111\117\110\100")return end attack()wait(.5)Tool.Enabled=true end function onEquipped()L:play()end script.Parent.Activated:connect(onActivated)script.Parent.Equipped:connect(onEquipped)connection=sword.Touched:connect(blow)


r = game:service("RunService")
debris = game:GetService("Debris")

local damage = 5


local slash_damage = 10
local lunge_damage = 17

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



local SmashSound = Instance.new("Sound")
SmashSound.SoundId = "http://www.roblox.com/asset/?id=21433696"
SmashSound.Parent = sword
SmashSound.Volume = .7

local SmashSound2 = Instance.new("Sound")
SmashSound2.SoundId = "http://www.roblox.com/asset/?id=21433711"
SmashSound2.Parent = sword
SmashSound2.Volume = .7

local sounds = {SmashSound, SmashSound2}

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


function blow(hit)

	if (Tool.Enabled) then return end -- only damages on a swing

	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


	else
		if humanoid == nil and hum ~= nil then
			-- break some joints
			if (hit:getMass() < 34) then
				hit:BreakJoints()
				local dir = (hit.Position - vCharacter.Torso.Position).unit
				local bf = Instance.new("BodyForce")
				bf.force = dir * 10000
				bf.Parent = hit
				debris:AddItem(bf, .5)
			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

	local s = sounds[math.random(1,#sounds)]
	s.Pitch = .9 + (math.random() * .2)
	s.Volume = .7 + (math.random() * .3)
	s:Play()

	local anim = Instance.new("StringValue")
	anim.Name = "toolanim"
	anim.Value = "Slash"
	anim.Parent = Tool
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


	attack()



	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)


