View difference between Paste ID: MHgM15fL and 7ukTrAdx
SHOW: | | - or go back to the newest paste.
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://542443306"
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://3932505023"
29
Sound5.Name = "Bass"
30
Sound5.Parent = script
31
Sound5.SoundId = "rbxassetid://2487714799"
32
Sound5.Volume = 1
33
Sound6.Name = "Ouch"
34
Sound6.Parent = script
35
Sound6.SoundId = "rbxassetid://4306991962"
36
Sound7.Name = "Block"
37
Sound7.Parent = script
38
Sound7.SoundId = "rbxassetid://4306994664"
39
Tool0.Parent = owner.Character
40
coroutine.wrap(function()
41
--By Rufus14
42
canattack = true
43
cananimate = false
44
equipped = false
45
tool = Tool0
46
swishsound = script.Swoosh
47
blocksound = script.Block
48
punchsound = script.Punch
49
kicksound = script.Kick
50
goresound = script.Ouch
51
basssound = script.Bass
52
owner = nil
53
character = nil
54
mouseclick = false
55
attacknumber = 1
56
instancewhitelist = {}
57
runservice = game:GetService("RunService")
58
--
59
tool.Activated:connect(function()
60
	mouseclick = true
61
end)
62
tool.Deactivated:connect(function()
63
	mouseclick = false
64
end)
65
--
66
function ragdollkill(character)
67
	local victimshumanoid = character:findFirstChildOfClass("Humanoid")
68
	local checkragd = character:findFirstChild("ragded")
69
	if not checkragd then
70
		local boolvalue = Instance.new("BoolValue", character)
71
		boolvalue.Name = "ragded"
72
		if not character:findFirstChild("UpperTorso") then
73
			character.Archivable = true
74
			for i,v in pairs(character:GetChildren()) do
75
				if v.ClassName == "Sound" then
76
					v:remove()
77
				end
78
				for q,w in pairs(v:GetChildren()) do
79
					if w.ClassName == "Sound" then
80
						w:remove()
81
					end
82
				end
83
			end
84
			local ragdoll = character:Clone()
85
			for i,v in pairs(ragdoll:GetDescendants()) do
86
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
87
					v:destroy()
88
				end
89
			end
90
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
91
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
92
			if ragdoll:findFirstChild("Health") then
93
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
94
					ragdoll:findFirstChild("Health").Disabled = true
95
				end
96
			end
97
			for i,v in pairs(character:GetChildren()) do
98
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" then
99
					v:destroy()
100
				end
101
			end
102
			for i,v in pairs(character:GetChildren()) do
103
				if v.ClassName == "Accessory" then
104
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
105
					if attachment1 then
106
						for q,w in pairs(character:GetChildren()) do
107
							if w.ClassName == "Part" then
108
								local attachment2 = w:findFirstChild(attachment1.Name)
109
								if attachment2 then
110
									local hinge = Instance.new("HingeConstraint", v.Handle)
111
									hinge.Attachment0 = attachment1
112
									hinge.Attachment1 = attachment2
113
									hinge.LimitsEnabled = true
114
									hinge.LowerAngle = 0
115
									hinge.UpperAngle = 0
116
								end
117
							end
118
						end
119
					end
120
				end
121
			end
122
			ragdoll.Parent = workspace
123
			if ragdoll:findFirstChild("Right Arm") then
124
				local glue = Instance.new("Glue", ragdoll.Torso)
125
				glue.Part0 = ragdoll.Torso
126
				glue.Part1 = ragdoll:findFirstChild("Right Arm")
127
				glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
128
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
129
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
130
				limbcollider.Size = Vector3.new(1.4,1,1)
131
				limbcollider.Shape = "Cylinder"
132
				limbcollider.Transparency = 1
133
				limbcollider.Name = "LimbCollider"
134
				local limbcolliderweld = Instance.new("Weld", limbcollider)
135
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
136
				limbcolliderweld.Part1 = limbcollider
137
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
138
			end
139
			if ragdoll:findFirstChild("Left Arm") then
140
				local glue = Instance.new("Glue", ragdoll.Torso)
141
				glue.Part0 = ragdoll.Torso
142
				glue.Part1 = ragdoll:findFirstChild("Left Arm")
143
				glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
144
				glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
145
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
146
				limbcollider.Size = Vector3.new(1.4,1,1)
147
				limbcollider.Shape = "Cylinder"
148
				limbcollider.Name = "LimbCollider"
149
				limbcollider.Transparency = 1
150
				local limbcolliderweld = Instance.new("Weld", limbcollider)
151
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")
152
				limbcolliderweld.Part1 = limbcollider
153
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
154
			end
155
			if ragdoll:findFirstChild("Left Leg") then
156
				local glue = Instance.new("Glue", ragdoll.Torso)
157
				glue.Part0 = ragdoll.Torso
158
				glue.Part1 = ragdoll:findFirstChild("Left Leg")
159
				glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
160
				glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
161
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
162
				limbcollider.Size = Vector3.new(1.4,1,1)
163
				limbcollider.Shape = "Cylinder"
164
				limbcollider.Name = "LimbCollider"
165
				limbcollider.Transparency = 1
166
				local limbcolliderweld = Instance.new("Weld", limbcollider)
167
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
168
				limbcolliderweld.Part1 = limbcollider
169
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
170
			end
171
			if ragdoll:findFirstChild("Right Leg") then
172
				local glue = Instance.new("Glue", ragdoll.Torso)
173
				glue.Part0 = ragdoll.Torso
174
				glue.Part1 = ragdoll:findFirstChild("Right Leg")
175
				glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
176
				glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
177
				local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
178
				limbcollider.Size = Vector3.new(1.4,1,1)
179
				limbcollider.Shape = "Cylinder"
180
				limbcollider.Name = "LimbCollider"
181
				limbcollider.Transparency = 1
182
				local limbcolliderweld = Instance.new("Weld", limbcollider)
183
				limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
184
				limbcolliderweld.Part1 = limbcollider
185
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
186
			end
187
			if ragdoll:findFirstChild("Head") and ragdoll.Torso:findFirstChild("NeckAttachment") then
188
				local HeadAttachment = Instance.new("Attachment", ragdoll["Head"])
189
				HeadAttachment.Position = Vector3.new(0, -0.5, 0)
190
				local connection = Instance.new('HingeConstraint', ragdoll["Head"])
191
				connection.LimitsEnabled = true
192
				connection.Attachment0 = ragdoll.Torso.NeckAttachment
193
				connection.Attachment1 = HeadAttachment
194
				connection.UpperAngle = 60
195
				connection.LowerAngle = -60
196
			elseif ragdoll:findFirstChild("Head") and not ragdoll.Torso:findFirstChild("NeckAttachment") then
197
				local hedweld = Instance.new("Weld", ragdoll.Torso)
198
				hedweld.Part0 = ragdoll.Torso
199
				hedweld.Part1 = ragdoll.Head
200
				hedweld.C0 = CFrame.new(0,1.5,0)
201
			end
202
			game.Debris:AddItem(ragdoll, 30)
203
			local function aaaalol()
204
				wait(0.2)
205
				local function searchforvelocity(wot)
206
					for i,v in pairs(wot:GetChildren()) do
207
						searchforvelocity(v)
208
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
209
							v:destroy()
210
						end
211
					end
212
				end
213
				searchforvelocity(ragdoll)
214
				wait(0.5)
215
				if ragdoll:findFirstChildOfClass("Humanoid") then
216
					ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
217
				end
218
				if ragdoll:findFirstChild("HumanoidRootPart") then
219
					ragdoll:findFirstChild("HumanoidRootPart"):destroy()
220
				end
221
			end
222
			spawn(aaaalol)
223
		elseif character:findFirstChild("UpperTorso") then
224
			character.Archivable = true
225
			for i,v in pairs(character:GetChildren()) do
226
				if v.ClassName == "Sound" then
227
					v:remove()
228
				end
229
				for q,w in pairs(v:GetChildren()) do
230
					if w.ClassName == "Sound" then
231
						w:remove()
232
					end
233
				end
234
			end
235
			local ragdoll = character:Clone()
236
			ragdoll:findFirstChildOfClass("Humanoid").BreakJointsOnDeath = false
237
			for i,v in pairs(ragdoll:GetDescendants()) do
238
				if v.ClassName == "Motor" or v.ClassName == "Motor6D" then
239
					v:destroy()
240
				end
241
			end
242
			ragdoll:BreakJoints()
243
			ragdoll:findFirstChildOfClass("Humanoid").Health = 0
244
			if ragdoll:findFirstChild("Health") then
245
				if ragdoll:findFirstChild("Health").ClassName == "Script" then
246
					ragdoll:findFirstChild("Health").Disabled = true
247
				end
248
			end
249
			for i,v in pairs(character:GetChildren()) do
250
				if v.ClassName == "Part" or v.ClassName == "ForceField" or v.ClassName == "Accessory" or v.ClassName == "Hat" or v.ClassName == "MeshPart" then
251
					v:destroy()
252
				end
253
			end
254
			for i,v in pairs(character:GetChildren()) do
255
				if v.ClassName == "Accessory" then
256
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
257
					if attachment1 then
258
						for q,w in pairs(character:GetChildren()) do
259
							if w.ClassName == "Part" or w.ClassName == "MeshPart" then
260
								local attachment2 = w:findFirstChild(attachment1.Name)
261
								if attachment2 then
262
									local hinge = Instance.new("HingeConstraint", v.Handle)
263
									hinge.Attachment0 = attachment1
264
									hinge.Attachment1 = attachment2
265
									hinge.LimitsEnabled = true
266
									hinge.LowerAngle = 0
267
									hinge.UpperAngle = 0
268
								end
269
							end
270
						end
271
					end
272
				end
273
			end
274
			ragdoll.Parent = workspace
275
			local Humanoid = ragdoll:findFirstChildOfClass("Humanoid")
276
			Humanoid.PlatformStand = true
277
			local function makeballconnections(limb, attachementone, attachmenttwo, twistlower, twistupper)
278
				local connection = Instance.new('BallSocketConstraint', limb)
279
				connection.LimitsEnabled = true
280
				connection.Attachment0 = attachementone
281
				connection.Attachment1 = attachmenttwo
282
				connection.TwistLimitsEnabled = true
283
				connection.TwistLowerAngle = twistlower
284
				connection.TwistUpperAngle = twistupper
285
				local limbcollider = Instance.new("Part", limb)
286
				limbcollider.Size = Vector3.new(0.1,1,1)
287
				limbcollider.Shape = "Cylinder"
288
				limbcollider.Transparency = 1
289
				limbcollider:BreakJoints()
290
				local limbcolliderweld = Instance.new("Weld", limbcollider)
291
				limbcolliderweld.Part0 = limb
292
				limbcolliderweld.Part1 = limbcollider
293
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
294
			end
295
			local function makehingeconnections(limb, attachementone, attachmenttwo, lower, upper)
296
				local connection = Instance.new('HingeConstraint', limb)
297
				connection.LimitsEnabled = true
298
				connection.Attachment0 = attachementone
299
				connection.Attachment1 = attachmenttwo
300
				connection.LimitsEnabled = true
301
				connection.LowerAngle = lower
302
				connection.UpperAngle = upper
303
				local limbcollider = Instance.new("Part", limb)
304
				limbcollider.Size = Vector3.new(0.1,1,1)
305
				limbcollider.Shape = "Cylinder"
306
				limbcollider.Transparency = 1
307
				limbcollider:BreakJoints()
308
				local limbcolliderweld = Instance.new("Weld", limbcollider)
309
				limbcolliderweld.Part0 = limb
310
				limbcolliderweld.Part1 = limbcollider
311
				limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2)
312
			end
313
			local HeadAttachment = Instance.new("Attachment", Humanoid.Parent.Head)
314
			HeadAttachment.Position = Vector3.new(0, -0.5, 0)
315
			if ragdoll.UpperTorso:findFirstChild("NeckAttachment") then
316
				makehingeconnections(Humanoid.Parent.Head, HeadAttachment, ragdoll.UpperTorso.NeckAttachment, -50, 50)
317
			end
318
			makehingeconnections(Humanoid.Parent.LowerTorso, Humanoid.Parent.LowerTorso.WaistRigAttachment, Humanoid.Parent.UpperTorso.WaistRigAttachment, -50, 50)
319
			makeballconnections(Humanoid.Parent.LeftUpperArm, Humanoid.Parent.LeftUpperArm.LeftShoulderRigAttachment, Humanoid.Parent.UpperTorso.LeftShoulderRigAttachment, -200, 200, 180)
320
			makehingeconnections(Humanoid.Parent.LeftLowerArm, Humanoid.Parent.LeftLowerArm.LeftElbowRigAttachment, Humanoid.Parent.LeftUpperArm.LeftElbowRigAttachment, 0, -60)
321
			makehingeconnections(Humanoid.Parent.LeftHand, Humanoid.Parent.LeftHand.LeftWristRigAttachment, Humanoid.Parent.LeftLowerArm.LeftWristRigAttachment, -20, 20)
