View difference between Paste ID: ibzuLNby and 0HiMqbRX
SHOW: | | - or go back to the newest paste.
1-
--//Made by Spyro
1+
--//Edit Made By SonicSydney
2
--//Proteus
3
--[[
4
	
5
	=======Moves=======
6
	===[Normal mode]===
7
	-Q = Void's Wrath
8
	-E = Void Crush
9
	-R = Void Crash
10
	-F = Power Punch
11
	===================
12
	===[Power mode]====
13
	-Q = Pure Devastation
14
	-E = Raining Pain
15
	-R = Sonic Boom
16
	-T = Controlled Devastation
17
	===================
18
	====[Misc Keys]====
19
	-L = Switch between modes
20
	-K = Teleport
21
	===================
22
--]]
23
UserInputService = game:GetService("UserInputService")
24
TweenService = game:GetService("TweenService")
25
Plr = game:GetService("Players").LocalPlayer
26-
Colours= {BrickColor.new("Black"),BrickColor.new("Royal purple")}
26+
Colours= {BrickColor.new("Black"),BrickColor.new("Really red")}
27
Mouse = Plr:GetMouse()
28
Char = Plr.Character
29
Motor6DClones = {}
30
BodyPartClones = {}
31
Torso = Char.Torso
32
HRoot = Char.HumanoidRootPart
33
LArm = Char["Left Arm"]
34
RArm = Char["Right Arm"]
35
LLeg = Char["Left Leg"]
36
RLeg = Char["Right Leg"]
37
Head = Char.Head
38
Hrj = HRoot.RootJoint
39
LShold = Torso["Left Shoulder"]
40
RShold = Torso["Right Shoulder"]
41
LHip = Torso["Left Hip"]
42
RHip = Torso["Right Hip"]
43
Neck = Torso.Neck
44
Lscf = LShold.C0
45
Rscf = RShold.C0
46
Lhcf = LHip.C0
47
Rhcf = RHip.C0
48
Ncf = Neck.C0
49
Hrjcf = Hrj.C0
50
Human = Char:FindFirstChildOfClass("Humanoid")
51
Rad = math.rad
52
Sin = math.sin
53
Random = math.random
54
Floor = math.floor
55
Keys = {}
56
Attacking = false
57
Typing = false
58
Attacking = false
59
SuperFly = false
60
Flying = false
61
Invisible = false
62
Phase = false
63
Anim = "Idle"
64
Mode = "Normal"
65
Walkspeed = 16
66
Char.Animate.Disabled = true
67
Human.Animator:Destroy()
68
Human:RemoveAccessories()
69
Char.Sound:Destroy()
70
Char.Animate:Destroy()
71
pcall(function()
72
	Char["Body Colors"]:Destroy()
73
end)
74
wait(.05)
75
for _,v in pairs(Char:GetChildren()) do
76
	if v:IsA('Clothing') or v:IsA('Accessory') or v:IsA('Hat') then
77
		v:Destroy()
78
	elseif v:IsA('BasePart') then
79
		v.BrickColor = BrickColor.new("Black")
80
	end
81
end
82
function Smooth(part)
83
	part.TopSurface = Enum.SurfaceType.SmoothNoOutlines
84
	part.BottomSurface = Enum.SurfaceType.SmoothNoOutlines
85
	part.RightSurface = Enum.SurfaceType.SmoothNoOutlines
86
	part.LeftSurface = Enum.SurfaceType.SmoothNoOutlines
87
	part.BackSurface = Enum.SurfaceType.SmoothNoOutlines
88
	part.FrontSurface = Enum.SurfaceType.SmoothNoOutlines
89
end
90
function Create(Class,Parent,Name,Extra)
91
	local asd = Instance.new(Class,Parent)
92
	asd.Name = Name or Class
93
	if asd:IsA('BasePart') then
94
		Smooth(asd)
95
	end
96
	for i,v in pairs(Extra or {}) do
97
		asd[i] = v
98
	end
99
	return asd
100
end
101
function newWeld(parent, P0, P1, C0, C1)
102
  local weld = Instance.new("Motor6D", parent or P0)
103
  weld.Part0 = P0
104
  weld.Part1 = P1
105
  weld.C0 = C0 or weld.C0
106
  weld.C1 = C1 or weld.C1
107
  return weld
108
end
109-
Shirt = Create("Shirt",Char,"Shirt",{ShirtTemplate = "rbxassetid://761748165"})
109+
Shirt = Create("Shirt",Char,"Shirt",{ShirtTemplate = "rbxassetid://344089667"})
110-
Pants = Create("Pants",Char,"Pants",{PantsTemplate = "rbxassetid://222431914"})
110+
Pants = Create("Pants",Char,"Pants",{PantsTemplate = "rbxassetid://344084364"})
111
Head.face.Texture = "rbxassetid://120954647"
112
Bg = Create("BillboardGui",Head,"BG",{Size = UDim2.new(7,0,2,0),StudsOffset = Vector3.new(0,2,0)})
113-
Tl = Create("TextLabel",Bg,"TL",{Size = UDim2.new(1,0,1,0),BackgroundTransparency = 1,TextColor3 = Color3.fromRGB(85,0,127),TextScaled = true,TextStrokeTransparency = 0,Font = Enum.Font.Fantasy,Text = "Proteus"})
113+
Tl = Create("TextLabel",Bg,"TL",{Size = UDim2.new(1,0,1,0),BackgroundTransparency = 1,TextColor3 = Color3.fromRGB(85,0,127),TextScaled = true,TextStrokeTransparency = 0,Font = Enum.Font.Fantasy,Text = "-Chara-"})
114
Fist1 = Create("Part",Char,"Fist",{CanCollide = false,Size = Vector3.new(LArm.Size.X,LArm.Size.Y/2,LArm.Size.Z),Transparency = 1})
115
FistAura1 = Create("ParticleEmitter",Fist1,"PE",{
116
	Texture = "http://www.roblox.com/asset/?id=258126401",
117
	Color = ColorSequence.new(Color3.fromRGB(0,0,0),Color3.fromRGB(170,0,0)),
118
	LightEmission = 0.5,
119
	Size = NumberSequence.new(0.719,0),
120
	Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.025,0.6),NumberSequenceKeypoint.new(0.05,0.5),NumberSequenceKeypoint.new(0.5,0.5),NumberSequenceKeypoint.new(0.7,0.6),NumberSequenceKeypoint.new(1,1)}),
121
	Acceleration = Vector3.new(0,0,0),
122
	EmissionDirection = "Top",
123
	Speed = NumberRange.new(0,0),
124
	Lifetime = NumberRange.new(0.6,0.8),
125
	Rate = 500,
126
	Rotation = NumberRange.new(-180,180),
127
	RotSpeed = NumberRange.new(-50,50),
128
	ZOffset = 2,
129
	LockedToPart = false,
130
	Enabled = false
131
})
132
Fist1W = newWeld(LArm,Fist1,LArm,CFrame.new(0,LArm.Size.Y/2,0))
133
Fist2 = Create("Part",Char,"Fist",{CanCollide = false,Size = Vector3.new(RArm.Size.X,RArm.Size.Y/2,RArm.Size.Z),Transparency = 1})
134
FistAura2 = Create("ParticleEmitter",Fist2,"PE",{
135
	Texture = "http://www.roblox.com/asset/?id=258126401",
136
	Color = ColorSequence.new(Color3.fromRGB(0,0,0),Color3.fromRGB(170,0,0)),
137
	LightEmission = 0.5,
138
	Size = NumberSequence.new(0.719,0),
139
	Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.025,0.6),NumberSequenceKeypoint.new(0.05,0.5),NumberSequenceKeypoint.new(0.5,0.5),NumberSequenceKeypoint.new(0.7,0.6),NumberSequenceKeypoint.new(1,1)}),
140
	Acceleration = Vector3.new(0,0,0),
141
	EmissionDirection = "Top",
142
	Speed = NumberRange.new(0,0),
143
	Lifetime = NumberRange.new(0.6,0.8),
144
	Rate = 500,
145
	Rotation = NumberRange.new(-180,180),
146
	RotSpeed = NumberRange.new(-50,50),
147
	ZOffset = 2,
148
	LockedToPart = false,
149
	Enabled = false
150
})
151
Fist2W = newWeld(RArm,Fist2,RArm,CFrame.new(0,RArm.Size.Y/2,0))
152
BodyPosition = Create("BodyPosition",nil,"BP",{MaxForce = Vector3.new(0,2e8,0)})
153
BodyVel = Create("BodyVelocity",nil,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = Vector3.new(0,0,0)})
154
function keyDown(key)
155
	if not Attacking then--For the moves
156
		if Mode == "Normal" then
157
			if key == Enum.KeyCode.Q then
158
				Attacking = true
159
				local createEffect = true
160
				coroutine.resume(coroutine.create(function()
161
					repeat
162
						local blast = Create("Part",workspace,"Part",{Anchored = true,CanCollide = false,CFrame = HRoot.CFrame * CFrame.new(0,-2,0),BrickColor = Colours[math.random(1,#Colours)]})
163
						local mesh = Create("SpecialMesh",blast,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=20329976",Scale = Vector3.new(3,1,3)})
164
						blast.CFrame = blast.CFrame * CFrame.Angles(Rad(0),Rad(Random(-360,360)),Rad(0))
165
						coroutine.resume(coroutine.create(function()
166
							for i=0,1,0.1 do
167
								mesh.Scale = mesh.Scale:lerp(Vector3.new(10,2,10),i)
168
								blast.Transparency = i
169
								wait()
170
							end
171
							blast:Destroy()
172
						end))
173
						game:GetService("Debris"):AddItem(blast,1)
174
						wait()
175
					until not createEffect
176
				end))
177
				coroutine.resume(coroutine.create(function()
178
					repeat
179
						local effect = Create("Part",workspace,"Part",{Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(2,2,2),CanCollide = false,Anchored = false,CFrame = HRoot.CFrame * CFrame.new(Random(-10,10),-2,Random(-10,10))})
180
						Create("BodyVelocity",effect,"BV",{MaxForce = Vector3.new(0,2e8,0),Velocity = Vector3.new(0,10,0)})
181
						coroutine.resume(coroutine.create(function()
182
							for i=0,1,0.1 do
183
								effect.CFrame = effect.CFrame:lerp(effect.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),i)
184
								effect.Transparency = i
185
								wait()
186
							end
187
							effect:Destroy()
188
						end))
189
						game:GetService("Debris"):AddItem(effect,1)
190
						wait()
191
					until not createEffect
192
				end))
193
				for i=0,1,0.1 do
194
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i)
195
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
196
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
197
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-20)),i)
198
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(20)),i)
199
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i)
200
					wait()
201
				end
202
				wait(1)
203
				for i=0,1,0.1 do
204
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
205
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
206
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
207
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-40),Rad(0),Rad(40)),i)
208
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-40),Rad(0),Rad(-40)),i)
209
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
210
					wait()
211
					if i>=0.8 then
212
						createEffect = false
213
					end
214
				end
215
				coroutine.resume(coroutine.create(function()
216
					for _,v in pairs(workspace:GetChildren()) do
217
						if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then
218
							local hum = v:FindFirstChildOfClass("Humanoid")
219
							local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart")
220
							if tor then
221
								if (tor.Position-HRoot.Position).magnitude < 20 then
222
									v:BreakJoints()
223
								elseif (tor.Position-HRoot.Position).magnitude >= 20 and (tor.Position-HRoot.Position).magnitude <= 50 then
224
									for _,b in pairs(v:GetChildren()) do
225
										if b:IsA('ForceField') then
226
											b:Destroy()
227
										end
228
									end
229
									hum:TakeDamage(100-Floor((tor.Position-HRoot.Position).magnitude))
230
								end
231
							end
232
						end
233
					end
234
				end))
235
				for i=0,1,0.1 do
236
					local part = Create("Part",Char,"Effect",{Material = "Neon",Anchored = true,CanCollide = false,Size = Vector3.new(10,10,10),CFrame = HRoot.CFrame,BrickColor = Colours[Random(1,#Colours)]})
237
					coroutine.resume(coroutine.create(function()
238
						for i=0,1,0.1 do
239
							part.Size = part.Size:lerp(Vector3.new(20,20,20),i)
240
							part.CFrame = HRoot.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
241
							part.Transparency = i 
242
							wait()
243
						end
244
						part:Destroy()
245
					end))
246
					wait()
247
				end
248
				Attacking = false
249
			elseif key == Enum.KeyCode.E then
250
				Attacking = true
251
				local detect = true
252
				local targ = nil
253
				local targTor = nil
254
				LArm.Touched:connect(function(h)
255
					if not detect then return end
256
					if h.Parent == nil then return end
257
					if h:IsDescendantOf(Char) then return end
258
					local hum = h.Parent:FindFirstChildOfClass("Humanoid")
259
					local tor = h.Parent:FindFirstChild("Torso") or h.Parent:FindFirstChild("HumanoidRootPart")
260
					if hum and tor then
261
						targ = h.Parent
262
						targTor = tor
263
					end
264
				end)
265
				for i=0,1,0.1 do
266
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(-90)),i)
267
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(90),Rad(-90)),i)
268
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(0),Rad(90)),i)
269
					wait()
270
				end
271
				detect = false
272
				coroutine.resume(coroutine.create(function()
273
					if targ ~= nil and targTor ~= nil then
274
						pcall(function()
275
							targTor.Anchored = true
276
							for i=0,1,0.1 do
277
								targTor.CFrame = targTor.CFrame:lerp(HRoot.CFrame * CFrame.new(0,0,-10),i)
278
								wait()
279
							end
280
							for _,v in pairs(targ:GetChildren()) do
281
								if v:IsA('BasePart') then v.Transparency = 1 end
282
							end
283
							local orb = Create("Part",targ,"Part",{Anchored = true,CanCollide = false,Shape = "Ball",BrickColor = BrickColor.new("Black"),Size = Vector3.new(8,8,8),CFrame = targTor.CFrame})
284
							local mesh = Create("SpecialMesh",orb,"Mesh",{MeshId = "http://www.roblox.com/Asset/?id=9982590",Scale = Vector3.new(5,5,5)})
285
							game:GetService("Debris"):AddItem(orb,5)
286
							for i=0,1,0.1 do
287
								local orig = orb.CFrame
288
								mesh.Scale = mesh.Scale:lerp(Vector3.new(0.05,0.05,0.05),i)
289
								orb.CFrame = orig * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
290
								wait()
291
							end
292
							orb:Destroy()
293
							targ:BreakJoints()
294
							game:GetService("Debris"):AddItem(targ,1)
295
						end)
296
					end
297
				end))
298
				Attacking = false
299
			elseif key == Enum.KeyCode.R then
300
				Attacking = true
301
				for i=0,1,0.1 do
302
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i)
303
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
304
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
305
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-20)),i)
306
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(20)),i)
307
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i)
308
					wait()
309
				end
310
				for i=0,1,0.1 do
311
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
312
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-20),Rad(0),Rad(0)),i)
313
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(10)),i)
314
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-10)),i)
315
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
316
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
317
					wait()
318
				end
319
				local bv = Create("BodyVelocity",HRoot,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = Vector3.new(0,100,0)})
320
				wait(2)
321
				Torso.Transparency = 1
322
				Head.Transparency = 1
323
				LArm.Transparency = 1
324
				RArm.Transparency = 1
325
				LLeg.Transparency = 1
326
				RLeg.Transparency = 1
327
				Torso.Anchored = true
328
				bv:Destroy()
329
				local createEffect = true
330
				local proj = Create("Part",workspace,"Effect",{CanCollide = false,Transparency = 1,Size = Vector3.new(6,6,6),CFrame = HRoot.CFrame * CFrame.new(0,-6,0) * CFrame.Angles(Rad(-90),Rad(0),Rad(0))})
331
				local vel = Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = proj.CFrame.lookVector * 100})
332
				workspace.CurrentCamera.CameraSubject = proj
333
				coroutine.resume(coroutine.create(function()
334
					repeat
335
						local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(6,6,6),CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))})
336
						game:GetService("Debris"):AddItem(part,1)
337
						coroutine.resume(coroutine.create(function()
338
							local tween = TweenService:Create(part,TweenInfo.new(1),{Size = Vector3.new(12,12,12),Transparency = 1,CFrame = part.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))})
339
							tween:Play()
340
							wait(1)
341
							part:Destroy()
342
						end))
343
						game:GetService("RunService").RenderStepped:wait()
344
					until not createEffect
345
				end))
346
				proj.Touched:connect(function(h)
347
					if h:IsDescendantOf(Char) then return end
348
					createEffect = false
349
					proj.Anchored = true
350
					Torso.CFrame = CFrame.new((proj.CFrame * CFrame.new(0,2,0)).p)
351
					Torso.Transparency = 0
352
					Head.Transparency = 0
353
					LArm.Transparency = 0
354
					RArm.Transparency = 0
355
					LLeg.Transparency = 0
356
					RLeg.Transparency = 0
357
					workspace.CurrentCamera.CameraSubject = Human
358
					coroutine.resume(coroutine.create(function()
359
						for _,v in pairs(workspace:GetChildren()) do
360
							if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then
361
								local hum = v:FindFirstChildOfClass("Humanoid")
362
								local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart")
363
								if tor then
364
									local magni = (tor.Position-HRoot.Position).magnitude
365
									if magni <= 20 then
366
										v:BreakJoints()
367
									elseif magni > 20 and magni <= 50 then
368
										for _,b in pairs(v:GetChildren()) do
369
											if b:IsA('ForceField') then
370
												b:Destroy()
371
											end
372
										end
373
										hum:TakeDamage(100-Floor(magni))
374
									end
375
								end
376
							end
377
						end
378
					end))
379
					coroutine.resume(coroutine.create(function()
380
						for i=0,1,0.1 do
381
							local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",Size = Vector3.new(8,8,8),BrickColor = Colours[Random(1,#Colours)],CFrame = proj.CFrame})
382
							local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),BrickColor = Colours[Random(1,#Colours)]})
383
							local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(16,16,16)})
384
							coroutine.resume(coroutine.create(function()
385
								--[[for i=0,1,0.1 do
386
									mesh.Scale = mesh.Scale:lerp(Vector3.new(24,24,24),i)
387
									ring.Transparency = i
388
									wait()
389
								end]]
390
								TweenService:Create(ring,TweenInfo.new(1),{Transparency = 1}):Play()
391
								TweenService:Create(mesh,TweenInfo.new(1),{Scale = Vector3.new(24,24,24)}):Play()
392
								wait(1)
393
								ring:Destroy()
394
							end))
395
							coroutine.resume(coroutine.create(function()
396
								for i=0,1,0.1 do
397
									local orig = part.CFrame
398
									part.Size = part.Size:lerp(Vector3.new(16,16,16),i)
399
									part.CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
400
									part.Transparency = i
401
									wait()
402
								end
403
								part:Destroy()
404
							end))
405
							wait()
406
						end
407
						proj:Destroy()
408
						Attacking = false
409
						Torso.Anchored = false
410
					end))
411
				end)
412
			elseif key == Enum.KeyCode.F then
413
				--Super punch,send them flying
414
				FistAura1.Enabled = true
415
				Attacking = true
416
				local Punching = true
417
				local cache = {}
418
				LArm.Touched:connect(function(h)
419
					if h.Parent == nil then return end
420
					if cache[h.Parent.Name] then return end
421
					if h:IsDescendantOf(Char) then return end
422
					if not Punching then return end
423
					if h.Parent.Name:lower():find("veh") and not h.Parent.Name:lower():find("spawn") then
424
						local bv = Create("BodyVelocity",h,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 500})
425
						h.Parent:BreakJoints()
426
						game:GetService("Debris"):AddItem(bv,0.5)
427
						game:GetService("Debris"):AddItem(h.Parent,3)
428
						return
429
					end
430
					if not h.Parent:FindFirstChildOfClass("Humanoid") then return end
431
					Punching = false
432
					cache[h.Parent.Name] = true
433
					local hum = h.Parent:FindFirstChildOfClass("Humanoid")
434
					if hum.MaxHealth > 2000 then
435
						hum.MaxHealth = 2000
436
					end
437
					for _,v in pairs(h.Parent:GetChildren()) do
438
						if v:IsA('ForceField') then
439
							v:Destroy()
440
						end
441
					end
442
					if hum.Health > (hum.MaxHealth/2) then
443
						local bv = Create("BodyVelocity",h,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 100})
444
						game:GetService("Debris"):AddItem(bv,1)
445
						hum:TakeDamage(hum.MaxHealth/2)
446
					else
447
						h.Parent:BreakJoints()
448
						Torso.Anchored = true
449
						for _,v in pairs(h.Parent:GetChildren()) do
450
							if v:IsA('BasePart') then
451
								v.CanCollide = false
452
								local bv = Create("BodyVelocity",v,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 500})
453
								game:GetService("Debris"):AddItem(bv,2)
454
							end
455
						end
456
						Torso.Anchored = false
457
					end
458
					Attacking = false
459
				end)
460
				for i=0,1,0.1 do
461
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(90)),i)
462
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(0),Rad(270)),i)
463
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(20),Rad(40)),i)
464
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(20),Rad(-90)),i)
465
					wait()
466
				end
467
				wait(.1)
468
				for i=0,1,0.1 do
469
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(270)),i)
470
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(0),Rad(90)),i)
471
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(-20),Rad(40)),i)
472
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(90),Rad(-90)),i)
473
					if not Punching then
474
						break
475
					end
476
					wait()
477
				end
478
				if Punching then
479
					Punching = false
480
					Attacking = false
481
				end
482
				FistAura1.Enabled = false
483
			end
484
		else
485
			if key == Enum.KeyCode.Q then
486
				Attacking = true
487
				local createEffect = true
488
				local projFire = false
489
				coroutine.resume(coroutine.create(function()
490
					repeat
491
						local effect = Create("Part",workspace,"Part",{Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(2,2,2),CanCollide = false,Anchored = false,CFrame = HRoot.CFrame * CFrame.new(Random(-10,10),-2,Random(-10,10))})
492
						Create("BodyVelocity",effect,"BV",{MaxForce = Vector3.new(0,2e8,0),Velocity = Vector3.new(0,10,0)})
493
						coroutine.resume(coroutine.create(function()
494
							for i=0,1,0.1 do
495
								effect.CFrame = effect.CFrame:lerp(effect.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),i)
496
								effect.Transparency = i
497
								wait()
498
							end
499
							effect:Destroy()
500
						end))
501
						game:GetService("Debris"):AddItem(effect,1)
502
						game:GetService("RunService").RenderStepped:wait()
503
					until not createEffect
504
				end))
505
				for i=0,1,0.1 do
506
					Hrj.C0 = Hrj.C0:lerp(Hrjcf,i)
507
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(-70),Rad(-90)),i)
508
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(70),Rad(90)),i)
509
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i)
510
					wait()
511
				end
512
				wait(1)
513
				for i=0,1,0.1 do
514
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(-50),Rad(-90)),i)
515
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(50),Rad(90)),i)
516
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
517
					if i>= 0.8 then
518
						createEffect = false
519
					end
520
					wait()
521
				end
522
				local proj = Create("Part",workspace,"Effect",{CanCollide = false,Anchored = false,Size = Vector3.new(20,40,8),CFrame = HRoot.CFrame,Transparency = 1})
523
				Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 150})
524
				game:GetService("Debris"):AddItem(proj,2)
525
				proj.Touched:connect(function(h)
526
					if h.Parent == nil then return end
527
					if h:IsDescendantOf(Char) then return end
528
					if h.Parent.Name:lower():find("veh") then h.Parent:BreakJoints() game:GetService("Debris"):AddItem(h.Parent,3) return end
529
					h:BreakJoints()
530
				end)
531
				projFire = true
532
				proj.CFrame = HRoot.CFrame * CFrame.new(0,0,-4)
533
				coroutine.resume(coroutine.create(function()
534
					repeat
535
						coroutine.resume(coroutine.create(function()
536
							local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(8,8,8),CFrame = proj.CFrame})
537
							part.CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
538
							game:GetService("Debris"):AddItem(part,0.1)
539
							local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),BrickColor = Colours[Random(1,#Colours)]})
540
							local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(8,8,8)})
541
							local tween = TweenService:Create(ring,TweenInfo.new(0.5),{Transparency = 1})
542
							local tween2 = TweenService:Create(mesh,TweenInfo.new(0.5),{Scale = Vector3.new(32,32,32)})
543
							tween:Play()
544
							tween2:Play()
545
							wait(0.5)
546
							ring:Destroy()
547
						end))
548
						game:GetService("RunService").RenderStepped:wait()
549
					until not projFire
550
				end))
551
				coroutine.resume(coroutine.create(function()
552
					wait(2)
553
					projFire = false
554
				end))
555
				Attacking = false
556
			elseif key == Enum.KeyCode.E then
557
				Attacking = true
558
				for i=0,1,0.1 do
559
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-20),Rad(0),Rad(0)),i)
560
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
561
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(60),Rad(-90)),i)
562
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(-60),Rad(90)),i)
563
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(20)),i)
564
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-20)),i)
565
					wait()
566
				end
567
				for i=0,1,0.1 do
568
					local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Transparency = 1,CFrame = HRoot.CFrame * CFrame.new(Random(-50,50),-4,Random(-50,50))})
569
					game:GetService("Debris"):AddItem(part,2)
570
					coroutine.resume(coroutine.create(function()
571
						local createEffect = true
572
						local proj = Create("Part",workspace,"Effect",{CanCollide = false,Material = "Neon",Size = Vector3.new(4,4,4),CFrame = HRoot.CFrame * CFrame.new(0,200,0),BrickColor = Colours[Random(1,#Colours)]})
573
						local mesh = Create("SpecialMesh",proj,"Mesh",{MeshType = "Sphere",Scale = Vector3.new(1,1,1)})
574
						proj.CFrame = CFrame.new(proj.Position,part.Position)
575
						Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = proj.CFrame.lookVector * 100})
576
						proj.Touched:connect(function(h)
577
							if h:IsDescendantOf(Char) then return end
578
							if h.Name == "Effect" then return end
579
							createEffect = false
580
							proj.Anchored = true
581
							coroutine.resume(coroutine.create(function()
582
								for _,v in pairs(workspace:GetChildren()) do
583
									if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then
584
										local hum = v:FindFirstChildOfClass("Humanoid")
585
										local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart")
586
										if tor then
587
											local magni = (tor.Position-proj.Position).magnitude
588
											if magni <= 20 then
589
												v:BreakJoints()
590
											elseif magni > 20 and magni <= 50 then
591
												for _,b in pairs(v:GetChildren()) do
592
													if b:IsA('ForceField') then
593
														b:Destroy()
594
													end
595
												end
596
												hum:TakeDamage(100-Floor(magni))
597
											end
598
										end
599
									end
600
								end
601
							end))
602
							local tween = TweenService:Create(mesh,TweenInfo.new(2),{Scale = Vector3.new(12,12,12)})
603
							local tween2 = TweenService:Create(proj,TweenInfo.new(2),{Transparency = 1})
604
							tween:Play()
605
							tween2:Play()
606
							wait(2)
607
							proj:Destroy()
608
						end)
609
						coroutine.resume(coroutine.create(function()
610
							repeat
611
								coroutine.resume(coroutine.create(function()
612
									local brick = Create("Part",Char,"Effect",{Material = "Neon",Anchored = true,CanCollide = false,BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(4,4,4),CFrame = proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))})
613
									local bmesh = Create("BlockMesh",brick,"Mesh",{})
614
									game:GetService("Debris"):AddItem(brick,1)
615
									local tween = TweenService:Create(brick,TweenInfo.new(1),{Transparency = 1})
616
									local tween2 = TweenService:Create(bmesh,TweenInfo.new(1),{Scale = Vector3.new(3,3,3)})
617
									tween:Play()
618
									tween2:Play()
619
									wait(1)
620
									--[[for i=0,1,0.1 do
621
										bmesh.Scale = bmesh.Scale:lerp(Vector3.new(3,3,3),i)
622
										brick.Transparency = i
623
										wait()
624
									end]]
625
									brick:Destroy()
626
								end))
627
								game:GetService("RunService").RenderStepped:wait()
628
							until not createEffect
629
						end))
630
					end))
631
					wait()
632
				end
633
				Attacking = false
634
			elseif key == Enum.KeyCode.R then
635
				Attacking = true
636
				for i=0,1,0.1 do
637
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
638
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
639
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
640
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
641
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
642
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
643
					wait()
644
				end
645
				for i=0,1,0.1 do
646
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(10),Rad(0),Rad(0)),i)
647
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
648
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
649
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
650
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
651
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
652
					if i > 0.8 and i <= 0.9 then
653
						local proj = Create("Part",workspace,"Effect",{CanCollide = false,Anchored = false,Size = Vector3.new(20,40,8),CFrame = HRoot.CFrame,Transparency = 1})
654
						Create("BodyVelocity",proj,"BV",{MaxForce = Vector3.new(2e8,2e8,2e8),Velocity = HRoot.CFrame.lookVector * 150})
655
						game:GetService("Debris"):AddItem(proj,2)
656
						proj.Touched:connect(function(h)
657
							local cf = proj.CFrame
658
							if h:IsDescendantOf(Char) then return end
659
							if h.Parent == nil then return end
660
							if h.Parent.Name:lower():find("veh") then
661
								h.Parent:BreakJoints()
662
								game:GetService("Debris"):AddItem(h.Parent,3)
663
								return
664
							end
665
							if h:IsDescendantOf(Char) then return end
666
							if h:IsA('BasePart') then
667
								if h.Parent:FindFirstChildOfClass("Humanoid") then
668
									h.Velocity = proj.CFrame.lookVector * 100
669
								end
670
								h:BreakJoints()
671
							end
672
							proj.CFrame = cf
673
						end)
674
						proj.CFrame = HRoot.CFrame * CFrame.new(0,0,-4)
675
						coroutine.resume(coroutine.create(function()
676
							repeat
677
								coroutine.resume(coroutine.create(function()
678
									local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = proj.CFrame,BrickColor = Colours[Random(1,#Colours)]})--proj.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
679
									local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(8,8,8)})
680
									local tween = TweenService:Create(ring,TweenInfo.new(0.5),{Transparency = 1})
681
									local tween2 = TweenService:Create(mesh,TweenInfo.new(0.5),{Scale = Vector3.new(32,32,32)})
682
									tween:Play()
683
									tween2:Play()
684
									wait(0.5)
685
									ring:Destroy()
686
								end))
687
								game:GetService("RunService").RenderStepped:wait()
688
							until proj.Parent == nil
689
						end))
690
					end
691
					wait()
692
				end
693
				Attacking = false
694
			elseif key == Enum.KeyCode.T then
695
				Attacking = true
696
				for i=0,1,0.1 do
697
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(90),Rad(0),Rad(0)),i)
698
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(0),Rad(0),Rad(-120)),i)
699
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(0),Rad(0),Rad(120)),i)
700
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(0),Rad(0),Rad(-70)),i)
701
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(0),Rad(0),Rad(70)),i)
702
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(90),Rad(0),Rad(0)),i)
703
					Torso.Transparency = i
704
					LArm.Transparency = i
705
					RArm.Transparency = i
706
					LLeg.Transparency = i
707
					RLeg.Transparency = i
708
					Head.Transparency = i
709
					FistAura1.Enabled = false
710
					FistAura2.Enabled = false
711
					Tl.Visible = false
712
					Head.face.Transparency = i
713
					wait()
714
				end
715
				local createEffect = true
