View difference between Paste ID: aJM2E82j and hehjvtDm
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
-BY EDIT 5MZAZATV
6
7
wait(0.2)
8
9
Player = game.Players.LocalPlayer
10
	Character = Player.Character
11
	local txt = Instance.new("BillboardGui", Character)
12
	txt.Adornee = Character.Head
13
	txt.Name = "_status"
14
	txt.Size = UDim2.new(2, 0, 1.2, 0)
15
	txt.StudsOffset = Vector3.new(-9, 8, 0)
16
	local text = Instance.new("TextLabel", txt)
17
	text.Size = UDim2.new(10, 0, 7, 0)
18
	text.FontSize = "Size24"
19
	text.TextScaled = true
20
	text.TextTransparency = 0
21
	text.BackgroundTransparency = 1 
22
	text.TextTransparency = 0
23
	text.TextStrokeTransparency = 0
24
	text.Font = "Antique"
25
	text.TextStrokeColor3 = Color3.new(255,0,0)
26
        text.Text = "Dark MZ"
27
28
29
Player = game:GetService("Players").LocalPlayer
30
PlayerGui = Player.PlayerGui
31
Cam = workspace.CurrentCamera
32-
sick.SoundId = "rbxassetid://1226942329"
32+
33
Character = Player.Character
34
Humanoid = Character.Humanoid
35
Mouse = Player:GetMouse()
36
RootPart = Character["HumanoidRootPart"]
37
Torso = Character["Torso"]
38
Head = Character["Head"]
39
RightArm = Character["Right Arm"]
40
LeftArm = Character["Left Arm"]
41
RightLeg = Character["Right Leg"]
42
LeftLeg = Character["Left Leg"]
43
RootJoint = RootPart["RootJoint"]
44
Neck = Torso["Neck"]
45
RightShoulder = Torso["Right Shoulder"]
46
LeftShoulder = Torso["Left Shoulder"]
47
RightHip = Torso["Right Hip"]
48
LeftHip = Torso["Left Hip"]
49
local sick = Instance.new("Sound",Character)
50
sick.SoundId = "rbxassetid://657647848"
51
sick.Looped = true
52
sick.Pitch = 1
53
sick.Volume = 25
54
sick:Play()
55
56
IT = Instance.new
57
CF = CFrame.new
58
VT = Vector3.new
59
RAD = math.rad
60
C3 = Color3.new
61
UD2 = UDim2.new
62
BRICKC = BrickColor.new
63
ANGLES = CFrame.Angles
64
EULER = CFrame.fromEulerAnglesXYZ
65
COS = math.cos
66
ACOS = math.acos
67
SIN = math.sin
68
ASIN = math.asin
69
ABS = math.abs
70
MRANDOM = math.random
71
FLOOR = math.floor
72
73
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
74
	local NEWMESH = IT(MESH)
75
	if MESH == "SpecialMesh" then
76
		NEWMESH.MeshType = MESHTYPE
77
		if MESHID ~= "nil" and MESHID ~= "" then
78
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
79
		end
80
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
81
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
82
		end
83
	end
84
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
85
	NEWMESH.Scale = SCALE
86
	NEWMESH.Parent = PARENT
87
	return NEWMESH
88
end
89
90
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
91
	local NEWPART = IT("Part")
92
	NEWPART.formFactor = FORMFACTOR
93
	NEWPART.Reflectance = REFLECTANCE
94
	NEWPART.Transparency = TRANSPARENCY
95
	NEWPART.CanCollide = false
96
	NEWPART.Locked = true
97
	NEWPART.Anchored = true
98
	if ANCHOR == false then
99
		NEWPART.Anchored = false
100
	end
101
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
102
	NEWPART.Name = NAME
103
	NEWPART.Size = SIZE
104
	NEWPART.Position = Torso.Position
105
	NEWPART.Material = MATERIAL
106
	NEWPART:BreakJoints()
107
	NEWPART.Parent = PARENT
108
	return NEWPART
109
end
110
111
--//=================================\\
112
--||		  CUSTOMIZATION
113
--\\=================================//
114
115
Player_Size = 1 --Size of the player.
116
Animation_Speed = 3
117
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
118
119
local Speed = 200
120
local Effects2 = {}
121
122
--//=================================\\
123
--|| 	  END OF CUSTOMIZATION
124
--\\=================================//
125
126
	local function weldBetween(a, b)
127
	    local weldd = Instance.new("ManualWeld")
128
	    weldd.Part0 = a
129
	    weldd.Part1 = b
130
	    weldd.C0 = CFrame.new()
131
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
132
	    weldd.Parent = a
133
	    return weldd
134
	end
