Advertisement
pootis93xg

punch?

Oct 1st, 2020 (edited)
1,220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --By Rufus14
  2. --Converted with ttyyuu12345's model to script plugin v4
  3. Tool0 = Instance.new("Tool")
  4. Sound2 = Instance.new("Sound")
  5. Sound3 = Instance.new("Sound")
  6. Sound4 = Instance.new("Sound")
  7. Sound5 = Instance.new("Sound")
  8. Sound6 = Instance.new("Sound")
  9. Sound7 = Instance.new("Sound")
  10. Tool0.Name = "Combat"
  11. Tool0.CanBeDropped = false
  12. Tool0.Grip = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0)
  13. Tool0.GripForward = Vector3.new(-1, -0, -0)
  14. Tool0.GripPos = Vector3.new(0, 0, -1.70000005)
  15. Tool0.GripRight = Vector3.new(0, 1, 0)
  16. Tool0.GripUp = Vector3.new(0, 0, 1)
  17. Tool0.RequiresHandle = false
  18. Tool0.ToolTip = "Hold left mouse button to block, jump and attack for a drop kick."
  19. Sound2.Name = "Kick"
  20. Sound2.Parent = script
  21. Sound2.SoundId = "rbxassetid://1869841622"
  22. Sound3.Name = "Swoosh"
  23. Sound3.Parent = script
  24. Sound3.SoundId = "rbxassetid://1489705211"
  25. Sound3.Volume = 0.69999998807907
  26. Sound4.Name = "Punch"
  27. Sound4.Parent = script
  28. Sound4.SoundId = "rbxassetid://679798995"
  29. Sound4.Volume = 20
  30. Sound5.Name = "Bass"
  31. Sound5.Parent = script
  32. Sound5.SoundId = "rbxassetid://2487714799"
  33. Sound5.Volume = 1
  34. Sound6.Name = "Ouch"
  35. Sound6.Parent = script
  36. Sound6.SoundId = "rbxassetid://1168269804"
  37. Sound7.Name = "Block"
  38. Sound7.Parent = script
  39. Sound7.SoundId = "rbxassetid://4306994664"
  40. Tool0.Parent = owner.Character
  41. coroutine.wrap(function()
  42. --By Rufus14
  43. canattack = true
  44. cananimate = false
  45. equipped = false
  46. tool = Tool0
  47. swishsound = script.Swoosh
  48. blocksound = script.Block
  49. punchsound = script.Punch
  50. kicksound = script.Kick
  51. goresound = script.Ouch
  52. basssound = script.Bass
  53. owner = nil
  54. character = nil
  55. mouseclick = false
  56. attacknumber = 1
  57. instancewhitelist = {}
  58. runservice = game:GetService("RunService")
  59. --
  60. tool.Activated:connect(function()
  61.     mouseclick = true
  62. end)
  63. tool.Deactivated:connect(function()
  64.     mouseclick = false
  65. end)
  66. --
  67. function ragdollkill(character)
  68.     local victimshumanoid = character:findFirstChildOfClass("Humanoid")
  69.     local checkragd = character:findFirstChild("ragded")
  70.     if not checkragd then
  71.         local boolvalue = Instance.new("BoolValue", character)
  72.         boolvalue.Name = "ragded"
  73.         if not character:findFirstChild("UpperTorso") then
  74.             character.Archivable = true
  75.             for i,v in pairs(character:GetChildren()) do
  76.                 if v.ClassName == "Sound" then
  77.                     v:remove()
  78.                 end
  79.                 for q,w in pairs(v:GetChildren()) do
  80.                     if w.ClassName == "Sound" then
  81.                         w:remove()
  82.                     end
  83.                 end
  84.             end
  85.             local ragdoll = character:Clone()
  86.             for i,v in pairs(ragdoll:GetDescendants()) do
  87.                 if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
  88.                     v:destroy()
  89.                 end
  90.             end
  91.             ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
  92.             ragdoll:findFirstChildOfClass("Humanoid").Health = 0
  93.             if ragdoll:findFirstChild("Health") then
  94.                 if ragdoll:findFirstChild("Health").ClassName == "Script" then
  95.                     ragdoll:findFirstChild("Health").Disabled = true
  96.                 end
  97.             end
  98.             for i,v in pairs(character:GetChildren()) do
  99.                 if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
  100.                     v:destroy()
  101.                 end
  102.             end
  103.             for i,v in pairs(character:GetChildren()) do
  104.                 if v.ClassName == "Accessory" then
  105.                     local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
  106.                     if attachment1 then
  107.                         for q,w in pairs(character:GetChildren()) do
  108.                             if w.ClassName == "Part" then
  109.                                 local attachment2 = w:findFirstChild(attachment1.Name)
  110.                                 if attachment2 then
  111.                                     local hinge = Instance.new("HingeConstraint", v.Handle)
  112.                                     hinge.Attachment0 = attachment1
  113.                                     hinge.Attachment1 = attachment2
  114.                                     hinge.LimitsEnabled = true
  115.                                     hinge.LowerAngle = 0
  116.                                     hinge.UpperAngle = 0
  117.                                 end
  118.                             end
  119.                         end
  120.                     end
  121.                 end
  122.             end
  123.             ragdoll.Parent = workspace
  124.             if ragdoll:findFirstChild("Right Arm") then
  125.                 local glue = Instance.new("Glue", ragdoll.Torso)
  126.                 glue.Part0 = ragdoll.Torso
  127.                 glue.Part1 = ragdoll:findFirstChild("Right Arm")
  128.                 glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  129.                 glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  130.                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
  131.                 limbcollider.Size = Vector3.new(1.4,1,1)
  132.                 limbcollider.Shape = "Cylinder"
  133.                 limbcollider.Transparency = 1
  134.                 limbcollider.Name = "LimbCollider"
  135.                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  136.                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
  137.                 limbcolliderweld.Part1 = limbcollider
  138.                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  139.             end
  140.             if ragdoll:findFirstChild("Left Arm") then
  141.                 local glue = Instance.new("Glue", ragdoll.Torso)
  142.                 glue.Part0 = ragdoll.Torso
  143.                 glue.Part1 = ragdoll:findFirstChild("Left Arm")
  144.                 glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  145.                 glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  146.                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
  147.                 limbcollider.Size = Vector3.new(1.4,1,1)
  148.                 limbcollider.Shape = "Cylinder"
  149.                 limbcollider.Name = "LimbCollider"
  150.                 limbcollider.Transparency = 1
  151.                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  152.                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
  153.                 limbcolliderweld.Part1 = limbcollider
  154.                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  155.             end
  156.             if ragdoll:findFirstChild("Left Leg") then
  157.                 local glue = Instance.new("Glue", ragdoll.Torso)
  158.                 glue.Part0 = ragdoll.Torso
  159.                 glue.Part1 = ragdoll:findFirstChild("Left Leg")
  160.                 glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  161.                 glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  162.                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
  163.                 limbcollider.Size = Vector3.new(1.4,1,1)
  164.                 limbcollider.Shape = "Cylinder"
  165.                 limbcollider.Name = "LimbCollider"
  166.                 limbcollider.Transparency = 1
  167.                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  168.                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
  169.                 limbcolliderweld.Part1 = limbcollider
  170.                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  171.             end
  172.             if ragdoll:findFirstChild("Right Leg") then
  173.                 local glue = Instance.new("Glue", ragdoll.Torso)
  174.                 glue.Part0 = ragdoll.Torso
  175.                 glue.Part1 = ragdoll:findFirstChild("Right Leg")
  176.                 glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  177.                 glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  178.                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
  179.                 limbcollider.Size = Vector3.new(1.4,1,1)
  180.                 limbcollider.Shape = "Cylinder"
  181.                 limbcollider.Name = "LimbCollider"
  182.                 limbcollider.Transparency = 1
  183.                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  184.                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
  185.                 limbcolliderweld.Part1 = limbcollider
  186.                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  187.             end
  188.             if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
  189.                 local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
  190.                 HeadAttachment.Position = Vector3.new(0, -0.5, 0)
  191.                 local connection = Instance.new('HingeConstraint', ragdoll["Head"])
  192.                 connection.LimitsEnabled = true
  193.                 connection.Attachment0 = ragdoll.Torso.NeckAttachment
  194.                 connection.Attachment1 = HeadAttachment
  195.                 connection.UpperAngle = 60
  196.                 connection.LowerAngle = -60
  197.             elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
  198.                 local hedweld = Instance.new("Weld", ragdoll.Torso)
  199.                 hedweld.Part0 = ragdoll.Torso
  200.                 hedweld.Part1 = ragdoll.Head
  201.                 hedweld.C0 = CFrame.new(0,1.5,0)
  202.             end
  203.             game.Debris:AddItem(ragdoll, 30)
  204.             local function aaaalol()
  205.                 wait(0.2)
  206.                 local function searchforvelocity(wot)
  207.                     for i,v in pairs(wot:GetChildren()) do
  208.                         searchforvelocity(v)
  209.                         if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
  210.                             v:destroy()
  211.                         end
  212.                     end
  213.                 end
  214.                 searchforvelocity(ragdoll)
  215.                 wait(0.5)
  216.                 if ragdoll:findFirstChildOfClass("Humanoid") then
  217.                     ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
  218.                 end
  219.                 if ragdoll:findFirstChild("HumanoidRootPart") then
  220.                     ragdoll:findFirstChild("HumanoidRootPart"):destroy()
  221.                 end
  222.             end
  223.             spawn(aaaalol)
  224.         elseif character:findFirstChild("UpperTorso") then
  225.             character.Archivable = true
  226.             for i,v in pairs(character:GetChildren()) do
  227.                 if v.ClassName == "Sound" then
  228.                     v:remove()
  229.                 end
  230.                 for q,w in pairs(v:GetChildren()) do
  231.                     if w.ClassName == "Sound" then
  232.                         w:remove()
  233.                     end
  234.                 end
  235.             end
  236.             local ragdoll = character:Clone()
  237.             ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
  238.             for i,v in pairs(ragdoll:GetDescendants()) do
  239.                 if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
  240.                     v:destroy()
  241.                 end
  242.             end
  243.             ragdoll:BreakJoints()
  244.             ragdoll:findFirstChildOfClass("Humanoid").Health = 0
  245.             if ragdoll:findFirstChild("Health") then
  246.                 if ragdoll:findFirstChild("Health").ClassName == "Script" then
  247.                     ragdoll:findFirstChild("Health").Disabled = true
  248.                 end
  249.             end
  250.             for i,v in pairs(character:GetChildren()) do
  251.                 if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
  252.                     v:destroy()
  253.                 end
  254.             end
  255.             for i,v in pairs(character:GetChildren()) do
  256.                 if v.ClassName == "Accessory" then
  257.                     local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
  258.                     if attachment1 then
  259.                         for q,w in pairs(character:GetChildren()) do
  260.                             if w.ClassName == "Part" or w.ClassName == "MeshPart" then
  261.                                 local attachment2 = w:findFirstChild(attachment1.Name)
  262.                                 if attachment2 then
  263.                                     local hinge = Instance.new("HingeConstraint", v.Handle)
  264.                                     hinge.Attachment0 = attachment1
  265.                                     hinge.Attachment1 = attachment2
  266.                                     hinge.LimitsEnabled = true
  267.                                     hinge.LowerAngle = 0
  268.                                     hinge.UpperAngle = 0
  269.                                 end
  270.                             end
  271.                         end
  272.                     end
  273.                 end
  274.             end
  275.             ragdoll.Parent = workspace
  276.             local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
  277.             Humanoid.PlatformStand = true
  278.             local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
  279.                 local connection = Instance.new('BallSocketConstraint', limb)
  280.                 connection.LimitsEnabled = true
  281.                 connection.Attachment0 = attachementone
  282.                 connection.Attachment1 = attachmenttwo
  283.                 connection.TwistLimitsEnabled = true
  284.                 connection.TwistLowerAngle = twistlower
  285.                 connection.TwistUpperAngle = twistupper
  286.                 local limbcollider = Instance.new("Part", limb)
  287.                 limbcollider.Size = Vector3.new(0.1,1,1)
  288.                 limbcollider.Shape = "Cylinder"
  289.                 limbcollider.Transparency = 1
  290.                 limbcollider:BreakJoints()
  291.                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  292.                 limbcolliderweld.Part0 = limb
  293.                 limbcolliderweld.Part1 = limbcollider
  294.                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
  295.             end
  296.             local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
  297.                 local connection = Instance.new('HingeConstraint', limb)
  298.                 connection.LimitsEnabled = true
  299.                 connection.Attachment0 = attachementone
  300.                 connection.Attachment1 = attachmenttwo
  301.                 connection.LimitsEnabled = true
  302.                 connection.LowerAngle = lower
  303.                 connection.UpperAngle = upper
  304.                 local limbcollider = Instance.new("Part", limb)
  305.                 limbcollider.Size = Vector3.new(0.1,1,1)
  306.                 limbcollider.Shape = "Cylinder"
  307.                 limbcollider.Transparency = 1
  308.                 limbcollider:BreakJoints()
  309.                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  310.                 limbcolliderweld.Part0 = limb
  311.                 limbcolliderweld.Part1 = limbcollider
  312.                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
  313.             end
  314.             local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
  315.             HeadAttachment.Position = Vector3.new(0, -0.5, 0)
  316.             if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
  317.                 makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
  318.             end
  319.             makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
  320.             makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
  321.             makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
  322.             makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
  323.             --
  324.             makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
  325.             makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
  326.             makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
  327.             --
  328.             makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
  329.             makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
  330.             makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
  331.             --
  332.             makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
  333.             makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
  334.             makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
  335.             for i,v in pairs(Humanoid.Parent:GetChildren()) do
  336.                 if v.ClassName == "Accessory" then
  337.                     local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
  338.                     if attachment1 then
  339.                         for q,w in pairs(Humanoid.Parent:GetChildren()) do
  340.                             if w.ClassName == "Part" then
  341.                                 local attachment2 = w:findFirstChild(attachment1.Name)
  342.                                 if attachment2 then
  343.                                     local hinge = Instance.new("HingeConstraint", v.Handle)
  344.                                     hinge.Attachment0 = attachment1
  345.                                     hinge.Attachment1 = attachment2
  346.                                     hinge.LimitsEnabled = true
  347.                                     hinge.LowerAngle = 0
  348.                                     hinge.UpperAngle = 0
  349.                                 end
  350.                             end
  351.                         end
  352.                     end
  353.                 end
  354.             end
  355.             for i,v in pairs(ragdoll:GetChildren()) do
  356.                 for q,w in pairs(v:GetChildren()) do
  357.                     if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] and w.Name ~= "ouch_weld" then
  358.                         w:destroy()
  359.                     end
  360.                 end
  361.             end
  362.             if ragdoll:findFirstChild("HumanoidRootPart") then
  363.                 ragdoll.HumanoidRootPart:destroy()
  364.             end
  365.             if ragdoll:findFirstChildOfClass("Humanoid") then
  366.                 ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
  367.             end
  368.             local function waitfordatmoment()
  369.                 wait(0.2)
  370.                 local function searchforvelocity(wot)
  371.                     for i,v in pairs(wot:GetChildren()) do
  372.                         searchforvelocity(v)
  373.                         if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
  374.                             v:destroy()
  375.                         end
  376.                     end
  377.                 end
  378.                 searchforvelocity(ragdoll)
  379.             end
  380.             spawn(waitfordatmoment)
  381.             game.Debris:AddItem(ragdoll, 30)
  382.         end
  383.     end
  384. end
  385. function damage(what, action, t, range)
  386.     for i,v in pairs(workspace:GetDescendants()) do
  387.         if v.ClassName == "Model" then
  388.             local head = v:findFirstChild("Head")
  389.             local humanoid = v:findFirstChildOfClass("Humanoid")
  390.             local torso = v:findFirstChild("Torso")
  391.             local ragdolled = v:findFirstChild("ragdolledpunch")
  392.             if humanoid and head then
  393.                 if (head.Position - what.Position).magnitude < range and v ~= character and humanoid.Health > 0 then
  394.                     if action ~= "stomp" then
  395.                         if ragdolled then
  396.                             return
  397.                         end
  398.                     end
  399.                     local ragdolledpunch = Instance.new("BoolValue", v)
  400.                     ragdolledpunch.Name = "ragdolledpunch"
  401.                     game.Debris:AddItem(ragdolledpunch, t)
  402.                     if action == "punch" then
  403.                         local velocity = Instance.new("BodyVelocity", head)
  404.                         velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
  405.                         velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * math.random(5,15)
  406.                         punchsound.PlaybackSpeed = 1+(math.random(-5,5)/15)
  407.                         punchsound:Play()
  408.                         game.Debris:AddItem(velocity, 0.2)
  409.                     elseif action == "uppercut" then
  410.                         local velocity = Instance.new("BodyVelocity", head)
  411.                         velocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
  412.                         velocity.Velocity = (character.HumanoidRootPart.CFrame.upVector * math.random(5,15)) + (character.HumanoidRootPart.CFrame.lookVector * math.random(5,15))
  413.                         kicksound.PlaybackSpeed = 1+(math.random(-5,5)/15)
  414.                         kicksound:Play()
  415.                         game.Debris:AddItem(velocity, 0.2)
  416.                     elseif action == "kick" then
  417.                         local velocity = Instance.new("BodyVelocity", head)
  418.                         velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
  419.                         velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * 20
  420.                         goresound.PlaybackSpeed = 1+(math.random(-5,5)/15)
  421.                         goresound:Play()
  422.                         game.Debris:AddItem(velocity, 0.2)
  423.                     elseif action == "dropkick" then
  424.                         local velocity = Instance.new("BodyVelocity", head)
  425.                         velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
  426.                         velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * 30
  427.                         kicksound.PlaybackSpeed = 1+(math.random(-5,5)/15)
  428.                         kicksound:Play()
  429.                         goresound.PlaybackSpeed = 1+(math.random(-5,5)/15)
  430.                         goresound:Play()
  431.                         game.Debris:AddItem(velocity, 0.2)
  432.                     elseif action == "stomp" then
  433.                         punchsound.PlaybackSpeed = 1+(math.random(-5,5)/15)
  434.                         punchsound:Play()
  435.                     end
  436.                     if action ~= "blocked" then
  437.                         local dmg = math.random(30,50)
  438.                         if action == "uppercut" then
  439.                             dmg = dmg + math.random(20,30)
  440.                         elseif action == "kick" then
  441.                             dmg = dmg + math.random(40,50)
  442.                         elseif action == "dropkick" then
  443.                             dmg = dmg + math.random(50,90)
  444.                         end
  445.                         if humanoid.Health <= dmg then
  446.                             humanoid.Health = 0
  447.                             ragdollkill(v)
  448.                         end
  449.                         humanoid.Health = humanoid.Health - dmg
  450.                     end
  451.                     if action ~= "blocked" and action ~= "uppercut" and action ~= "kick" and action ~= "dropkick" then
  452.                         if math.random(1,5) ~= 1 then
  453.                             return
  454.                         end
  455.                     end
  456.                     if action == "stomp" then
  457.                         return
  458.                     end
  459.                     humanoid.PlatformStand = true
  460.                     coroutine.wrap(function()
  461.                         wait(t)
  462.                         humanoid.PlatformStand = false
  463.                     end)()
  464.                     if torso then
  465.                         coroutine.wrap(function()
  466.                             humanoid = v:WaitForChild("Humanoid")
  467.                             local ragdoll = v
  468.                             if ragdoll:findFirstChild("Right Arm") then
  469.                                 local glue = Instance.new("Glue", ragdoll.Torso)
  470.                                 glue.Part0 = ragdoll.Torso
  471.                                 glue.Part1 = ragdoll:findFirstChild("Right Arm")
  472.                                 glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  473.                                 glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
  474.                                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
  475.                                 limbcollider.Size = Vector3.new(1.4,1,1)
  476.                                 limbcollider.Shape = "Cylinder"
  477.                                 limbcollider.Transparency = 1
  478.                                 limbcollider.Name = "LimbCollider"
  479.                                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  480.                                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
  481.                                 limbcolliderweld.Part1 = limbcollider
  482.                                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  483.                                 coroutine.wrap(function()
  484.                                     if ragdoll.Torso:findFirstChild("Right Shoulder") then
  485.                                         local limbclone = ragdoll.Torso:findFirstChild("Right Shoulder"):Clone()
  486.                                         ragdoll.Torso:findFirstChild("Right Shoulder"):destroy()
  487.                                         coroutine.wrap(function()
  488.                                             wait(t)
  489.                                             limbclone.Parent = ragdoll.Torso
  490.                                             limbclone.Part0 = ragdoll.Torso
  491.                                             limbclone.Part1 = ragdoll["Right Arm"]
  492.                                         end)()
  493.                                     end
  494.                                     wait(t)
  495.                                     glue:destroy()
  496.                                     limbcollider:destroy()
  497.                                     limbcolliderweld:destroy()
  498.                                 end)()
  499.                             end
  500.                             if ragdoll:findFirstChild("Left Arm") then
  501.                                 local glue = Instance.new("Glue", ragdoll.Torso)
  502.                                 glue.Part0 = ragdoll.Torso
  503.                                 glue.Part1 = ragdoll:findFirstChild("Left Arm")
  504.                                 glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  505.                                 glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  506.                                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
  507.                                 limbcollider.Size = Vector3.new(1.4,1,1)
  508.                                 limbcollider.Shape = "Cylinder"
  509.                                 limbcollider.Name = "LimbCollider"
  510.                                 limbcollider.Transparency = 1
  511.                                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  512.                                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")        
  513.                                 limbcolliderweld.Part1 = limbcollider
  514.                                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
  515.                                 coroutine.wrap(function()
  516.                                     if ragdoll.Torso:findFirstChild("Left Shoulder") then
  517.                                         local limbclone = ragdoll.Torso:findFirstChild("Left Shoulder"):Clone()
  518.                                         ragdoll.Torso:findFirstChild("Left Shoulder"):destroy()
  519.                                         coroutine.wrap(function()
  520.                                             wait(t)
  521.                                             limbclone.Parent = ragdoll.Torso
  522.                                             limbclone.Part0 = ragdoll.Torso
  523.                                             limbclone.Part1 = ragdoll["Left Arm"]
  524.                                         end)()
  525.                                     end
  526.                                     wait(t)
  527.                                     glue:destroy()
  528.                                     limbcollider:destroy()
  529.                                     limbcolliderweld:destroy()
  530.                                 end)()
  531.                             end
  532.                             if ragdoll:findFirstChild("Left Leg") then
  533.                                 local glue = Instance.new("Glue", ragdoll.Torso)
  534.                                 glue.Part0 = ragdoll.Torso
  535.                                 glue.Part1 = ragdoll:findFirstChild("Left Leg")
  536.                                 glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  537.                                 glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
  538.                                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
  539.                                 limbcollider.Size = Vector3.new(1.5,1,1)
  540.                                 limbcollider.Shape = "Cylinder"
  541.                                 limbcollider.Name = "LimbCollider"
  542.                                 limbcollider.Transparency = 1
  543.                                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  544.                                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
  545.                                 limbcolliderweld.Part1 = limbcollider
  546.                                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
  547.                                 coroutine.wrap(function()
  548.                                     if ragdoll.Torso:findFirstChild("Left Hip") then
  549.                                         local limbclone = ragdoll.Torso:findFirstChild("Left Hip"):Clone()
  550.                                         ragdoll.Torso:findFirstChild("Left Hip"):destroy()
  551.                                         coroutine.wrap(function()
  552.                                             wait(t)
  553.                                             limbclone.Parent = ragdoll.Torso
  554.                                             limbclone.Part0 = ragdoll.Torso
  555.                                             limbclone.Part1 = ragdoll["Left Leg"]
  556.                                         end)()
  557.                                     end
  558.                                     wait(t)
  559.                                     glue:destroy()
  560.                                     limbcollider:destroy()
  561.                                     limbcolliderweld:destroy()
  562.                                 end)()
  563.                             end
  564.                             if ragdoll:findFirstChild("Right Leg") then
  565.                                 local glue = Instance.new("Glue", ragdoll.Torso)
  566.                                 glue.Part0 = ragdoll.Torso
  567.                                 glue.Part1 = ragdoll:findFirstChild("Right Leg")
  568.                                 glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  569.                                 glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
  570.                                 local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
  571.                                 limbcollider.Size = Vector3.new(1.5,1,1)
  572.                                 limbcollider.Shape = "Cylinder"
  573.                                 limbcollider.Name = "LimbCollider"
  574.                                 limbcollider.Transparency = 1
  575.                                 local limbcolliderweld = Instance.new("Weld", limbcollider)
  576.                                 limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
  577.                                 limbcolliderweld.Part1 = limbcollider
  578.                                 limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
  579.                                 coroutine.wrap(function()
  580.                                     if ragdoll.Torso:findFirstChild("Right Hip") then
  581.                                         local limbclone = ragdoll.Torso:findFirstChild("Right Hip"):Clone()
  582.                                         ragdoll.Torso:findFirstChild("Right Hip"):destroy()
  583.                                         coroutine.wrap(function()
  584.                                             wait(t)
  585.                                             limbclone.Parent = ragdoll.Torso
  586.                                             limbclone.Part0 = ragdoll.Torso
  587.                                             limbclone.Part1 = ragdoll["Right Leg"]
  588.                                         end)()
  589.                                     end
  590.                                     wait(t)
  591.                                     glue:destroy()
  592.                                     limbcollider:destroy()
  593.                                     limbcolliderweld:destroy()
  594.                                 end)()
  595.                             end
  596.                         end)()
  597.                     end
  598.                 end
  599.             end
  600.         end
  601.     end
  602. end
  603. --
  604. tool.Activated:connect(function()
  605.     if owner ~= nil and character ~= nil and canattack then
  606.         local rightarmweld = character.Torso:findFirstChild("RightArmWeldpunch")
  607.         local leftarmweld = character.Torso:findFirstChild("LeftArmWeldpunch")
  608.         local headweld = character.Torso:findFirstChild("HeadWeldpunch")
  609.         local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldpunch")
  610.         for i,v in pairs(workspace:GetDescendants()) do
  611.             if v.ClassName == "Model" and v ~= character then
  612.                 local humanoid = v:findFirstChildOfClass("Humanoid")
  613.                 local headepic = v:findFirstChild("Head")
  614.                 if humanoid and headepic then
  615.                     if (headepic.Position - character.HumanoidRootPart.Position).magnitude < 5 and humanoid.PlatformStand and humanoid.Health > 0 then
  616.                         local rightlegweld = Instance.new("Weld", character.Torso)
  617.                         rightlegweld.Part0 = character.Torso
  618.                         rightlegweld.Part1 = character["Right Leg"]
  619.                         rightlegweld.C0 = CFrame.new(0.5,-2,0)
  620.                         rightlegweld.Name = "RightLegWeldbat"
  621.                         local leftlegweld = Instance.new("Weld", character.Torso)
  622.                         leftlegweld.Part0 = character.Torso
  623.                         leftlegweld.Part1 = character["Left Leg"]
  624.                         leftlegweld.C0 = CFrame.new(-0.5,-2,0)
  625.                         leftlegweld.Name = "LeftLegWeldbat"
  626.                         character:findFirstChildOfClass("Humanoid").WalkSpeed = 0
  627.                         for i = 0,1 , 0.1 do
  628.                             cananimate = false
  629.                             canattack = false
  630.                             character.HumanoidRootPart.CFrame = CFrame.new(character.HumanoidRootPart.Position, Vector3.new(headepic.Position.x,character.HumanoidRootPart.Position.y,headepic.Position.z))
  631.                             rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5, -0.75804615, -1.03058243, 1, 0, 0, 0, 1, 5.96046448e-08, 0, -5.96046448e-08, 1),i)
  632.                             leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5, -1.93969202, 0.342020512, 1, 0, 0, 0, 0.939692557, 0.342020333, 0, -0.342020392, 0.939692557),i)
  633.                             rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0,0),i)
  634.                             leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0,0),i)
  635.                             rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 1, 0, 0, 0, 0.939692557, -0.342020363, 0, 0.342020363, 0.939692557),i)
  636.                             headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.38302135, -0.32139349, 1, 0, 0, 0, 0.766044259, 0.642787755, 0, -0.642787755, 0.766044259),i)
  637.                             runservice.Stepped:wait()
  638.                         end
  639.                         for i = 0,1 , 0.15 do
  640.                             rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5, -1.93246841, -1.17564046, 1, 0, 0, 0, 0.939692557, -0.342019618, 0, 0.342019647, 0.939692676),i)
  641.                             leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5, -1.98480701, 0.173648238, 1, 0, 0, 0, 0.984807491, 0.173648387, 0, -0.173648402, 0.984807551),i)
  642.                             rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.64085674, 0.201163769, -2.38418579e-07, 0.939692616, -0.342020124, 0, 0.342020094, 0.939692497, 0, 0, 0, 0.99999994),i)
  643.                             leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.64085674, 0.201163769, -2.38418579e-07, 0.939692616, 0.342020124, 0, -0.342020094, 0.939692497, 0, 0, 0, 0.99999994),i)
  644.                             rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, -0.0347294807, -0.396961689, 1, 0, 0, 0, 0.98480773, 0.173648179, 0, -0.173648179, 0.98480773),i)
  645.                             headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.38302231, -0.321393967, 1, 0, 0, 0, 0.766044259, 0.642787695, 0, -0.642787695, 0.766044259),i)
  646.                             runservice.Stepped:wait()
  647.                         end
  648.                         damage(character["Right Leg"], "stomp", 1, 3.5)
  649.                         coroutine.wrap(function()
  650.                             for i = 0,1 ,0.07 do
  651.                                 leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5,-2,0),i)
  652.                                 rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5,-2,0),i)
  653.                                 runservice.Stepped:wait()
  654.                             end
  655.                             leftlegweld:destroy()
  656.                             rightlegweld:destroy()
  657.                             character:findFirstChildOfClass("Humanoid").WalkSpeed = 16
  658.                         end)()
  659.                         cananimate = true
  660.                         canattack = true
  661.                         return
  662.                     end
  663.                 end
  664.             end
  665.         end
  666.         if character:findFirstChildOfClass("Humanoid").Jump then
  667.             canattack = false
  668.             cananimate = false
  669.             character:findFirstChildOfClass("Humanoid").PlatformStand = true
  670.             local rightlegweld = Instance.new("Weld", character.Torso)
  671.             rightlegweld.Part0 = character.Torso
  672.             rightlegweld.Part1 = character["Right Leg"]
  673.             rightlegweld.C0 = CFrame.new(0.5,-2,0)
  674.             rightlegweld.Name = "RightLegWeldpunch"
  675.             local leftlegweld = Instance.new("Weld", character.Torso)
  676.             leftlegweld.Part0 = character.Torso
  677.             leftlegweld.Part1 = character["Left Leg"]
  678.             leftlegweld.C0 = CFrame.new(-0.5,-2,0)
  679.             leftlegweld.Name = "LeftLegWeldpunch"
  680.             local vel = Instance.new("BodyVelocity", character.HumanoidRootPart)
  681.             vel.MaxForce = Vector3.new(math.huge,600,math.huge)
  682.             vel.Velocity = character.HumanoidRootPart.CFrame.lookVector * 20
  683.             for i = 0,1 , 0.13 do
  684.                 damage(character["Left Leg"], "dropkick", 3.5, 3)
  685.                 damage(character["Right Leg"], "dropkick", 3.5, 3)
  686.                 rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5, -1, -0.400000095, 0.999999881, 0, 0, 0, 0.999999881, 0, 0, -1.49011612e-08, 0.99999994),i)
  687.                 leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5, -1, -0.400000095, 0.999999881, 0, 0, 0, 0.999999881, 0, 0, -1.49011612e-08, 0.99999994),i)
  688.                 rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.64085579, 0.201163769, 0, 0.939692438, -0.342020065, 0, 0.342020094, 0.939692438, 0, 0, 0, 0.99999994),i)
  689.                 leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.64085579, 0.201163769, 0, 0.939692438, 0.342020065, 0, -0.342020094, 0.939692438, 0, 0, 0, 0.99999994),i)
  690.                 rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.pi/2,0,0),i)
  691.                 headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.24999976, -0.433012486, 0.999999881, 0, 0, 0, 0.5, 0.866025448, 0, -0.866025448, 0.5),i)
  692.                 runservice.Stepped:wait()
  693.             end
  694.             swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
  695.             swishsound:Play()
  696.             for i = 0,1 , 0.13 do
  697.                 damage(character["Left Leg"], "dropkick", 3.5, 3)
  698.                 damage(character["Right Leg"], "dropkick", 3.5, 3)
  699.                 rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5, -2, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 1.49011612e-08, 0.99999994),i)
  700.                 leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5, -2, 0, 1, 0, 0, 0, 0.999999881, 0, 0, 1.49011612e-08, 0.99999994),i)
  701.                 rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.57922745, 0.094420433, 4.76837158e-07, 0.98480773, -0.173648179, 0, 0.173648149, 0.984807611, 0, -1.86264515e-09, 0, 0.99999994),i)
  702.                 leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.57922745, 0.094420433, 4.76837158e-07, 0.98480773, 0.173648179, 0, -0.173648149, 0.984807611, 0, 1.86264515e-09, 0, 0.99999994),i)
  703.                 rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ((math.pi/2)-math.rad(30),0,0),i)
  704.                 headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.32139361, -0.383021832, 1, 0, 0, 0, 0.642787635, 0.766044438, 0, -0.766044438, 0.642787635),i)
  705.                 runservice.Stepped:wait()
  706.             end
  707.             for i = 1,20 do
  708.                 damage(character["Left Leg"], "dropkick", 3.5, 3)
  709.                 damage(character["Right Leg"], "dropkick", 3.5, 3)
  710.                 runservice.Stepped:wait()
  711.             end
  712.             vel:destroy()
  713.             rightlegweld:destroy()
  714.             leftlegweld:destroy()
  715.             coroutine.wrap(function()
  716.                 wait(0.8)
  717.                 character:findFirstChildOfClass("Humanoid").PlatformStand = false
  718.             end)()
  719.             canattack = true
  720.             cananimate = true
  721.         else
  722.             canattack = false
  723.             cananimate = false
  724.             if attacknumber == 1 then
  725.                 local sine = 0
  726.                 local tiltval = 0
  727.                 for i = 1,20 do --17 and sine 3
  728.                     sine = sine + 1
  729.                     damage(character["Right Arm"], "punch", 1, 2)
  730.                     headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0) * CFrame.fromEulerAnglesXYZ(0,math.sin(sine/3.25),0),0.3)
  731.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,-math.sin(sine/3.25)*2) * CFrame.new(0,-0.5,0),0.3)
  732.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,(-math.sin(sine/3.25)*1.5)-math.rad(10)+(math.cos(sine/11.25))) * CFrame.new(0,-0.5,0),0.3)
  733.                     if i == 3 then
  734.                         swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
  735.                         swishsound:Play()
  736.                     end
  737.                     if i > 10 then
  738.                         if i < 17 then
  739.                             tiltval = tiltval + 0.048
  740.                         end
  741.                         rightarmweld.C0 = rightarmweld.C0 * CFrame.new(-tiltval/2,0,0) * CFrame.fromEulerAnglesXYZ(0,0,-tiltval)
  742.                     end
  743.                     rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(sine/3.25)/8,-math.sin(sine/3.25)*2.3,0), 0.3)
  744.                     runservice.Stepped:wait()
  745.                 end
  746.                 attacknumber = 2
  747.             elseif attacknumber == 2 then
  748.                 local sine = 0
  749.                 local tiltval = 0
  750.                 for i = 1,20 do --17 and sine 3
  751.                     sine = sine + 1
  752.                     damage(character["Left Arm"], "punch", 1, 2)
  753.                     headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0) * CFrame.fromEulerAnglesXYZ(0,-math.sin(sine/3.25),0),0.3)
  754.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,(math.sin(sine/3.25)*1.5)+math.rad(10)-(math.cos(sine/11.25))) * CFrame.new(0,-0.5,0),0.3)
  755.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0.5,0) * CFrame.fromEulerAnglesXYZ(math.pi/2,0,math.sin(sine/3.25)*2) * CFrame.new(0,-0.5,0),0.3)
  756.                     if i == 3 then
  757.                         swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
  758.                         swishsound:Play()
  759.                     end
  760.                     if i > 10 then
  761.                         if i < 17 then
  762.                             tiltval = tiltval + 0.048
  763.                         end
  764.                         leftarmweld.C0 = leftarmweld.C0 * CFrame.new(tiltval/2,0,0) * CFrame.fromEulerAnglesXYZ(0,0,tiltval)
  765.                     end
  766.                     rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(sine/3.25)/8,math.sin(sine/3.25)*2.3,0), 0.3)
  767.                     runservice.Stepped:wait()
  768.                 end
  769.                 attacknumber = 3
  770.             elseif attacknumber == 3 then
  771.                 for i = 0,1 , 0.06 do
  772.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.52833557, 0.510312557, 0.469846129, 0.939692497, -0.116977774, -0.321393788, 0.342020124, 0.321393818, 0.88302213, 1.49011612e-08, -0.939692616, 0.342020124),i)
  773.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.64085674, 0.307911873, -0.228921652, 0.939692557, 0.342020094, 0, -0.219846308, 0.604022801, -0.766044378, -0.262002587, 0.719846249, 0.642787576),i)
  774.                     rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.98480773, 0, -0.173648179, 0.0593911819, 0.939692616, 0.336824119, 0.163175911, -0.342020184, 0.925416529),i)
  775.                     headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.49240446, 0.0868239403, 0.999999881, -1.86264515e-09, 0, 3.7252903e-09, 0.984807789, -0.17364797, 0, 0.17364794, 0.98480773),i)
  776.                     runservice.Stepped:wait()
  777.                 end
  778.                 swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
  779.                 swishsound:Play()
  780.                 for i = 0.35,0.65 , 0.1 do
  781.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.64085674, 0.201164246, 2.38418579e-07, 0.939692497, -0.342020154, 2.7474016e-08, 0.342020005, 0.939692378, -8.94069672e-08, -1.49011612e-08, 1.1920929e-07, 0.999999762) * CFrame.fromEulerAnglesXYZ(0.2,0,0),i)
  782.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.60084724, 0.132367611, 0.0618722439, 0.939692557, 0.262002587, 0.219846293, -0.219846219, 0.955111742, -0.198565692, -0.262002587, 0.138258308, 0.955111921),i)
  783.                     rootweld.C0 = rootweld.C0:lerp(CFrame.new(0.0180921555, -0.590343475, 0.105676413, 0.999541819, -0.0301466491, -0.00267778337, 0.0292237774, 0.938346207, 0.344459206, -0.0078715831, -0.344379693, 0.938797355),i)
  784.                     headweld.C0 = headweld.C0:lerp(CFrame.new(9.53674316e-07, 1.49240351, 0.0868239403, 0.999999881, 2.32830644e-09, 2.09547579e-08, -2.09547579e-09, 0.984807611, -0.173648, 2.14204192e-08, 0.173647881, 0.984807551),i)
  785.                     runservice.Stepped:wait()
  786.                 end
  787.                 for i = 0,1 , 0.1 do
  788.                     damage(character["Right Arm"], "uppercut", 1.5, 2)
  789.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.50000012, 1.00000048, -9.53674316e-07, 0.999999881, -1.1920929e-07, 9.12696123e-08, 1.1920929e-07, -0.999999702, -8.80099833e-08, -5.21540642e-08, 6.0768798e-08, -0.999999523),i)
  790.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.68977165, 0.475360394, 0.153648376, 0.682796299, 0.696747243, 0.219846189, -0.667948365, 0.717228174, -0.198565692, -0.296030015, -0.0112660835, 0.955111802),i)
  791.                     rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.00488264859, 0.0593911037, 0.998222649, -0.184096873, 0.981225967, -0.0574793406, -0.98289597, -0.183489174, 0.0157247484),i)
  792.                     headweld.C0 = headweld.C0:lerp(CFrame.new(-0.0558092594, 1.49647284, 0.0200033188, 0.63302207, -0.11161878, -0.766044497, 0.0400089845, 0.992945373, -0.111618832, 0.773098826, 0.0400085226, 0.633021951),i)
  793.                     runservice.Stepped:wait()
  794.                 end
  795.                 attacknumber = 4
  796.             elseif attacknumber == 4 then
  797.                 local rightlegweld = Instance.new("Weld", character.Torso)
  798.                 rightlegweld.Part0 = character.Torso
  799.                 rightlegweld.Part1 = character["Right Leg"]
  800.                 rightlegweld.C0 = CFrame.new(0.5,-2,0)
  801.                 rightlegweld.Name = "RightLegWeldpunch"
  802.                 local leftlegweld = Instance.new("Weld", character.Torso)
  803.                 leftlegweld.Part0 = character.Torso
  804.                 leftlegweld.Part1 = character["Left Leg"]
  805.                 leftlegweld.C0 = CFrame.new(-0.5,-2,0)
  806.                 leftlegweld.Name = "LeftLegWeldpunch"
  807.                 character:findFirstChildOfClass("Humanoid").WalkSpeed = character:findFirstChildOfClass("Humanoid").WalkSpeed - 10
  808.                 for i = 0,1 , 0.06 do
  809.                     rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.500000954, -1.86602545, -0.499999046, 1, -1.49011665e-08, 2.98023224e-08, -2.98023224e-08, 0.866025329, -0.5, 2.98023224e-08, 0.5, 0.866025448),i)
  810.                     leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5, -0.999999523, 1, 1, -2.98023224e-08, -4.47034836e-08, -2.98023224e-08, -5.96046448e-08, 0.999999881, 2.98023224e-08, -1, -1.78813934e-07),i)
  811.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.50000095, 0.250000477, 0.433013439, 1, -5.96046448e-08, -1.09083995e-08, -2.98023224e-08, 0.5, 0.866025388, 2.98023224e-08, -0.866025567, 0.49999997),i)
  812.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.49999905, 0.75, -0.433012009, 1, 5.96046448e-08, 3.99276701e-09, -4.47034836e-08, -0.50000006, -0.866025388, 2.98023224e-08, 0.866025507, -0.50000006),i)
  813.                     rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.866025329, -0.250000119, 0.433012873, 0, 0.866025388, 0.5, -0.500000179, -0.433012664, 0.74999994),i)
  814.                     headweld.C0 = headweld.C0:lerp(CFrame.new(-0.0434112549, 1.49240398, 0.0751919746, 0.866025329, -0.0868241489, -0.492404073, -4.47034836e-08, 0.98480767, -0.173648179, 0.500000179, 0.150383696, 0.852868497),i)
  815.                     runservice.Stepped:wait()
  816.                 end
  817.                 swishsound.PlaybackSpeed = 1+(math.random(-3,5)/12)
  818.                 swishsound:Play()
  819.                 for i = 0,1 , 0.15 do
  820.                     damage(character["Left Leg"], "kick", 1.5, 3.5)
  821.                     rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5, -1.93969274, 0.342020035, 1.00000024, -2.98023224e-08, 0, -1.49011612e-08, 0.939692557, 0.342019916, 0, -0.342019945, 0.939692676),i)
  822.                     leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.500000477, -0.826352119, -0.984807968, 1.00000024, 2.98023224e-08, 1.49011612e-08, -1.49011612e-08, -0.173648193, -0.984807611, 0, 0.98480767, -0.173648223),i)
  823.                     rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.50000095, 0.116978168, 0.321393967, 1.00000024, -1.49011612e-08, 2.98023224e-08, 2.98023224e-08, 0.766044378, 0.642787695, 0, -0.642787814, 0.766044557),i)
  824.                     leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.50000048, 0.116977692, 0.321393013, 1.00000024, -1.49011612e-08, 0, -1.49011612e-08, 0.766044438, 0.642787576, 0, -0.642787576, 0.766044497),i)
  825.                     rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.766044676, -0.111618795, -0.63302207, -1.68030141e-07, 0.98480773, -0.173648238, 0.642787516, 0.133022398, 0.754406631),i)
  826.                     headweld.C0 = headweld.C0:lerp(CFrame.new(-0.0525569916, 1.49498224, -0.0472278595, 0.663642108, -0.105113029, 0.74062866, -0.000909253955, 0.989964247, 0.141314477, -0.748049736, -0.0944556296, 0.656886339),i)
  827.                     runservice.Stepped:wait()
  828.                 end
  829.                 coroutine.wrap(function()
  830.                     for i = 0,1 ,0.07 do
  831.                         leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5,-2,0),i)
  832.                         rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5,-2,0),i)
  833.                         runservice.Stepped:wait()
  834.                     end
  835.                     leftlegweld:destroy()
  836.                     rightlegweld:destroy()
  837.                     character:findFirstChildOfClass("Humanoid").WalkSpeed = character:findFirstChildOfClass("Humanoid").WalkSpeed + 10
  838.                 end)()
  839.                 attacknumber = 1
  840.             end
  841.             if mouseclick then
  842.                 coroutine.wrap(function()
  843.                     local humhp = character:findFirstChildOfClass("Humanoid").Health
  844.                     while runservice.Stepped:wait() and mouseclick do
  845.                         cananimate = false
  846.                         if character:findFirstChildOfClass("Humanoid").Health < humhp then
  847.                             character:findFirstChildOfClass("Humanoid").PlatformStand = false
  848.                             character:findFirstChildOfClass("Humanoid").Health = character:findFirstChildOfClass("Humanoid").Health + (humhp-character:findFirstChildOfClass("Humanoid").Health)
  849.                             character:findFirstChildOfClass("Humanoid").WalkSpeed = 16
  850.                             basssound.TimePosition = 1.525
  851.                             blocksound:Play()
  852.                             basssound:Play()
  853.                             coroutine.wrap(function()
  854.                                 local thehpp = character:findFirstChildOfClass("Humanoid").Health
  855.                                 for i = 1,20 do
  856.                                     character:findFirstChildOfClass("Humanoid").Health = thehpp
  857.                                     runservice.Stepped:wait()
  858.                                 end
  859.                             end)()
  860.                             local nearestdistance = math.huge
  861.                             local nearestplr = nil
  862.                             for i,v in pairs(workspace:GetDescendants()) do
  863.                                 if v.ClassName == "Model" and v ~= character then
  864.                                     local headdw = v:findFirstChild("Head")
  865.                                     local humanoiddw = v:findFirstChildOfClass("Humanoid")
  866.                                     if humanoiddw and headdw then
  867.                                         if (headdw.Position - character.Head.Position).magnitude < 10 and (headdw.Position - character.Head.Position).magnitude < nearestdistance then
  868.                                             nearestdistance = (headdw.Position - character.Head.Position).magnitude
  869.                                             nearestplr = v
  870.                                         end
  871.                                     end
  872.                                 end
  873.                             end
  874.                             if nearestplr ~= nil then
  875.                                 character.Head.CFrame = CFrame.new(character.Head.Position, nearestplr.Head.Position)
  876.                                 nearestplr.Head.CFrame = CFrame.new(nearestplr.Head.Position, character.Head.Position)
  877.                                 local noon = Instance.new("BodyVelocity", nearestplr.Head)
  878.                                 noon.MaxForce = Vector3.new(math.huge,0,math.huge)
  879.                                 noon.Velocity = nearestplr.Head.CFrame.lookVector * -math.random(15,25)
  880.                                 game.Debris:AddItem(noon, 0.2)
  881.                                 damage(nearestplr.Head, "blocked", 3, 0.5)
  882.                             end
  883.                             local velocity = Instance.new("BodyVelocity", character.Head)
  884.                             velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
  885.                             velocity.Velocity = character.Head.CFrame.lookVector * -math.random(10,15)
  886.                             game.Debris:AddItem(velocity, 0.2)
  887.                             break
  888.                         end
  889.                         rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 0.999663353, 0.0246764347, 0.00799234211, -0.0226141848, 0.980059326, -0.19741419, -0.0127044618, 0.197166979, 0.980287552) * CFrame.fromEulerAnglesXYZ(math.sin(tick())/20,0,0),0.3)
  890.                         leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-0.0263385773, 0.920211315, -1.15523124, 0.76604414, -0.642787278, 7.17118382e-08, -0.604022741, -0.719846249, -0.342020154, 0.219846427, 0.262002707, -0.939692557) * CFrame.new(0,math.cos(tick())/20,0),0.3)
  891.                         headweld.C0 = headweld.C0:lerp(CFrame.new(-9.53674316e-07, 1.49240446, -0.0868245959, 0.999999642, -1.33004505e-08, -1.58324838e-08, -1.51339918e-08, 0.98480773, 0.173648581, -1.3038516e-08, -0.1736487, 0.984807611) * CFrame.fromEulerAnglesXYZ(-math.sin(tick())/20,0,0),0.3)
  892.                         rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(0.0363903046, 0.923784733, -1.1914165, 0.721851647, 0.684478879, -0.102069058, 0.613821924, -0.701371074, -0.362355202, -0.319613039, 0.198914632, -0.926434338) * CFrame.new(0,math.cos(tick())/20,0),0.3)
  893.                         humhp = character:findFirstChildOfClass("Humanoid").Health
  894.                     end
  895.                     cananimate = true
  896.                     canattack = true
  897.                 end)()
  898.             else
  899.                 canattack = true
  900.                 cananimate = true
  901.             end
  902.         end
  903.     end
  904. end)
  905. --
  906. tool.Equipped:connect(function()
  907.     equipped = true
  908.     owner = game:GetService("Players"):GetPlayerFromCharacter(tool.Parent)
  909.     character = owner.Character
  910.     local rightarm = Instance.new("Weld", character.Torso)
  911.     rightarm.Part0 = character.Torso
  912.     rightarm.Part1 = character["Right Arm"]
  913.     rightarm.C0 = CFrame.new(1.5,0,0)
  914.     rightarm.Name = "RightArmWeldpunch"
  915.     local leftarm = Instance.new("Weld", character.Torso)
  916.     leftarm.Part0 = character.Torso
  917.     leftarm.Part1 = character["Left Arm"]
  918.     leftarm.C0 = CFrame.new(-1.5,0,0)
  919.     leftarm.Name = "LeftArmWeldpunch"
  920.     local head = Instance.new("Weld", character.Torso)
  921.     head.Part0 = character.Torso
  922.     head.Part1 = character.Head
  923.     head.C0 = CFrame.new(0,1.5,0)
  924.     head.Name = "HeadWeldpunch"
  925.     local humanoidrootpart = Instance.new("Weld", character.HumanoidRootPart)
  926.     humanoidrootpart.Part0 = character.HumanoidRootPart
  927.     humanoidrootpart.Part1 = character.Torso
  928.     humanoidrootpart.Name = "HumanoidRootPartWeldpunch"
  929.     for i,v in pairs(script:GetChildren()) do
  930.         if v.ClassName == "Sound" then
  931.             v.Parent = character.HumanoidRootPart
  932.         end
  933.     end
  934.     cananimate = true
  935.     local savedchar = character
  936.     local lasthp = character:findFirstChildOfClass("Humanoid").Health
  937.     coroutine.wrap(function()
  938.         local humhp = character:findFirstChildOfClass("Humanoid").Health
  939.         while runservice.Stepped:wait() and equipped do
  940.             if character:findFirstChildOfClass("Humanoid").Health < humhp then
  941.                 local thedamage = humhp - character:findFirstChildOfClass("Humanoid").Health
  942.                 character:findFirstChildOfClass("Humanoid").Health = character:findFirstChildOfClass("Humanoid").Health + thedamage/2.5
  943.             end
  944.             if cananimate then
  945.                 head.C0 = head.C0:lerp(CFrame.new(0,1.5,0),0.1)
  946.                 humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(),0.2)
  947.                 leftarm.C0 = leftarm.C0:lerp(CFrame.new(-0.8,0.15,-0.5) * CFrame.fromEulerAnglesXYZ(math.pi-(math.rad(20)),0,math.rad(15)) * CFrame.new(0,-0.5,0),0.2)
  948.                 rightarm.C0 = rightarm.C0:lerp(CFrame.new(0.8,0.15,-0.5) * CFrame.fromEulerAnglesXYZ(math.pi-(math.rad(20)),0,math.rad(-15)) * CFrame.new(0,-0.5,0),0.2)
  949.             end
  950.             humhp = character:findFirstChildOfClass("Humanoid").Health
  951.         end
  952.     end)()
  953. end)
  954. tool.Unequipped:connect(function()
  955.     equipped = false
  956.     instancewhitelist = {}
  957.     mouseclick = false
  958.     cananimate = false
  959.     for i,v in pairs(character.HumanoidRootPart:GetChildren()) do
  960.         if v.ClassName == "Sound" then
  961.             v.Parent = script
  962.         end
  963.     end
  964.     if character.Torso:findFirstChild("LeftArmWeldpunch") then
  965.         character.Torso:findFirstChild("LeftArmWeldpunch"):destroy()
  966.     end
  967.     if character.Torso:findFirstChild("RightArmWeldpunch") then
  968.         character.Torso:findFirstChild("RightArmWeldpunch"):destroy()
  969.     end
  970.     if character.Torso:findFirstChild("HeadWeldpunch") then
  971.         character.Torso:findFirstChild("HeadWeldpunch"):destroy()
  972.     end
  973.     if character:findFirstChild("HumanoidRootPart") then
  974.         if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldpunch") then
  975.             character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldpunch"):destroy()
  976.         end
  977.     end
  978. end)
  979.  
  980. end)()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement