View difference between Paste ID: RHYEc0sr and nU97HRxK
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||			   CREATED BY SHACKLUSTER
3
--\\====================================================//--
4
5
6
7
wait(0.2)
8
9
CV="Magenta"
10
    p = game.Players.LocalPlayer
11
    char = p.Character
12
    local txt = Instance.new("BillboardGui", char)
13
    txt.Adornee = char .Head
14
    txt.Name = "_status"
15
    txt.Size = UDim2.new(2, 0, 1.2, 0)
16
    txt.StudsOffset = Vector3.new(-9, 8, 0)
17
    local text = Instance.new("TextLabel", txt)
18
    text.Size = UDim2.new(10, 0, 7, 0)
19
    text.FontSize = "Size24"
20
    text.TextScaled = true
21
    text.TextTransparency = 0
22
    text.BackgroundTransparency = 1
23
    text.TextTransparency = 0
24
    text.TextStrokeTransparency = 0
25
    text.Font = "Bodoni"
26
    text.TextStrokeColor3 = Color3.new(0,0,0)
27
 
28
    v=Instance.new("Part")
29
    v.Name = "ColorBrick"
30
    v.Parent=p.Character
31
    v.FormFactor="Symmetric"
32
    v.Anchored=true
33
    v.CanCollide=false
34
    v.BottomSurface="Smooth"
35
    v.TopSurface="Smooth"
36
    v.Size=Vector3.new(10,5,3)
37
    v.Transparency=1
38
    v.CFrame=char.Torso.CFrame
39
    v.BrickColor=BrickColor.new(CV)
40
    v.Transparency=1
41
    text.TextColor3 = Color3.new(170,0,170)
42
    v.Shape="Block"
43-
    text.Text = "☣Fox☣"
43+
    text.Text = "☣ŤĤẸ ŴỖĹḞ☣"
44
45
46
47
Player = game:GetService("Players").LocalPlayer
48
PlayerGui = Player.PlayerGui
49
Cam = workspace.CurrentCamera
50
Backpack = Player.Backpack
51
Character = Player.Character
52
Humanoid = Character.Humanoid
53
Mouse = Player:GetMouse()
54
RootPart = Character["HumanoidRootPart"]
55
Torso = Character["Torso"]
56
Head = Character["Head"]
57
RightArm = Character["Right Arm"]
58
LeftArm = Character["Left Arm"]
59
RightLeg = Character["Right Leg"]
60
LeftLeg = Character["Left Leg"]
61
RootJoint = RootPart["RootJoint"]
62
Neck = Torso["Neck"]
63
RightShoulder = Torso["Right Shoulder"]
64
LeftShoulder = Torso["Left Shoulder"]
65
RightHip = Torso["Right Hip"]
66
LeftHip = Torso["Left Hip"]
67
local sick = nil
68
if sick == nil then
69
	sick = Instance.new("Sound",Character)
70
	sick.SoundId = "rbxassetid://1073360199"
71
	sick.Looped = true
72
	sick.Pitch = 1
73
	sick.Volume = 1.5
74
	sick:Play()
75
end
76
Taunts = {907330619,907332856,907329893}
77
ALONE = 907328147
78
script.Parent = workspace
79
HASDIED = false
80
81
IT = Instance.new
82
CF = CFrame.new
83
VT = Vector3.new
84
RAD = math.rad
85
C3 = Color3.new
86
UD2 = UDim2.new
87
BRICKC = BrickColor.new
88
ANGLES = CFrame.Angles
89
EULER = CFrame.fromEulerAnglesXYZ
90
COS = math.cos
91
ACOS = math.acos
92
SIN = math.sin
93
ASIN = math.asin
94
ABS = math.abs
95
MRANDOM = math.random
96
FLOOR = math.floor
97
98
local isScriptNil = false
99
100
local PlrName = "Magermash"
101
local Plrs = game:GetService("Players")
102
local RunService = game:GetService("RunService")
103
local Content = game:GetService("ContentProvider")
104
local LP = Plrs.LocalPlayer
105
local Char = LP.Character
106
local PlrGui = LP.PlayerGui
107
local Backpack = LP.Backpack
108
local Mouse = LP:GetMouse()
109
110
local Camera = Workspace.CurrentCamera
111
local LastCamCF = Camera.CoordinateFrame
112
local AnimJoints = {}
113
local Cons = {}
114
local mDown = false
115
local Multi = false
116
local Grabbing = false
117
local Current = {}
118
local Alpha = 1
119
local LightNum = 1
120
121
Current.Part = nil
122
Current.BP = nil
123
Current.BA = nil
124
Current.Mass = nil
125
126
local LastPart = nil
127
128
local Head = Char["Head"]
129
local Torso = Char["Torso"]
130
local Humanoid = Char["Humanoid"]
131
local LA = Char["Left Arm"]
132
local RA = Char["Right Arm"]
133
local LL = Char["Left Leg"]
134
local RL = Char["Right Leg"]
135
136
local LS, RS;
137
138
local OrigLS = Torso["Left Shoulder"]
139
local OrigRS = Torso["Right Shoulder"]
140
141
for _,v in pairs(Char:GetChildren()) do
142
	if v.Name == ModID then
143
		v:Destroy()
144
	end
145
end
146
147
for _,v in pairs(PlrGui:GetChildren()) do
148
	if v.Name == "PadsGui" then
149
		v:Destroy()
150
	end
151
end
152
153
local ModID = "Pads"
154
local Objects = {}
155
local Grav = 196.2
156
157
local sin=math.sin
158
local cos=math.cos
159
local max=math.max
160
local min=math.min
161
local atan2=math.atan2
162
local random=math.random
163
local tau = 2 * math.pi
164
165
local BodyObjects = {
166
	["BodyVelocity"] = true;
167
	["BodyAngularVelocity"] = true;
168
	["BodyForce"] = true;
169
	["BodyThrust"] = true;
170
	["BodyPosition"] = true;
171
	["RocketPropulsion"] = true;
172
}
173
174
if LP.Name == PlrName and isScriptNil then
175
	script.Parent = nil
176
end
177
178
LP.CameraMode = "Classic"
179
180
local Assets = {
181
}
182
183
local LS0, LS1 = OrigLS.C0, OrigLS.C1
184
local RS0, RS1 = OrigRS.C0, OrigRS.C1
185
186
for i,v in pairs(Assets) do
187
	local ID = tostring(Assets[i])
188
	Assets[i] = "http://www.roblox.com/asset/?id=" .. ID
189
	Content:Preload("http://www.roblox.com/asset/?id=" .. ID)
190
end
191
192
function QuaternionFromCFrame(cf)
193
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components();
194
	local trace = m00 + m11 + m22 if trace > 0 then 
195
		local s = math.sqrt(1 + trace);
196
		local recip = 0.5/s;
197
		return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5;
198
	else 
199
		local i = 0;
200
		if m11 > m00 then 
201
			i = 1;
202
		end;
203
		if m22 > (i == 0 and m00 or m11) then
204
			i = 2 end if i == 0 then
205
			local s = math.sqrt(m00-m11-m22+1);
206
			local recip = 0.5/s return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip; 
207
		elseif i == 1 then
208
			local s = math.sqrt(m11-m22-m00+1);
209
			local recip = 0.5/s;
210
			return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip ;
211
		elseif i == 2 then
212
			local s = math.sqrt(m22-m00-m11+1);
213
			local recip = 0.5/s;
214
			return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip;
215
		end;
216
	end; 
217
end;
218
219
function QuaternionToCFrame(px, py, pz, x, y, z, w)
220
	local xs, ys, zs = x + x, y + y, z + z;
221
	local wx, wy, wz = w*xs, w*ys, w*zs;
222
	local xx = x*xs;
223
	local xy = x*ys;
224
	local xz = x*zs;
225
	local yy = y*ys;
226
	local yz = y*zs;
227
	local zz = z*zs;
228
	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)) 
229
end;
230
231
function QuaternionSlerp(a, b, t)
232
	local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4];
233
	local startInterp, finishInterp; 
234
	if cosTheta >= 0.0001 then
235
		if (1 - cosTheta) > 0.0001 then
236
			local theta = math.acos(cosTheta);
237
			local invSinTheta = 1/math.sin(theta);
238
			startInterp = math.sin((1-t)*theta)*invSinTheta;
239
			finishInterp = math.sin(t*theta)*invSinTheta;
240
		else
241
			startInterp = 1-t finishInterp = t;
242
		end;
243
	else 
244
		if (1+cosTheta) > 0.0001 then
245
			local theta = math.acos(-cosTheta);
246
			local invSinTheta = 1/math.sin(theta);
247
			startInterp = math.sin((t-1)*theta)*invSinTheta;
248
			finishInterp = math.sin(t*theta)*invSinTheta;
249
		else startInterp = t-1 finishInterp = t;
250
		end;
251
	end;
252
	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;
253
end;
254
255
function CLerp(a,b,t)
256
	local qa={QuaternionFromCFrame(a)};
257
	local qb={QuaternionFromCFrame(b)};
258
	local ax,ay,az=a.x,a.y,a.z;
259
	local bx,by,bz=b.x,b.y,b.z;
260
	local _t=1-t;
261
	return QuaternionToCFrame(_t*ax+t*bx,_t*ay+t*by,_t*az+t*bz,QuaternionSlerp(qa, qb, t));
262
end
263
264
function GetWeld(weld) 
265
	local obj 
266
	for i, v in pairs(AnimJoints) do 
267
		if v[1] == weld then 
268
			obj = v 
269
			break 
270
		end 
271
	end 
272
	if not obj then 
273
		obj = {weld,NV} 
274
		table.insert(AnimJoints,obj) 
275
	end 
276
	return weld.C0.p, obj[2] 
277
end 
278
279
function SetWeld(weld, i, loops, origpos, origangle, nextpos, nextangle, override, overrideLower, smooth) 
280
	smooth = smooth or 1 
281
	local obj 
282
	for i, v in pairs(AnimJoints) do 
283
		if v[1] == weld then 
284
			obj = v 
285
			break 
286
		end 
287
	end 
288
	if not obj then 
289
		obj = {weld,NV} 
290
		table.insert(AnimJoints,obj) 
291
	end 
292
	
293
	local perc = (smooth == 1 and math.sin((math.pi/2)/loops*i)) or i/loops 
294
	
295
	local tox,toy,toz = 0,0,0 
296
	tox = math.abs(origangle.x - nextangle.x) *perc 
297
	toy = math.abs(origangle.y - nextangle.y) *perc 
298
	toz = math.abs(origangle.z - nextangle.z) *perc 
299
	tox = ((origangle.x > nextangle.x and -tox) or tox)
300
	toy = ((origangle.y > nextangle.y and -toy) or toy)
301
	toz = ((origangle.z > nextangle.z and -toz) or toz)
302
	
303
	local tox2,toy2,toz2 = 0,0,0 
304
	tox2 = math.abs(origpos.x - nextpos.x) *perc 
305
	toy2 = math.abs(origpos.y - nextpos.y) *perc 
306
	toz2 = math.abs(origpos.z - nextpos.z) *perc 
307
	tox2 = (origpos.x > nextpos.x and -tox2) or tox2 
308
	toy2 = (origpos.y > nextpos.y and -toy2) or toy2 
309
	toz2 = (origpos.z > nextpos.z and -toz2) or toz2 
310
	
311
	obj[2] = Vector3.new(origangle.x + tox, origangle.y + toy, origangle.z + toz) 
312
	weld.C0 = CFrame.new(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2) * CFrame.Angles(origangle.x + tox,origangle.y + toy,origangle.z + toz) 
313
end 
314
315
function RotateCamera(x, y)
316
	Camera.CoordinateFrame = CFrame.new(Camera.Focus.p) * (Camera.CoordinateFrame - Camera.CoordinateFrame.p) * CFrame.Angles(x, y, 0) * CFrame.new(0, 0, (Camera.CoordinateFrame.p - Camera.Focus.p).magnitude)
317
end
318
319
function GetAngles(cf)
320
	local lv = cf.lookVector
321
	return -math.asin(lv.y), math.atan2(lv.x, -lv.z)
322
end
323
324
local LastCamCF = Camera.CoordinateFrame
325
326
function Look()
327
	if AlphaOn == true then
328
		local x, y = GetAngles(LastCamCF:toObjectSpace(Camera.CoordinateFrame))
329
		Camera.CoordinateFrame = LastCamCF
330
		RotateCamera(x * -(Alpha), y * -(Alpha))
331
		LastCamCF = Camera.CoordinateFrame
332
	end
333
end
334
335
function Cor(Func)
336
	local Ok, Err = coroutine.resume(coroutine.create(Func))
337
	if not Ok then
338
		print(Err)
339
	end
340
end
341
342
function Cor2(Func)
343
	local Ok, Err = ypcall(Func)
344
	if not Ok then
345
		print(Err)
346
	end
347
end
348
349
function MakePads()
350
351
	-- 2 - RBase
352
	P2 = Instance.new("Part")
353
	P2.CFrame = CFrame.new(Vector3.new(21.100008, 1.95000589, 11.899971)) * CFrame.Angles(-0, 0, -0)
354
	P2.FormFactor = Enum.FormFactor.Custom
355
	P2.Size = Vector3.new(0.799999952, 0.200000003, 0.800000012)
356
	P2.Anchored = true
357
	P2.BrickColor = BrickColor.new("White")
358
	P2.Friction = 0.30000001192093
359
	P2.Shape = Enum.PartType.Block
360
	P2.Name = "RBase"
361
	P2.Parent = P1
362
    P2.Transparency = 1
363
	-- 3 - Mesh
364
	P3 = Instance.new("CylinderMesh")
365
	P3.Scale = Vector3.new(1, 0.5, 1)
366
	P3.Parent = P2
367
368
	-- 4 - LBase
369
	P4 = Instance.new("Part")
370
	P4.CFrame = CFrame.new(Vector3.new(18.100008, 1.95000589, 11.899971)) * CFrame.Angles(-0, 0, -0)
371
	P4.FormFactor = Enum.FormFactor.Custom
372
	P4.Size = Vector3.new(0.799999952, 0.200000003, 0.800000012)
373
	P4.Anchored = true
374
	P4.BrickColor = BrickColor.new("White")
375
	P4.Friction = 0.30000001192093
376
	P4.Shape = Enum.PartType.Block
377
	P4.Name = "LBase"
378
	P4.Parent = P1
379
    P4.Transparency = 1
380
	-- 5 - Mesh
381
	P5 = Instance.new("CylinderMesh")
382
	P5.Scale = Vector3.new(1, 0.5, 1)
383
	P5.Parent = P4
384
385
	-- 7 - Mesh
386
	P7 = Instance.new("CylinderMesh")
387
	P7.Scale = Vector3.new(1, 0.5, 1)
388
	P7.Parent = P6
389
390
	
391
392
	-- 9 - Mesh
393
	P9 = Instance.new("CylinderMesh")
394
	P9.Scale = Vector3.new(1, 0.5, 1)
395
	P9.Parent = P8
396
397
	
398
399
	-- 11 - Mesh
400
	P11 = Instance.new("CylinderMesh")
401
	P11.Scale = Vector3.new(1, 0.5, 1)
402
	P11.Parent = P10
403
404
	
405
	-- 13 - Mesh
406
	P13 = Instance.new("CylinderMesh")
407
	P13.Scale = Vector3.new(1, 0.5, 1)
408
	P13.Parent = P12
409
410
411
	-- 15 - Mesh
412
	P15 = Instance.new("CylinderMesh")
413
	P15.Scale = Vector3.new(1, 0.5, 1)
414
	P15.Parent = P14
415
416
	-- 17 - Mesh
417
	P17 = Instance.new("CylinderMesh")
418
	P17.Scale = Vector3.new(1, 0.5, 1)
419
	P17.Parent = P16
420
421
	P1.Parent = LP.Character
422
	P1:MakeJoints()
423
	return P1
424
end
425
426
weldModel = function(model, unanchor, rooty)
427
	local parts = {}
428
	local function recurse(object)
429
		if object:IsA("BasePart") then
430
			table.insert(parts, object)
431
		end
432
		for _,child in pairs(object:GetChildren()) do
433
			recurse(child)
434
		end
435
	end
436
	recurse(model)
437
	
438
	local rootPart = rooty or parts[1]
439
	for _, part in pairs(parts) do
440
		local cframe = rootPart.CFrame:toObjectSpace(part.CFrame)