135
136
--//=================================\\
137
--|| 	      USEFUL VALUES
138
--\\=================================//
139
140
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
141
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
142
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
143
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
144
local CHANGEDEFENSE = 0
145
local CHANGEDAMAGE = 0
146
local CHANGEMOVEMENT = 0
147
local ANIM = "Idle"
148
local ATTACK = false
149
local EQUIPPED = false
150
local HOLD = false
151
local COMBO = 1
152
local Rooted = false
153
local SINE = 0
154
local KEYHOLD = false
155
local CHANGE = 2 / Animation_Speed
156
local WALKINGANIM = false
157
local WALK = 0
158
local VALUE1 = false
159
local VALUE2 = false
160
local ROBLOXIDLEANIMATION = IT("Animation")
161
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
162
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
163
--ROBLOXIDLEANIMATION.Parent = Humanoid
164
local WEAPONGUI = IT("ScreenGui", PlayerGui)
165
WEAPONGUI.Name = "Weapon GUI"
166
local Weapon = IT("Model")
167
Weapon.Name = "Adds"
168
local HITFLOOR = nil
169
local Effects = IT("Folder", Weapon)
170
Effects.Name = "Effects"
171
local ANIMATOR = Humanoid.Animator
172
local ANIMATE = Character.Animate
173
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
174
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
175
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
176
local HITBLOCKSOUNDS = {"199148933", "199148947"}
177
local UNANCHOR = true
178
179
local SKILLTEXTCOLOR = C3(239/255, 184/255, 56/255)
180
181
--//=================================\\
182
--\\=================================//
183
184
185
--//=================================\\
186
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
187
--\\=================================//
188
189
ArtificialHB = Instance.new("BindableEvent", script)
190
ArtificialHB.Name = "ArtificialHB"
191
192
script:WaitForChild("ArtificialHB")
193
194
frame = Frame_Speed
195
tf = 0
196
allowframeloss = false
197
tossremainder = false
198
lastframe = tick()
199
script.ArtificialHB:Fire()
200
201
game:GetService("RunService").Heartbeat:connect(function(s, p)
202
	tf = tf + s
203
	if tf >= frame then
204
		if allowframeloss then
205
			script.ArtificialHB:Fire()
206
			lastframe = tick()
207
		else
208
			for i = 1, math.floor(tf / frame) do
209
				script.ArtificialHB:Fire()
210
			end
211
		lastframe = tick()
212
		end
213
		if tossremainder then
214
			tf = 0
215
		else
216
			tf = tf - frame * math.floor(tf / frame)
217
		end
218
	end
219
end)
220
221
--//=================================\\
222
--\\=================================//
223
224
225
226
227
228
--//=================================\\
229
--|| 	      SOME FUNCTIONS
230
--\\=================================//
231
232
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
233
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
234
end
235
236
function PositiveAngle(NUMBER)
237
	if NUMBER >= 0 then
238
		NUMBER = 0
239
	end
240
	return NUMBER
241
end
242
243
function NegativeAngle(NUMBER)
244
	if NUMBER <= 0 then
245
		NUMBER = 0
246
	end
247
	return NUMBER
248
end
249
250
function Swait(NUMBER)
251
	if NUMBER == 0 or NUMBER == nil then
252
		ArtificialHB.Event:wait()
253
	else
254
		for i = 1, NUMBER do
255
			ArtificialHB.Event:wait()
256
		end
257
	end
258
end
259
260
function QuaternionFromCFrame(cf)
261
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
262
	local trace = m00 + m11 + m22
263
	if trace > 0 then 
264
		local s = math.sqrt(1 + trace)
265
		local recip = 0.5 / s
266
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
267
	else
268
		local i = 0
269
		if m11 > m00 then
270
			i = 1
271
		end
272
		if m22 > (i == 0 and m00 or m11) then
273
			i = 2
274
		end
275
		if i == 0 then
276
			local s = math.sqrt(m00 - m11 - m22 + 1)
277
			local recip = 0.5 / s
278
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
279
		elseif i == 1 then
280
			local s = math.sqrt(m11 - m22 - m00 + 1)
281
			local recip = 0.5 / s
282
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
283
		elseif i == 2 then
284
			local s = math.sqrt(m22 - m00 - m11 + 1)
285
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
286
		end
287
	end
288
end
289
 
290
function QuaternionToCFrame(px, py, pz, x, y, z, w)
291
	local xs, ys, zs = x + x, y + y, z + z
292
	local wx, wy, wz = w * xs, w * ys, w * zs
293
	local xx = x * xs
294
	local xy = x * ys
295
	local xz = x * zs
296
	local yy = y * ys
297
	local yz = y * zs
298
	local zz = z * zs
299
	return CFrame.new(px, py, pz, 1 - (yy + zz), xy - wz, xz + wy, xy + wz, 1 - (xx + zz), yz - wx, xz - wy, yz + wx, 1 - (xx + yy))
300
end
301
 
302
function QuaternionSlerp(a, b, t)
303
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
304
	local startInterp, finishInterp;
305
	if cosTheta >= 0.0001 then
306
		if (1 - cosTheta) > 0.0001 then
307
			local theta = ACOS(cosTheta)
308
			local invSinTheta = 1 / SIN(theta)
309
			startInterp = SIN((1 - t) * theta) * invSinTheta
310
			finishInterp = SIN(t * theta) * invSinTheta
311
		else
312
			startInterp = 1 - t
313
			finishInterp = t
314
		end
315
	else
316
		if (1 + cosTheta) > 0.0001 then
317
			local theta = ACOS(-cosTheta)
318
			local invSinTheta = 1 / SIN(theta)
319
			startInterp = SIN((t - 1) * theta) * invSinTheta
320
			finishInterp = SIN(t * theta) * invSinTheta
321
		else
322
			startInterp = t - 1
323
			finishInterp = t
324
		end
325
	end
326
	return a[1] * startInterp + b[1] * finishInterp, a[2] * startInterp + b[2] * finishInterp, a[3] * startInterp + b[3] * finishInterp, a[4] * startInterp + b[4] * finishInterp
327
end
328
329
function Clerp(a, b, t)
330
	local qa = {QuaternionFromCFrame(a)}
331
	local qb = {QuaternionFromCFrame(b)}
332
	local ax, ay, az = a.x, a.y, a.z
333
	local bx, by, bz = b.x, b.y, b.z
334
	local _t = 1 - t
335
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
336
end
337
338
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
339
	local frame = IT("Frame")
340
	frame.BackgroundTransparency = TRANSPARENCY
341
	frame.BorderSizePixel = BORDERSIZEPIXEL
342
	frame.Position = POSITION
343
	frame.Size = SIZE
344
	frame.BackgroundColor3 = COLOR
345
	frame.BorderColor3 = BORDERCOLOR
346
	frame.Name = NAME
347
	frame.Parent = PARENT
348
	return frame
349
end
350
351
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
352
	local label = IT("TextLabel")
353
	label.BackgroundTransparency = 1
354
	label.Size = UD2(1, 0, 1, 0)
355
	label.Position = UD2(0, 0, 0, 0)
356
	label.TextColor3 = TEXTCOLOR
357
	label.TextStrokeTransparency = STROKETRANSPARENCY
358
	label.TextTransparency = TRANSPARENCY
359
	label.FontSize = TEXTFONTSIZE
360
	label.Font = TEXTFONT
361
	label.BorderSizePixel = BORDERSIZEPIXEL
362
	label.TextScaled = false
363
	label.Text = TEXT
364
	label.Name = NAME
365
	label.Parent = PARENT
366
	return label
367
end
368
369
function NoOutlines(PART)
370
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
371
end
372
373
374
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
375
	local NEWWELD = IT(TYPE)
376
	NEWWELD.Part0 = PART0
377
	NEWWELD.Part1 = PART1
378
	NEWWELD.C0 = C0
379
	NEWWELD.C1 = C1
380
	NEWWELD.Parent = PARENT
381
	return NEWWELD
382
end
383
384
function CreateSound(ID, PARENT, VOLUME, PITCH)
385
	local NEWSOUND = nil
386
	coroutine.resume(coroutine.create(function()
387
		NEWSOUND = IT("Sound", PARENT)
388
		NEWSOUND.Volume = VOLUME
389
		NEWSOUND.Pitch = PITCH
390
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
391
		Swait()
392
		NEWSOUND:play()
393
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
394
	end))
395
	return NEWSOUND
396
end
397
398
function CFrameFromTopBack(at, top, back)
399
	local right = top:Cross(back)
400
	return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z)
401
end
402
403
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
404
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
405
	local mesh = IT("SpecialMesh",wave)
406
	mesh.MeshType = "FileMesh"
407
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
408
	mesh.Scale = SIZE
409
	mesh.Offset = VT(0,0,-SIZE.X/8)
410
	wave.CFrame = CFRAME
411
	coroutine.resume(coroutine.create(function(PART)
412
		for i = 1, WAIT do
413
			Swait()
414
			mesh.Scale = mesh.Scale + GROW
415
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
416
			if DOESROT == true then
417
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
418
			end
419
			wave.Transparency = wave.Transparency + (0.5/WAIT)
420
			if wave.Transparency > 0.99 then
421
				wave:remove()
422
			end
423
		end
424
	end))
425
end
426
427
function CreateWave2(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
428
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
429
	local mesh = IT("SpecialMesh",wave)
430
	mesh.MeshType = "FileMesh"
431
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
432
	mesh.Scale = SIZE
433
	--mesh.Offset = VT(0,0,-SIZE.X/8)
434
	wave.CFrame = CFRAME
435
	coroutine.resume(coroutine.create(function(PART)
436
		for i = 1, WAIT do
437
			Swait()
438
			mesh.Scale = mesh.Scale + GROW
439
			--mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
440
			if DOESROT == true then
441
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
442
			end
443
			wave.Transparency = wave.Transparency + (0.5/WAIT)
444
			if wave.Transparency > 0.99 then
445
				wave:remove()
446
			end
447
		end
448
	end))
449
end
450
451
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
452
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
453
	local mesh = IT("SpecialMesh",wave)
454
	mesh.MeshType = "FileMesh"
455
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
456
	mesh.Scale = SIZE
457
	wave.CFrame = CFRAME
458
	coroutine.resume(coroutine.create(function(PART)
459
		for i = 1, WAIT do
460
			Swait()
461
			mesh.Scale = mesh.Scale + GROW
462
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
463
			if DOESROT == true then
464
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
465
			end
466
			wave.Transparency = wave.Transparency + (0.5/WAIT)
467
			if wave.Transparency > 0.99 then
468
				wave:remove()
469
			end
470
		end
471
	end))
472
end
473
474
475
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
476
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
477
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
478
	wave.CFrame = CFRAME
479
	coroutine.resume(coroutine.create(function(PART)
480
		for i = 1, WAIT do
481
			Swait()
482
			mesh.Scale = mesh.Scale * GROW
483
			wave.Transparency = wave.Transparency + (0.5/WAIT)
484
			if wave.Transparency > 0.99 then
485
				wave:remove()
486
			end
487
		end
488
	end))
489
end
490
491
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
492
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
493
	local mesh = IT("SpecialMesh",wave)
494
	mesh.MeshType = "Sphere"
495
	mesh.Scale = SIZE
496
	mesh.Offset = VT(0,0,0)
497
	wave.CFrame = CFRAME
498
	coroutine.resume(coroutine.create(function(PART)
499
		for i = 1, WAIT do
500
			Swait()
501
			mesh.Scale = mesh.Scale + GROW
502
			wave.Transparency = wave.Transparency + (1/WAIT)
503
			if wave.Transparency > 0.99 then
504
				wave:remove()
505
			end
506
		end
507
	end))
508
end
509
510
function MakeForm(PART,TYPE)
511
	if TYPE == "Cyl" then
512
		local MSH = IT("CylinderMesh",PART)
513
	elseif TYPE == "Ball" then
514
		local MSH = IT("SpecialMesh",PART)
515
		MSH.MeshType = "Sphere"
516
	elseif TYPE == "Wedge" then
517
		local MSH = IT("SpecialMesh",PART)
518
		MSH.MeshType = "Wedge"
519
	end
520
end
521
522
function CreateDebreeRing(FLOOR,POSITION,SIZE,BLOCKSIZE,SWAIT)
523
	if FLOOR ~= nil then
524
		coroutine.resume(coroutine.create(function()
525
			local PART = CreatePart(3, Effects, "Plastic", 0, 1, "Pearl", "DebreeCenter", VT(0,0,0))
526
			PART.CFrame = CF(POSITION)
527
			for i = 1, 45 do
528
				local RingPiece = CreatePart(3, Effects, "Plastic", 0, 0, "Pearl", "DebreePart", BLOCKSIZE)
529
				RingPiece.Material = FLOOR.Material
530
				RingPiece.Color = FLOOR.Color
531
				RingPiece.CFrame = PART.CFrame * ANGLES(RAD(0), RAD(i*8), RAD(0)) * CF(SIZE*4, 0, 0) * ANGLES(RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)),RAD(MRANDOM(-360,360)))
532
				Debris:AddItem(RingPiece,SWAIT/100)
533
			end
534
			PART:remove()
535
		end))
536
	end
537
end
538
539
function CheckTableForString(Table, String)
540
	for i, v in pairs(Table) do
541
		if string.find(string.lower(String), string.lower(v)) then
542
			return true
543
		end
544
	end
545
	return false
546
end
547
548
function CheckIntangible(Hit)
549
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
550
	if Hit and Hit.Parent then
551
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
552
			return true
553
		end
554
	end
555
	return false
556
end
557
558
Debris = game:GetService("Debris")
559
560
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
561
	local Direction = CFrame.new(StartPos, Vec).lookVector
562
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
563
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
564
	if RayHit and CheckIntangible(RayHit) then
565
		if DelayIfHit then
566
			wait()
567
		end
568
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
569
	end
570
	return RayHit, RayPos, RayNormal
571
end
572
573
function turnto(position)
574
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
575
end
576
577
--//=================================\\
578
--||	     WEAPON CREATION
579
--\\=================================//
580
581
local FIST = CreatePart(3, Weapon, "Neon", 0, 0, "Lime green", "Neon Gauntlet Part", VT(1.01*Player_Size,1.4*Player_Size,1.01*Player_Size),false)
582
local weld = CreateWeldOrSnapOrMotor("Weld", FIST, RightArm, FIST, CF(0 * Player_Size, -0.25 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
583
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.2*Player_Size,0.3*Player_Size,1.2*Player_Size),false)
584
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.6 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
585
586
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
587
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
588
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
589
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.2 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
590
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
591
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
592
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.05*Player_Size,0.05*Player_Size,1.05*Player_Size),false)
593
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
594
595
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,1.1*Player_Size),false)
596
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0 * Player_Size, -0.35 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
597
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Lime green", "Neon Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,1*Player_Size),false)
598
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.05 * Player_Size, -0.375 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
599
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
600
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
601
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
602
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, 0.33 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
603
local part = CreatePart(3, Weapon, "Granite", 0, 0, "Black", "Gauntlet Part", VT(1.1*Player_Size,0.8*Player_Size,0.3*Player_Size),false)
604
local weld = CreateWeldOrSnapOrMotor("Weld", part, FIST, part, CF(0.1 * Player_Size, -0.4 * Player_Size, -0.33 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
605
606
for _, c in pairs(Weapon:GetChildren()) do
607
	if c.ClassName == "Part" then
608
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
609
	end
610
end
611
612
Weapon.Parent = Character
613
614
Humanoid.Died:connect(function()
615
	ATTACK = true
616
end)
617
618
local SKILL1FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.13, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 1 Frame")
619
local SKILL2FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.60, 0, 0.80, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 2 Frame")
620
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.9, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
621
local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.7, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
622
623
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Hatred Punch", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 1")
624
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] Bannisher", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 2")
625
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Spook", SKILLTEXTCOLOR, 7, "SciFi", 0, 2, 1, "Text 3")
626
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[X] RAGE PUNCH", SKILLTEXTCOLOR, 6, "SciFi", 0, 2, 1, "Text4")
627
628
--//=================================\\
629
--||	     DAMAGE FUNCTIONS
630
--\\=================================//
631
632
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
633
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
634
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
635
	local BODYGYRO = IT("BodyGyro", STATPART)
636
	local BODYPOSITION = IT("BodyPosition", STATPART)
637
	BODYPOSITION.P = 2000
638
	BODYPOSITION.D = 100
639
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
640
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
641
	game:GetService("Debris"):AddItem(STATPART ,5)
642
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
643
	BILLBOARDGUI.Adornee = STATPART
644
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
645
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
646
	BILLBOARDGUI.AlwaysOnTop = false
647
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
648
	TEXTLABEL.BackgroundTransparency = 1
649
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
650
	TEXTLABEL.Text = TEXT
651
	TEXTLABEL.Font = "SciFi"
652
	TEXTLABEL.FontSize="Size42"
653
	TEXTLABEL.TextColor3 = COLOR
654
	TEXTLABEL.TextStrokeTransparency = 1
655
	TEXTLABEL.TextScaled = true
656
	TEXTLABEL.TextWrapped = true
657
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
658
		if LABELTYPE == "Normal" then
659
			for i = 1, 30 do
660
				Swait()
661
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
662
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
663
			end
664
		elseif LABELTYPE == "Debuff" then
665
			for i = 1, 30 do
666
				Swait()
667
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
668
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
669
			end
670
		elseif LABELTYPE == "Shock" then
671
			local ORIGIN = STATPART.Position
672
			for i = 1, 30 do
673
				Swait()
674
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
675
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
676
			end
677
		end
678
		THEPART.Parent = nil
679
	end),STATPART, BODYPOSITION, TEXTLABEL)
680
end
681
682
--//=================================\\
683
--||			DAMAGING
684
--\\=================================//
685
686
function killnearest(position,range,maxstrength,direction)
687
	for i,v in ipairs(workspace:GetChildren()) do
688
	local body = v:GetChildren()
689
		for part = 1, #body do
690
			if((body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
691
				if(body[part].Position - position).Magnitude < range then
692
					if v.ClassName == "Model" then
693
						--v:BreakJoints()
694
					end
695
					local POS = position
696
					coroutine.resume(coroutine.create(function()
697
						body[part].Anchored = true
698
						body[part].Parent = Effects
699
						body[part].CanCollide = true
700
						local SIZE = body[part].Size
701
						body[part].Material = "Neon"
702
						CreateSound("952306739", body[part], 2, MRANDOM(7, 12) / 10)
703
						for i = 1, 75 do
704
							Swait()
705
							body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
706
							body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
707
						end
708
						coroutine.resume(coroutine.create(function()
709
							while true do
710
								Swait()
711
								body[part].Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
712
								body[part].Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
713
							end
714
						end))
715
						body[part].Anchored = false
716
						body[part].Velocity = direction.lookVector*maxstrength
717
					end))
718
				end
719
			end
720
		end
721
		if v.ClassName == "Part" then
722
			if v.Anchored == false and (v.Position - position).Magnitude < range then
723
				local POS = position
724
				coroutine.resume(coroutine.create(function()
725
					v.Anchored = true
726
					v.Parent = Effects
727
					local SIZE = v.Size
728
					v.Material = "Neon"
729
					CreateSound("952306739", v, 2, MRANDOM(7, 12) / 10)
730
					for i = 1, 75 do
731
						Swait()
732
						v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
733
						v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
734
					end
735
					coroutine.resume(coroutine.create(function()
736
						while true do
737
							Swait()
738
							v.Color = C3(MRANDOM(0,100)/100,MRANDOM(0,100)/100,MRANDOM(0,100)/100)
739
							v.Size = VT(SIZE.X+MRANDOM(-2,2),SIZE.Y+MRANDOM(-2,2),SIZE.Z+MRANDOM(-2,2))
740
						end
741
					end))
742
					v.Anchored = false
743
					v.Velocity = direction.lookVector*maxstrength
744
				end))
745
			end
746
		end
747
	end
748
end
749
750
--//=================================\\
751
--||	ATTACK FUNCTIONS AND STUFF
752
--\\=================================//
753
754
function AttackTemplate()
755
	ATTACK = true
756
	Rooted = false
757
	for i=0, 0, 0.1 / Animation_Speed do
758
		Swait()
759
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
760
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
761
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
762
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
763
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
764
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
765
	end
766
	ATTACK = false
767
	Rooted = false
768
end
769
770
function GoldenPunch()
771
	ATTACK = true
772
	Rooted = false
773
	local SPEED = Speed
774
	Speed = 8
775
	CreateSound("169445572", RightArm, 10, 1.1)
776
	for i=0, 0, 0.1 / Animation_Speed do
777
		Swait()
778
		turnto(Mouse.Hit.p)
779
		MagicSphere(VT(1,1,1),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Black",VT(-1/15,-1/15,-1/15))
780
		MagicSphere(VT(2,2,2),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Really black",VT(-2/15,-2/15,-2/15))
781
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-85)), 0.15 / Animation_Speed)
782
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(85)), 0.2 / Animation_Speed)
783
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90+(MRANDOM(-45,45)/10)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
784
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
785
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
786
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
787
	end
788
	for i=0, 0, 0.1 / Animation_Speed do
789
		Swait()
790
		turnto(Mouse.Hit.p)
791
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(65)), 1 / Animation_Speed)
792
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
793
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
794
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
795
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
796
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
797
	end
798
	local PART = CreatePart(3, Effects, "Neon", 0, 0.8, "Gold", "Punch", VT(50,50,50),false)
799
	PART.CFrame = RootPart.CFrame * CF(0,0,-25)
800
	PART.Shape = "Ball"
801
	local bv = Instance.new("BodyVelocity") 
802
	bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
803
	bv.velocity = RootPart.CFrame.lookVector*600
804
	bv.Parent = PART
805
	bv.Name = "PROJECTILEVELOCITY"
806
	CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Really red",VT(2.5,0.2,2.5))
807
	CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Really red",VT(3,0.2,3))
808
	CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Really red",VT(2,0.6,2))
809
	CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Black",VT(2.2,0.6,2.2))
810
	CreateSound("414517163", Effects, 10, MRANDOM(7, 12) / 10)
811
	coroutine.resume(coroutine.create(function()
812
		for i = 1, 10 do
813
			Swait()
814
			PART.Transparency = PART.Transparency + 0.2/10
815
			PART.Size = PART.Size + VT(5,5,5)
816
			killnearest(PART.Position,PART.Size.Y/2+15,100,RootPart.CFrame)
817
		end
818
		PART:Destroy()
819
	end))
820
	for i=0, 0, 0.1 / Animation_Speed do
821
		Swait()
822
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(95)), 2 / Animation_Speed)
823
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 3 / Animation_Speed)
824
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
825
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 3 / Animation_Speed)
826
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 3 / Animation_Speed)
827
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 3 / Animation_Speed)
828
	end
829
	Speed = SPEED
830
	ATTACK = false
831
	Rooted = false
832
end
833
834
function GoldenGrasp()
835
	ATTACK = true