716
				spawn(function()
717
					local hitbox = Create("Part",Char,"Effect",{CanCollide = false,Size = Vector3.new(8,8,8),Transparency = 1,CFrame = HRoot.CFrame})
718
					local hitWeld = newWeld(HRoot,hitbox,HRoot)
719
					BodyVel.Parent = HRoot
720
					BodyPosition.Parent = nil
721
					BodyVel.Velocity = Vector3.new(0,50,0)
722
					wait(1)
723
					hitbox.Touched:connect(function(h)
724
						if h:IsDescendantOf(Char) then return end
725
						if h.Name == "Effect" then return end
726
						if not createEffect then return end
727
						hitbox.Anchored = true
728
						hitWeld:Destroy()
729
						createEffect = false
730
						BodyVel.Velocity = Vector3.new(0,0,0)
731
						coroutine.resume(coroutine.create(function()
732
						for _,v in pairs(workspace:GetChildren()) do
733
							if v:IsA('Model') and v ~= Char and v:FindFirstChildOfClass("Humanoid") then
734
								local hum = v:FindFirstChildOfClass("Humanoid")
735
								local tor = v:FindFirstChild("Torso") or v:FindFirstChild("HumanoidRootPart")
736
								if tor then
737
									local magni = (tor.Position-HRoot.Position).magnitude
738
									if magni <= 20 then
739
										v:BreakJoints()
740
									elseif magni > 20 and magni <= 50 then
741
										for _,b in pairs(v:GetChildren()) do
742
											if b:IsA('ForceField') then
743
												b:Destroy()
744
											end
745
										end
746
										hum:TakeDamage(100-Floor(magni))
747
									end
748
								end
749
							end
750
						end
751
					end))
752
					coroutine.resume(coroutine.create(function()
753
						for i=0,2,0.1 do
754
							local part = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,Material = "Neon",Size = Vector3.new(8,8,8),BrickColor = Colours[Random(1,#Colours)],CFrame = hitbox.CFrame})
755
							local bmesh = Create("BlockMesh",part,"Mesh",{})
756
							local ring = Create("Part",Char,"Effect",{Anchored = true,CanCollide = false,CFrame = hitbox.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360))),BrickColor = Colours[Random(1,#Colours)]})
757
							local mesh = Create("SpecialMesh",ring,"Mesh",{MeshId = "http://www.roblox.com/asset/?id=3270017",Scale = Vector3.new(16,16,16)})
758
							TweenService:Create(ring,TweenInfo.new(1),{Transparency = 1}):Play()
759
							TweenService:Create(mesh,TweenInfo.new(1),{Scale = Vector3.new(50,50,50)}):Play()
760
							game:GetService("Debris"):AddItem(ring,0.9)
761
							TweenService:Create(part,TweenInfo.new(1),{Transparency = 1}):Play()
762
							TweenService:Create(bmesh,TweenInfo.new(1),{Scale = Vector3.new(6,6,6)}):Play()
763
							game:GetService("Debris"):AddItem(part,0.9)
764
							coroutine.resume(coroutine.create(function()
765
								for i=0,1,0.01 do
766
									part.CFrame = hitbox.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
767
									ring.CFrame = hitbox.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
768
									wait()
769
								end
770
							end))
771
							wait()
772
						end
773
						hitbox:Destroy()
774
					end))
775
						for i=1,0,-0.1 do
776
							Torso.Transparency = i
777
							LArm.Transparency = i
778
							RArm.Transparency = i
779
							LLeg.Transparency = i
780
							RLeg.Transparency = i
781
							Head.Transparency = i
782
							FistAura1.Enabled = true
783
							FistAura2.Enabled = true
784
							Tl.Visible = true
785
							Head.face.Transparency = i
786
							wait()
787
						end
788
						BodyPosition.Parent = HRoot
789
						BodyVel.Parent = nil
790
						Attacking = false
791
					end)
792
					repeat
793
						spawn(function()
794
							local effect = Create("Part",Char,"Effect",{Anchored = true,Material = "Neon",CanCollide = false,BrickColor = Colours[Random(1,#Colours)],Size = Vector3.new(8,8,8),CFrame = HRoot.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))})
795
							local mesh = Create("BlockMesh",effect,"Mesh",{})
796
							game:GetService("Debris"):AddItem(effect,1)
797
							TweenService:Create(mesh,TweenInfo.new(1),{Scale = Vector3.new(2,2,2)}):Play()
798
							TweenService:Create(effect,TweenInfo.new(1),{Transparency = 1}):Play()
799
							effect.CFrame = HRoot.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
800
						end)
801
						BodyVel.Velocity = workspace.CurrentCamera.CFrame.lookVector * 100
802
						game:GetService("RunService").RenderStepped:wait()
803
					until not createEffect
804
				end)
805
			end
806
		end
807
		if key == Enum.KeyCode.L then
808
			Walkspeed = 0
809
			Attacking = true
810
			if Mode == "Normal" then
811
				Mode = "Power"
812
				Colours= {BrickColor.new("Black"),BrickColor.new("Crimson")}
813
				local Switching = true
814
				coroutine.resume(coroutine.create(function()
815
					repeat
816
						local ball = Create("Part",workspace,"Ball",{Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = Colours[Random(1,#Colours)]})
817
						game:GetService("Debris"):AddItem(ball,1)
818
						coroutine.resume(coroutine.create(function()
819
							for i=0,1,0.1 do
820
								ball.Size = ball.Size:lerp(Vector3.new(10,10,10),0.5)
821
								ball.CFrame = HRoot.CFrame
822
								ball.Transparency = i
823
								wait()
824
							end
825
							ball:Destroy()
826
						end))
827
						wait()
828
					until not Switching
829
				end))
830
				local ball = Create("Part",Char,"Ball",{Transparency=1,Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = BrickColor.new("Black")})
831
				for i=0,1,0.1 do
832
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
833
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
834
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
835
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
836
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-40),Rad(0),Rad(40)),i)
837
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-40),Rad(0),Rad(-40)),i)
838
					wait()
839
				end
840
				Switching = false
841
				ball.Transparency = 0
842
				for i=0,1,0.1 do
843
					ball.Size = ball.Size:lerp(Vector3.new(14,14,14),i)
844
					ball.CFrame = HRoot.CFrame
845
					ball.Transparency = i
846
					wait()
847
				end
848
				ball:Destroy()
849
				FistAura1.Enabled = true
850
				FistAura2.Enabled = true
851
				BodyPosition.Position = HRoot.Position + Vector3.new(0,2,0)
852
				BodyPosition.Parent = HRoot
853
				Walkspeed = 32
854
			else
855
				Mode = "Normal"
856
				Colours= {BrickColor.new("Black"),BrickColor.new("Royal purple")}
857
				local Switching = true
858
				coroutine.resume(coroutine.create(function()
859
					repeat
860
						local ball = Create("Part",workspace,"Ball",{Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = Colours[Random(1,#Colours)]})
861
						game:GetService("Debris"):AddItem(ball,1)
862
						coroutine.resume(coroutine.create(function()
863
							for i=0,1,0.1 do
864
								ball.Size = ball.Size:lerp(Vector3.new(10,10,10),0.5)
865
								ball.CFrame = HRoot.CFrame
866
								ball.Transparency = i
867
								wait()
868
							end
869
							ball:Destroy()
870
						end))
871
						wait()
872
					until not Switching
873
				end))
874
				local ball = Create("Part",Char,"Ball",{Transparency=1,Shape = "Ball",Size = Vector3.new(4,4,4),Anchored = true,CanCollide = false,CFrame = HRoot.CFrame,Material = "Neon",BrickColor = BrickColor.new("Black")})
875
				for i=0,1,0.1 do
876
					Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
877
					LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(10)),i)
878
					RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(-10)),i)
879
					Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-10),Rad(0),Rad(0)),i)
880
					LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-40),Rad(0),Rad(40)),i)
881
					RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-40),Rad(0),Rad(-40)),i)
882
					wait()
883
				end
884
				Switching = false
885
				ball.Transparency = 0
886
				for i=0,1,0.1 do
887
					local cf = ball.CFrame
888
					ball.Size = ball.Size:lerp(Vector3.new(14,14,14),i)
889
					ball.CFrame = cf
890
					ball.Transparency = i
891
					wait()
892
				end
893
				ball:Destroy()
894
				FistAura1.Enabled = false
895
				FistAura2.Enabled = false
896
				BodyPosition.Parent = nil
897
				Walkspeed = 16
898
			end
899
			Attacking = false
900
		elseif key == Enum.KeyCode.K then
901
			Attacking = true
902
			for i=0,1,0.1 do
903
				Torso.Transparency = i
904
				LArm.Transparency = i
905
				RArm.Transparency = i
906
				LLeg.Transparency = i