441
		local weld = Instance.new("Weld")
442
		weld.Part0 = rootPart
443
		weld.Part1 = part
444
		weld.C0 = cframe
445
		weld.Parent = rootPart
446
	end
447
	
448
	if unanchor then
449
		for _, part in pairs(parts) do
450
			part.Anchored = false
451
			part.CanCollide = false
452
		end
453
	end
454
end
455
456
weldItem = function(rootPart, Item, TheC0, unanchor, ParentItem)
457
	local cframe = TheC0 or rootPart.CFrame:toObjectSpace(Item.CFrame)
458
	local weld = Instance.new("Weld")
459
	weld.Name = "Weld"
460
	weld.Part0 = rootPart
461
	weld.Part1 = Item
462
	weld.C0 = cframe
463
	weld.Parent = ParentItem and Item or rootPart
464
	
465
	if unanchor then
466
		Item.Anchored = false
467
	end
468
	return weld, cframe
469
end
470
471
scaleModel = function(model, scale)
472
	local parts = {}
473
	local function recurse(object)
474
		if object:IsA("BasePart") then
475
			table.insert(parts, object)
476
		end
477
		for _,child in pairs(object:GetChildren()) do
478
			recurse(child)
479
		end
480
	end
481
	recurse(model)
482
	
483
	local top, bottom, left, right, back, front
484
	for _, part in pairs(parts) do
485
		if top == nil or top < part.Position.y then			top = part.Position.y end
486
		if bottom == nil or bottom > part.Position.y then	bottom = part.Position.y end
487
		if left == nil or left > part.Position.x then		left = part.Position.x end
488
		if right == nil or right < part.Position.x then		right = part.Position.x end
489
		if back == nil or back > part.Position.z then		back = part.Position.z end
490
		if front == nil or front < part.Position.z then		front = part.Position.z end
491
	end
492
	
493
	local middle = Vector3.new( left+right, top+bottom, back+front )/2
494
	local minSize = Vector3.new(0.2, 0.2, 0.2)
495
	
496
	for _, part in pairs(parts) do
497
		local foo = part.CFrame.p - middle
498
		local rotation = part.CFrame - part.CFrame.p
499
		local newSize = part.Size*scale
500
		part.FormFactor = "Custom"
501
		part.Size = newSize
502
		part.CFrame = CFrame.new( middle + foo*scale ) * rotation
503
		
504
		if newSize.x < minSize.x or newSize.y < minSize.y or newSize.z < minSize.z then
505
			local mesh
506
			for _, child in pairs(part:GetChildren()) do
507
				if child:IsA("DataModelMesh") then
508
					mesh = child
509
					break
510
				end
511
			end
512
			
513
			if mesh == nil then
514
				mesh = Instance.new("BlockMesh", part)
515
			end
516
			
517
			local oScale = mesh.Scale
518
			local newScale = newSize/minSize * oScale
519
			if 0.2 < newSize.x then newScale = Vector3.new(1 * oScale.x, newScale.y, newScale.z) end
520
			if 0.2 < newSize.y then newScale = Vector3.new(newScale.x, 1 * oScale.y, newScale.z) end
521
			if 0.2 < newSize.z then newScale = Vector3.new(newScale.x, newScale.y, 1 * oScale.z) end
522
			
523
			mesh.Scale = newScale
524
		end
525
	end
526
end
527
528
function getMass(Obj, Total)
529
	local newTotal = Total
530
	local returnTotal = 0
531
	
532
	if Obj:IsA("BasePart") then
533
		newTotal = newTotal + Objects[Obj]
534
	elseif BodyObjects[Obj.ClassName] then
535
		Obj:Destroy()
536
	end
537
	
538
	if Obj:GetChildren() and #Obj:GetChildren() > 0 then
539
		for _,v in pairs(Obj:GetChildren()) do
540
			returnTotal = returnTotal + getMass(v, newTotal)
541
		end
542
	else
543
		returnTotal = newTotal
544
	end
545
	
546
	return returnTotal
547
end
548
549
function getTargFromCurrent()
550
	local Current = Current.Part
551
	if Current:IsA("BasePart") then
552
		return Current
553
	elseif Current:findFirstChild("Torso") then
554
		return Current.Torso
555
	else
556
		for _,v in pairs(Current:GetChildren()) do
557
			if v:IsA("BasePart") then
558
				return v
559
			end
560
		end
561
	end
562
end
563
564
function Fire(Part, Vec, Inv)
565
	pcall(function()
566
		Current.BP:Destroy()
567
		Current.BP = nil
568
	end)
569
	pcall(function()
570
		Current.BA:Destroy()
571
		Current.BA = nil
572
	end)
573
	pcall(function()
574
		if Inv then
575
			Part.Velocity = -((Vec - Torso.Position).unit * Grav * 1.1)
576
		else
577
			Part.Velocity = ((Vec - Camera.CoordinateFrame.p).unit * Grav * 1.1)
578
		end
579
		Current.Mass = nil
580
	end)
581
	Reset()
582
end
583
584
function Reset()
585
	LS.Parent = nil
586
	RS.Parent = nil
587
	
588
	OrigLS.Parent = Torso
589
	OrigRS.Parent = Torso
590
	
591
	OrigLS.C0 = LS0
592
	OrigRS.C0 = RS0
593
end
594
595
function Start()
596
	Cor(function()
597
		repeat wait(1/30) until LP.Character and LP.Character.Parent == Workspace and LP.Character:findFirstChild("Torso")
598
		Char = LP.Character
599
		PlrGui = LP.PlayerGui
600
		Backpack = LP.Backpack
601
		Mouse = LP:GetMouse()
602
		
603
		for _,v in pairs(Cons) do
604
			v:disconnect()
605
		end
606
		Cons = {}
607
608
		Camera = Workspace.CurrentCamera
609
		LastCamCF = Camera.CoordinateFrame
610
		AnimJoints = {}
611
		mDown = false
612
		Multi = false
613
		Grabbing = false
614
		Current = {}
615
		Alpha = 1
616
617
		Head = Char["Head"]
618
		Torso = Char["Torso"]
619
		Humanoid = Char["Humanoid"]
620
		LA = Char["Left Arm"]
621
		RA = Char["Right Arm"]
622
		LL = Char["Left Leg"]
623
		RL = Char["Right Leg"]
624
		
625
		OrigLS = Torso["Left Shoulder"]
626
		OrigRS = Torso["Right Shoulder"]
627
628
		for _,v in pairs(Char:GetChildren()) do
629
			if v.Name == ModID then
630
				v:Destroy()
631
			end
632
		end
633
634
		for _,v in pairs(PlrGui:GetChildren()) do
635
			if v.Name == "PadsGui" then
636
				v:Destroy()
637
			end
638
		end
639
		
640
		LS = Instance.new("Weld")
641
		RS = Instance.new("Weld")
642
643
		LS.Name = OrigLS.Name
644
		LS.Part0 = Torso
645
		LS.Part1 = LA
646
		LS.C0 = LS0
647
		LS.C1 = CFrame.new(0, 0.5, 0,  1, 0, 0,  0, 0, 1,  0, -1, 0)
648
649
		RS.Name = OrigRS.Name
650
		RS.Part0 = Torso
651
		RS.Part1 = RA
652
		RS.C0 = RS0
653
		RS.C1 = CFrame.new(0, 0.5, 0,  1, 0, 0,  0, 0, 1,  0, -1, 0)
654
655
		local Pads = MakePads()
656
		local LPad = Pads.LBase
657
		local RPad = Pads.RBase
658
659
		weldModel(LPad, true, LPad)
660
		weldModel(RPad, true, RPad)
661
662
		local GripWeldL = Instance.new("Weld")
663
		GripWeldL.Name = "GripWeldL"
664
		GripWeldL.Part0 = LA
665
		GripWeldL.Part1 = LPad
666
		GripWeldL.C0 = CFrame.new(0, -1.05, 0) * CFrame.Angles(0, math.rad(180), 0)
667
		GripWeldL.Parent = LA
668
669
		local GripWeldR = Instance.new("Weld")
670
		GripWeldR.Name = "GripWeldR"
671
		GripWeldR.Part0 = RA
672
		GripWeldR.Part1 = RPad
673
		GripWeldR.C0 = CFrame.new(0, -1.05, 0) * CFrame.Angles(0, math.rad(180), 0)
674
		GripWeldR.Parent = RA
675
		
676
		local isParts = false
677
678
		table.insert(Cons, Mouse.KeyDown:connect(function(Key)
679
			Key = Key:lower()
680
			if Key == "z" then
681
				--Stuff
682
			elseif Key == "f" then
683
				local Current = Current.Part
684
				if Current and Current.Parent ~= nil and not Multi then
685
					Current:BreakJoints()
686
				end
687
			elseif Key == "q" then
688
				if isParts then
689
					isParts = false
690
					for _,v in pairs(Workspace:GetChildren()) do
691
						if v.Name == "MyPartV" and v:IsA("BasePart") then
692
							v:Destroy()
693
						end
694
					end
695
				else
696
					isParts = true
697
					for i = 1, 50 do
698
						local Part = Instance.new("Part")
699
						Part.Color = Color3.new(math.random(), math.random(), math.random())
700
						Part.Transparency = 0
701
						Part.Size = Vector3.new(math.random(1, 3), math.random(1, 3), math.random(1, 3))
702
						Part.Archivable = true
703
						Part.CanCollide = false
704
						Part.Material = "Neon"
705
						Part.Locked = false
706
						Part.CFrame = Torso.CFrame * CFrame.new(math.random(-15, 15), -1, math.random(-15, 15))
707
						Part.Anchored = true
708
						Part.Name = "MyPartV"
709
						Part.TopSurface = "Smooth"
710
						Part.BottomSurface = "Smooth"
711
						Part.Parent = Workspace
712
					end
713
				end
714
			elseif Key == "e" then
715
				local Targ;
716
				if Current.Part and Current.Part ~= nil then
717
					Targ = getTargFromCurrent()
718
				else
719
					Targ = LastPart
720
				end
721
				if Targ and Targ.Parent ~= nil and not Multi then
722
					local Ex = Instance.new("Explosion", Workspace)
723
					Ex.Position = Targ.CFrame.p
724
					Ex.BlastRadius = 16
725
					Ex.DestroyJointRadiusPercent = 0.5
726
				end
727
			elseif Key == "c" then
728
				if Current.Part and Current.Part.Parent ~= nil and not Multi then
729
					local Part = getTargFromCurrent()
730
					if Part then
731
						Grabbing = false
732
						if Mouse.Hit then
733
							local TargPos = CFrame.new(Camera.CoordinateFrame.p, Mouse.Hit.p) * CFrame.new(0, 0, -1000)
734
							Fire(Part, TargPos.p)
735
						else
736
							Fire(Part, Mouse.Origin.p + Mouse.UnitRay.Direction, true)
737
						end
738
					end
739
				end
740
			end
741
		end))
742
743
		table.insert(Cons, Mouse.Button1Up:connect(function()
744
			mDown = false
745
			if Grabbing == true and Multi == false then
746
				Grabbing = false
747
				Reset()
748
			end
749
			if Current.Part ~= nil then
750
				LastPart = getTargFromCurrent()
751
				Current = {}
752
			end
753
		end))
754
755
		local function makeLightning(Par, Start, End, Width, Length, RandomScale, ArcScale, Num1)
756
			local oldParts = {}
757
			for _,v in pairs(Par:GetChildren()) do
758
				v.CFrame = CFrame.new(5e5, 5e5, 5e5)
759
				table.insert(oldParts, v)
760
			end
761
			local Distance = (Start-End).Magnitude
762
			local ArcScale = ArcScale or 1
763
			local RandomScale = RandomScale or 0
764
			local Last = Start
765
			local IterNum = 0
766
767
			while Par.Parent do
768
				IterNum = IterNum + 1
769
				local New = nil
770
				if (Last-End).Magnitude < Length then
771
					New = CFrame.new(End)
772
				else
773
					if (End-Last).Magnitude < Length*2 then
774
						RandomScale = RandomScale*0.5
775
						ArcScale = ArcScale*0.5
776
					end
777
					local Direct = CFrame.new(Last,End)
778
					New = Direct*CFrame.Angles(math.rad(math.random(-RandomScale/4,RandomScale*ArcScale)),math.rad(math.random(-RandomScale,RandomScale)),math.rad(math.random(-RandomScale,RandomScale)))
779
					New = New*CFrame.new(0,0,-Length)
780
				end
781
				local Trail = nil
782
				if oldParts[IterNum] then
783
					Trail = oldParts[IterNum]
784
					Trail.BrickColor = ((Num1 % 2 == 0) and BrickColor.new("White")) or BrickColor.new("Cyan")
785
					Trail.Size = Vector3.new(Width, (Last-New.p).Magnitude, Width)
786
					Trail.CFrame = CFrame.new(New.p, Last)*CFrame.Angles(math.rad(90),0,0)*CFrame.new(0, -(Last-New.p).Magnitude/2, 0)
787
					oldParts[IterNum] = nil
788
				else
789
					Trail = Instance.new("Part")
790
					Trail.Name = "Part"
791
					Trail.FormFactor = "Custom"
792
					Trail.BrickColor = ((Num1 % 2 == 0) and BrickColor.new("White")) or BrickColor.new("White")
793
					Trail.Transparency = 0
794
					Trail.Anchored = true
795
					Trail.CanCollide = false
796
					Trail.Locked = true
797
					Trail.BackSurface = "SmoothNoOutlines"
798
					Trail.BottomSurface = "SmoothNoOutlines"
799
					Trail.FrontSurface = "SmoothNoOutlines"
800
					Trail.LeftSurface = "SmoothNoOutlines"
801
					Trail.RightSurface = "SmoothNoOutlines"
802
					Trail.TopSurface = "SmoothNoOutlines"
803
					Trail.Material = "Neon"
804
					Trail.Size = Vector3.new(Width, (Last-New.p).Magnitude, Width)
805
					Trail.CFrame = CFrame.new(New.p, Last)*CFrame.Angles(math.rad(90),0,0)*CFrame.new(0, -(Last-New.p).Magnitude/2, 0)
806
					Trail.Parent = Par
807
				end
808
				Last = New.p
809
				if (Last-End).Magnitude < 1 then
810
					break
811
				end
812
			end
813
			for _,v in pairs(oldParts) do
814
				v:Destroy()
815
			end
816
		end
817
818
		table.insert(Cons, Mouse.Button1Down:connect(function()
819
			mDown = true
820
			local Targ = Mouse.Target
821
			Cor(function()
822
				if Targ and Objects[Targ] and not Multi then
823
					Grabbing = true
824
					Current.Part = Targ
825
					local Mass = Objects[Targ]
826
					local ForceNum = 0
827
					local Hum = nil
828
					
829
					for _,v in pairs(Targ:GetChildren()) do
830
						if BodyObjects[v.ClassName] then
831
							v:Destroy()
832
						end
833
					end
834
					
835
					for _,v in pairs(Workspace:GetChildren()) do
836
						if v:findFirstChild("Humanoid") and v:IsAncestorOf(Targ) then
837
							Hum = v.Humanoid
838
							Mass = getMass(v, 0)
839
							Current.Part = v
840
							break
841
						end
842
					end
843
					
844
					Current.Mass = Mass
845
					
846
					if not Hum then
847
						Targ:BreakJoints()
848
					end
849
					
850
					ForceNum = Mass * Grav
851
					Targ.CanCollide = true
852
					Targ.Anchored = false
853
					
854
					local BP = Instance.new("BodyPosition")
855
					BP.maxForce = Vector3.new(3 * ForceNum, 3 * ForceNum, 3 * ForceNum)
856
					BP.Parent = Targ
857
					
858
					local Ang = Instance.new("BodyAngularVelocity")
859
					Ang.Parent = Targ
860
					
861
					Current.BP = BP
862
					Current.BA = Ang
863
					
864
					OrigLS.Parent = nil
865
					OrigRS.Parent = nil
866
					
867
					LS.Parent = Torso
868
					RS.Parent = Torso
869
					
870
					LS.C0 = LS0
871
					RS.C0 = RS0
872
					
873
					local DirDot = Mouse.UnitRay.Direction:Dot(Targ.Position - Mouse.Origin.p)
874
					local BPPos = Vector3.new(0, 0, 0)
875
					local Vel = Vector3.new(0, 0, 0)
876
					local Vlev = random() * math.pi
877
					local RPos = Vector3.new(random() * 2 - 1, cos(Vlev), random() * 2 - 1)
878
					
879
					local Ball = Instance.new("Part")
880
					Ball.Name = "Ball"
881
					Ball.FormFactor = "Custom"
882
					Ball.Color = Color3.new(0, 1, 1)
883
					Ball.Transparency = 0.3
884
					Ball.Anchored = true
885
					Ball.CanCollide = false
886
					Ball.Locked = true
887
					Ball.BottomSurface, Ball.TopSurface = "Smooth", "Smooth"
888
					Ball.Size = Vector3.new(0.5, 0.5, 0.5)
889
					Ball.CFrame = Torso.CFrame * CFrame.new(0, 1, -3)
890
					Ball.Parent = Char
891
892
					if Targ.Name == "MyPartV" then
893
						Targ.Name = "MyPartF"
894
					end
895
896
					local LightMod = Instance.new("Model", Char)
897
						
898
					local Mesh = Instance.new("SpecialMesh")
899
					Mesh.MeshType = "Sphere"
900
					Mesh.Parent = Ball
901
					
902
					local Size = 0.5
903
					local Rise = true
904
					
905
					while Grabbing and BP and Ang and Targ.Parent ~= nil do
906
						local BPPos = Mouse.Origin.p + Mouse.UnitRay.Direction * DirDot
907
						Ang.angularvelocity = Vel
908
						BP.position = BPPos + RPos
909
						RPos = Vector3.new(max(-1, min(RPos.x + random() * 0.02 - 0.01, 1)), cos(Vlev), max(-1, min(RPos.z + random() * 0.02 - 0.01, 1)))
910
						Vel = Vector3.new(max(-1, min(Vel.x + random() * 0.2 - 0.1, 1)), max(-1, min(Vel.y + random() * 0.2 - 0.1, 1)), max(-1, min(Vel.z + random() * 0.2 - 0.1, 1)))
911
						Vlev = (Vlev + 0.05) % tau
912
						
913
						if Hum then
914
							Hum.Sit = true
915
						end
916
						
917
						if LA.Parent ~= nil and RA.Parent ~= nil then
918
							local LPos = (LA.CFrame * CFrame.new(0, -1, 0)).p
919
							local RPos = (RA.CFrame * CFrame.new(0, -1, 0)).p
920
							if Rise == true then
921
								if Size < 0.6 then
922
									Size = Size + 0.05
923
								else
924
									Size = Size + 0.1
925
								end
926
								if Size >= 2.2 then
927
									Rise = false
928
								end
929
							else
930
								if Size > 2.1 then
931
									Size = Size - 0.05
932
								else
933
									Size = Size - 0.1
934
								end
935
								if Size <= 0.5 then
936
									Rise = true
937
								end
938
							end
939
							Ball.Size = Vector3.new(Size, Size, Size)
940
							Ball.CFrame = CFrame.new(LPos:Lerp(RPos, 0.5), Targ.Position) * CFrame.new(0, 0, -2.2)
941
							LightNum = LightNum + 1
942
							makeLightning(LightMod, Ball.Position, Targ.Position, 0.2, 4, 50, 1, LightNum)
943
						elseif Ball.Parent ~= nil then
944
							Ball:Destroy()
945
						end
946
						
947
						if LS and LS.Parent == Torso then
948
							LS.C0 = CFrame.new(Vector3.new(-1.5, 0.5, 0), Torso.CFrame:pointToObjectSpace((Targ.CFrame or Torso.CFrame * CFrame.new(-1.5, 0.5, 1)).p))
949
						end
950
						if RS and RS.Parent == Torso then
951
							RS.C0 = CFrame.new(Vector3.new(1.5, 0.5, 0), Torso.CFrame:pointToObjectSpace((Targ.CFrame or Torso.CFrame * CFrame.new(1.5, 0.5, 1)).p))
952
						end
953
						RunService.Heartbeat:wait()
954
					end
955
956
					coroutine.resume(coroutine.create(function()
957
						for i = 0.5, 1, 0.1 do
958
							for i2,v in pairs(LightMod:GetChildren()) do
959
								--v.Light.Range = 6-(i*5)
960
								v.Transparency = i
961
							end
962
							wait(1/30)
963
						end
964
						LightMod:Destroy()
965
					end))
966
					
967
					if BP and BP.Parent ~= nil then
968
						BP:Destroy()
969
					end
970
					
971
					if Ang and Ang.Parent ~= nil then
972
						Ang:Destroy()
973
					end
974
					
975
					pcall(function() Ball:Destroy() end)
976
				end
977
			end)
978
		end))
979
	end)