322
			--
323
			makeballconnections(Humanoid.Parent.RightUpperArm, Humanoid.Parent.RightUpperArm.RightShoulderRigAttachment, Humanoid.Parent.UpperTorso.RightShoulderRigAttachment, -200, 200, 180)
324
			makehingeconnections(Humanoid.Parent.RightLowerArm, Humanoid.Parent.RightLowerArm.RightElbowRigAttachment, Humanoid.Parent.RightUpperArm.RightElbowRigAttachment, 0, -60)
325
			makehingeconnections(Humanoid.Parent.RightHand, Humanoid.Parent.RightHand.RightWristRigAttachment, Humanoid.Parent.RightLowerArm.RightWristRigAttachment, -20, 20)
326
			--
327
			makeballconnections(Humanoid.Parent.RightUpperLeg, Humanoid.Parent.RightUpperLeg.RightHipRigAttachment, Humanoid.Parent.LowerTorso.RightHipRigAttachment, -80, 80, 80)
328
			makehingeconnections(Humanoid.Parent.RightLowerLeg, Humanoid.Parent.RightLowerLeg.RightKneeRigAttachment, Humanoid.Parent.RightUpperLeg.RightKneeRigAttachment, 0, 60)
329
			makehingeconnections(Humanoid.Parent.RightFoot, Humanoid.Parent.RightFoot.RightAnkleRigAttachment, Humanoid.Parent.RightLowerLeg.RightAnkleRigAttachment, -20, 20)
330
			--
331
			makeballconnections(Humanoid.Parent.LeftUpperLeg, Humanoid.Parent.LeftUpperLeg.LeftHipRigAttachment, Humanoid.Parent.LowerTorso.LeftHipRigAttachment, -80, 80, 80)
332
			makehingeconnections(Humanoid.Parent.LeftLowerLeg, Humanoid.Parent.LeftLowerLeg.LeftKneeRigAttachment, Humanoid.Parent.LeftUpperLeg.LeftKneeRigAttachment, 0, 60)
333
			makehingeconnections(Humanoid.Parent.LeftFoot, Humanoid.Parent.LeftFoot.LeftAnkleRigAttachment, Humanoid.Parent.LeftLowerLeg.LeftAnkleRigAttachment, -20, 20)
334
			for i,v in pairs(Humanoid.Parent:GetChildren()) do
335
				if v.ClassName == "Accessory" then
336
					local attachment1 = v.Handle:findFirstChildOfClass("Attachment")
337
					if attachment1 then
338
						for q,w in pairs(Humanoid.Parent:GetChildren()) do
339
							if w.ClassName == "Part" then
340
								local attachment2 = w:findFirstChild(attachment1.Name)
341
								if attachment2 then
342
									local hinge = Instance.new("HingeConstraint", v.Handle)
343
									hinge.Attachment0 = attachment1
344
									hinge.Attachment1 = attachment2
345
									hinge.LimitsEnabled = true
346
									hinge.LowerAngle = 0
347
									hinge.UpperAngle = 0
348
								end
349
							end
350
						end
351
					end
352
				end
353
			end
354
			for i,v in pairs(ragdoll:GetChildren()) do
355
				for q,w in pairs(v:GetChildren()) do
356
					if w.ClassName == "Motor6D"--[[ and w.Name ~= "Neck"--]] and w.Name ~= "ouch_weld" then
357
						w:destroy()
358
					end
359
				end
360
			end
361
			if ragdoll:findFirstChild("HumanoidRootPart") then
362
				ragdoll.HumanoidRootPart:destroy()
363
			end
364
			if ragdoll:findFirstChildOfClass("Humanoid") then
365
				ragdoll:findFirstChildOfClass("Humanoid").PlatformStand = true
366
			end
367
			local function waitfordatmoment()
368
				wait(0.2)
369
				local function searchforvelocity(wot)
370
					for i,v in pairs(wot:GetChildren()) do
371
						searchforvelocity(v)
372
						if v.ClassName == "BodyPosition" or v.ClassName == "BodyVelocity" then
373
							v:destroy()
374
						end
375
					end
376
				end
377
				searchforvelocity(ragdoll)
378
			end
379
			spawn(waitfordatmoment)
380
			game.Debris:AddItem(ragdoll, 30)
381
		end
382
	end
383
end
384
function damage(what, action, t, range)
385
	for i,v in pairs(workspace:GetDescendants()) do
386
		if v.ClassName == "Model" then
387
			local head = v:findFirstChild("Head")
388
			local humanoid = v:findFirstChildOfClass("Humanoid")
389
			local torso = v:findFirstChild("Torso")
390
			local ragdolled = v:findFirstChild("ragdolledpunch")
391
			if humanoid and head then
392
				if (head.Position - what.Position).magnitude < range and v ~= character and humanoid.Health > 0 then
393
					if action ~= "stomp" then
394
						if ragdolled then
395
							return
396
						end
397
					end
398
					local ragdolledpunch = Instance.new("BoolValue", v)
399
					ragdolledpunch.Name = "ragdolledpunch"
400
					game.Debris:AddItem(ragdolledpunch, t)
401
					if action == "punch" then
402
						local velocity = Instance.new("BodyVelocity", head)
403
						velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
404-
						velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * math.random(5,15)
404+
						velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * math.random(15)
405
						punchsound.PlaybackSpeed = 1+(math.random(-5,5)/15)
406
						punchsound:Play()
407
						game.Debris:AddItem(velocity, 0.2)
408
					elseif action == "uppercut" then
409
						local velocity = Instance.new("BodyVelocity", head)
410
						velocity.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
411-
						velocity.Velocity = (character.HumanoidRootPart.CFrame.upVector * math.random(5,15)) + (character.HumanoidRootPart.CFrame.lookVector * math.random(5,15))
411+
						velocity.Velocity = (character.HumanoidRootPart.CFrame.upVector * math.random(20)) + (character.HumanoidRootPart.CFrame.lookVector * math.random(20))
412
						kicksound.PlaybackSpeed = 1+(math.random(-5,5)/15)
413
						kicksound:Play()
414
						game.Debris:AddItem(velocity, 0.2)
415
					elseif action == "kick" then
416
						local velocity = Instance.new("BodyVelocity", head)
417
						velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
418-
						velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * 20
418+
						velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * 100
419
						goresound.PlaybackSpeed = 1+(math.random(-5,5)/15)
420
						goresound:Play()
421
						game.Debris:AddItem(velocity, 0.2)
422
					elseif action == "dropkick" then
423
						local velocity = Instance.new("BodyVelocity", head)
424
						velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
425-
						velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * 30
425+
						velocity.Velocity = character.HumanoidRootPart.CFrame.lookVector * 120
426
						kicksound.PlaybackSpeed = 1+(math.random(-5,5)/15)
427
						kicksound:Play()
428
						goresound.PlaybackSpeed = 1+(math.random(-5,5)/15)
429
						goresound:Play()
430
						game.Debris:AddItem(velocity, 0.2)
431
					elseif action == "stomp" then
432
						punchsound.PlaybackSpeed = 1+(math.random(-5,5)/15)
433
						punchsound:Play()
434
					end
435
					if action ~= "blocked" then
436
						local dmg = math.random(30,50)
437
						if action == "uppercut" then
438
							dmg = dmg + math.random(20,30)
439
						elseif action == "kick" then
440
							dmg = dmg + math.random(40,50)
441
						elseif action == "dropkick" then
442
							dmg = dmg + math.random(50,90)
443
						end
444
						if humanoid.Health <= dmg then
445
							humanoid.Health = 0
446
							ragdollkill(v)
447
						end
448
						humanoid.Health = humanoid.Health - dmg
449
					end
450
					if action ~= "blocked" and action ~= "uppercut" and action ~= "kick" and action ~= "dropkick" then
451
						if math.random(1,5) ~= 1 then
452
							return
453
						end
454
					end
455
					if action == "stomp" then
456
						return
457
					end
458
					humanoid.PlatformStand = true
459
					coroutine.wrap(function()
460
						wait(t)
461
						humanoid.PlatformStand = false
462
					end)()
463
					if torso then
464
						coroutine.wrap(function()
465
							humanoid = v:WaitForChild("Humanoid")
466
							local ragdoll = v
467
							if ragdoll:findFirstChild("Right Arm") then
468
								local glue = Instance.new("Glue", ragdoll.Torso)
469
								glue.Part0 = ragdoll.Torso
470
								glue.Part1 = ragdoll:findFirstChild("Right Arm")
471
								glue.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
472
								glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, 0, 0)
473
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Arm"))
474
								limbcollider.Size = Vector3.new(1.4,1,1)
475
								limbcollider.Shape = "Cylinder"
476
								limbcollider.Transparency = 1
477
								limbcollider.Name = "LimbCollider"
478
								local limbcolliderweld = Instance.new("Weld", limbcollider)
479
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Arm")
480
								limbcolliderweld.Part1 = limbcollider