836
	Rooted = false
837
	local HASGRABBED = false
838
	local WELD = nil
839
	local TORS = nil
840
	local hitting = FIST.Touched:connect(function(hit) 
841
		if hit.Parent:FindFirstChild("Humanoid") then
842
			if hit.Parent.Humanoid.Health ~= 0 then
843
				UNANCHOR = false
844
				TORS = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
845
				TORS.Anchored = true
846
				TORS.CFrame = RightArm.CFrame * CF(0,-1.15,0) * ANGLES(RAD(90), RAD(0), RAD(0))
847
           		WELD = weldBetween(RightArm,TORS)
848
				HASGRABBED = true
849
				Rooted = true
850
			end
851
		end
852
	end)
853
	for i=0, 1, 0.1 / Animation_Speed do
854
		Swait()
855
		if HASGRABBED == true then
856
			break
857
		end
858
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(25)), 2 / Animation_Speed)
859
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 2 / Animation_Speed)
860
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, -1) * ANGLES(RAD(90), RAD(0), RAD(-25)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
861
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
862
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
863
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 2 / Animation_Speed)
864
	end
865
	hitting:disconnect()
866
	if HASGRABBED == true then
867
		TORS.Anchored = false
868
        RootPart.Anchored = true
869
		for i=0, 1, 0.5 / Animation_Speed do
870
			Swait()
871
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.2) * ANGLES(RAD(65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
872
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
873
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
874
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
875
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -1) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
876
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.3, -1) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
877
		end
878
		CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Gold",VT(0.5,0.3,0.5))
879
		CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,2,"Gold",VT(0.6,0.3,0.6))
880
		local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, "Gold", "Sound", VT(0,0,0))
881
		SOUNDPART.CFrame = RootPart.CFrame
882
		Debris:AddItem(SOUNDPART,5)
883
		CreateSound("1295446488", SOUNDPART, 2, 1)
884
		for i = 1, 7 do
885
			Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(-180,180)), RAD(90)),"Really red", 1 + MRANDOM(1,30)/15)
886
		end
887
		for i=0, 1, 0 / Animation_Speed do
888
			Swait()
889
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 50000000) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
890
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
891
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
892
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
893
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
894
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
895
		end
896
		for i=0, 1, 0 / Animation_Speed do
897
			Swait()
898
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(90), RAD(0), RAD(0)), 3 / Animation_Speed)
899
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 3 / Animation_Speed)
900
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
901
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 3 / Animation_Speed)
902
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
903
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
904
		end
905
		if HITFLOOR ~= nil then
906
			CreateDebreeRing(HITFLOOR,CF(RootPart.Position)*CF(0,-3,0).p,15,VT(7,7,7),85)
907
		end
908
		CreateSound("414517163", Effects, 10, MRANDOM(7, 12) / 10)
909
		WELD:remove()
910
		for i = 1, 12 do
911
			Swait()
912
			killnearest(RootPart.Position,45,100,Torso.CFrame)
913
			CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,5,"Black",VT(0.3,3,0.3))
914
			CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Black",VT(1,0.4,1))
915
			CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,5,"Black",VT(2.3,0.3,2.3))
916
			Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Really red", 1 + MRANDOM(1,30)/5)
917
			Slice(0.1,65,CF(RightArm.CFrame*CF(0,-1,0).p) * ANGLES(RAD(MRANDOM(-20,20)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-20,20))),"Gold", 1 + MRANDOM(1,30)/15)
918
		end
919
	end
920
	UNANCHOR = true
921
	ATTACK = false
922
	Rooted = false
923
end
924
925
function Mach20()
926
	local ORIGIN = RootPart.Position
927
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Glod",VT(0.2,3,0.4))
928
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Gold",VT(0.2,3.1,0.6))
929
	local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, "Glod", "Sound", VT(0,0,0))
930
	SOUNDPART.CFrame = RootPart.CFrame
931
	Debris:AddItem(SOUNDPART,5)
932
	CreateSound("1295446488", SOUNDPART, 2, 1)
933
	RootPart.CFrame = CF(Mouse.Hit.p+VT(0,3,0),VT(ORIGIN.X,Mouse.Hit.p.Y,ORIGIN.Z))
934
	Swait()
935
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Black",VT(0.2,3,0.4))
936
	CreateWave2(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),false,2,"Black",VT(0.2,3.1,0.6))
937
	local SOUNDPART = CreatePart(3, Effects, "Neon", 0, 1, "Gold", "Sound", VT(0,0,0))
938
	SOUNDPART.CFrame = RootPart.CFrame
939
	Debris:AddItem(SOUNDPART,5)
940
	CreateSound("1295446488", SOUNDPART, 2, 1)
941
	if MRANDOM(1,8) == 1 then
942
		ATTACK = true
943
		Rooted = true
944
		local FRUITSTABLE = {
945
			{MeshId = "16190555", TextureId = "16190577", Color = "Gold"},
946
			{MeshId = "119574562", TextureId = "64374853", Color = "Gold"},
947
			{MeshId = "24394186", TextureId = "24394178", Color = "Gold"}
948
		}