907
				RLeg.Transparency = i
908
				Head.Transparency = i
909
				wait()
910
			end
911
			Char:MoveTo(Mouse.Hit.p + Vector3.new(0,2,0))
912
			--Torso.CFrame = CFrame.new(Mouse.Hit.p)
913
			for i=1,0,-0.1 do
914
				Torso.Transparency = i
915
				LArm.Transparency = i
916
				RArm.Transparency = i
917
				LLeg.Transparency = i
918
				RLeg.Transparency = i
919
				Head.Transparency = i
920
				wait()
921
			end
922
			Attacking = false
923
		end
924
	end
925
end
926
function keyUp(key)
927
	
928
end
929
UserInputService.TextBoxFocused:connect(function()
930
	Typing = true
931
end)
932
UserInputService.TextBoxFocusReleased:connect(function()
933
	Typing = false
934
end)
935
if UserInputService.KeyboardEnabled and UserInputService.MouseEnabled then
936
	UserInputService.InputBegan:connect(function(inpType)
937
		if inpType.KeyCode ~= Enum.KeyCode.Unknown then
938
			if not Typing then
939
				keyDown(inpType.KeyCode)
940
			end
941
		end
942
	end)
943
	UserInputService.InputEnded:connect(function(inpType)
944
		if inpType ~= Enum.KeyCode.Unknown then
945
			if not Typing then
946
				keyUp(inpType.KeyCode)
947
			end
948
		end
949
	end)
950
end
951
game:GetService("RunService").RenderStepped:connect(function(step)
952
	Human.WalkSpeed = Walkspeed
953
	Human.MaxHealth = math.huge
954
	Human.Health = Human.MaxHealth
955
	if not Attacking then
956
		if (Torso.Velocity).magnitude < 2 then
957
			Anim = "Idle"
958
		elseif (Torso.Velocity).magnitude < 20 then
959
			Anim = "Walk"
960
		elseif (Torso.Velocity).magnitude > 20 then
961
			Anim = "Run"
962
		end
963
		if Anim == "Idle" then
964
			if Mode == "Normal" then
965
				Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2)
966
				LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-5),Rad(0),-Rad(2 * Sin(tick()/1.5))),0.2)
967
				RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-5),Rad(0),Rad(2 * Sin(tick()/1.5))),0.2)
968
				LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(0)) * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2)
969
				RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(0)) * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2)
970
				Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(5),Rad(0)),0.2)
971
			else
972
				Hrj.C0 = Hrj.C0:lerp(Hrjcf,0.2)
973
				LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2)
974
				RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2)
975
				Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(2 * Sin(tick()/1.5)),Rad(0),Rad(0)),0.2)
976
				LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(-8),Rad(0),Rad(0)),0.2)
977
				RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(-8),Rad(0),Rad(0)),0.2)
978
			end
979
		elseif Anim == "Walk" then
980
			if Mode == "Normal" then
981
				Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(0),Rad(0),Rad(10 * Sin(tick()*4))),0.5)
982
				LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(0),Rad(0),Rad(10 * Sin(tick()*4))),0.5)
983
				RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(0),Rad(0),Rad(10 * Sin(tick()*4))),0.5)
984
				LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10 * Sin(tick()*4))),0.5)
985
				RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-5),Rad(0),Rad(10 * Sin(tick()*4))),0.5)
986
				Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(0),Rad(10 * Sin(tick()*4)),Rad(0)),0.5)
987
			end
988
		elseif Anim == "Run" then
989
			if Mode == "Power" then
990
				Hrj.C0 = Hrj.C0:lerp(Hrjcf * CFrame.Angles(Rad(20),Rad(0),Rad(0)),0.5)
991
				LShold.C0 = LShold.C0:lerp(Lscf * CFrame.Angles(Rad(-10),Rad(0),Rad(20)),0.5)
992
				RShold.C0 = RShold.C0:lerp(Rscf * CFrame.Angles(Rad(-10),Rad(0),Rad(-20)),0.5)
993
				LHip.C0 = LHip.C0:lerp(Lhcf * CFrame.Angles(Rad(0),Rad(0),Rad(10)),0.5)
994
				RHip.C0 = RHip.C0:lerp(Rhcf * CFrame.Angles(Rad(0),Rad(0),Rad(-10)),0.5)
995
				Neck.C0 = Neck.C0:lerp(Ncf * CFrame.Angles(Rad(-20),Rad(0),Rad(0)),0.5)
996
			end
997
		end
998
	end
999
end)
1000
spawn(function()
1001
	while game:GetService("RunService").RenderStepped:wait() do
1002
		if Mode == "Power" and Torso.Transparency ~= 1 then
1003
			local effect1 = Create("Part",Char,"Effect",{Size = Vector3.new(LLeg.Size.Z,LLeg.Size.Y/2,LLeg.Size.Z),Anchored = true,CanCollide = false,Material = "Neon",Transparency = 0.3,BrickColor = Colours[Random(1,#Colours)],CFrame = LLeg.CFrame * CFrame.new(0,-LLeg.Size.Y/2,0)})
1004
			local effect2 = Create("Part",Char,"Effect",{Size = Vector3.new(RLeg.Size.Z,RLeg.Size.Y/2,RLeg.Size.Z),Anchored = true,CanCollide = false,Material = "Neon",Transparency = 0.3,BrickColor = Colours[Random(1,#Colours)],CFrame = RLeg.CFrame * CFrame.new(0,-RLeg.Size.Y/2,0)})
1005
			effect1.CFrame = effect1.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
1006
			effect2.CFrame = effect2.CFrame * CFrame.Angles(Rad(Random(-360,360)),Rad(Random(-360,360)),Rad(Random(-360,360)))
1007
			game:GetService("Debris"):AddItem(effect1,0.05)
1008
			game:GetService("Debris"):AddItem(effect2,0.05)
1009
		end
1010
	end
1011
end)