481
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
482
								coroutine.wrap(function()
483
									if ragdoll.Torso:findFirstChild("Right Shoulder") then
484
										local limbclone = ragdoll.Torso:findFirstChild("Right Shoulder"):Clone()
485
										ragdoll.Torso:findFirstChild("Right Shoulder"):destroy()
486
										coroutine.wrap(function()
487
											wait(t)
488
											limbclone.Parent = ragdoll.Torso
489
											limbclone.Part0 = ragdoll.Torso
490
											limbclone.Part1 = ragdoll["Right Arm"]
491
										end)()
492
									end
493
									wait(t)
494
									glue:destroy()
495
									limbcollider:destroy()
496
									limbcolliderweld:destroy()
497
								end)()
498
							end
499
							if ragdoll:findFirstChild("Left Arm") then
500
								local glue = Instance.new("Glue", ragdoll.Torso)
501
								glue.Part0 = ragdoll.Torso
502
								glue.Part1 = ragdoll:findFirstChild("Left Arm")
503
								glue.C0 = CFrame.new(-1.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
504
								glue.C1 = CFrame.new(0, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0)
505
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Arm"))
506
								limbcollider.Size = Vector3.new(1.4,1,1)
507
								limbcollider.Shape = "Cylinder"
508
								limbcollider.Name = "LimbCollider"
509
								limbcollider.Transparency = 1
510
								local limbcolliderweld = Instance.new("Weld", limbcollider)
511
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Arm")			
512
								limbcolliderweld.Part1 = limbcollider
513
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.3,0,0)
514
								coroutine.wrap(function()
515
									if ragdoll.Torso:findFirstChild("Left Shoulder") then
516
										local limbclone = ragdoll.Torso:findFirstChild("Left Shoulder"):Clone()
517
										ragdoll.Torso:findFirstChild("Left Shoulder"):destroy()
518
										coroutine.wrap(function()
519
											wait(t)
520
											limbclone.Parent = ragdoll.Torso
521
											limbclone.Part0 = ragdoll.Torso
522
											limbclone.Part1 = ragdoll["Left Arm"]
523
										end)()
524
									end
525
									wait(t)
526
									glue:destroy()
527
									limbcollider:destroy()
528
									limbcolliderweld:destroy()
529
								end)()
530
							end
531
							if ragdoll:findFirstChild("Left Leg") then
532
								local glue = Instance.new("Glue", ragdoll.Torso)
533
								glue.Part0 = ragdoll.Torso
534
								glue.Part1 = ragdoll:findFirstChild("Left Leg")
535
								glue.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
536
								glue.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0)
537
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Left Leg"))
538
								limbcollider.Size = Vector3.new(1.5,1,1)
539
								limbcollider.Shape = "Cylinder"
540
								limbcollider.Name = "LimbCollider"
541
								limbcollider.Transparency = 1
542
								local limbcolliderweld = Instance.new("Weld", limbcollider)
543
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Left Leg")
544
								limbcolliderweld.Part1 = limbcollider
545
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
546
								coroutine.wrap(function()
547
									if ragdoll.Torso:findFirstChild("Left Hip") then
548
										local limbclone = ragdoll.Torso:findFirstChild("Left Hip"):Clone()
549
										ragdoll.Torso:findFirstChild("Left Hip"):destroy()
550
										coroutine.wrap(function()
551
											wait(t)
552
											limbclone.Parent = ragdoll.Torso
553
											limbclone.Part0 = ragdoll.Torso
554
											limbclone.Part1 = ragdoll["Left Leg"]
555
										end)()
556
									end
557
									wait(t)
558
									glue:destroy()
559
									limbcollider:destroy()
560
									limbcolliderweld:destroy()
561
								end)()
562
							end
563
							if ragdoll:findFirstChild("Right Leg") then
564
								local glue = Instance.new("Glue", ragdoll.Torso)
565
								glue.Part0 = ragdoll.Torso
566
								glue.Part1 = ragdoll:findFirstChild("Right Leg")
567
								glue.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
568
								glue.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0)
569
								local limbcollider = Instance.new("Part", ragdoll:findFirstChild("Right Leg"))
570
								limbcollider.Size = Vector3.new(1.5,1,1)
571
								limbcollider.Shape = "Cylinder"
572
								limbcollider.Name = "LimbCollider"
573
								limbcollider.Transparency = 1
574
								local limbcolliderweld = Instance.new("Weld", limbcollider)
575
								limbcolliderweld.Part0 = ragdoll:findFirstChild("Right Leg")
576
								limbcolliderweld.Part1 = limbcollider
577
								limbcolliderweld.C0 = CFrame.fromEulerAnglesXYZ(0,0,math.pi/2) * CFrame.new(-0.2,0,0)
578
								coroutine.wrap(function()
579
									if ragdoll.Torso:findFirstChild("Right Hip") then
580
										local limbclone = ragdoll.Torso:findFirstChild("Right Hip"):Clone()
581
										ragdoll.Torso:findFirstChild("Right Hip"):destroy()
582
										coroutine.wrap(function()
583
											wait(t)
584
											limbclone.Parent = ragdoll.Torso
585
											limbclone.Part0 = ragdoll.Torso
586
											limbclone.Part1 = ragdoll["Right Leg"]
587
										end)()
588
									end
589
									wait(t)
590
									glue:destroy()
591
									limbcollider:destroy()
592
									limbcolliderweld:destroy()
593
								end)()
594
							end
595
						end)()
596
					end
597
				end
598
			end
599
		end
600
	end