980
end
981
982
function Add(Obj)
983
	if Obj:IsA("BasePart") and not Objects[Obj] and not (Obj.Name == "Base" and Obj.ClassName == "Part") then
984
		Objects[Obj] = Obj:GetMass()
985
		Obj.Changed:connect(function(P)
986
			if P:lower() == "size" and Objects[Obj] and Obj.Parent ~= nil then
987
				Objects[Obj] = Obj:GetMass()
988
			end
989
		end)
990
	end
991
end
992
993
function Rem(Obj)
994
	if Objects[Obj] then
995
		Objects[Obj] = nil
996
	end
997
end
998
999
function Recursion(Obj)
1000
	ypcall(function()
1001
		Add(Obj)
1002
		if #Obj:GetChildren() > 0 then
1003
			for _,v in pairs(Obj:GetChildren()) do 
1004
				Recursion(v)
1005
			end
1006
		end
1007
	end)
1008
end
1009
1010
Workspace.DescendantAdded:connect(function(Obj)
1011
	Add(Obj)
1012
end)
1013
1014
Workspace.DescendantRemoving:connect(function(Obj)
1015
	Rem(Obj)
1016
end)
1017
1018
for _,v in pairs(Workspace:GetChildren()) do
1019
	Recursion(v)
1020
end
1021
1022
Start()
1023
1024
if LP.Name == PlrName then
1025
	LP.CharacterAdded:connect(Start)
1026
end
1027
1028
local verlet = {}
1029
verlet.step_time = 1 / 50
1030
verlet.gravity = Vector3.new(0, -10, 0)
1031
1032
local char = game.Players.LocalPlayer.Character
1033
local torso = char:WaitForChild("Torso")
1034
local parts = {}
1035
local render = game:GetService("RunService").RenderStepped
1036
1037
wait(2)
1038
1039
local point = {}
1040
local link = {}
1041
local rope = {}
1042
1043
local function ccw(A,B,C)
1044
    return (C.y-A.y) * (B.x-A.x) > (B.y-A.y) * (C.x-A.x)
1045
end
1046
1047
local function intersect(A,B,C,D)
1048
    return ccw(A,C,D) ~= ccw(B,C,D) and ccw(A,B,C) ~= ccw(A,B,D)
1049
end
1050
1051
local function vec2(v)
1052
	return Vector2.new(v.x, v.z)
1053
end
1054
1055
function point:step()
1056
	if not self.fixed then
1057
		local derivative = (self.position - self.last_position) * 0.95
1058
		self.last_position = self.position
1059
		self.position = self.position + derivative + (self.velocity * verlet.step_time ^ 2)
1060
		--[[local torsoP = torso.CFrame * CFrame.new(-1, 0, 0.5)
1061
		local torsoE = torso.CFrame * CFrame.new(1, 0, 0.5)
1062
		local pointE = self.position + torso.CFrame.lookVector * 100
1063
		local doIntersect = intersect(vec2(torsoP.p), vec2(torsoE.p), vec2(self.position), vec2(pointE))
1064
		if not doIntersect then
1065
			self.postition = self.position - torso.CFrame.lookVector * 10
1066
		end]]
1067
	end
1068
end
1069
1070
function link:step()
1071
	for i = 1, 1 do
1072
		local distance = self.point1.position - self.point2.position
1073
		local magnitude = distance.magnitude
1074
		local differance = (self.length - magnitude) / magnitude
1075
		local translation = ((self.point1.fixed or self.point2.fixed) and 1 or 0.6) * distance * differance
1076
		if not self.point1.fixed then
1077
			self.point1.position = self.point1.position + translation
1078
		end
1079
		if not self.point2.fixed then
1080
			self.point2.position = self.point2.position - translation
1081
		end
1082
	end
1083
end
1084
1085
function verlet.new(class, a, b, c)
1086
	if class == "Point" then
1087
		local new = {}
1088
		setmetatable(new, {__index = point})
1089
		new.class = class
1090
		new.position = a or Vector3.new()
1091
		new.last_position = new.position
1092
		new.velocity = verlet.gravity
1093
		new.fixed = false
1094
		return new
1095
	elseif class == "Link" then
1096
		local new = {}
1097
		setmetatable(new, {__index = link})
1098
		new.class = class
1099
		new.point1 = a
1100
		new.point2 = b
1101
		new.length = c or (a.position - b.position).magnitude
1102
		return new
1103
	elseif class == "Rope" then
1104
		local new = {}
1105
		setmetatable(new, {__index = link})
1106
		new.class = class
1107
		new.start_point = a
1108
		new.finish_point = b
1109
		new.points = {}
1110
		new.links = {}
1111
		local inc = (b - a) / 10
1112
		for i = 0, 10 do
1113
			table.insert(new.points, verlet.new("Point", a + (i * inc)))
1114
		end
1115
		for i = 2, #new.points do
1116
			table.insert(new.links, verlet.new("Link", new.points[i - 1], new.points[i]))
1117
		end
1118
		return new
1119
	end
1120
end
1121
1122
local tris = {}
1123
local triParts = {}
1124
1125
local function GetDiscoColor(hue)
1126
 local section = hue % 1 * 3
1127
 local secondary = 0.5 * math.pi * (section % 1)
1128
 if section < 1 then
1129
  return Color3.new(0, 0, 0)
1130
 elseif section < 2 then
1131
  return Color3.new(0, 0, 0)
1132
 else
1133
  return Color3.new(0, 0, 0)
1134
 end
1135
end
1136
1137
local function setupPart(part)
1138
	part.Anchored = true
1139
	part.FormFactor = 3
1140
	part.CanCollide = false
1141
	part.TopSurface = 10
1142
	part.BottomSurface = 10
1143
	part.LeftSurface = 10
1144
	part.RightSurface = 10
1145
	part.FrontSurface = 10
1146
	part.BackSurface = 10
1147
	part.Material = "Neon"
1148
	local m = Instance.new("SpecialMesh", part)
1149
	m.MeshType = "Wedge"
1150
	m.Scale = Vector3.new(0.2, 1, 1)
1151
	return part
1152
end
1153
1154
local function CFrameFromTopBack(at, top, back)
1155
	local right = top:Cross(back)
1156
	return CFrame.new(at.x, at.y, at.z, right.x, top.x, back.x,  right.y, top.y, back.y, right.z, top.z, back.z)
1157
end
1158
1159
local function drawTri(parent, a, b, c)
1160
	local this = {}
1161
	local mPart1 = table.remove(triParts, 1) or setupPart(Instance.new("Part"))
1162
	local mPart2 = table.remove(triParts, 1) or setupPart(Instance.new("Part"))
1163
	function this:Set(a, b, c)
1164
		local ab, bc, ca = b-a, c-b, a-c
1165
		local abm, bcm, cam = ab.magnitude, bc.magnitude, ca.magnitude
1166
		local edg1 = math.abs(0.5 + ca:Dot(ab)/(abm*abm))
1167
		local edg2 = math.abs(0.5 + ab:Dot(bc)/(bcm*bcm))
1168
		local edg3 = math.abs(0.5 + bc:Dot(ca)/(cam*cam))
1169
		if edg1 < edg2 then
1170
			if edg1 >= edg3 then		
1171
				a, b, c = c, a, b
1172
				ab, bc, ca = ca, ab, bc
1173
				abm = cam
1174
			end
1175
		else
1176
			if edg2 < edg3 then
1177
				a, b, c = b, c, a
1178
				ab, bc, ca = bc, ca, ab
1179
				abm = bcm
1180
			else
1181
				a, b, c = c, a, b
1182
				ab, bc, ca = ca, ab, bc
1183
				abm = cam
1184
			end
1185
		end
1186
	 
1187
		local len1 = -ca:Dot(ab)/abm
1188
		local len2 = abm - len1
1189
		local width = (ca + ab.unit*len1).magnitude
1190
	 
1191
		local maincf = CFrameFromTopBack(a, ab:Cross(bc).unit, -ab.unit)
1192
	 
1193
		if len1 > 0.2 then
1194
			mPart1.Parent = parent
1195
			mPart1.Size = Vector3.new(0.2, width, len1)
1196
			mPart1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
1197
		else
1198
			mPart1.Parent = nil
1199
		end
1200
		
1201
		if len2 > 0.2 then
1202
			mPart2.Parent = parent
1203
			mPart2.Size = Vector3.new(0.2, width, len2)
1204
			mPart2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
1205
		else
1206
			mPart2.Parent = nil
1207
		end	
1208
	end
1209
	function this:SetProperty(prop, value)
1210
		mPart1[prop] = value
1211
		mPart2[prop] = value
1212
	end
1213
	this:Set(a, b, c)
1214
	function this:Destroy()
1215
		mPart1:Destroy()
1216
		mPart2:Destroy()
1217
	end
1218
	this.p1 = mPart1
1219
	this.p2 = mPart2
1220
	this.p1.BrickColor = BrickColor.new(GetDiscoColor(math.noise(0.5, 0.5, this.p1.CFrame.Y * 0.5 + time())))
1221
	this.p2.BrickColor = BrickColor.new(GetDiscoColor(math.noise(0.5, 0.5, this.p2.CFrame.Y * 0.5 + time())))
1222
	return this
1223
end
1224
1225
function verlet.draw(object, id)
1226
	if object.class == "Point" then
1227
		local part = parts[id]
1228
		part.BrickColor = BrickColor.new(107, 0, 107)
1229
		part.Transparency = 0
1230
		part.formFactor = 3
1231
		part.Anchored = true
1232
		part.CanCollide = false
1233
		part.TopSurface = 0
1234
		part.BottomSurface = 0
1235
		part.Size = Vector3.new(0.35, 0.35, 0.35)
1236
		part.Material = "Neon"
1237
		part.CFrame = CFrame.new(object.position)
1238
		part.Parent = torso
1239
		return part
1240
	elseif object.class == "Link" then
1241
		local part = parts[id]
1242
		local dist = (object.point1.position - object.point2.position).magnitude
1243
		part.Size = Vector3.new(0.2, 0.2, dist)
1244
		part.CFrame = CFrame.new(object.point1.position, object.point2.position) * CFrame.new(0, 0, dist * -0.5)
1245
		part.Parent = torso
1246
		return part
1247
	end
1248
end
1249
1250
function verlet.clear()
1251
	for _, v in pairs(workspace:GetChildren()) do
1252
		if v.Name == "Part" then
1253
			v:Destroy()
1254
		end
1255
	end
1256
end
1257
1258
local points = {}
1259
local links = {}
1260
1261
for x = 0, 2 do
1262
	points[x] = {}
1263
	for y = 0, 3 do
1264
		points[x][y] = verlet.new("Point", torso.Position + Vector3.new(x * 0.8 - 2, 2 - y * 0.8, 5 + y * 0.4))
1265
		points[x][y].fixed = y == 0
1266
	end
1267
end
1268
1269
for x = 1, 2 do
1270
	for y = 0, 3 do
1271
		links[#links + 1] = verlet.new("Link", points[x][y], points[x - 1][y], 1 + y * 0.08)
1272
	end
1273
end
1274
1275
for x = 0, 2 do
1276
	for y = 1, 3 do
1277
		links[#links + 1] = verlet.new("Link", points[x][y], points[x][y - 1], 1.2 + y * 0.03)
1278
	end
1279
end
1280
1281
render:connect(function()
1282
	for x = 0, 2 do
1283
		for y = 0, 3 do
1284
			if y == 0 then
1285
				points[x][y].position = (torso.CFrame * CFrame.new(x * 1 - 1, 1, 0.5)).p
1286
			else
1287
				points[x][y]:step()
1288
			end
1289
		end
1290
	end
1291
	for i = 1, #links do
1292
		links[i]:step()
1293
	end
1294
	for i = 1, #tris do
1295
		triParts[#triParts + 1] = tris[i].p1
1296
		triParts[#triParts + 1] = tris[i].p2
1297
	end
1298
	tris = {}
1299
	for x = 1, 2 do
1300
		for y = 1, 3 do
1301
			tris[#tris + 1] = drawTri(torso, points[x - 1][y - 1].position, points[x - 1][y].position, points[x][y - 1].position)
1302
			tris[#tris + 1] = drawTri(torso, points[x][y].position, points[x - 1][y].position, points[x][y - 1].position)
1303
		end
1304
	end
1305
end)
1306
1307
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
1308
	local NEWMESH = IT(MESH)
1309
	if MESH == "SpecialMesh" then
1310
		NEWMESH.MeshType = MESHTYPE
1311
		if MESHID ~= "nil" and MESHID ~= "" then
1312
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
1313
		end
1314
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
1315
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
1316
		end
1317
	end
1318
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
1319
	NEWMESH.Scale = SCALE
1320
	NEWMESH.Parent = PARENT
1321
	return NEWMESH
1322
end
1323
1324
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
1325
	local NEWPART = IT("Part")
1326
	NEWPART.formFactor = FORMFACTOR
1327
	NEWPART.Reflectance = REFLECTANCE
1328
	NEWPART.Transparency = TRANSPARENCY
1329
	NEWPART.CanCollide = false
1330
	NEWPART.Locked = true
1331
	NEWPART.Anchored = true
1332
	if ANCHOR == false then
1333
		NEWPART.Anchored = false
1334
	end
1335
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
1336
	NEWPART.Name = NAME
1337
	NEWPART.Size = SIZE
1338
	NEWPART.Position = Torso.Position
1339
	NEWPART.Material = MATERIAL
1340
	NEWPART:BreakJoints()
1341
	NEWPART.Parent = PARENT
1342
	return NEWPART
1343
end
1344
1345
--//=================================\\
1346
--||		  CUSTOMIZATION
1347
--\\=================================//
1348
1349
Player_Size = 1 --Size of the player.
1350
Animation_Speed = 3
1351
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
1352
1353
local Speed = 16
1354
local Effects2 = {}
1355
1356
--//=================================\\
1357
--|| 	  END OF CUSTOMIZATION
1358
--\\=================================//
1359
1360
	local function weldBetween(a, b)
1361
	    local weldd = Instance.new("ManualWeld")
1362
	    weldd.Part0 = a
1363
	    weldd.Part1 = b
1364
	    weldd.C0 = CFrame.new()
1365
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1366
	    weldd.Parent = a
1367
	    return weldd
1368
	end
1369
1370
function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
1371
local acs = Instance.new("Part")
1372
acs.CanCollide = false
1373
acs.Anchored = false
1374
acs.Size = Vector3.new(0,0,0)
1375
acs.CFrame = attachmentpart.CFrame
1376
acs.Parent = Character
1377
acs.BrickColor = color
1378
    local meshs = Instance.new("SpecialMesh")
1379
    meshs.MeshId = mesh
1380
    meshs.TextureId = texture
1381
    meshs.Parent = acs
1382
    meshs.Scale = scale
1383
    meshs.Offset = offset
1384
weldBetween(attachmentpart,acs)
1385
end
1386
1387
--//=================================\\
1388
--|| 	      USEFUL VALUES
1389
--\\=================================//
1390
1391
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
1392
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
1393
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
1394
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
1395
local CHANGEDEFENSE = 0
1396
local CHANGEDAMAGE = 0
1397
local CHANGEMOVEMENT = 0
1398
local ANIM = "Idle"
1399
local ATTACK = false
1400
local EQUIPPED = false
1401
local HOLD = false
1402
local COMBO = 1
1403
local Rooted = false
1404
local SINE = 0
1405
local KEYHOLD = false
1406
local CHANGE = 2 / Animation_Speed
1407
local WALKINGANIM = false
1408
local WALK = 0
1409
local VALUE1 = false
1410
local VALUE2 = false
1411
local ROBLOXIDLEANIMATION = IT("Animation")
1412
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
1413
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
1414
--ROBLOXIDLEANIMATION.Parent = Humanoid
1415
local WEAPONGUI = IT("ScreenGui", PlayerGui)
1416
WEAPONGUI.Name = "Weapon GUI"
1417
local Weapon = IT("Model")
1418
Weapon.Name = "Adds"
1419
local Tail = IT("Model",Weapon)
1420
Tail.Name = "Tail"
1421
local Minions = IT("Model",Character)
1422
Minions.Name = "MinionFolder"
1423
local Effects = IT("Folder", Weapon)
1424
Effects.Name = "Effects"
1425
local ANIMATOR = Humanoid.Animator
1426
local ANIMATE = Character.Animate
1427
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
1428
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
1429
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
1430
local HITBLOCKSOUNDS = {"199148933", "199148947"}
1431
local UNANCHOR = true
1432
1433
local SKILLTEXTCOLOR = C3(1,1,1)
1434
1435
--//=================================\\
1436
--\\=================================//
1437
1438
1439
--//=================================\\
1440
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
1441
--\\=================================//
1442
1443
ArtificialHB = Instance.new("BindableEvent", script)
1444
ArtificialHB.Name = "ArtificialHB"
1445
1446
script:WaitForChild("ArtificialHB")
1447
1448
frame = Frame_Speed
1449
tf = 0
1450
allowframeloss = false
1451
tossremainder = false
1452
lastframe = tick()
1453
script.ArtificialHB:Fire()
1454
1455
game:GetService("RunService").Heartbeat:connect(function(s, p)
1456
	tf = tf + s
1457
	if tf >= frame then
1458
		if allowframeloss then
1459
			script.ArtificialHB:Fire()
1460
			lastframe = tick()
1461
		else
1462
			for i = 1, math.floor(tf / frame) do
1463
				script.ArtificialHB:Fire()
1464
			end
1465
		lastframe = tick()
1466
		end
1467
		if tossremainder then
1468
			tf = 0
1469
		else
1470
			tf = tf - frame * math.floor(tf / frame)
1471
		end
1472
	end
1473
end)
1474
1475
--//=================================\\
1476
--\\=================================//
1477
1478
1479
1480
1481
1482
--//=================================\\
1483
--|| 	      SOME FUNCTIONS
1484
--\\=================================//
1485
1486
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
1487
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
1488
end
1489
1490
function PositiveAngle(NUMBER)
1491
	if NUMBER >= 0 then
1492
		NUMBER = 0
1493
	end
1494
	return NUMBER
1495
end
1496
1497
function NegativeAngle(NUMBER)
1498
	if NUMBER <= 0 then
1499
		NUMBER = 0
1500
	end
1501
	return NUMBER
1502
end
1503
1504
function Swait(NUMBER)
1505
	if NUMBER == 0 or NUMBER == nil then
1506
		ArtificialHB.Event:wait()
1507
	else
1508
		for i = 1, NUMBER do
1509
			ArtificialHB.Event:wait()
1510
		end
1511
	end
1512
end
1513
1514
function QuaternionFromCFrame(cf)
1515
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
1516
	local trace = m00 + m11 + m22
1517
	if trace > 0 then 
1518
		local s = math.sqrt(1 + trace)
1519
		local recip = 0.5 / s
1520
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
1521
	else
1522
		local i = 0
1523
		if m11 > m00 then
1524
			i = 1
1525
		end
1526
		if m22 > (i == 0 and m00 or m11) then
1527
			i = 2
1528
		end
1529
		if i == 0 then
1530
			local s = math.sqrt(m00 - m11 - m22 + 1)
1531
			local recip = 0.5 / s
1532
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
1533
		elseif i == 1 then
1534
			local s = math.sqrt(m11 - m22 - m00 + 1)
1535
			local recip = 0.5 / s
1536
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
1537
		elseif i == 2 then
1538
			local s = math.sqrt(m22 - m00 - m11 + 1)
1539
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
1540
		end
1541
	end
1542
end
1543
 
1544
function QuaternionToCFrame(px, py, pz, x, y, z, w)
1545
	local xs, ys, zs = x + x, y + y, z + z
1546
	local wx, wy, wz = w * xs, w * ys, w * zs
1547
	local xx = x * xs
1548
	local xy = x * ys
1549
	local xz = x * zs
1550
	local yy = y * ys
1551
	local yz = y * zs
1552
	local zz = z * zs
1553
	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))
1554
end
1555
 
1556
function QuaternionSlerp(a, b, t)
1557
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
1558
	local startInterp, finishInterp;
1559
	if cosTheta >= 0.0001 then
1560
		if (1 - cosTheta) > 0.0001 then
1561
			local theta = ACOS(cosTheta)
1562
			local invSinTheta = 1 / SIN(theta)
1563
			startInterp = SIN((1 - t) * theta) * invSinTheta
1564
			finishInterp = SIN(t * theta) * invSinTheta
1565
		else
1566
			startInterp = 1 - t
1567
			finishInterp = t
1568
		end
1569
	else
1570
		if (1 + cosTheta) > 0.0001 then
1571
			local theta = ACOS(-cosTheta)
1572
			local invSinTheta = 1 / SIN(theta)
1573
			startInterp = SIN((t - 1) * theta) * invSinTheta
1574
			finishInterp = SIN(t * theta) * invSinTheta
1575
		else
1576
			startInterp = t - 1
1577
			finishInterp = t
1578
		end
1579
	end
1580
	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
1581
end
1582
1583
function Clerp(a, b, t)
1584
	local qa = {QuaternionFromCFrame(a)}
1585
	local qb = {QuaternionFromCFrame(b)}
1586
	local ax, ay, az = a.x, a.y, a.z
1587
	local bx, by, bz = b.x, b.y, b.z
1588
	local _t = 1 - t
1589
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
1590
end
1591
1592
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
1593
	local frame = IT("Frame")
1594
	frame.BackgroundTransparency = TRANSPARENCY
1595
	frame.BorderSizePixel = BORDERSIZEPIXEL
1596
	frame.Position = POSITION
1597
	frame.Size = SIZE
1598
	frame.BackgroundColor3 = COLOR
1599
	frame.BorderColor3 = BORDERCOLOR
1600
	frame.Name = NAME
1601
	frame.Parent = PARENT
1602
	return frame
1603
end
1604
1605
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
1606
	local label = IT("TextLabel")
1607
	label.BackgroundTransparency = 1
1608
	label.Size = UD2(1, 0, 1, 0)
1609
	label.Position = UD2(0, 0, 0, 0)
1610
	label.TextColor3 = TEXTCOLOR
1611
	label.TextStrokeTransparency = STROKETRANSPARENCY
1612
	label.TextTransparency = TRANSPARENCY
1613
	label.FontSize = TEXTFONTSIZE
1614
	label.Font = TEXTFONT
1615
	label.BorderSizePixel = BORDERSIZEPIXEL
1616
	label.TextScaled = false
1617
	label.Text = TEXT
1618
	label.Name = NAME
1619
	label.Parent = PARENT
1620
	return label
1621
end
1622
1623
function NoOutlines(PART)
1624
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
1625
end
1626
1627
1628
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
1629
	local NEWWELD = IT(TYPE)
1630
	NEWWELD.Part0 = PART0
1631
	NEWWELD.Part1 = PART1
1632
	NEWWELD.C0 = C0
1633
	NEWWELD.C1 = C1
1634
	NEWWELD.Parent = PARENT
1635
	return NEWWELD
1636
end
1637
1638
function CreateSound(ID, PARENT, VOLUME, PITCH)
1639
	local NEWSOUND = nil
1640
	coroutine.resume(coroutine.create(function()
1641
		NEWSOUND = IT("Sound", PARENT)
1642
		NEWSOUND.Volume = VOLUME
1643
		NEWSOUND.Pitch = PITCH
1644
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
1645
		Swait()
1646
		NEWSOUND:play()
1647
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
1648
	end))
1649
	return NEWSOUND
1650
end
1651
1652
function CFrameFromTopBack(at, top, back)
1653
	local right = top:Cross(back)
1654
	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)
1655
end
1656
1657
function CreateWave(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1658
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1659
	local mesh = IT("SpecialMesh",wave)
1660
	mesh.MeshType = "FileMesh"
1661
	mesh.MeshId = "http://www.roblox.com/asset/?id=20329976"
1662
	mesh.Scale = SIZE
1663
	mesh.Offset = VT(0,0,-SIZE.X/8)
1664
	wave.CFrame = CFRAME
1665
	coroutine.resume(coroutine.create(function(PART)
1666
		for i = 1, WAIT do
1667
			Swait()
1668
			mesh.Scale = mesh.Scale + GROW
1669
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1670
			if DOESROT == true then
1671
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1672
			end
1673
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1674
			if wave.Transparency > 0.99 then
1675
				wave:remove()
1676
			end
1677
		end
1678
	end))
1679
end
1680
1681
function CreateCrown(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1682
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1683
	local mesh = IT("SpecialMesh",wave)
1684
	mesh.MeshType = "FileMesh"
1685
	mesh.MeshId = "http://www.roblox.com/asset/?id=1078075"
1686
	mesh.Scale = SIZE
1687
	mesh.Offset = VT(0,0,-SIZE.X/8)
1688
	wave.CFrame = CFRAME
1689
	coroutine.resume(coroutine.create(function(PART)
1690
		for i = 1, WAIT do
1691
			Swait()
1692
			mesh.Scale = mesh.Scale + GROW
1693
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1694
			if DOESROT == true then
1695
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1696
			end
1697
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1698
			if wave.Transparency > 0.99 then
1699
				wave:remove()
1700
			end
1701
		end
1702
	end))
1703
end
1704
1705
function CreateIceCrown(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1706
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1707
	local mesh = IT("SpecialMesh",wave)
1708
	mesh.MeshType = "FileMesh"
1709
	mesh.MeshId = "http://www.roblox.com/asset/?id=1323306"
1710
	mesh.Scale = SIZE
1711
	mesh.Offset = VT(0,0,-SIZE.X/8)
1712
	wave.CFrame = CFRAME
1713
	coroutine.resume(coroutine.create(function(PART)
1714
		for i = 1, WAIT do
1715
			Swait()
1716
			mesh.Scale = mesh.Scale + GROW
1717
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1718
			if DOESROT == true then
1719
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1720
			end
1721
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1722
			if wave.Transparency > 0.99 then
1723
				wave:remove()
1724
			end
1725
		end
1726
	end))
1727
end
1728
1729
function CreateSpikeball(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1730
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1731
	local mesh = IT("SpecialMesh",wave)
1732
	mesh.MeshType = "FileMesh"
1733
	mesh.MeshId = "http://www.roblox.com/asset/?id=9982590"
1734
	mesh.Scale = SIZE
1735
	mesh.Offset = VT(0,0,-SIZE.X/8)
1736
	wave.CFrame = CFRAME
1737
	coroutine.resume(coroutine.create(function(PART)
1738
		for i = 1, WAIT do
1739
			Swait()
1740
			mesh.Scale = mesh.Scale + GROW
1741
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1742
			if DOESROT == true then
1743
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1744
			end
1745
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1746
			if wave.Transparency > 0.99 then
1747
				wave:remove()
1748
			end
1749
		end
1750
	end))
1751
end
1752
1753
function CreateSwirl(SIZE,WAIT,CFRAME,DOESROT,ROT,COLOR,GROW)
1754
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1755
	local mesh = IT("SpecialMesh",wave)
1756
	mesh.MeshType = "FileMesh"
1757
	mesh.MeshId = "http://www.roblox.com/asset/?id=1051557"
1758
	mesh.Scale = SIZE
1759
	wave.CFrame = CFRAME
1760
	coroutine.resume(coroutine.create(function(PART)
1761
		for i = 1, WAIT do
1762
			Swait()
1763
			mesh.Scale = mesh.Scale + GROW
1764
			mesh.Offset = VT(0,0,-(mesh.Scale.X/8))
1765
			if DOESROT == true then
1766
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1767
			end
1768
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1769
			if wave.Transparency > 0.99 then
1770
				wave:remove()
1771
			end
1772
		end
1773
	end))
1774
end
1775
1776
function CreateTornado(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
1777
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1778
	local mesh = IT("SpecialMesh",wave)
1779
	mesh.MeshType = "FileMesh"
1780
	mesh.MeshId = "http://www.roblox.com/asset/?id=102638417"
1781
	mesh.Scale = SIZE
1782
	wave.CFrame = CFRAME
1783
	coroutine.resume(coroutine.create(function(PART)
1784
		for i = 1, WAIT do
1785
			Swait()
1786
			mesh.Scale = mesh.Scale + GROW
1787
			if DOESROT == true then
1788
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1789
			end
1790
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1791
			if wave.Transparency > 0.99 then
1792
				wave:remove()
1793
			end
1794
		end
1795
	end))
1796
end
1797
1798
function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW)
1799
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0))
1800
	local mesh = IT("SpecialMesh",wave)
1801
	mesh.MeshType = "FileMesh"
1802
	mesh.MeshId = "http://www.roblox.com/asset/?id=3270017"
1803
	mesh.Scale = SIZE
1804
	mesh.Offset = VT(0,0,0)
1805
	wave.CFrame = CFRAME
1806
	coroutine.resume(coroutine.create(function(PART)
1807
		for i = 1, WAIT do
1808
			Swait()
1809
			mesh.Scale = mesh.Scale + GROW
1810
			if DOESROT == true then
1811
				wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0)
1812
			end
1813
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1814
			if wave.Transparency > 0.99 then
1815
				wave:remove()
1816
			end
1817
		end
1818
	end))
1819
end
1820
1821
function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW)
1822
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1823
	local mesh = IT("SpecialMesh",wave)
1824
	mesh.MeshType = "Sphere"
1825
	mesh.Scale = SIZE
1826
	mesh.Offset = VT(0,0,0)
1827
	wave.CFrame = CFRAME
1828
	coroutine.resume(coroutine.create(function(PART)
1829
		for i = 1, WAIT do
1830
			Swait()
1831
			mesh.Scale = mesh.Scale + GROW
1832
			wave.Transparency = wave.Transparency + (1/WAIT)
1833
			if wave.Transparency > 0.99 then
1834
				wave:remove()
1835
			end
1836
		end
1837
	end))
1838
end
1839
1840
function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW)
1841
	local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true)
1842
	local mesh = IT("BlockMesh",wave)
1843
	wave.CFrame = CFRAME
1844
	coroutine.resume(coroutine.create(function(PART)
1845
		for i = 1, WAIT do
1846
			Swait()
1847
			mesh.Scale = mesh.Scale + GROW
1848
			wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360)))
