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