601
end
602
--
603
tool.Activated:connect(function()
604
	if owner ~= nil and character ~= nil and canattack then
605
		local rightarmweld = character.Torso:findFirstChild("RightArmWeldpunch")
606
		local leftarmweld = character.Torso:findFirstChild("LeftArmWeldpunch")
607
		local headweld = character.Torso:findFirstChild("HeadWeldpunch")
608
		local rootweld = character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldpunch")
609
		for i,v in pairs(workspace:GetDescendants()) do
610
			if v.ClassName == "Model" and v ~= character then
611
				local humanoid = v:findFirstChildOfClass("Humanoid")
612
				local headepic = v:findFirstChild("Head")
613
				if humanoid and headepic then
614
					if (headepic.Position - character.HumanoidRootPart.Position).magnitude < 5 and humanoid.PlatformStand and humanoid.Health > 0 then
615
						local rightlegweld = Instance.new("Weld", character.Torso)
616
						rightlegweld.Part0 = character.Torso
617
						rightlegweld.Part1 = character["Right Leg"]
618
						rightlegweld.C0 = CFrame.new(0.5,-2,0)
619
						rightlegweld.Name = "RightLegWeldbat"
620
						local leftlegweld = Instance.new("Weld", character.Torso)
621
						leftlegweld.Part0 = character.Torso
622
						leftlegweld.Part1 = character["Left Leg"]
623
						leftlegweld.C0 = CFrame.new(-0.5,-2,0)
624
						leftlegweld.Name = "LeftLegWeldbat"
625
						character:findFirstChildOfClass("Humanoid").WalkSpeed = 0
626
						for i = 0,1 , 0.1 do
627
							cananimate = false
628
							canattack = false
629
							character.HumanoidRootPart.CFrame = CFrame.new(character.HumanoidRootPart.Position, Vector3.new(headepic.Position.x,character.HumanoidRootPart.Position.y,headepic.Position.z))
630
							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)
631
							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)
632
							rightarmweld.C0 = rightarmweld.C0:lerp(CFrame.new(1.5,0,0),i)
633
							leftarmweld.C0 = leftarmweld.C0:lerp(CFrame.new(-1.5,0,0),i)
634
							rootweld.C0 = rootweld.C0:lerp(CFrame.new(0, 0, 0, 1, 0, 0, 0, 0.939692557, -0.342020363, 0, 0.342020363, 0.939692557),i)
635
							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)
636
							runservice.Stepped:wait()
637
						end
638
						for i = 0,1 , 0.15 do
639
							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)
640
							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)
641
							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)
642
							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)
643
							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)
644
							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)
645
							runservice.Stepped:wait()
646
						end
647
						damage(character["Right Leg"], "stomp", 1, 3.5)
648
						coroutine.wrap(function()
649
							for i = 0,1 ,0.07 do
650
								leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5,-2,0),i)
651
								rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5,-2,0),i)
652
								runservice.Stepped:wait()
653
							end
654
							leftlegweld:destroy()
655
							rightlegweld:destroy()
656
							character:findFirstChildOfClass("Humanoid").WalkSpeed = 16
657
						end)()
658
						cananimate = true
659
						canattack = true
660
						return
661
					end
662
				end
663
			end
664
		end
665
		if character:findFirstChildOfClass("Humanoid").Jump then
666
			canattack = false
667
			cananimate = false
668
			character:findFirstChildOfClass("Humanoid").PlatformStand = true
669
			local rightlegweld = Instance.new("Weld", character.Torso)
670
			rightlegweld.Part0 = character.Torso
671
			rightlegweld.Part1 = character["Right Leg"]
672
			rightlegweld.C0 = CFrame.new(0.5,-2,0)
673
			rightlegweld.Name = "RightLegWeldpunch"
674
			local leftlegweld = Instance.new("Weld", character.Torso)
675
			leftlegweld.Part0 = character.Torso
676
			leftlegweld.Part1 = character["Left Leg"]
677
			leftlegweld.C0 = CFrame.new(-0.5,-2,0)
678
			leftlegweld.Name = "LeftLegWeldpunch"
679
			local vel = Instance.new("BodyVelocity", character.HumanoidRootPart)
680
			vel.MaxForce = Vector3.new(math.huge,600,math.huge)
681
			vel.Velocity = character.HumanoidRootPart.CFrame.lookVector * 20
682
			for i = 0,1 , 0.13 do
683
				damage(character["Left Leg"], "dropkick", 3.5, 3)
684
				damage(character["Right Leg"], "dropkick", 3.5, 3)
685
				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)
686
				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)
687
				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)
688
				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)
689
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.pi/2,0,0),i)
690
				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)
691
				runservice.Stepped:wait()
692
			end
693
			swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
694
			swishsound:Play()
695
			for i = 0,1 , 0.13 do
696
				damage(character["Left Leg"], "dropkick", 3.5, 3)
697
				damage(character["Right Leg"], "dropkick", 3.5, 3)
698
				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)
699
				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)
700
				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)
701
				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)
702
				rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ((math.pi/2)-math.rad(30),0,0),i)
703
				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)
704
				runservice.Stepped:wait()
705
			end
706
			for i = 1,20 do
707
				damage(character["Left Leg"], "dropkick", 3.5, 3)
708
				damage(character["Right Leg"], "dropkick", 3.5, 3)
709
				runservice.Stepped:wait()
710
			end
711
			vel:destroy()
712
			rightlegweld:destroy()
713
			leftlegweld:destroy()
714
			coroutine.wrap(function()
715
				wait(0.8)
716
				character:findFirstChildOfClass("Humanoid").PlatformStand = false
717
			end)()
718
			canattack = true
719
			cananimate = true
720
		else
721
			canattack = false
722
			cananimate = false
723
			if attacknumber == 1 then
724
				local sine = 0
725
				local tiltval = 0
726
				for i = 1,20 do --17 and sine 3 
727
					sine = sine + 1
728
					damage(character["Right Arm"], "punch", 1, 2)