949
		local FRUIT = FRUITSTABLE[MRANDOM(1, #FRUITSTABLE)]
950
		local FRUITMODEL = CreatePart(3, Effects, "Neon", 0, 0, FRUIT.Color, "Fruit", VT(0,0,0),false)
951
 		CreateMesh("SpecialMesh", FRUITMODEL, "FileMesh", FRUIT.MeshId, FRUIT.TextureId, VT(2,2,2), VT(0,0,0))
952
		FRUITMODEL.CFrame = RightArm.CFrame * CF(0,-1.5,0)
953
		weldBetween(RightArm,FRUITMODEL)
954
		for i=0, 0, 0.1 / Animation_Speed do
955
			Swait()
956
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
957
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
958
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(190), RAD(-145)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
959
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
960
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
961
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
962
		end
963
		CreateSound("414517163", RightArm, 10, MRANDOM(7, 12) / 10)
964
		FRUITMODEL:remove()
965
		for i = 1, 15 do
966
			Slice(0.1,15,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),FRUIT.Color, 1 + MRANDOM(1,10)/15)
967
		end
968
		for i=0, 0, 0.1 / Animation_Speed do
969
			Swait()
970
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
971
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
972
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(190), RAD(-175)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
973
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
974
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
975
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
976
		end
977
		ATTACK = false
978
		Rooted = false
979
	end
980
end
981
982
function ImplosionCollision()
983
	ATTACK = true
984
	Rooted = true
985
	CreateSound("169445572", RightArm, 10, 0.8)
986
	for i=0, 0, 0.1 / Animation_Speed do
987
		Swait()
988
		turnto(Mouse.Hit.p)
989
		CreateWave(VT(3,1,3),65,CF(RootPart.Position)*CF(0,-3,0),true,2,"Gold",VT(0.2,0,0.2))
990
		Slice(0.1,65,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Gold", 1.1)
991
		MagicSphere(VT(0.2,0.2,0.2),15,CF(RightArm.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,RightArm.Position),"Gold",VT(0.001,0.001,1),0)
992
		MagicSphere(VT(0.2,0.2,0.2),15,CF(RightArm.CFrame*CF(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)).p,RightArm.Position),"Gold",VT(0.001,0.001,2),0)
993
		MagicSphere(VT(1,1,1),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Gold",VT(-1/15,-1/15,-1/15))
994
		MagicSphere(VT(2,2,2),15,RightArm.CFrame * CF(MRANDOM(-3,3),MRANDOM(-3,3),MRANDOM(-3,3)),"Gold",VT(-2/15,-2/15,-2/15))
995
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-85)), 0.15 / Animation_Speed)
996
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(85)), 0.2 / Animation_Speed)
997
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90+(MRANDOM(-45,45)/10)), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
998
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-85)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
999
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1000
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1001
	end
1002
	for i=0, 0, 0.1 / Animation_Speed do
1003
		Swait()
1004
		turnto(Mouse.Hit.p)
1005
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(65)), 1 / Animation_Speed)
1006
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 1 / Animation_Speed)
1007
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1008
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1009
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1010
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1011
	end
1012
	MagicSphere(VT(4,4,4),100,RootPart.CFrame * CF(0,0,-6),"Black",VT(-0.04,-0.04,-0.04))
1013
	MagicSphere(VT(3.5,3.5,3.5),100,RootPart.CFrame * CF(0,0,-6),"Black",VT(-0.035,-0.035,-0.035))
1014
	coroutine.resume(coroutine.create(function()
1015
		Swait(100)
1016
		for i = 1, 5 do
1017
			MagicSphere(VT(150,150,150),75,RootPart.CFrame * CF(0,0,-72*i),"Black",VT(-150/(150-(15*i)),-150/(150-(15*i)),-150/(150-(15*i))))
1018
			CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6*i)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Gold",VT(4.5*i,0.2,4.5*i))
1019
			CreateWave(VT(1,5,1),55,RootPart.CFrame * CF(0,0,-6*i)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Gold",VT(5*i,0.2,5*i))
1020
			CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15*i)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,-1,"Gold",VT(4*i,0.6,4*i))
1021
			CreateSwirl(VT(3,5,3),75,RootPart.CFrame * CF(0,0,-15*i)*ANGLES(RAD(-90),RAD(0),RAD(0)),true,1,"Gold",VT(5.2*i,0.6,5.2*i))
1022
		end
1023
		killnearest(RootPart.CFrame * CF(0,0,-500).p,500,1000,RootPart.CFrame)
1024
		for i = 1, 5 do
1025
			CreateSound("414517163", Effects, 10, MRANDOM(5, 8) / 10)
1026
			CreateSound("414517163", Effects, 10, MRANDOM(5, 8) / 10)
1027
		end
1028
		coroutine.resume(coroutine.create(function()
1029
			for i = 1, 10 do
1030
				Swait()
1031
				for i = 1, 1 do
1032
					Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Really red", 1 + MRANDOM(1,30)/5)
1033
				end
1034
				for i = 1, 4 do
1035
					Slice(0.1,65,CF(RootPart.Position) * ANGLES(RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180)), RAD(MRANDOM(-180,180))),"Black", 1 + MRANDOM(1,30)/3)
1036
				end
1037
			end
1038
		end))
1039
	end))
1040
	for i=0, 0, 0.01 / Animation_Speed do
1041
		Swait()
1042
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(95)), 2 / Animation_Speed)
1043
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(25), RAD(0), RAD(35)), 3 / Animation_Speed)
1044
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
1045
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 3 / Animation_Speed)
1046
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 3 / Animation_Speed)
1047
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 3 / Animation_Speed)
1048
	end
1049
	ATTACK = false
1050
	Rooted = false
1051
end
1052
1053
--//=================================\\
1054
--||	  ASSIGN THINGS TO KEYS
1055
--\\=================================//
1056
1057
function MouseDown(Mouse)
1058
	if ATTACK == false then
1059
	end
1060
end
1061
1062
function MouseUp(Mouse)
1063
HOLD = false
1064
end
1065
1066
function KeyDown(Key)
1067
	KEYHOLD = true
1068
	if Key == "z" and ATTACK == false then
1069
		GoldenPunch()