1849
			wave.Transparency = wave.Transparency + (1/WAIT)
1850
			if wave.Transparency > 0.99 then
1851
				wave:remove()
1852
			end
1853
		end
1854
	end))
1855
end
1856
1857
function Slice(SIZE,WAIT,CFRAME,COLOR,GROW)
1858
	local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true)
1859
	local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0))
1860
	wave.CFrame = CFRAME
1861
	coroutine.resume(coroutine.create(function(PART)
1862
		for i = 1, WAIT do
1863
			Swait()
1864
			mesh.Scale = mesh.Scale * GROW
1865
			wave.Transparency = wave.Transparency + (0.5/WAIT)
1866
			if wave.Transparency > 0.99 then
1867
				wave:remove()
1868
			end
1869
		end
1870
	end))
1871
end
1872
1873
function MakeForm(PART,TYPE)
1874
	if TYPE == "Cyl" then
1875
		local MSH = IT("CylinderMesh",PART)
1876
	elseif TYPE == "Ball" then
1877
		local MSH = IT("SpecialMesh",PART)
1878
		MSH.MeshType = "Sphere"
1879
	elseif TYPE == "Wedge" then
1880
		local MSH = IT("SpecialMesh",PART)
1881
		MSH.MeshType = "Wedge"
1882
	end
1883
end
1884
1885
function CheckTableForString(Table, String)
1886
	for i, v in pairs(Table) do
1887
		if string.find(string.lower(String), string.lower(v)) then
1888
			return true
1889
		end
1890
	end
1891
	return false
1892
end
1893
1894
function CheckIntangible(Hit)
1895
	local ProjectileNames = {"Water", "Arrow", "Projectile", "Effect", "Rail", "Lightning", "Bullet"}
1896
	if Hit and Hit.Parent then
1897
		if ((not Hit.CanCollide or CheckTableForString(ProjectileNames, Hit.Name)) and not Hit.Parent:FindFirstChild("Humanoid")) then
1898
			return true
1899
		end
1900
	end
1901
	return false
1902
end
1903
1904
Debris = game:GetService("Debris")
1905
1906
function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit)
1907
	local Direction = CFrame.new(StartPos, Vec).lookVector
1908
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
1909
	local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore)
1910
	if RayHit and CheckIntangible(RayHit) then
1911
		if DelayIfHit then
1912
			wait()
1913
		end
1914
		RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit)
1915
	end
1916
	return RayHit, RayPos, RayNormal
1917
end
1918
1919
function turnto(position)
1920
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0)
1921
end
1922
1923
--//=================================\\
1924
--||	     WEAPON CREATION
1925
--\\=================================//
1926
1927
local Claw1 = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Claw", VT(0,0,0),false)
1928
CreateWeldOrSnapOrMotor("Weld", Claw1, RightArm, Claw1, CF(0.2,-1.25,0) * ANGLES(RAD(-90), RAD(0), RAD(-90)), CF(0, 0, 0))
1929
CreateMesh("SpecialMesh", Claw1, "FileMesh", "105262978", "", VT(1,1,1), VT(0,0,0))
1930
1931
local Claw2 = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Claw", VT(0,0,0),false)
1932
CreateWeldOrSnapOrMotor("Weld", Claw2, LeftArm, Claw2, CF(-0.2,-1.25,0) * ANGLES(RAD(-90), RAD(0), RAD(90)), CF(0, 0, 0))
1933
CreateMesh("SpecialMesh", Claw2, "FileMesh", "105262978", "", VT(1,1,1), VT(0,0,0))
1934
1935
local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.4,0.15,0.2),false)
1936
local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(0.15,0.28,-0.53) * ANGLES(RAD(15), RAD(0), RAD(25)), CF(0, 0, 0))
1937
MakeForm(part,"Ball")
1938
local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.1,0.1,0.),false)
1939
local PupilWeld = CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0.13,0.24,-0.58) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
1940
MakeForm(Eye,"Ball")
1941
Eye.Color = C3(0,0,0)
1942
createaccessory(Head,"http://www.roblox.com/asset/?id=76056263","",Vector3.new(1,1,1),Vector3.new(0,0.18,0.2),BRICKC("Pearl"))
1943
local LASTPART = Torso
1944
for b = 1, 17 do
1945
	local TAIL1 = CreatePart(3, Tail, "SmoothPlastic", 0, 0, "Insitutional white", "TailPart", VT(0.5,0.5,0.5)*(b/5),false)
1946
	TAIL1.Color = C3(0,0,0)
1947
	local weld = nil
1948
	local WAG = -1*(b/15)
1949
	if LASTPART == Torso then
1950
		weld = CreateWeldOrSnapOrMotor("Weld", LASTPART, TAIL1, LASTPART, CF(0, 0.5, -0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1951
		local FRAME = IT("CFrameValue",TAIL1)
1952
		FRAME.Name = "Frame"
1953
		FRAME.Value = CF(0, 0.5, -0.2)
1954
	else
1955
		weld = CreateWeldOrSnapOrMotor("Weld", LASTPART, TAIL1, LASTPART, CF(0, 0, -1*(b/15)) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
1956
		local FRAME = IT("CFrameValue",TAIL1)
1957
		FRAME.Name = "Frame"
1958
		FRAME.Value = CF(0, 0, WAG)
1959
	end
1960
	local FRAME = IT("NumberValue",TAIL1)
1961
	FRAME.Name = "Time"
1962
	FRAME.Value = b
1963
	LASTPART = TAIL1
1964
end
1965
1966
Weapon.Parent = Character
1967
1968
Humanoid.HealthChanged:connect(function()
1969
	if Humanoid.Health == 0 then
1970
		Humanoid.MaxHealth = "inf"
1971
		Humanoid.Health = "inf"
1972
	end
1973
end)
1974
1975
Humanoid.Died:connect(function()
1976
	ATTACK = true
1977
	HASDIED = true
1978
	Character.Parent = nil
1979
	local corpse = Character
1980
	local CFRAME = RootPart.CFrame
1981
	Character = nil
1982
	repeat Swait() until Player.Character ~= corpse
1983
	Character = Player.Character
1984
	repeat Swait() until Character:FindFirstChild("HumanoidRootPart")
1985
	PlayerGui = Player.PlayerGui
1986
	Cam = workspace.CurrentCamera
1987
	Backpack = Player.Backpack
1988
	RootPart = Character["HumanoidRootPart"]
1989
	Torso = Character["Torso"]
1990
	Head = Character["Head"]
1991
	RightArm = Character["Right Arm"]
1992
	LeftArm = Character["Left Arm"]
1993
	RightLeg = Character["Right Leg"]
1994
	LeftLeg = Character["Left Leg"]
1995
	RootJoint = RootPart["RootJoint"]
1996
	Neck = Torso["Neck"]
1997
	RightShoulder = Torso["Right Shoulder"]
1998
	LeftShoulder = Torso["Left Shoulder"]
1999
	RightHip = Torso["Right Hip"]
2000
	LeftHip = Torso["Left Hip"]
2001
	Humanoid = Character.Humanoid
2002
	RootPart.CFrame = CFRAME
2003
	sick:remove()
2004
	WEAPONGUI = IT("ScreenGui", PlayerGui)
2005
	WEAPONGUI.Name = "Weapon GUI"
2006
	Weapon = IT("Model",Character)
2007
	Weapon.Name = "Adds"
2008
	Minions = IT("Model",Character)
2009
	Minions.Name = "MinionFolder"
2010
	Effects = IT("Folder", Weapon)
2011
	Effects.Name = "Effects"
2012
	Tail = IT("Model",Weapon)
2013
	Tail.Name = "Tail"
2014
	wait()
2015
	Claw1 = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Claw", VT(0,0,0),false)
2016
	CreateWeldOrSnapOrMotor("Weld", Claw1, RightArm, Claw1, CF(0.2,-1.25,0) * ANGLES(RAD(-90), RAD(0), RAD(-90)), CF(0, 0, 0))
2017
	CreateMesh("SpecialMesh", Claw1, "FileMesh", "105262978", "", VT(1,1,1), VT(0,0,0))
2018
	
2019
	Claw2 = CreatePart(3, Character, "Neon", 0, 0, "Really black", "Claw", VT(0,0,0),false)
2020
	CreateWeldOrSnapOrMotor("Weld", Claw2, LeftArm, Claw2, CF(-0.2,-1.25,0) * ANGLES(RAD(-90), RAD(0), RAD(90)), CF(0, 0, 0))
2021
	CreateMesh("SpecialMesh", Claw2, "FileMesh", "105262978", "", VT(1,1,1), VT(0,0,0))
2022
	createaccessory(Head,"http://www.roblox.com/asset/?id=76056263","",Vector3.new(1,1,1),Vector3.new(0,0.18,0.2),BRICKC("Pearl"))
2023
	local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.4,0.15,0.2),false)
2024
	local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(0.15,0.28,-0.53) * ANGLES(RAD(15), RAD(0), RAD(25)), CF(0, 0, 0))
2025
	MakeForm(part,"Ball")
2026
	local Eye = CreatePart(3, Weapon, "Neon", 0, 0, "Really black", "Eye", VT(0.1,0.1,0.),false)
2027
	PupilWeld = CreateWeldOrSnapOrMotor("Weld", Eye, Head, Eye, CF(0.13,0.24,-0.58) * ANGLES(RAD(0), RAD(0), RAD(25)), CF(0, 0, 0))
2028
	MakeForm(Eye,"Ball")
2029
	Eye.Color = C3(0,0,0)
2030
	local LASTPART = Torso
2031
	for b = 1, 17 do
2032
		local TAIL1 = CreatePart(3, Tail, "SmoothPlastic", 0, 0, "Insitutional white", "TailPart", VT(0.5,0.5,0.5)*(b/5),false)
2033
		TAIL1.Color = C3(0,0,0)
2034
		local weld = nil
2035
		local WAG = -1*(b/15)
2036
		if LASTPART == Torso then
2037
			weld = CreateWeldOrSnapOrMotor("Weld", LASTPART, TAIL1, LASTPART, CF(0, 0.5, -0.2) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2038
			local FRAME = IT("CFrameValue",TAIL1)
2039
			FRAME.Name = "Frame"
2040
			FRAME.Value = CF(0, 0.5, -0.2)
2041
		else
2042
			weld = CreateWeldOrSnapOrMotor("Weld", LASTPART, TAIL1, LASTPART, CF(0, 0, -1*(b/15)) * ANGLES(RAD(0), RAD(0), RAD(0)), CF(0, 0, 0))
2043
			local FRAME = IT("CFrameValue",TAIL1)
2044
			FRAME.Name = "Frame"
2045
			FRAME.Value = CF(0, 0, WAG)
2046
		end
2047
		local FRAME = IT("NumberValue",TAIL1)
2048
		FRAME.Name = "Time"
2049
		FRAME.Value = b
2050
		LASTPART = TAIL1
2051
	end
2052
	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")
2053
	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")
2054
	local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
2055
	local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.02, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
2056
	local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
2057
	local SKILL6FRAME = 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 6 Frame")
2058
	
2059
	local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Q-F-G] Claw strikes", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 1")
2060
	local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] False Denial", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 2")
2061
	local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[V-C] Denial Possession", SKILLTEXTCOLOR, 7, "Garamond", 0, 2, 1, "Text 4")
2062
	local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[X] Defy the world", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 5")
2063
	local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[P] Sprint", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 5")
2064
	local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[K] Bulk dash", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 6")
2065
	HASDIED = false
2066
	ATTACK = false
2067
end)
2068
2069
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")
2070
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")
2071
local SKILL3FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.93, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 3 Frame")
2072
local SKILL4FRAME = CreateFrame(WEAPONGUI, 0.5, 2, UD2(0.365, 0, 0.02, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 4 Frame")
2073
local SKILL5FRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.365, 0, 0.1, 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill 5 Frame")
2074
local SKILL6FRAME = 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 6 Frame")
2075
2076
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Q-F-G] Claw strikes", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 1")
2077
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[B] False Denial", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 2")
2078
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[V-C] Denial Possession", SKILLTEXTCOLOR, 7, "Garamond", 0, 2, 1, "Text 4")
2079
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[X] Defy the world", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 5")
2080
local SKILL5TEXT = CreateLabel(SKILL5FRAME, "[P] Sprint", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 5")
2081
local SKILL6TEXT = CreateLabel(SKILL6FRAME, "[K] Bulk dash", SKILLTEXTCOLOR, 8, "Garamond", 0, 2, 1, "Text 6")
2082
2083
--//=================================\\
2084
--||	     DAMAGE FUNCTIONS
2085
--\\=================================//
2086
2087
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
2088
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
2089
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
2090
	local BODYGYRO = IT("BodyGyro", STATPART)
2091
	local BODYPOSITION = IT("BodyPosition", STATPART)
2092
	BODYPOSITION.P = 2000
2093
	BODYPOSITION.D = 100
2094
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
2095
	BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
2096
	game:GetService("Debris"):AddItem(STATPART ,5)
2097
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
2098
	BILLBOARDGUI.Adornee = STATPART
2099
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
2100
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
2101
	BILLBOARDGUI.AlwaysOnTop = false
2102
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
2103
	TEXTLABEL.BackgroundTransparency = 1
2104
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
2105
	TEXTLABEL.Text = TEXT
2106
	TEXTLABEL.Font = "SciFi"
2107
	TEXTLABEL.FontSize="Size42"
2108
	TEXTLABEL.TextColor3 = COLOR
2109
	TEXTLABEL.TextStrokeTransparency = 1
2110
	TEXTLABEL.TextScaled = true
2111
	TEXTLABEL.TextWrapped = true
2112
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
2113
		if LABELTYPE == "Normal" then
2114
			for i = 1, 30 do
2115
				Swait()
2116
				STATPART.Position = STATPART.Position + VT(0, (15-i)/10 ,0)
2117
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
2118
			end
2119
		elseif LABELTYPE == "Debuff" then
2120
			for i = 1, 30 do
2121
				Swait()
2122
				STATPART.Position = STATPART.Position - VT(0, i/10 ,0)
2123
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
2124
			end
2125
		elseif LABELTYPE == "Shock" then
2126
			local ORIGIN = STATPART.Position
2127
			for i = 1, 30 do
2128
				Swait()
2129
				STATPART.Position = ORIGIN + VT(MRANDOM(-2,2),MRANDOM(-2,2),MRANDOM(-2,2))
2130
				TEXTLABEL.TextTransparency = TEXTLABEL.TextTransparency + (1/30)
2131
			end
2132
		end
2133
		THEPART.Parent = nil
2134
	end),STATPART, BODYPOSITION, TEXTLABEL)