729
					headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0) * CFrame.fromEulerAnglesXYZ(0,math.sin(sine/3.25),0),0.3)
730
					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)
731
					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) 
732
					if i == 3 then
733
						swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
734
						swishsound:Play()
735
					end
736
					if i > 10 then
737
						if i < 17 then
738
							tiltval = tiltval + 0.048
739
						end
740
						rightarmweld.C0 = rightarmweld.C0 * CFrame.new(-tiltval/2,0,0) * CFrame.fromEulerAnglesXYZ(0,0,-tiltval)
741
					end
742
					rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(sine/3.25)/8,-math.sin(sine/3.25)*2.3,0), 0.3)
743
					runservice.Stepped:wait()
744
				end
745
				attacknumber = 2
746
			elseif attacknumber == 2 then
747
				local sine = 0
748
				local tiltval = 0
749
				for i = 1,20 do --17 and sine 3 
750
					sine = sine + 1
751
					damage(character["Left Arm"], "punch", 1, 2)
752
					headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0) * CFrame.fromEulerAnglesXYZ(0,-math.sin(sine/3.25),0),0.3)
753
					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)
754
					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) 
755
					if i == 3 then
756
						swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
757
						swishsound:Play()
758
					end
759
					if i > 10 then
760
						if i < 17 then
761
							tiltval = tiltval + 0.048
762
						end
763
						leftarmweld.C0 = leftarmweld.C0 * CFrame.new(tiltval/2,0,0) * CFrame.fromEulerAnglesXYZ(0,0,tiltval)
764
					end
765
					rootweld.C0 = rootweld.C0:lerp(CFrame.fromEulerAnglesXYZ(math.sin(sine/3.25)/8,math.sin(sine/3.25)*2.3,0), 0.3)
766
					runservice.Stepped:wait()
767
				end
768
				attacknumber = 3
769
			elseif attacknumber == 3 then
770
				for i = 0,1 , 0.06 do
771
					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)
772
					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)
773
					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)
774
					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)
775
					runservice.Stepped:wait()
776
				end
777
				swishsound.PlaybackSpeed = 1+(math.random(-2,5)/12)
778
				swishsound:Play()
779
				for i = 0.35,0.65 , 0.1 do
780
					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)
781
					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)
782
					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)
783
					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)
784
					runservice.Stepped:wait()
785
				end
786
				for i = 0,1 , 0.1 do
787
					damage(character["Right Arm"], "uppercut", 1.5, 2)
788
					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)
789
					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)
790
					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)
791
					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)
792
					runservice.Stepped:wait()
793
				end
794
				attacknumber = 4
795
			elseif attacknumber == 4 then
796
				local rightlegweld = Instance.new("Weld", character.Torso)
797
				rightlegweld.Part0 = character.Torso
798
				rightlegweld.Part1 = character["Right Leg"]
799
				rightlegweld.C0 = CFrame.new(0.5,-2,0)
800
				rightlegweld.Name = "RightLegWeldpunch"
801
				local leftlegweld = Instance.new("Weld", character.Torso)
802
				leftlegweld.Part0 = character.Torso
803
				leftlegweld.Part1 = character["Left Leg"]
804
				leftlegweld.C0 = CFrame.new(-0.5,-2,0)
805
				leftlegweld.Name = "LeftLegWeldpunch"
806
				character:findFirstChildOfClass("Humanoid").WalkSpeed = character:findFirstChildOfClass("Humanoid").WalkSpeed - 10
807
				for i = 0,1 , 0.06 do
808
					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)
809
					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)
810
					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)
811
					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)
812
					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)
813
					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)
814
					runservice.Stepped:wait()
815
				end
816
				swishsound.PlaybackSpeed = 1+(math.random(-3,5)/12)
817
				swishsound:Play()
818
				for i = 0,1 , 0.15 do
819
					damage(character["Left Leg"], "kick", 1.5, 3.5)
820
					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)
821
					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)
822
					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)
823
					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)
824
					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)
825
					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)
826
					runservice.Stepped:wait()
827
				end
828
				coroutine.wrap(function()
829
					for i = 0,1 ,0.07 do
830
						leftlegweld.C0 = leftlegweld.C0:lerp(CFrame.new(-0.5,-2,0),i)
831
						rightlegweld.C0 = rightlegweld.C0:lerp(CFrame.new(0.5,-2,0),i)
832
						runservice.Stepped:wait()
833
					end
834
					leftlegweld:destroy()
835
					rightlegweld:destroy()
836
					character:findFirstChildOfClass("Humanoid").WalkSpeed = character:findFirstChildOfClass("Humanoid").WalkSpeed + 10
837
				end)()
838
				attacknumber = 1
839
			end
840
			if mouseclick then