1070
	end
1071
1072
	if Key == "b" and ATTACK == false then
1073
		GoldenGrasp()
1074
	end
1075
1076
	if Key == "c" and ATTACK == false then
1077
		Mach20()
1078
	end
1079
1080
	if Key == "x" and ATTACK == false then
1081
		ImplosionCollision()
1082
	end
1083
1084
	if Key == "p" and ATTACK == false then
1085
		if Speed == 16 then
1086
			Speed = 150
1087
		elseif Speed == 150 then
1088
			Speed = 16
1089
		end
1090
	end
1091
end
1092
1093
function KeyUp(Key)
1094
	KEYHOLD = false
1095
end
1096
1097
	Mouse.Button1Down:connect(function(NEWKEY)
1098
		MouseDown(NEWKEY)
1099
	end)
1100
	Mouse.Button1Up:connect(function(NEWKEY)
1101
		MouseUp(NEWKEY)
1102
	end)
1103
	Mouse.KeyDown:connect(function(NEWKEY)
1104
		KeyDown(NEWKEY)
1105
	end)
1106
	Mouse.KeyUp:connect(function(NEWKEY)
1107
		KeyUp(NEWKEY)
1108
	end)
1109
1110
--//=================================\\
1111
--\\=================================//
1112
1113
1114
function unanchor()
1115
	if UNANCHOR == true then
1116
		g = Character:GetChildren()
1117
		for i = 1, #g do
1118
			if g[i].ClassName == "Part" then
1119
				g[i].Anchored = false
1120
			end
1121
		end
1122
	end
1123
end
1124
1125
1126
--//=================================\\
1127
--||	WRAP THE WHOLE SCRIPT UP
1128
--\\=================================//
1129
1130
Humanoid.Changed:connect(function(Jump)
1131
	if Jump == "Jump" and (Disable_Jump == true) then
1132
		Humanoid.Jump = false
1133
	end
1134
end)
1135
1136
while true do
1137
	Swait()
1138
	ANIMATE.Parent = nil
1139
	local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
1140
	IDLEANIMATION:Play()
1141
	SINE = SINE + CHANGE
1142
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1143
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1144
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
1145
	HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
1146
	local WALKSPEEDVALUE = 0
1147
	if Speed < 35 then
1148
		WALKSPEEDVALUE = 6
1149
	else
1150
		WALKSPEEDVALUE = 3
1151
	end
1152
	if ANIM == "Walk" and TORSOVELOCITY > 1 and Rooted == false then
1153
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.15 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 2 * (1) / Animation_Speed)
1154
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1155
		if Speed < 35 then
1156
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(56 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1157
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(56 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1158
		else
1159
			RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1160
			LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(80 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (WALKSPEEDVALUE) / Animation_Speed)
1161
		end
1162
	elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) or Rooted == true then
1163
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1164
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1165
		RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1166
		LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1167
	end
1168
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1169
		ANIM = "Jump"
1170
		if ATTACK == false then
1171
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1172
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 * Player_Size, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1173
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1174
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1175
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
1176
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1177
	    end
1178
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1179
		ANIM = "Fall"
1180
		if ATTACK == false then
1181
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0 ) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1182
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
1183
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
1184
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
1185
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
1186
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
1187
		end
1188
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1189
		ANIM = "Idle"
1190
		if ATTACK == false then
1191
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1192
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1193
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1194
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
1195
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1196
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1197
		end
1198
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil and Rooted == false then
1199
		ANIM = "Walk"
1200
		WALK = WALK + 1 / Animation_Speed
1201
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
1202
			WALK = 0
1203
			if WALKINGANIM == true then
1204
				WALKINGANIM = false
1205
			elseif WALKINGANIM == false then
1206
				WALKINGANIM = true
1207
			end
1208
		end
1209
		--RightHip.C1 = Clerp(RightHip.C1, CF(0.5 * Player_Size, 0.875 * Player_Size - 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, -0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0) - RightLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1210
		--LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5 * Player_Size, 0.875 * Player_Size + 0.125 * SIN(SINE / WALKSPEEDVALUE) * Player_Size, 0.125 * COS(SINE / WALKSPEEDVALUE) * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0) + LeftLeg.RotVelocity.Y / 75, RAD(0), RAD(60 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
1211
		if ATTACK == false then
1212
			if Speed < 35 then
1213
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1214
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1215
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1216
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1217
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1218
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1219
			else
1220
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1221
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed)
1222
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(80 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-30 * COS(SINE / WALKSPEEDVALUE))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1223
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-80 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-30 * COS(SINE / WALKSPEEDVALUE))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1224
				RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ 0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed)
1225
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.15 * COS(SINE / WALKSPEEDVALUE*2), -0.2+ -0.2 * COS(SINE / WALKSPEEDVALUE)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed)
1226
			end
1227
		end
1228
	end
1229
	unanchor()
1230
	Humanoid.MaxHealth = "inf"
1231
	Humanoid.Health = "inf"
1232
	if Rooted == false then
1233
		Disable_Jump = false
1234
		Humanoid.WalkSpeed = Speed
1235
	elseif Rooted == true then
1236
		Disable_Jump = true
1237
		Humanoid.WalkSpeed = 0
1238
	end
1239
	local MATHS = {"0","1"}
1240
	Humanoid.Name = MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]..MATHS[MRANDOM(1,#MATHS)]
1241
	Humanoid.PlatformStand = false
1242
end
1243
1244
--//=================================\\
1245
--\\=================================//
1246
1247
1248
1249
1250
1251
--//====================================================\\--
1252
--||			  		 END OF SCRIPT
1253
--\\====================================================//--