2135
end
2136
2137
--//=================================\\
2138
--||			DAMAGING
2139
--\\=================================//
2140
2141
function AoEDamage(position,radius,min,max,maxstrength,beserk,critrate,critmultiplier,CanBeDodgedByJumping)
2142
	local dmg = math.random(min,max)
2143
	for i,v in ipairs(workspace:GetChildren()) do
2144
	if v:FindFirstChild("HitBy"..Player.Name) == nil then
2145
		local body = v:GetChildren()
2146
			for part = 1, #body do
2147
				if(v:FindFirstChild("HitBy"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2148
					if(body[part].Position - position).Magnitude < radius then
2149
						if v.ClassName == "Model" then
2150
							if v:FindFirstChild("Humanoid") then
2151
								if v.Humanoid.Health ~= 0 then
2152
									if CanBeDodgedByJumping == true then
2153
										if body[part].Position.Y < position.Y+5 then
2154
											if math.random(1,100) < critrate+1 then
2155
												v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
2156
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
2157
											else
2158
												v.Humanoid.Health = v.Humanoid.Health - dmg
2159
												StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
2160
											end
2161
											local defence = Instance.new("BoolValue",v)
2162
											defence.Name = ("HitBy"..Player.Name)
2163
											game:GetService("Debris"):AddItem(defence, 0.01)
2164
										end
2165
									else
2166
										if beserk == true then
2167
											v.Humanoid.Health = 0
2168
										end
2169
										if math.random(1,100) < critrate+1 then
2170
											v.Humanoid.Health = v.Humanoid.Health - dmg*critmultiplier
2171
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), "CRIT/"..dmg*critmultiplier, C3(255/255, 0, 0))
2172
										else
2173
											v.Humanoid.Health = v.Humanoid.Health - dmg
2174
											StatLabel("Normal", body[part].CFrame * CF(0, 0 + (body[part].Size.z - 1), 0), dmg, C3(0, 0, 0))
2175
										end
2176
										local defence = Instance.new("BoolValue",v)
2177
										defence.Name = ("HitBy"..Player.Name)
2178
										game:GetService("Debris"):AddItem(defence, 0.01)
2179
									end
2180
								end
2181
							end
2182
						end
2183
						body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
2184
					end
2185
				end
2186
			end
2187
			if v.ClassName == "Part" then
2188
				if v.Anchored == false and (v.Position - position).Magnitude < radius then
2189
					v.Velocity = CFrame.new(position,v.Position).lookVector*5*maxstrength
2190
				end
2191
			end
2192
		end
2193
	end
2194
end
2195
2196
function Sink(position,radius)
2197
	for i,v in ipairs(workspace:GetChildren()) do
2198
	if v:FindFirstChild("Hit2By"..Player.Name) == nil then
2199
		local body = v:GetChildren()
2200
			for part = 1, #body do
2201
				if(v:FindFirstChild("Hit2By"..Player.Name) == nil and (body[part].ClassName == "Part" or body[part].ClassName == "MeshPart") and v ~= Character) then
2202
					if(body[part].Position - position).Magnitude < radius then
2203
						if v.ClassName == "Model" then
2204
							if v:FindFirstChild("Humanoid") then
2205
								local defence = Instance.new("BoolValue",v)
2206
								defence.Name = ("Hit2By"..Player.Name)
2207
								if v.Humanoid.Health ~= 0 then
2208
									local TORS = v:FindFirstChild("HumanoidRootPart") or v:FindFirstChild("Torso") or v:FindFirstChild("UpperTorso")
2209
									if TORS ~= nil then
2210
										local HITFLOOR2, HITPOS2 = Raycast(TORS.Position, (CF(TORS.Position, TORS.Position + VT(0, -1, 0))).lookVector, 5 * TORS.Size.Y/2, v)
2211
										coroutine.resume(coroutine.create(function()
2212
											if HITFLOOR2 ~= nil then
2213
												TORS.Anchored = true
2214
												table.insert(Effects2,{v})
2215
												repeat
2216
													Swait()
2217
													TORS.CFrame = TORS.CFrame * CF(0,-1,0)
2218
												until TORS.Position.Y<position.Y-4
2219
												v:remove()
2220
											end
2221
										end))
2222
									end
2223
								end
2224
							end
2225
						end
2226
						--body[part].Velocity = CFrame.new(position,body[part].Position).lookVector*5*maxstrength
2227
					end
2228
				end
2229
			end
2230
		end	
2231
	end
2232
end
2233
2234
--//=================================\\
2235
--||	ATTACK FUNCTIONS AND STUFF
2236
--\\=================================//
2237
2238
local asd = Instance.new("ParticleEmitter")
2239
asd.Color = ColorSequence.new(Color3.new(1, 0, 0), Color3.new(.5, 0, 0))
2240
asd.LightEmission = .1
2241
asd.Size = NumberSequence.new(0.2)
2242
asd.Texture = "http://www.roblox.com/asset/?ID=291880914"
2243
aaa = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.2),NumberSequenceKeypoint.new(1, 5)})
2244
bbb = NumberSequence.new({NumberSequenceKeypoint.new(0, 1),NumberSequenceKeypoint.new(0.0636, 0), NumberSequenceKeypoint.new(1, 1)})
2245
asd.Transparency = bbb
2246
asd.Size = aaa
2247
asd.ZOffset = .9
2248
asd.Acceleration = Vector3.new(0, -5, 0)
2249
asd.LockedToPart = false
2250
asd.EmissionDirection = "Back"
2251
asd.Lifetime = NumberRange.new(1, 2)
2252
asd.Rotation = NumberRange.new(-100, 100)
2253
asd.RotSpeed = NumberRange.new(-100, 100)
2254
asd.Speed = NumberRange.new(2)
2255
asd.Enabled = false
2256
asd.VelocitySpread = 10000
2257
2258
function getbloody(victim,amount)
2259
local prtcl = asd:Clone()
2260
prtcl.Parent = victim
2261
prtcl:Emit(amount)
2262
CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], victim, 10, (math.random(8,12)/10))
2263
end
2264
2265
function Strike1()
2266
	ATTACK = true
2267
	Rooted = false
2268
	CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2269
	for i=0, 0.1, 0.1 / Animation_Speed do
2270
		Swait()
2271
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 3 / Animation_Speed)
2272
		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)
2273
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(145), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2274
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(145), RAD(45), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2275
		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)
2276
		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)
2277
	end
2278
	AoEDamage(CF(Torso.Position)*CF(0,0,-1).p,8,35,55,5,0,1,1.5,false)
2279
	CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2280
	Slice(1,5,LeftArm.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)),"Really black",1.01)
2281
	Slice(1,5,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)),"Really black",1.01)
2282
	for i=0, 0.3, 0.1 / Animation_Speed do
2283
		Swait()
2284
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 3 / Animation_Speed)
2285
		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)
2286
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(145), RAD(-45), RAD(0)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2287
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(145), RAD(45), RAD(0)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2288
		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)
2289
		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)
2290
	end
2291
	ATTACK = false
2292
	Rooted = false
2293
end
2294
2295
function Strike2()
2296
	ATTACK = true
2297
	Rooted = true
2298
	for i=1, 50 do
2299
		Swait()
2300
		VALUE1 = true
2301
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-0.6)
2302
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, (5-(3-i/50))) * ANGLES(RAD(0), RAD(65), RAD(i*50)), 2 / Animation_Speed)
2303
		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)
2304
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2305
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2306
		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)
2307
		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)
2308
		AoEDamage(RightArm.CFrame*CF(0,-1,0).p,5,5,25,5,0,1,1.5,false)
2309
		AoEDamage(LeftArm.CFrame*CF(0,-1,0).p,5,5,25,5,0,1,1.5,false)
2310
		CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2311
		Slice(1,5,LeftArm.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)),"Really black",1.01)
2312
		Slice(1,5,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(0), RAD(0), RAD(0)),"Really black",1.01)
2313
	end
2314
	ATTACK = false
2315
	Rooted = false
2316
end
2317
2318
function Strike3()
2319
	ATTACK = true
2320
	Rooted = false
2321
	for i = 1, 15 do
2322
		for i = 1, 2 do
2323
			Swait()
2324
			PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.17+MRANDOM(-2,2)/75,0.3+MRANDOM(-2,2)/75,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 3 / Animation_Speed)
2325
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)) *  ANGLES(RAD(15), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2326
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2327
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-45,-35))) * RIGHTSHOULDERC0, 2.8 / Animation_Speed)
2328
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))) * LEFTSHOULDERC0, 2.8 / Animation_Speed)
2329
			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(-15), RAD(-15)), 2.8 / Animation_Speed)
2330
			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(15), RAD(-15)), 2.8 / Animation_Speed)
2331
		end
2332
		AoEDamage(CF(Torso.Position)*CF(0,0,-1).p,8,5,25,5,0,1,1.5,false)
2333
		CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2334
		Slice(1,15,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-45,45)), RAD(MRANDOM(-75,75)), RAD(0)),"Really black",1.01)
2335
		for i = 1, 2 do
2336
			Swait()
2337
			PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.17+MRANDOM(-2,2)/75,0.3+MRANDOM(-2,2)/75,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 3 / Animation_Speed)
2338
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)) *  ANGLES(RAD(15), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2339
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2340
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))) * RIGHTSHOULDERC0, 2.8 / Animation_Speed)
2341
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(35,45))) * LEFTSHOULDERC0, 2.8 / Animation_Speed)
2342
			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(-15), RAD(-15)), 2.8 / Animation_Speed)
2343
			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(15), RAD(-15)), 2.8 / Animation_Speed)
2344
		end
2345
		AoEDamage(CF(Torso.Position)*CF(0,0,-1).p,8,5,25,5,0,1,1.5,false)
2346
		CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2347
		Slice(1,15,LeftArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-45,45)), RAD(MRANDOM(-75,75)), RAD(0)),"Really black",1.01)
2348
	end
2349
	if KEYHOLD == true then
2350
		repeat
2351
			for i = 1, 2 do
2352
				Swait()
2353
				PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.17+MRANDOM(-2,2)/75,0.3+MRANDOM(-2,2)/75,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 3 / Animation_Speed)
2354
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)) *  ANGLES(RAD(15), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2355
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2356
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-45,-35))) * RIGHTSHOULDERC0, 2.8 / Animation_Speed)
2357
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))) * LEFTSHOULDERC0, 2.8 / Animation_Speed)
2358
				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(-15), RAD(-15)), 2.8 / Animation_Speed)
2359
				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(15), RAD(-15)), 2.8 / Animation_Speed)
2360
			end
2361
			AoEDamage(CF(Torso.Position)*CF(0,0,-1).p,8,5,25,5,0,1,1.5,false)
2362
			CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2363
			Slice(1,15,RightArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-45,45)), RAD(MRANDOM(-75,75)), RAD(0)),"Really black",1.01)
2364
			for i = 1, 2 do
2365
				Swait()
2366
				PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.17+MRANDOM(-2,2)/75,0.3+MRANDOM(-2,2)/75,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 3 / Animation_Speed)
2367
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)) *  ANGLES(RAD(15), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2368
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 2.8 / Animation_Speed)
2369
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))) * RIGHTSHOULDERC0, 2.8 / Animation_Speed)
2370
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -1) * ANGLES(RAD(105+MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(35,45))) * LEFTSHOULDERC0, 2.8 / Animation_Speed)
2371
				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(-15), RAD(-15)), 2.8 / Animation_Speed)
2372
				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(15), RAD(-15)), 2.8 / Animation_Speed)
2373
			end
2374
			AoEDamage(CF(Torso.Position)*CF(0,0,-1).p,8,5,25,5,0,1,1.5,false)
2375
			CreateSound(HITWEAPONSOUNDS[MRANDOM(1,#HITWEAPONSOUNDS)], Torso, 1, 1)
2376
			Slice(1,15,LeftArm.CFrame*CF(0,-1,0) * ANGLES(RAD(MRANDOM(-45,45)), RAD(MRANDOM(-75,75)), RAD(0)),"Really black",1.01)
2377
		until KEYHOLD == false
2378
	end
2379
	ATTACK = false
2380
	Rooted = false
2381
end
2382
2383
function FalseDenial()
2384
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2385
		local HITBODY = Mouse.Target.Parent
2386
		local TORS = HITBODY:FindFirstChild("Torso") or HITBODY:FindFirstChild("UpperTorso")
2387
		local HUMAN = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2388
		if TORS ~= nil and HUMAN ~= nil then
2389
			ATTACK = true
2390
			Rooted = true
2391
			RootPart.CFrame = TORS.CFrame * CF(-1,0,8)
2392
			TORS.Anchored = true
2393
			CreateSound(ALONE, Head, 10, 1)
2394
			for i=0, 1, 0.1 / Animation_Speed do
2395
				Swait()
2396
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2397
				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.5 / Animation_Speed)
2398
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2399
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2400
				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(-15), RAD(-15)), 0.5 / Animation_Speed)
2401
				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(15), RAD(-15)), 0.5 / Animation_Speed)
2402
			end
2403
			local HandlePart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Insitutional white", "Handle", VT(0, 0, 0),false)
2404
			HandlePart.Color = C3(1,1,1)
2405
			local HandleMesh = CreateMesh("SpecialMesh", HandlePart, "FileMesh", "93180631", "", VT(1,1,1), VT(0, 3.1, 0))
2406
			HandlePart.CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(180), RAD(90), RAD(0))
2407
			local WELD = weldBetween(RightArm,HandlePart)
2408
			Rooted = true
2409
			CreateSound("289315275", HandlePart, 10, 1.5)
2410
			for i=1, 50 do
2411
				Swait()
2412
				MagicSphere(VT(0.2,0.2,i/5),35,CF(HandlePart.CFrame*CF(0,6,0)*CF(MRANDOM(-1,1),MRANDOM(-1,1),MRANDOM(-1,1)).p,HandlePart.CFrame*CF(0,6,0).p),C3(1,1,1),VT(0.001,0.001,0),0.5)
2413
				HandlePart.Transparency = HandlePart.Transparency - (0.01)
2414
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2415
				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.5 / Animation_Speed)
2416
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2417
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2418
				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(-15), RAD(-15)), 0.5 / Animation_Speed)
2419
				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(15), RAD(-15)), 0.5 / Animation_Speed)
2420
			end
2421
			for i=0, 1, 0.1 / Animation_Speed do
2422
				Swait()
2423
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(-35)), 0.5 / Animation_Speed)
2424
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(35)), 0.5 / Animation_Speed)
2425
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0.3) * ANGLES(RAD(105), RAD(0), RAD(-15)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2426
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2427
				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(-15), RAD(-15)), 0.5 / Animation_Speed)
2428
				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(15), RAD(-15)), 0.5 / Animation_Speed)
2429
			end
2430
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(45)), 3 / Animation_Speed)
2431
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-45)), 3 / Animation_Speed)
2432
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1, -0.7) * ANGLES(RAD(110), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 3 / Animation_Speed)
2433
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 3 / Animation_Speed)
2434
			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(-15), RAD(-15)), 3 / Animation_Speed)
2435
			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(15), RAD(-15)), 3 / Animation_Speed)
2436
			Swait()
2437
			WELD:remove()
2438
			HandlePart.CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(180), RAD(90), RAD(0))
2439
			HandlePart.Anchored = true
2440
			local HEART = CreatePart(3, HITBODY, "Pebble", 0, 0, "Really red", "Heart", VT(1,1,1))
2441
			MakeForm(HEART,"Ball")
2442
			HEART.CFrame = HandlePart.CFrame*CF(0,6,0)
2443
			getbloody(HEART,2)
2444
			Swait(15)
2445
			CreateSound("289315275", HEART, 10, 3)
2446
			for i = 1, 25 do
2447
				Swait()
2448
				MagicSphere(VT(0.2,0.2,i/5),35,CF(HandlePart.CFrame*CF(0,6.5,0)*CF(MRANDOM(-1,1),MRANDOM(-1,1),MRANDOM(-1,1)).p,HandlePart.CFrame*CF(0,6,0).p),C3(1,1,1),VT(0.001,0.001,0),0.5)