841
				coroutine.wrap(function()
842
					local humhp = character:findFirstChildOfClass("Humanoid").Health
843
					while runservice.Stepped:wait() and mouseclick do
844
						cananimate = false
845
						if character:findFirstChildOfClass("Humanoid").Health < humhp then
846
							character:findFirstChildOfClass("Humanoid").PlatformStand = false
847
							character:findFirstChildOfClass("Humanoid").Health = character:findFirstChildOfClass("Humanoid").Health + (humhp-character:findFirstChildOfClass("Humanoid").Health)
848
							character:findFirstChildOfClass("Humanoid").WalkSpeed = 16
849
							basssound.TimePosition = 1.525
850
							blocksound:Play()
851
							basssound:Play()
852
							coroutine.wrap(function()
853
								local thehpp = character:findFirstChildOfClass("Humanoid").Health
854
								for i = 1,20 do
855
									character:findFirstChildOfClass("Humanoid").Health = thehpp
856
									runservice.Stepped:wait()
857
								end
858
							end)()
859
							local nearestdistance = math.huge
860
							local nearestplr = nil
861
							for i,v in pairs(workspace:GetDescendants()) do
862
								if v.ClassName == "Model" and v ~= character then
863
									local headdw = v:findFirstChild("Head")
864
									local humanoiddw = v:findFirstChildOfClass("Humanoid")
865
									if humanoiddw and headdw then
866
										if (headdw.Position - character.Head.Position).magnitude < 10 and (headdw.Position - character.Head.Position).magnitude < nearestdistance then
867
											nearestdistance = (headdw.Position - character.Head.Position).magnitude
868
											nearestplr = v
869
										end
870
									end
871
								end
872
							end
873
							if nearestplr ~= nil then
874
								character.Head.CFrame = CFrame.new(character.Head.Position, nearestplr.Head.Position)
875
								nearestplr.Head.CFrame = CFrame.new(nearestplr.Head.Position, character.Head.Position)
876
								local noon = Instance.new("BodyVelocity", nearestplr.Head)
877
								noon.MaxForce = Vector3.new(math.huge,0,math.huge)
878
								noon.Velocity = nearestplr.Head.CFrame.lookVector * -math.random(15,25)
879
								game.Debris:AddItem(noon, 0.2)
880
								damage(nearestplr.Head, "blocked", 3, 0.5)
881
							end
882
							local velocity = Instance.new("BodyVelocity", character.Head)
883
							velocity.MaxForce = Vector3.new(math.huge,0,math.huge)
884
							velocity.Velocity = character.Head.CFrame.lookVector * -math.random(10,15)
885
							game.Debris:AddItem(velocity, 0.2)
886
							break
887
						end
888
						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)
889
						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)
890
						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)
891
						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)
892
						humhp = character:findFirstChildOfClass("Humanoid").Health
893
					end
894
					cananimate = true
895
					canattack = true
896
				end)()
897
			else
898
				canattack = true
899
				cananimate = true
900
			end
901
		end
902
	end
903
end)
904
--
905
tool.Equipped:connect(function()
906
	equipped = true
907
	owner = game:GetService("Players"):GetPlayerFromCharacter(tool.Parent)
908
	character = owner.Character
909
	local rightarm = Instance.new("Weld", character.Torso)
910
	rightarm.Part0 = character.Torso
911
	rightarm.Part1 = character["Right Arm"]
912
	rightarm.C0 = CFrame.new(1.5,0,0)
913
	rightarm.Name = "RightArmWeldpunch"
914
	local leftarm = Instance.new("Weld", character.Torso)
915
	leftarm.Part0 = character.Torso
916
	leftarm.Part1 = character["Left Arm"]
917
	leftarm.C0 = CFrame.new(-1.5,0,0)
918
	leftarm.Name = "LeftArmWeldpunch"
919
	local head = Instance.new("Weld", character.Torso)
920
	head.Part0 = character.Torso
921
	head.Part1 = character.Head
922
	head.C0 = CFrame.new(0,1.5,0)
923
	head.Name = "HeadWeldpunch"
924
	local humanoidrootpart = Instance.new("Weld", character.HumanoidRootPart)
925
	humanoidrootpart.Part0 = character.HumanoidRootPart
926
	humanoidrootpart.Part1 = character.Torso
927
	humanoidrootpart.Name = "HumanoidRootPartWeldpunch"
928
	for i,v in pairs(script:GetChildren()) do
929
		if v.ClassName == "Sound" then
930
			v.Parent = character.HumanoidRootPart
931
		end
932
	end
933
	cananimate = true
934
	local savedchar = character
935
	local lasthp = character:findFirstChildOfClass("Humanoid").Health
936
	coroutine.wrap(function()
937
		local humhp = character:findFirstChildOfClass("Humanoid").Health
938
		while runservice.Stepped:wait() and equipped do
939
			if character:findFirstChildOfClass("Humanoid").Health < humhp then
940
				local thedamage = humhp - character:findFirstChildOfClass("Humanoid").Health
941
				character:findFirstChildOfClass("Humanoid").Health = character:findFirstChildOfClass("Humanoid").Health + thedamage/2.5
942
			end
943
			if cananimate then
944
				head.C0 = head.C0:lerp(CFrame.new(0,1.5,0),0.1)
945
				humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(),0.2)
946
				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)
947
				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)
948
			end
949
			humhp = character:findFirstChildOfClass("Humanoid").Health
950
		end
951
	end)()
952
end)
953
tool.Unequipped:connect(function()
954
	equipped = false
955
	instancewhitelist = {}
956
	mouseclick = false
957
	cananimate = false
958
	for i,v in pairs(character.HumanoidRootPart:GetChildren()) do
959
		if v.ClassName == "Sound" then
960
			v.Parent = script
961
		end
962
	end
963
	if character.Torso:findFirstChild("LeftArmWeldpunch") then
964
		character.Torso:findFirstChild("LeftArmWeldpunch"):destroy()
965
	end
966
	if character.Torso:findFirstChild("RightArmWeldpunch") then
967
		character.Torso:findFirstChild("RightArmWeldpunch"):destroy()
968
	end
969
	if character.Torso:findFirstChild("HeadWeldpunch") then
970
		character.Torso:findFirstChild("HeadWeldpunch"):destroy()
971
	end
972
	if character:findFirstChild("HumanoidRootPart") then
973
		if character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldpunch") then
974
			character.HumanoidRootPart:findFirstChild("HumanoidRootPartWeldpunch"):destroy()
975
		end
976
	end
977
end)
978
979
end)()