2449
			end
2450
			CreateSound("264486467", HEART, 10, 1)
2451
			getbloody(HEART,25)
2452
			HEART.Transparency = 1
2453
			HITBODY:BreakJoints()
2454
			TORS.Anchored = false
2455
			ATTACK = false
2456
			Rooted = false
2457
			coroutine.resume(coroutine.create(function()
2458
				Swait(15)
2459
				CreateSound("2248511", HandlePart, 10, 1)
2460
				for i = 1, 50 do
2461
					Swait()
2462
					HandlePart.Transparency = HandlePart.Transparency + (0.01)
2463
				end
2464
				HandlePart:remove()
2465
			end))
2466
		end
2467
	end
2468
end
2469
2470
function findNearestTorso(pos)
2471
	local list = game.Workspace:children()
2472
	local torso = nil
2473
	local dist = 1000
2474
	local temp = nil
2475
	local human = nil
2476
	local temp2 = nil
2477
	for x = 1, #list do
2478
		temp2 = list[x]
2479
		if (temp2.className == "Model") and (temp2 ~= Character) and (temp2 ~= pos.Parent) then
2480
			temp = temp2:findFirstChild("Torso") or temp2:findFirstChild("UpperTorso")
2481
			human = temp2:findFirstChildOfClass("Humanoid")
2482
			if (temp ~= nil) and (human ~= nil) and (human.Health > 0) then
2483
				if (temp.Position - pos.Position).magnitude < dist then
2484
					torso = temp
2485
					dist = (temp.Position - pos.Position).magnitude
2486
				end
2487
			end
2488
		end
2489
	end
2490
	return torso,dist
2491
end
2492
2493
function CreateBody()
2494
	local zombie = IT("Model",Effects)
2495
	zombie.Name = "Possessed"
2496
	local tors = IT("Part",zombie)
2497
	tors.Name = "Torso"
2498
	tors.Size = Torso.Size
2499
	tors.CFrame = RootPart.CFrame * CF(math.random(-5,5),0,-5)
2500
	tors.Color = C3(0,0.5,0.5)
2501
	local heed = IT("Part",zombie)
2502
	heed.Size = Head.Size
2503
	heed.CFrame = tors.CFrame * CF(0,1.5,0)
2504
	heed.Name = "Head"
2505
	heed.Color = C3(255/255, 230/255, 194/255)
2506
	local face = IT("Decal",heed)
2507
	face.Texture = "http://www.roblox.com/asset/?id=149118644"
2508
	weldBetween(tors,heed)
2509
	local headmesh = IT("SpecialMesh",heed)
2510
	headmesh.Scale = VT(1.25,1.25,1.25)
2511
	local limb = IT("Part",zombie)
2512
	limb.Size = VT(1,2,1)
2513
	limb.Name = "Left Arm"
2514
	limb.CFrame = tors.CFrame * CF(-1.5,0,0)
2515
	limb.Color = C3(255/255, 230/255, 194/255)
2516
	weldBetween(tors,limb)
2517
	local limb = IT("Part",zombie)
2518
	limb.Size = VT(1,2,1)
2519
	limb.Name = "Right Arm"
2520
	limb.CFrame = tors.CFrame * CF(1.5,0,0)
2521
	limb.Color = C3(255/255, 230/255, 194/255)
2522
	weldBetween(tors,limb)
2523
	local limb = IT("Part",zombie)
2524
	limb.Size = VT(1,2,1)
2525
	limb.Name = "Right Leg"
2526
	limb.CFrame = tors.CFrame * CF(0.5,-2,0)
2527
	limb.Color = C3(0,0.5,0.5)
2528
	weldBetween(tors,limb)
2529
	local limb = IT("Part",zombie)
2530
	limb.Size = VT(1,2,1)
2531
	limb.Name = "Left Leg"
2532
	limb.CFrame = tors.CFrame * CF(-0.5,-2,0)
2533
	limb.Color = C3(0,0.5,0.5)
2534
	weldBetween(tors,limb)
2535
	local hooman = IT("Humanoid",zombie)
2536
	return zombie
2537
end
2538
2539
function DenialPossession()
2540
	if Mouse.Target.Parent ~= Character and Mouse.Target.Parent.Parent ~= Character and Mouse.Target.Parent:FindFirstChildOfClass("Humanoid") ~= nil then
2541
		local HITBODY = Mouse.Target.Parent
2542
		local TORS = HITBODY:FindFirstChild("Torso") or HITBODY:FindFirstChild("UpperTorso")
2543
		local HUMAN = Mouse.Target.Parent:FindFirstChildOfClass("Humanoid")
2544
		if TORS ~= nil and HUMAN ~= nil then
2545
			ATTACK = true
2546
			Rooted = true
2547
			TORS.Anchored = true
2548
			RootPart.CFrame = TORS.CFrame * CF(0,0,2)
2549
			for i=0, 1, 0.1 / Animation_Speed do
2550
				Swait()
2551
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2552
				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.5 / Animation_Speed)
2553
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1.2, -0.8) * ANGLES(RAD(125), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2554
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 1.2, -0.8) * ANGLES(RAD(125), RAD(0), RAD(12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2555
				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(-15), RAD(-15)), 0.5 / Animation_Speed)
2556
				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(15), RAD(-15)), 0.5 / Animation_Speed)
2557
			end
2558
			CreateSound("289315275", TORS, 10, 3)
2559
			for i = 1, 25 do
2560
				if HITBODY:FindFirstChild("Head") then
2561
					Swait()
2562
					MagicSphere(VT(0.2,0.2,i/5),35,CF(HITBODY.Head.CFrame*CF(MRANDOM(-1,1),MRANDOM(-1,1),MRANDOM(-1,1)).p,HITBODY.Head.Position),C3(1,1,1),VT(0.001,0.001,0),0.5)
2563
					if HITBODY.Head:FindFirstChildOfClass("Decal") then
2564
						HITBODY.Head:FindFirstChildOfClass("Decal").Texture = "http://www.roblox.com/asset/?id=186465390"
2565
					end
2566
				end
2567
			end
2568
			local CLONE = HITBODY:Clone()
2569
			if CLONE ~= nil then
2570
				CLONE.Parent = Minions
2571
				CLONE:FindFirstChildOfClass("Humanoid").DisplayDistanceType = "None"
2572
				TORS = CLONE:FindFirstChild("Torso") or CLONE:FindFirstChild("UpperTorso")
2573
				TORS.Anchored = false
2574
				if CLONE.Head:FindFirstChildOfClass("Decal") then
2575
					CLONE.Head:FindFirstChildOfClass("Decal").Texture = "http://www.roblox.com/asset/?id=16904401"
2576
				end
2577
				coroutine.resume(coroutine.create(function()
2578
					while wait() do
2579
						local MAN = CLONE:FindFirstChildOfClass("Humanoid")
2580
						if MAN.Health ~= 0 then
2581
							local target,dist = findNearestTorso(TORS)
2582
							if target ~= nil then
2583
								MAN:MoveTo(target.Position)
2584
								if dist < 7 then
2585
									if MRANDOM(1,5) == 1 then
2586
										AoEDamage(TORS.Position,4,5,25,5,0,1,1.5,false)
2587
									end
2588
								end
2589
							end
2590
						else
2591
							CLONE.Parent = workspace
2592
							Debris:AddItem(CLONE,5)
2593
						end
2594
					end
2595
				end))
2596
				HITBODY:BreakJoints()
2597
				HITBODY.Parent = nil
2598
			else
2599
				local CLONE = CreateBody()
2600
				CLONE.Torso.CFrame = TORS.CFrame
2601
				CLONE.Parent = Minions
2602
				CLONE:FindFirstChildOfClass("Humanoid").DisplayDistanceType = "None"
2603
				TORS = CLONE:FindFirstChild("Torso") or CLONE:FindFirstChild("UpperTorso")
2604
				TORS.Anchored = false
2605
				if CLONE.Head:FindFirstChildOfClass("Decal") then
2606
					CLONE.Head:FindFirstChildOfClass("Decal").Texture = "http://www.roblox.com/asset/?id=16904401"
2607
				end
2608
				for _, c in pairs(HITBODY:GetChildren()) do
2609
					if c.ClassName ~= "Part" and c.ClassName ~= "MeshPart" then
2610
						c.Parent = CLONE
2611
					end
2612
				end
2613
				coroutine.resume(coroutine.create(function()
2614
					while wait() do
2615
						local MAN = CLONE:FindFirstChildOfClass("Humanoid")
2616
						if MAN.Health ~= 0 then
2617
							local target,dist = findNearestTorso(TORS)
2618
							if target ~= nil then
2619
								MAN:MoveTo(target.Position)
2620
								if dist < 7 then
2621
									if MRANDOM(1,5) == 1 then
2622
										AoEDamage(TORS.Position,4,5,25,5,0,1,1.5,false)
2623
									end
2624
								end
2625
							end
2626
						else
2627
							CLONE.Parent = workspace
2628
							Debris:AddItem(CLONE,5)
2629
						end
2630
					end
2631
				end))
2632
				HITBODY:BreakJoints()
2633
				HITBODY.Parent = nil
2634
			end
2635
			ATTACK = false
2636
			Rooted = false
2637
		end
2638
	end
2639
end
2640
2641
function ForbiddenGate()
2642
	ATTACK = true
2643
	Rooted = true
2644
 	CreateSound(ALONE, Head, 10, 1)
2645
	for i=0, 2, 0.1 / Animation_Speed do
2646
		Swait()
2647
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2648
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2649
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2650
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2651
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2652
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2653
	end
2654
	CreateSound("1075001850", RootPart, 10, 3)
2655
	UNANCHOR = false
2656
	RootPart.Anchored = true
2657
	local GATE = CreatePart(3, Effects, "SmoothPlastic", 0, 0, "Really black", "Heart", VT(1,0.2,1))
2658
	MakeForm(GATE,"Cyl")
2659
	GATE.Color = C3(0,0,0)
2660
	GATE.CFrame = CF(RootPart.Position)*CF(0,-3,0)
2661
	for i=1, 250 do
2662
		Swait()
2663
		UNANCHOR = false
2664
		GATE.Size = GATE.Size + VT(1,0,1)
2665
		--AURA.Size = GATE.Size + VT(0.1,0.1,0.1)
2666
		RootPart.Anchored = true
2667
		Sink(GATE.Position,GATE.Size.Z/2.2)
2668
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -20) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.005 / Animation_Speed)
2669
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2670
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2671
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2672
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2673
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2674
	end
2675
	repeat Swait() until #Effects2 == 0
2676
	for i=1, 25 do
2677
		Swait()
2678
		GATE.Size = GATE.Size - VT(10,0,10)
2679
		--AURA.Size = GATE.Size + VT(0.1,0.1,0.1)
2680
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.4 / Animation_Speed)
2681
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed)
2682
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
2683
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2684
		RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2685
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(90)), 0.5 / Animation_Speed)
2686
	end
2687
	GATE:remove()
2688
	RootPart.Anchored = false
2689
	UNANCHOR = true
2690
	ATTACK = false
2691
	Rooted = false
2692
end
2693
2694
function MorphantDash()
2695
	ATTACK = true
2696
	Rooted = true
2697
	local CRAWL = true
2698
	for i=0, 1, 0.1 / Animation_Speed do
2699
		Swait()
2700
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(90), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2701
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-90), RAD(0), RAD(0)), 0.5 / Animation_Speed)
2702
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, -1) * ANGLES(RAD(135), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
2703
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, -1) * ANGLES(RAD(135), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
2704
		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(-15), RAD(45)), 0.5 / Animation_Speed)
2705
		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(15), RAD(-45)), 0.5 / Animation_Speed)
2706
	end
2707
	local part = CreatePart(3, Weapon, "Neon", 0, 0, "Really red", "Eye", VT(0.4,0.15,0.2),false)
2708
	local weld = CreateWeldOrSnapOrMotor("Weld", part, Head, part, CF(0.15,0.28,-0.53) * ANGLES(RAD(15), RAD(0), RAD(25)), CF(0, 0, 0))
2709
	MakeForm(part,"Ball")
2710
	UNANCHOR = false
2711
	RootPart.Anchored = true
2712
	local NEWTORS = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Body", Torso.Size,false)
2713
	MakeForm(NEWTORS,"Ball")
2714
	NEWTORS.Color = C3(0,0,0)
2715
	NEWTORS.CFrame = Torso.CFrame
2716
	weldBetween(Torso,NEWTORS)
2717
	for i = 1, 15 do
2718
		Swait()
2719
		NEWTORS.Size = NEWTORS.Size * 1.2
2720
		weldBetween(Torso,NEWTORS)
2721
	end
2722
	for i = 1, 15 do
2723
		Swait()
2724
		weld.C0 = Clerp(weld.C0, CF(0.15,0.28,-14.15) * ANGLES(RAD(15), RAD(0), RAD(25)), 2 / Animation_Speed)
2725
	end
2726
	local boop = false
2727
	local OFFSET = 8
2728
	for i = 1, 3 do
2729
		local LimbPart1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Eye", VT(10,1,1),false)
2730
		local weld1 = CreateWeldOrSnapOrMotor("Weld", LimbPart1, Torso, LimbPart1, CF(15,OFFSET,2) * ANGLES(RAD(0), RAD(-45), RAD(OFFSET)), CF(0, 0, 0))
2731
		local LimbPart2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Eye", VT(12,1,1),false)
2732
		local weld2 = CreateWeldOrSnapOrMotor("Weld", LimbPart2, LimbPart1, LimbPart2, CF(5,0,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(-5, 0, 0))
2733
		local LimbPart3 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Eye", VT(1,2,2),false)
2734
		local weld3 = CreateWeldOrSnapOrMotor("Weld", LimbPart3, LimbPart2, LimbPart3, CF(6,0,0) * ANGLES(RAD(0), RAD(45), RAD(0)), CF(0, 0, 0))
2735
		local ECH = OFFSET
2736
		OFFSET = OFFSET - 8
2737
		if boop == false then
2738
			boop = true
2739
		elseif boop == true then
2740
			boop = false
2741
		end
2742
		coroutine.resume(coroutine.create(function()
2743
			local twist = boop
2744
			while wait() do
2745
				if CRAWL == false then
2746
					LimbPart1:remove()
2747
					LimbPart2:remove()
2748
					LimbPart3:remove()
2749
					break
2750
				end
2751
				for i = 1, 3 do
2752
					wait()
2753
					if twist == false then
2754
						weld1.C0 = Clerp(weld1.C0, CF(12.5,ECH,4) * ANGLES(RAD(0), RAD(-85), RAD(ECH*2 + 25)), 1 / Animation_Speed)
2755
					elseif twist == true then
2756
						weld1.C0 = Clerp(weld1.C0, CF(12.5,ECH,4) * ANGLES(RAD(0), RAD(-25), RAD(ECH*2 -25)), 1 / Animation_Speed)
2757
					end
2758
					if CRAWL == false then
2759
						LimbPart1:remove()
2760
						LimbPart2:remove()
2761
						LimbPart3:remove()
2762
						break
2763
					end
2764
				end
2765
				for i = 1, 3 do
2766
					wait()
2767
					if twist == true then
2768
						weld1.C0 = Clerp(weld1.C0, CF(12.5,ECH,4) * ANGLES(RAD(0), RAD(-85), RAD(ECH*2 + 25)), 1 / Animation_Speed)
2769
					elseif twist == false then
2770
						weld1.C0 = Clerp(weld1.C0, CF(12.5,ECH,4) * ANGLES(RAD(0), RAD(-25), RAD(ECH*2 -25)), 1 / Animation_Speed)
2771
					end
2772
					if CRAWL == false then
2773
						LimbPart1:remove()
2774
						LimbPart2:remove()
2775
						LimbPart3:remove()
2776
						break
2777
					end
2778
				end
2779
			end
2780
		end))
2781
	end
2782
	OFFSET = 8
2783
	for i = 1, 3 do
2784
		local LimbPart1 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Eye", VT(10,1,1),false)
2785
		local weld1 = CreateWeldOrSnapOrMotor("Weld", LimbPart1, Torso, LimbPart1, CF(-15,-OFFSET,2) * ANGLES(RAD(0), RAD(45), RAD(OFFSET)), CF(0, 0, 0))
2786
		local LimbPart2 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Eye", VT(12,1,1),false)
2787
		local weld2 = CreateWeldOrSnapOrMotor("Weld", LimbPart2, LimbPart1, LimbPart2, CF(-5,0,0) * ANGLES(RAD(0), RAD(90), RAD(0)), CF(-5, 0, 0))
2788
		local LimbPart3 = CreatePart(3, Character, "SmoothPlastic", 0, 0, "Really black", "Eye", VT(1,2,2),false)
2789
		local weld3 = CreateWeldOrSnapOrMotor("Weld", LimbPart3, LimbPart2, LimbPart3, CF(6,0,0) * ANGLES(RAD(0), RAD(-45), RAD(0)), CF(0, 0, 0))
2790
		local ECH = OFFSET
2791
		OFFSET = OFFSET - 8
2792
		if boop == false then
2793
			boop = true
2794
		elseif boop == true then
2795
			boop = false
2796
		end
2797
		coroutine.resume(coroutine.create(function()
2798
			local twist = boop
2799
			while wait() do
2800
				if CRAWL == false then
2801
					LimbPart1:remove()
2802
					LimbPart2:remove()
2803
					LimbPart3:remove()
2804
					break
2805
				end
2806
				for i = 1, 3 do
2807
					wait()
2808
					if twist == false then
2809
						weld1.C0 = Clerp(weld1.C0, CF(-12.5,ECH,4) * ANGLES(RAD(0), RAD(85), RAD(ECH*2 + 25)), 1 / Animation_Speed)
2810
					elseif twist == true then
2811
						weld1.C0 = Clerp(weld1.C0, CF(-12.5,ECH,4) * ANGLES(RAD(0), RAD(25), RAD(ECH*2 -25)), 1 / Animation_Speed)
2812
					end
2813
					if CRAWL == false then
2814
						LimbPart1:remove()
2815
						LimbPart2:remove()
2816
						LimbPart3:remove()
2817
						break
2818
					end
2819
				end
2820
				for i = 1, 3 do
2821
					wait()
2822
					if twist == true then
2823
						weld1.C0 = Clerp(weld1.C0, CF(-12.5,ECH,4) * ANGLES(RAD(0), RAD(85), RAD(ECH*2 + 25)), 1 / Animation_Speed)
2824
					elseif twist == false then
2825
						weld1.C0 = Clerp(weld1.C0, CF(-12.5,ECH,4) * ANGLES(RAD(0), RAD(25), RAD(ECH*2 -25)), 1 / Animation_Speed)
2826
					end
2827
					if CRAWL == false then
2828
						LimbPart1:remove()
2829
						LimbPart2:remove()
2830
						LimbPart3:remove()
2831
						break
2832
					end
2833
				end
2834
			end
2835
		end))
2836
	end
2837
	CreateSound("131060194", Head, 10, 1)
2838
	for i = 1, 350 do
2839
		Swait()
2840
		turnto(Mouse.Hit.p)
2841
		RootPart.CFrame = RootPart.CFrame * CF(0,0,-5)
2842
		AoEDamage(Torso.Position,15,35,55,5,0,1,1.5,false)
2843
	end
2844
	CRAWL = false
2845
	Swait(5)
2846
	for i = 1, 50 do
2847
		Swait()
2848
		NEWTORS.Size = NEWTORS.Size * 0.9
2849
		weldBetween(Torso,NEWTORS)
2850
		weld.C0 = Clerp(weld.C0, CF(0.15,0.28,-0.53) * ANGLES(RAD(15), RAD(0), RAD(25)), 0.5 / Animation_Speed)
2851
	end
2852
	part:remove()
2853
	UNANCHOR = true
2854
	RootPart.Anchored = false
2855
	NEWTORS:remove()
2856
	ATTACK = false
2857
	Rooted = false
2858
end
2859
2860
--//=================================\\
2861
--||	  ASSIGN THINGS TO KEYS
2862
--\\=================================//
2863
2864
function MouseDown(Mouse)
2865
	if ATTACK == false then
2866
	end
2867
end
2868
2869
function MouseUp(Mouse)
2870
HOLD = false
2871
end
2872
2873
function KeyDown(Key)
2874
	KEYHOLD = true
2875
	if Key == "q" and ATTACK == false then
2876
		Strike1()
2877
	end
2878
2879
	if Key == "f" and ATTACK == false then
2880
		Strike2()
2881
	end
2882
2883
	if Key == "g" and ATTACK == false then
2884
		Strike3()
2885
	end
2886
2887
	if Key == "b" and ATTACK == false then
2888
		FalseDenial()
2889
	end
2890
2891
	if Key == "v" and ATTACK == false then
2892
		DenialPossession()
2893
	end
2894
2895
	if Key == "c" and ATTACK == false then
2896
		Minions:ClearAllChildren()
2897
	end
2898
2899
	if Key == "k" and ATTACK == false then
2900
		MorphantDash()
2901
	end
2902
2903
	if Key == "x" and ATTACK == false then
2904
		ForbiddenGate()
2905
	end
2906
2907
	if Key == "p" and ATTACK == false then
2908
		if Speed == 16 then
2909
			Speed = 60
2910
		elseif Speed == 60 then
2911
			Speed = 16
2912
		end
2913
	end
2914
2915
	if Key == "t" and ATTACK == false then
2916
		CreateSound(Taunts[MRANDOM(1, #Taunts)], Head, 10, 1)
2917
	end
2918
end
2919
2920
function KeyUp(Key)
2921
	KEYHOLD = false
2922
end
2923
2924
	Mouse.Button1Down:connect(function(NEWKEY)
2925
		MouseDown(NEWKEY)
2926
	end)
2927
	Mouse.Button1Up:connect(function(NEWKEY)
2928
		MouseUp(NEWKEY)
2929
	end)
2930
	Mouse.KeyDown:connect(function(NEWKEY)
2931
		KeyDown(NEWKEY)
2932
	end)
2933
	Mouse.KeyUp:connect(function(NEWKEY)
2934
		KeyUp(NEWKEY)
2935
	end)
2936
2937
--//=================================\\
2938
--\\=================================//
2939
2940
2941
function unanchor()
2942
	if UNANCHOR == true then
2943
		g = Character:GetChildren()
2944
		for i = 1, #g do
2945
			if g[i].ClassName == "Part" then
2946
				g[i].Anchored = false
2947
			end
2948
		end
2949
	end
2950
end
2951
2952
2953
--//=================================\\
2954
--||	WRAP THE WHOLE SCRIPT UP
2955
--\\=================================//
2956
2957
Humanoid.Changed:connect(function(Jump)
2958
	if Jump == "Jump" and (Disable_Jump == true) then
2959
		Humanoid.Jump = false
2960
	end
2961
end)
2962
2963
local WAG = 20
2964
2965
coroutine.resume(coroutine.create(function()
2966
plr = game.Players.LocalPlayer
2967
mouse = plr:GetMouse()
2968
--This has to be a local script.
2969
function onClicked()
2970
local x = Instance.new("Explosion", Workspace)--This means create new explosion in the workspace.  
2971
x.Position = mouse.Hit.p
2972
x.BlastRadius = 5
2973
x.BlastPressure = 999999999999
2974
end
2975
mouse.Button1Down:connect(onClicked)
2976
-- how to use? Just Left Click it gonna explode on u click XD
2977
	while wait() do
2978
		for i = 1, 50 do
2979
			Swait()
2980
			WAG = WAG - 0.8
2981
		end
2982
		for i = 1, 50 do
2983
			Swait()
2984
			WAG = WAG + 0.8
2985
		end
2986
	end
2987
end))
2988
2989
local LOOP = 0
2990
2991
while true do
2992
	Swait()
2993
	if HASDIED == false then
2994
		ANIMATE.Parent = nil
2995
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2996
		IDLEANIMATION:Play()
2997
		SINE = SINE + CHANGE
2998
		local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2999
		local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3000
		local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
3001
		local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
3002
		local WALKSPEEDVALUE = 6
3003
		if ATTACK == true then
3004
			PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.3,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3005
		end
3006
		if ANIM ~= "Jump" and ANIM ~= "Fall" and VALUE1 == false then
3007
			for _, c in pairs(Tail:GetChildren()) do
3008
				if c.ClassName == "Part" then
3009
					c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
3010
					c.Color = C3(0,0,0)
3011
					local WELD = c:FindFirstChild("Weld")
3012
					if WELD ~= nil then
3013
						coroutine.resume(coroutine.create(function()
3014
							local EGG = WAG
3015
							wait(c.Time.Value/25)
3016
							if VALUE1 == false then
3017
								WELD.C0 = Clerp(WELD.C0,c.Frame.Value * ANGLES(RAD(1.5), RAD(EGG), RAD(0)), 0.05 / Animation_Speed)
3018
							end
3019
						end))
3020
					end
3021
				end
3022
			end
3023
		else
3024
			for _, c in pairs(Tail:GetChildren()) do
3025
				if c.ClassName == "Part" then
3026
					c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
3027
					c.Color = C3(0,0,0)
3028
					local WELD = c:FindFirstChild("Weld")
3029
					if WELD ~= nil then
3030
						WELD.C0 = Clerp(WELD.C0,c.Frame.Value * ANGLES(RAD(8.5), RAD(0), RAD(0)), 2 / Animation_Speed)
3031
					end
3032
				end
3033
			end
3034
		end
3035
		if ANIM == "Walk" and TORSOVELOCITY > 1 then
3036
			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)
3037
			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 * 1 / Animation_Speed)
3038
			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(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3039
			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(76 * COS(SINE / WALKSPEEDVALUE))), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3040
		elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then
3041
			RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3042
			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)
3043
			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)
3044
			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)
3045
		end
3046
		if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3047
			if ANIM ~= "Jump" then
3048
				LOOP = 0
3049
			end
3050
			ANIM = "Jump"
3051
			if ATTACK == false then
3052
				LOOP = LOOP + 1
3053
				VALUE1 = false
3054
				RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(LOOP*45), RAD(0), RAD(0)), 2.5 / Animation_Speed)
3055
				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)
3056
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3057
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, -1) * ANGLES(RAD(0), RAD(0), RAD(90)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3058
				RightHip.C0 = Clerp(RightHip.C0, CF(1, 0, -0.5) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3059
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, 0, -0.5) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3060
				PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.3,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3061
				--PupilWeld2.C0 = Clerp(PupilWeld.C0, CF(-0.13,0.3,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3062
		    end
3063
		elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3064
			ANIM = "Fall"
3065
			if ATTACK == false then
3066
				VALUE1 = false
3067
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -1) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3068
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3069
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(105), RAD(0), RAD(42)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed)
3070
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(105), RAD(0), RAD(-42)) * LEFTSHOULDERC0, 0.5 / Animation_Speed)
3071
				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(-15), RAD(15)), 0.5 / Animation_Speed)
3072
				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(15), RAD(-15)), 0.5 / Animation_Speed)
3073
				PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.3,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3074
				--PupilWeld2.C0 = Clerp(PupilWeld.C0, CF(-0.13,0.3,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3075
			end
3076
		elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
3077
			ANIM = "Idle"
3078
			if ATTACK == false then
3079
				VALUE1 = false
3080
				PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.17,0.3,-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3081
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)) *  ANGLES(RAD(15), RAD(0), RAD(0)), 2 / Animation_Speed)
3082
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 2 / Animation_Speed)
3083
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3084
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(15), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 2 / Animation_Speed)
3085
				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(-15), RAD(-15)), 2 / Animation_Speed)
3086
				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(15), RAD(-15)), 2 / Animation_Speed)
3087
			end
3088
		elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
3089
			ANIM = "Walk"
3090
			WALK = WALK + 1 / Animation_Speed
3091
			if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
3092
				WALK = 0
3093
				if WALKINGANIM == true then
3094
					WALKINGANIM = false
3095
				elseif WALKINGANIM == false then
3096
					WALKINGANIM = true
3097
				end
3098
			end
3099
			--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)
3100
			--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)
3101
			if ATTACK == false then
3102
				if Speed < 30 then
3103
					VALUE1 = false
3104
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 2 / Animation_Speed)
3105
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 2 / Animation_Speed)
3106
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(5)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3107
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-30 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 2 / Animation_Speed)
3108
					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(-5), RAD(0), RAD(-15)), 2 / Animation_Speed)
3109
					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(-5), RAD(0), RAD(15)), 2 / Animation_Speed)
3110
					PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.3 - 0.005  * COS(SINE / WALKSPEEDVALUE*2),-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
3111
					--PupilWeld2.C0 = Clerp(PupilWeld.C0, CF(-0.13,0.3 - 0.025  * COS(SINE / WALKSPEEDVALUE*2),-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3112
				elseif Speed >= 30 then
3113
					VALUE1 = true
3114
					RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(25), RAD(0), RAD(0)), 2 / Animation_Speed)
3115
					Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 2 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 2 / Animation_Speed)
3116
					RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(15)) * RIGHTSHOULDERC0, 2 / Animation_Speed)
3117
					LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 2 / Animation_Speed)
3118
					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(-5), RAD(0), RAD(-15)), 2 / Animation_Speed)
3119
					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(-5), RAD(0), RAD(15)), 2 / Animation_Speed)
3120
					PupilWeld.C0 = Clerp(PupilWeld.C0, CF(0.13,0.3 - 0.005  * COS(SINE / WALKSPEEDVALUE*2),-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 / Animation_Speed)
3121
					--PupilWeld2.C0 = Clerp(PupilWeld.C0, CF(-0.13,0.3 - 0.025  * COS(SINE / WALKSPEEDVALUE*2),-0.61) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed)
3122
				end
3123
			end
3124
		end
3125
		unanchor()
3126
		Humanoid.MaxHealth = "inf"
3127
		Humanoid.Health = "inf"
3128
		Humanoid.JumpPower = 150
3129
		if Rooted == false then
3130
			Disable_Jump = false
3131
			if ANIM == "Jump" or ANIM == "Fall" then
3132
				Humanoid.WalkSpeed = Speed*5
3133
			else
3134
				Humanoid.WalkSpeed = Speed
3135
			end
3136
		elseif Rooted == true then
3137
			Disable_Jump = true
3138
			Humanoid.WalkSpeed = 0
3139
		end
3140
		q = Character:GetChildren()
3141
		for u = 1, #q do
3142
			if q[u].ClassName == "Accessory" or q[u].ClassName == "Hat" then
3143
				q[u]:remove()
3144
			elseif q[u].ClassName == "Shirt" then
3145
				q[u]:Destroy()
3146
			elseif q[u].ClassName == "Pants" then
3147
				q[u]:Destroy()
3148
			elseif q[u].ClassName == "CharacterMesh" then
3149
				q[u]:remove()
3150
			elseif q[u].ClassName == "ShirtGraphic" then
3151
				q[u]:remove()
3152
			elseif q[u].ClassName == "Part" and q[u].Name ~= "HumanoidRootPart" then
3153
				q[u].Color = Color3.new(0/255, 0/255, 0/255)
3154
				if q[u]:FindFirstChildOfClass("ParticleEmitter")then
3155
					q[u]:FindFirstChildOfClass("ParticleEmitter"):remove()
3156
				end
3157
			end
3158
		end
3159
		if Head:FindFirstChild("face") then
3160
			Head.face:remove()
3161
		end
3162
		local MATHS = {"0","1"}
3163
		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)]
3164
		Humanoid.PlatformStand = false
3165
		if sick ~= nil then
3166
			sick.Parent = Character
3167
		end
3168
	else
3169
		if sick ~= nil then
3170
			sick.Parent = workspace
3171
		end
3172
	end
3173
	script.Parent = workspace
3174
	if Character ~= nil then
3175
		Character.Parent = workspace
3176
	end
3177
	for _, c in pairs(Weapon:GetChildren()) do
3178
		if c.ClassName == "Part" then
3179
			c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
3180
		end
3181
	end
3182
	Humanoid.DisplayDistanceType = "None"
3183
	if #Effects2>0 then
3184
		for e=1,#Effects2 do
3185
			if Effects2[e]~=nil then
3186
			local Thing=Effects2[e]
3187
			if Thing~=nil then
3188
				local Part=Thing[1]
3189
				if Part.Parent == nil then
3190
					table.remove(Effects2,e)
3191
				end
3192
			end
3193
		end
3194
	end
3195
end
3196
end
3197
3198
--//=================================\\
3199
--\\=================================//
3200
3201
3202
3203
3204
3205
--//====================================================\\--
3206
--||			  		 END OF SCRIPT
3207
--\\====================================================//--