View difference between Paste ID: 9KmX7e4d and 1x8fvirs
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--||               ONLY 90s KIDS REMEMBER
3
--||              ABYSS EYE BY SHACKLUSTER
4
--\\====================================================//--
5
6
wait(0.2)
7
8
Player = game:GetService("Players").LocalPlayer
9
PlayerGui = Player.PlayerGui
10
Cam = workspace.CurrentCamera
11
Backpack = Player.Backpack
12
Character = Player.Character
13
Humanoid = Character.Humanoid
14
Mouse = Player:GetMouse()
15
RootPart = Character["HumanoidRootPart"]
16
Torso = Character["Torso"]
17
Head = Character["Head"]
18
RightArm = Character["Right Arm"]
19
LeftArm = Character["Left Arm"]
20
RightLeg = Character["Right Leg"]
21
LeftLeg = Character["Left Leg"]
22
RootJoint = RootPart["RootJoint"]
23
Neck = Torso["Neck"]
24
RightShoulder = Torso["Right Shoulder"]
25
LeftShoulder = Torso["Left Shoulder"]
26
RightHip = Torso["Right Hip"]
27
LeftHip = Torso["Left Hip"]
28
29
IT = Instance.new
30
CF = CFrame.new
31
VT = Vector3.new
32
RAD = math.rad
33
C3 = Color3.new
34
UD2 = UDim2.new
35
BRICKC = BrickColor.new
36
ANGLES = CFrame.Angles
37
EULER = CFrame.fromEulerAnglesXYZ
38
COS = math.cos
39
ACOS = math.acos
40
SIN = math.sin
41
ASIN = math.asin
42
ABS = math.abs
43
MRANDOM = math.random
44
FLOOR = math.floor
45
46
--//=================================\\
47
--|| 	      USEFUL VALUES
48
--\\=================================//
49
50
Animation_Speed = 3
51
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
52
local Speed = 25
53
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
54
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
55
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
56
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
57
local DAMAGEMULTIPLIER = 1
58
local ANIM = "Idle"
59
local ATTACK = false
60
local EQUIPPED = false
61
local HOLD = false
62
local COMBO = 1
63
local Rooted = false
64
local SINE = 0
65
local KEYHOLD = false
66
local CHANGE = 2 / Animation_Speed
67
local WALKINGANIM = false
68
local VALUE1 = false
69
local VALUE2 = false
70
local ROBLOXIDLEANIMATION = IT("Animation")
71
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
72
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
73
--ROBLOXIDLEANIMATION.Parent = Humanoid
74
local WEAPONGUI = IT("ScreenGui", PlayerGui)
75
WEAPONGUI.Name = "Weapon GUI"
76
local Effects = IT("Folder", Character)
77
Effects.Name = "Effects"
78
local ANIMATOR = Humanoid.Animator
79
local ANIMATE = Character.Animate
80
local UNANCHOR = true
81
local FADERS = true
82
83
--//=================================\\
84
--\\=================================//
85
86
87
--//=================================\\
88
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
89
--\\=================================//
90
91
ArtificialHB = Instance.new("BindableEvent", script)
92
ArtificialHB.Name = "ArtificialHB"
93
94
script:WaitForChild("ArtificialHB")
95
96
frame = Frame_Speed
97
tf = 0
98
allowframeloss = false
99
tossremainder = false
100
lastframe = tick()
101
script.ArtificialHB:Fire()
102
103
game:GetService("RunService").Heartbeat:connect(function(s, p)
104
	tf = tf + s
105
	if tf >= frame then
106
		if allowframeloss then
107
			ArtificialHB:Fire()
108
			lastframe = tick()
109
		else
110
			for i = 1, math.floor(tf / frame) do
111
				ArtificialHB:Fire()
112
			end
113
			lastframe = tick()
114
		end
115
		if tossremainder then
116
			tf = 0
117
		else
118
			tf = tf - frame * math.floor(tf / frame)
119
		end
120
	end
121
end)
122
123
--//=================================\\
124
--\\=================================//
125
126
--//=================================\\
127
--|| 	      SOME FUNCTIONS
128
--\\=================================//
129
130
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
131
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
132
end
133
134
function PositiveAngle(NUMBER)
135
	if NUMBER >= 0 then
136
		NUMBER = 0
137
	end
138
	return NUMBER
139
end
140
141
function NegativeAngle(NUMBER)
142
	if NUMBER <= 0 then
143
		NUMBER = 0
144
	end
145
	return NUMBER
146
end
147
148
function Swait(NUMBER)
149
	if NUMBER == 0 or NUMBER == nil then
150
		ArtificialHB.Event:wait()
151
	else
152
		for i = 1, NUMBER do
153
			ArtificialHB.Event:wait()
154
		end
155
	end
156
end
157
158
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
159
	local NEWMESH = IT(MESH)
160
	if MESH == "SpecialMesh" then
161
		NEWMESH.MeshType = MESHTYPE
162
		if MESHID ~= "nil" and MESHID ~= "" then
163
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
164
		end
165
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
166
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
167
		end
168
	end
169
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
170
	NEWMESH.Scale = SCALE
171
	NEWMESH.Parent = PARENT
172
	return NEWMESH
173
end
174
175
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR)
176
	local NEWPART = IT("Part")
177
	NEWPART.formFactor = FORMFACTOR
178
	NEWPART.Reflectance = REFLECTANCE
179
	NEWPART.Transparency = TRANSPARENCY
180
	NEWPART.CanCollide = false
181
	NEWPART.Locked = true
182
	NEWPART.Anchored = true
183
	if ANCHOR == false then
184
		NEWPART.Anchored = false
185
	end
186
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
187
	NEWPART.Name = NAME
188
	NEWPART.Size = SIZE
189
	NEWPART.Position = Torso.Position
190
	NEWPART.Material = MATERIAL
191
	NEWPART:BreakJoints()
192
	NEWPART.Parent = PARENT
193
	return NEWPART
194
end
195
196
	local function weldBetween(a, b)
197
	    local weldd = Instance.new("ManualWeld")
198
	    weldd.Part0 = a
199
	    weldd.Part1 = b
200
	    weldd.C0 = CFrame.new()
201
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
202
	    weldd.Parent = a
203
	    return weldd
204
	end
205
206
207
function QuaternionFromCFrame(cf)
208
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
209
	local trace = m00 + m11 + m22
210
	if trace > 0 then 
211
		local s = math.sqrt(1 + trace)
212
		local recip = 0.5 / s
213
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
214
	else
215
		local i = 0
216
		if m11 > m00 then
217
			i = 1
218
		end
219
		if m22 > (i == 0 and m00 or m11) then
220
			i = 2
221
		end
222
		if i == 0 then
223
			local s = math.sqrt(m00 - m11 - m22 + 1)
224
			local recip = 0.5 / s
225
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
226
		elseif i == 1 then
227
			local s = math.sqrt(m11 - m22 - m00 + 1)
228
			local recip = 0.5 / s
229
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
230
		elseif i == 2 then
231
			local s = math.sqrt(m22 - m00 - m11 + 1)
232
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
233
		end
234
	end
235
end
236
 
237
function QuaternionToCFrame(px, py, pz, x, y, z, w)
238
	local xs, ys, zs = x + x, y + y, z + z
239
	local wx, wy, wz = w * xs, w * ys, w * zs
240
	local xx = x * xs
241
	local xy = x * ys
242
	local xz = x * zs
243
	local yy = y * ys
244
	local yz = y * zs
245
	local zz = z * zs
246
	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))
247
end
248
 
249
function QuaternionSlerp(a, b, t)
250
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
251
	local startInterp, finishInterp;
252
	if cosTheta >= 0.0001 then
253
		if (1 - cosTheta) > 0.0001 then
254
			local theta = ACOS(cosTheta)
255
			local invSinTheta = 1 / SIN(theta)
256
			startInterp = SIN((1 - t) * theta) * invSinTheta
257
			finishInterp = SIN(t * theta) * invSinTheta
258
		else
259
			startInterp = 1 - t
260
			finishInterp = t
261
		end
262
	else
263
		if (1 + cosTheta) > 0.0001 then
264
			local theta = ACOS(-cosTheta)
265
			local invSinTheta = 1 / SIN(theta)
266
			startInterp = SIN((t - 1) * theta) * invSinTheta
267
			finishInterp = SIN(t * theta) * invSinTheta
268
		else
269
			startInterp = t - 1
270
			finishInterp = t
271
		end
272
	end
273
	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
274
end
275
276
function Clerp(a, b, t)
277
	local qa = {QuaternionFromCFrame(a)}
278
	local qb = {QuaternionFromCFrame(b)}
279
	local ax, ay, az = a.x, a.y, a.z
280
	local bx, by, bz = b.x, b.y, b.z
281
	local _t = 1 - t
282
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
283
end
284
285
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
286
	local frame = IT("Frame")
287
	frame.BackgroundTransparency = TRANSPARENCY
288
	frame.BorderSizePixel = BORDERSIZEPIXEL
289
	frame.Position = POSITION
290
	frame.Size = SIZE
291
	frame.BackgroundColor3 = COLOR
292
	frame.BorderColor3 = BORDERCOLOR
293
	frame.Name = NAME
294
	frame.Parent = PARENT
295
	return frame
296
end
297
298
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
299
	local label = IT("TextLabel")
300
	label.BackgroundTransparency = 1
301
	label.Size = UD2(1, 0, 1, 0)
302
	label.Position = UD2(0, 0, 0, 0)
303
	label.TextColor3 = TEXTCOLOR
304
	label.TextStrokeTransparency = STROKETRANSPARENCY
305
	label.TextTransparency = TRANSPARENCY
306
	label.FontSize = TEXTFONTSIZE
307
	label.Font = TEXTFONT
308
	label.BorderSizePixel = BORDERSIZEPIXEL
309
	label.TextScaled = false
310
	label.Text = TEXT
311
	label.Name = NAME
312
	label.Parent = PARENT
313
	return label
314
end
315
316
function NoOutlines(PART)
317
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
318
end
319
320
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
321
	local NEWWELD = IT(TYPE)
322
	NEWWELD.Part0 = PART0
323
	NEWWELD.Part1 = PART1
324
	NEWWELD.C0 = C0
325
	NEWWELD.C1 = C1
326
	NEWWELD.Parent = PARENT
327
	return NEWWELD
328
end
329
330
local S = IT("Sound")
331
function CreateSound(ID, PARENT, VOLUME, PITCH, DOESLOOP)
332
	local NEWSOUND = nil
333
	coroutine.resume(coroutine.create(function()
334
		NEWSOUND = S:Clone()
335
		NEWSOUND.Parent = PARENT
336
		NEWSOUND.Volume = VOLUME
337
		NEWSOUND.Pitch = PITCH
338
		NEWSOUND.SoundId = "rbxassetid://"..ID
339
		NEWSOUND:play()
340
		if DOESLOOP == true then
341
			NEWSOUND.Looped = true
342
		else
343
			repeat wait(1) until NEWSOUND.Playing == false
344
			NEWSOUND:remove()
345
		end
346
	end))
347
	return NEWSOUND
348
end
349
350
function CFrameFromTopBack(at, top, back)
351
	local right = top:Cross(back)
352
	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)
353
end
354
355
function R_RANDOM(CFRAME,DIST)
356
	return CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,-DIST)
357
end
358
359
--WACKYEFFECT({EffectType = "", Size = VT(1,1,1), Size2 = VT(0,0,0), Transparency = 0, Transparency2 = 1, CFrame = CF(), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(1,1,1), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 0})
360
function WACKYEFFECT(Table)
361
	local TYPE = (Table.EffectType or "Sphere")
362
	local SIZE = (Table.Size or VT(1,1,1))
363
	local ENDSIZE = (Table.Size2 or VT(0,0,0))
364
	local TRANSPARENCY = (Table.Transparency or 0)
365
	local ENDTRANSPARENCY = (Table.Transparency2 or 1)
366
	local CFRAME = (Table.CFrame or Torso.CFrame)
367
	local MOVEDIRECTION = (Table.MoveToPos or nil)
368
	local ROTATION1 = (Table.RotationX or 0)
369
	local ROTATION2 = (Table.RotationY or 0)
370
	local ROTATION3 = (Table.RotationZ or 0)
371
	local MATERIAL = (Table.Material or "Neon")
372
	local COLOR = (Table.Color or C3(1,1,1))
373
	local TIME = (Table.Time or 45)
374
	local SOUNDID = (Table.SoundID or nil)
375
	local SOUNDPITCH = (Table.SoundPitch or nil)
376
	local SOUNDVOLUME = (Table.SoundVolume or nil)
377
	local USEBOOMERANGMATH = (Table.UseBoomerangMath or false)
378
	local BOOMERANG = (Table.Boomerang or 0)
379
	local SIZEBOOMERANG = (Table.SizeBoomerang or 0)
380
	coroutine.resume(coroutine.create(function()
381
		local PLAYSSOUND = false
382
		local SOUND = nil
383
		local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true)
384
		if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then
385
			PLAYSSOUND = true
386
			SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false)
387
		end
388
		EFFECT.Color = COLOR
389
		local MSH = nil
390
		if TYPE == "Sphere" then
391
			MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0))
392
		elseif TYPE == "Block" or TYPE == "Box" then
393
			MSH = IT("BlockMesh",EFFECT)
394
			MSH.Scale = SIZE
395
		elseif TYPE == "Wave" then
396
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "20329976", "", SIZE, VT(0,0,-SIZE.X/8))
397
		elseif TYPE == "Ring" then
398
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "559831844", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0))
399
		elseif TYPE == "Slash" then
400
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662586858", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
401
		elseif TYPE == "Round Slash" then
402
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "662585058", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0))
403
		elseif TYPE == "Swirl" then
404
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "168892432", "", SIZE, VT(0,0,0))
405
		elseif TYPE == "Skull" then
406
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "4770583", "", SIZE, VT(0,0,0))
407
		elseif TYPE == "Crystal" then
408
			MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "9756362", "", SIZE, VT(0,0,0))
409
		end
410
		if MSH ~= nil then
411
			local BOOMR1 = 1+BOOMERANG/50
412
			local BOOMR2 = 1+SIZEBOOMERANG/50
413
			local MOVESPEED = nil
414
			if MOVEDIRECTION ~= nil then
415
				if USEBOOMERANGMATH == true then
416
					MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)*BOOMR1
417
				else
418
					MOVESPEED = ((CFRAME.p - MOVEDIRECTION).Magnitude/TIME)
419
				end
420
			end
421
			local GROWTH = nil
422
			if USEBOOMERANGMATH == true then
423
				GROWTH = (SIZE - ENDSIZE)*(BOOMR2+1)
424
			else
425
				GROWTH = (SIZE - ENDSIZE)
426
			end
427
			local TRANS = TRANSPARENCY - ENDTRANSPARENCY
428
			if TYPE == "Block" then
429
				EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
430
			else
431
				EFFECT.CFrame = CFRAME
432
			end
433
			if USEBOOMERANGMATH == true then
434
				for LOOP = 1, TIME+1 do
435
					Swait()
436
					MSH.Scale = MSH.Scale - (VT((GROWTH.X)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Y)*((1 - (LOOP/TIME)*BOOMR2)),(GROWTH.Z)*((1 - (LOOP/TIME)*BOOMR2)))*BOOMR2)/TIME
437
					if TYPE == "Wave" then
438
						MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
439
					end
440
					EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
441
					if TYPE == "Block" then
442
						EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
443
					else
444
						EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
445
					end
446
					if MOVEDIRECTION ~= nil then
447
						local ORI = EFFECT.Orientation
448
						EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-(MOVESPEED)*((1 - (LOOP/TIME)*BOOMR1)))
449
						EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
450
					end
451
				end
452
			else
453
				for LOOP = 1, TIME+1 do
454
					Swait()
455
					MSH.Scale = MSH.Scale - GROWTH/TIME
456
					if TYPE == "Wave" then
457
						MSH.Offset = VT(0,0,-MSH.Scale.Z/8)
458
					end
459
					EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME
460
					if TYPE == "Block" then
461
						EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))
462
					else
463
						EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3))
464
					end
465
					if MOVEDIRECTION ~= nil then
466
						local ORI = EFFECT.Orientation
467
						EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED)
468
						EFFECT.CFrame = CF(EFFECT.Position)*ANGLES(RAD(ORI.X),RAD(ORI.Y),RAD(ORI.Z))
469
					end
470
				end
471
			end
472
			EFFECT.Transparency = 1
473
			if PLAYSSOUND == false then
474
				EFFECT:remove()
475
			else
476
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
477
				EFFECT:remove()
478
			end
479
		else
480
			if PLAYSSOUND == false then
481
				EFFECT:remove()
482
			else
483
				repeat Swait() until EFFECT:FindFirstChildOfClass("Sound") == nil
484
				EFFECT:remove()
485
			end
486
		end
487
	end))
488
end
489
490
function MakeForm(PART,TYPE)
491
	if TYPE == "Cyl" then
492
		local MSH = IT("CylinderMesh",PART)
493
	elseif TYPE == "Ball" then
494
		local MSH = IT("SpecialMesh",PART)
495
		MSH.MeshType = "Sphere"
496
	elseif TYPE == "Wedge" then
497
		local MSH = IT("SpecialMesh",PART)
498
		MSH.MeshType = "Wedge"
499
	end
500
end
501
502
Debris = game:GetService("Debris")
503
504
function CastProperRay(StartPos, EndPos, Distance, Ignore)
505
	local DIRECTION = CF(StartPos,EndPos).lookVector
506
	local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore})
507
	return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, DIRECTION * Distance), Ignore)
508
end
509
510
local DECAL = IT("Decal")
511
function MagicRing()
512
	local RING = CreatePart(3, Effects, "Granite", 0, 1, "Maroon", "MagicRing", VT(0,0,0),true)
513
	local MESH = IT("BlockMesh",RING)
514
	local BOTTOMTEXTURE = DECAL:Clone()
515
	BOTTOMTEXTURE.Parent = RING
516
	BOTTOMTEXTURE.Face = "Bottom"
517
	BOTTOMTEXTURE.Name = "BottomTexture"
518
	local TOPTEXTURE = DECAL:Clone()
519
	TOPTEXTURE.Parent = RING
520
	TOPTEXTURE.Face = "Top"
521
	TOPTEXTURE.Name = "TopTexture"
522
	BOTTOMTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
523
	TOPTEXTURE.Texture = "http://www.roblox.com/asset/?id=1208118228"
524
	BOTTOMTEXTURE.Color3 = C3(0,0,0)
525
	TOPTEXTURE.Color3 = C3(0,0,0)
526
	return RING,MESH,TOPTEXTURE,BOTTOMTEXTURE
527
end
528
529
function CharacterFade(COLOR,TIMER,MOVEDIRECTION,PARENT)
530
	coroutine.resume(coroutine.create(function()
531
		local FADE = IT("Model",Effects)
532
		if PARENT ~= nil then
533
			FADE.Parent = PARENT
534
		end
535
		FADE.Name = "FadingEffect"
536
		for _, c in pairs(Character:GetChildren()) do
537
			if c.ClassName == "Part" then
538
				c.CanCollide = false
539
				local FADER = CreatePart(3, FADE, "Neon", 0, 0.75, BRICKC("Pearl"), c.Name, c.Size, true)
540
				FADER.CFrame = c.CFrame
541
				FADER.Color = COLOR
542
				if FADER.Name == "Head" then
543
					Head:FindFirstChildOfClass("SpecialMesh"):Clone().Parent = FADER
544
				elseif FADER.Name == "HumanoidRootPart" then
545
					FADE.PrimaryPart = FADER
546
					FADER.Transparency = 1
547
				end
548
			end
549
		end
550
		local TRANS = 0.25/TIMER
551
		local DIST = nil
552
		if MOVEDIRECTION ~= nil then
553
			DIST = (FADE.PrimaryPart.Position - MOVEDIRECTION).Magnitude
554
		end
555
		for i = 1, TIMER do
556
			Swait()
557
			for _, c in pairs(FADE:GetChildren()) do
558
				if c.ClassName == "Part" then
559
					c.Transparency = c.Transparency + TRANS
560
				end
561
			end
562
			if MOVEDIRECTION ~= nil then
563
				local ORI = FADE.PrimaryPart.Orientation
564
				FADE:SetPrimaryPartCFrame(CF(CF(FADE.PrimaryPart.Position,MOVEDIRECTION)*CF(0,0,-DIST/TIMER).p) * ANGLES(RAD(ORI.X), RAD(ORI.Y), RAD(ORI.Z)))
565
			end
566
		end
567
		FADE:remove()
568
	end))
569
end
570
571
--//=================================\\
572
--||	    GUIS AND MISC
573
--\\=================================//
574
575
local EYE = CreatePart(3, Character, "Neon", 0, 0, BRICKC("Really black"), "TheEye", VT(0.16,0.16,0.16), true)
576
MakeForm(EYE,"Ball")
577
CreateWeldOrSnapOrMotor("Weld", Head, Head, EYE, CF(-0.15, 0.2, -0.57) * ANGLES(RAD(0), RAD(15), RAD(0)) * ANGLES(RAD(90), RAD(0), RAD(0)), CF(0, 0, 0))
578
local BLADE = CreatePart(3, Effects, "Fabric", 0, 0, BRICKC("Really black"), "Abyssal_Sword", VT(1, 7.6, 1), true)
579
CreateMesh("SpecialMesh", BLADE, "FileMesh", "93117521", "1015990846", VT(1,1,1), VT(0,0,0))
580
BLADE.CFrame = RootPart.CFrame * CF(0.4,1,4) * ANGLES(RAD(195), RAD(15), RAD(15))
581-
local BLADE = CreatePart(3, Effects, "Fabric", 0, 0, BRICKC("Really black"), "Abyssal_sos", VT(1, 7.6, 1), true)
581+
local BLADE2 = CreatePart(3, Effects, "Fabric", 0, 0, BRICKC("Really black"), "Abyssal_sos", VT(1, 7.6, 1), true)
582
CreateMesh("SpecialMesh", BLADE, "FileMesh", "93117521", "1015990846", VT(1,1,1), VT(0,0,0))
583-
BLADE.CFrame = RootPart.CFrame * CF(0.4,1,4) * ANGLES(RAD(195), RAD(-15), RAD(15))
583+
BLADE2.CFrame = RootPart.CFrame * CF(0.4,1,4) * ANGLES(RAD(195), RAD(-15), RAD(15))
584
585
local SKILLTEXTCOLOR = C3(0,0,0)
586
local SKILLFONT = "Fantasy"
587
local SKILLTEXTSIZE = 4
588
local SKILLTEXTSIZE2 = 12
589
590
local ATTACKS = {"Abyssal Shriek - Z","Abyssal Dash - X","Shadow Cloak - C","Black Blast - V","Nightmare Fall - Q"}
591
592
for i = 1, #ATTACKS do
593
	local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0.74, 0, 0.97-(0.04*i), 0), UD2(0.26, 0, 0.07, 0), C3(0,0,0), C3(0, 0, 0), "Skill Frame")
594
	local SKILLTEXT = CreateLabel(SKILLFRAME, "["..ATTACKS[i].."]", SKILLTEXTCOLOR, SKILLTEXTSIZE, SKILLFONT, 0, 2, 1, "Skill text")
595
	SKILLTEXT.TextXAlignment = "Right"
596
	SKILLTEXT.Rotation = i*3
597
end
598
599
local BMUSIC = IT("Sound",RootPart)
600
local VOLUME = 5
601
local PITCH = 1
602
local SONGID = 1074563286
603
local A = IT("Attachment",Torso)
604
605
coroutine.resume(coroutine.create(function()
606
	while wait(1) do
607
		if FADERS == true then
608
			coroutine.resume(coroutine.create(function()
609
				local R,M,T,B = MagicRing()
610
				R.Anchored = false
611
				CreateWeldOrSnapOrMotor("Weld", EYE, EYE, R, CF(0,0,0), CF(0, 0, 0))
612
				local R2,M2,T2,B2 = MagicRing()
613
				R2.Anchored = false
614
				CreateWeldOrSnapOrMotor("Weld", EYE, EYE, R2, CF(0,0,0), CF(0, 0, 0))
615
				for i = 1, 35 do
616
					Swait()
617
					M.Scale = M.Scale + VT(1,0,1)*1.2
618
					T.Transparency = i/35
619
					B.Transparency = i/35
620
					M2.Scale = M2.Scale + VT(1,0,1)*0.6
621
					T2.Transparency = i/35
622
					B2.Transparency = i/35
623
				end
624
				R:Remove()
625
				R2:Remove()
626
			end))
627
		end
628
	end
629
end))
630
631
--//=================================\\
632
--||			DAMAGING
633
--\\=================================//
634
635
function ApplyDamage(Humanoid,Damage)
636
	Damage = Damage * DAMAGEMULTIPLIER
637
	if Humanoid.Health < 2000 then
638
		if Humanoid.Health - Damage > 0 then
639
			Humanoid.Health = Humanoid.Health - Damage
640
		else
641
			Humanoid.Parent:BreakJoints()
642
		end
643
	else
644
		Humanoid.Parent:BreakJoints()
645
	end
646
end
647
648
function ApplyAoE(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL)
649
	for index, CHILD in pairs(workspace:GetDescendants()) do
650
		if CHILD.ClassName == "Model" and CHILD ~= Character then
651
			local HUM = CHILD:FindFirstChildOfClass("Humanoid")
652
			if HUM then
653
				local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
654
				if TORSO then
655
					if (TORSO.Position - POSITION).Magnitude <= RANGE then
656
						if INSTAKILL == true then
657
							CHILD:BreakJoints()
658
						else
659
							local DMG = MRANDOM(MINDMG,MAXDMG)
660
							ApplyDamage(HUM,DMG)
661
						end
662
						if FLING > 0 then
663
							for _, c in pairs(CHILD:GetChildren()) do
664
								if c:IsA("BasePart") then
665
									local bv = Instance.new("BodyVelocity") 
666
									bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
667
									bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING
668
									bv.Parent = c
669
									Debris:AddItem(bv,0.05)
670
								end
671
							end
672
						end
673
					end
674
				end
675
			end
676
		end
677
	end
678
end
679
680
--//=================================\\
681
--||	ATTACK FUNCTIONS AND STUFF
682
--\\=================================//
683
684
function Melee()
685
	ATTACK = true
686
	BLADE.CanCollide = true
687
	Rooted = false
688
	EQUIPPED = true
689
	local HIT = function()
690
		local HITS = {}
691
		local TOUCH = BLADE.Touched:Connect(function(hit)
692
			if hit.Parent:FindFirstChildOfClass("Humanoid") and hit.Parent ~= Character then
693
				local HUM = hit.Parent:FindFirstChildOfClass("Humanoid")
694
				local TORSO = hit.Parent:FindFirstChild("Torso") or hit.Parent:FindFirstChild("UpperTorso")
695
				if TORSO and HUM.Health > 0 then
696
					local PASS = true
697
					for i = 1, #HITS do
698
						if HITS[i] == hit.Parent then
699
							PASS = false
700
						end
701
					end
702
					table.insert(HITS,hit.Parent)
703
						if PASS == true then
704
						ApplyDamage(HUM,MRANDOM(15,25))
705
					end
706
				end
707
			end
708
		end)
709
		return TOUCH
710
	end
711
	if COMBO == 1 then
712
		for i=0, 0.35, 0.1 / Animation_Speed do
713
			Swait()
714
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 1 / Animation_Speed)
715
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
716
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(90)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
717
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
718
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
719
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
720
			BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
721
		end
722
		CreateSound(1489705211,BLADE,MRANDOM(7,8),MRANDOM(8,13)/12,false)
723
		local TOUCHED = HIT()
724
		for i=0, 0.5, 0.1 / Animation_Speed do
725
			Swait()
726
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), 1 / Animation_Speed)
727
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-35)), 0.9 / Animation_Speed)
728
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.8, 0.5, -0.7) * ANGLES(RAD(0), RAD(0), RAD(-90)) * ANGLES(RAD(15), RAD(180), RAD(0)) * RIGHTSHOULDERC0, 0.6 / Animation_Speed)
729
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
730
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
731
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
732
			BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
733
		end
734
		TOUCHED:Disconnect()
735
		COMBO = 2
736
	elseif COMBO == 2 then
737
		for i=0, 0.35, 0.1 / Animation_Speed do
738
			Swait()
739
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
740
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
741
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(160), RAD(0), RAD(-5)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
742
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
743
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
744
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
745
			BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
746
		end
747
		CreateSound(1489705211,BLADE,MRANDOM(7,8),MRANDOM(8,13)/12,false)
748
		local TOUCHED = HIT()
749
		for i=0, 0.35, 0.1 / Animation_Speed do
750
			Swait()
751
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
752
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.8 / Animation_Speed)
753
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.25, -0.5) * ANGLES(RAD(85), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
754
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
755
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
756
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
757
			BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
758
		end
759
		TOUCHED:Disconnect()
760
		for i=0, 0.2, 0.1 / Animation_Speed do
761
			Swait()
762
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), 1 / Animation_Speed)
763
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 0.8 / Animation_Speed)
764
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.25, -0.5) * ANGLES(RAD(85), RAD(0), RAD(-5)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
765
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
766
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
767
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
768
			BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame*CF(4,0.3,0) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.4)
769
		end
770
		COMBO = 1
771
	end
772
	coroutine.resume(coroutine.create(function()
773
		for i = 1, 50 do
774
			Swait()
775
			if ATTACK == true then
776
				break
777
			end
778
		end
779
		if ATTACK == false then
780
			COMBO = 1
781
		end
782
	end))
783
	BLADE.CanCollide = false
784
	ATTACK = false
785
	Rooted = false
786
	EQUIPPED = false
787
end
788
function AbyssalShriek()
789
	if ANIM ~= "Fall" and ANIM ~= "Jump" then
790
		ATTACK = true
791
		Rooted = true
792
		for i=0, 0.2, 0.1 / Animation_Speed do
793
			Swait()
794
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
795
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
796
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
797
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
798
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
799
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
800
		end
801
		coroutine.resume(coroutine.create(function()
802
			repeat
803
				Swait()
804
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
805
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
806
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
807
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
808
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
809
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
810
			until ATTACK == false
811
		end))
812
		WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position+VT(0,1.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 15})
813
		CreateSound(199978176,Head,5,1,false)
814
		for i = 1, 60 do
815
			Swait()
816
			ApplyAoE(RootPart.Position,17,1,1,0,false)
817
			local HITFLOOR,HITPOS = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
818
			if HITFLOOR then
819
				WACKYEFFECT({Time = 15, EffectType = "Wave", Size = VT(20,1,20), Size2 = VT(25+MRANDOM(0,8),7,25+MRANDOM(0,8)), Transparency = 0.95, Transparency2 = 1, CFrame = CF(HITPOS)*ANGLES(RAD(0),RAD(MRANDOM(0,360)),RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil})
820
			end
821
			local SIZE = VT(1,3,1)
822
			WACKYEFFECT({EffectType = "Sphere", Size = VT(0,0,0), Size2 = SIZE*MRANDOM(10,65)/10, Transparency = 0.5, Transparency2 = 1, CFrame = CF(RootPart.Position) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,MRANDOM(1,17),MRANDOM(0,12)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 5})
823
		end
824
		wait(0.2)
825
		ATTACK = false
826
		Rooted = false
827
	end
828
end
829
function AbyssalDash()
830
	ATTACK = true
831
	Rooted = true
832
	UNANCHOR = false
833
	for i=0, 0.4, 0.1 / Animation_Speed do
834
		Swait()
835
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
836
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
837
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
838
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
839
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
840
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
841
	end
842
	CreateSound(1177785010,Torso,2,1,false)
843
	CreateSound(971125740,Torso,5,1,false)
844
	WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,25,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 331666014, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
845
	for index, CHILD in pairs(Character:GetChildren()) do
846
		if CHILD:IsA("BasePart") then
847
			CHILD.Transparency = CHILD.Transparency + 1
848
		elseif CHILD:IsA("Accessory") then
849
			CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1
850
		end
851
	end
852
	local HITS = {}
853
	for i=0, 1, 0.1 / Animation_Speed do
854
		Swait()
855
		for index, CHILD in pairs(workspace:GetDescendants()) do
856
			if CHILD.ClassName == "Model" and CHILD ~= Character then
857
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
858
				if HUM then
859
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
860
					if TORSO then
861
						if (TORSO.Position - RootPart.Position).Magnitude <= 25 then
862
							local PASS = true
863
							for E = 1, #HITS do
864
								if HITS[E] == CHILD then
865
									PASS = false
866
								end
867
							end
868
							if PASS == true then
869
								local DMG = MRANDOM(25,45)
870
								ApplyDamage(HUM,DMG)
871
								table.insert(HITS,CHILD)
872
							end
873
						end
874
					end
875
				end
876
			end
877
		end	
878
		WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(25,0,25), Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame*CF(0,0,-6) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 50})
879
		for i = 1, 2 do
880
			RootPart.CFrame = RootPart.CFrame*CF(0,0,-1)
881
			CharacterFade(C3(0,0,0),25,R_RANDOM(Torso.CFrame,1.25).p)
882
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(65), RAD(0), RAD(0)), 1 / Animation_Speed)
883
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-25 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
884
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(-25), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
885
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(-25), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
886
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
887
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
888
		end
889
	end
890
	for index, CHILD in pairs(Character:GetChildren()) do
891
		if CHILD:IsA("BasePart") then
892
			CHILD.Transparency = CHILD.Transparency - 1
893
		elseif CHILD:IsA("Accessory") then
894
			CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1
895
		end
896
	end
897
	for i=1, 25 do
898
		Swait()
899
		RootPart.CFrame = RootPart.CFrame*CF(0,0,-((25-i)/25))
900
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
901
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
902
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
903
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5 + 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-35), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
904
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-45)), 1 / Animation_Speed)
905
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-25), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
906
	end
907
	UNANCHOR = true
908
	ATTACK = false
909
	Rooted = false
910
end
911
function ShadowCloak()
912
	if ANIM ~= "Fall" and ANIM ~= "Jump" then
913
		ATTACK = true
914
		Rooted = false
915
		UNANCHOR = false
916
		FADERS = false
917
		coroutine.resume(coroutine.create(function()
918
			coroutine.resume(coroutine.create(function()
919
				for i=1, 25 do
920
					Swait()
921
					RootPart.CFrame = RootPart.CFrame*CF(0,(25-i)/25,0)
922
				end
923
			end))
924
			repeat
925
				Swait()
926
				BLADE.Transparency = Torso.Transparency
927
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
928
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
929
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
930
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
931
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
932
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
933
			until ATTACK == false
934
		end))
935
		WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 814168787, SoundPitch = 0.6, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 12})
936
		WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(25,1,25), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position-VT(0,3.5,0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 814168787, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
937
		for i = 1, 50 do
938
			Swait()
939
			CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
940
			for index, CHILD in pairs(Character:GetChildren()) do
941
				if CHILD:IsA("BasePart") then
942
					CHILD.Transparency = CHILD.Transparency + 1/50
943
				elseif CHILD:IsA("Accessory") then
944
					CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1/50
945
				end
946
			end
947
		end
948
		for i = 1, 25 do
949
			Swait()
950
			CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
951
		end
952
		RootPart.CFrame = CF(Mouse.Hit.p+VT(0,12,0)) * ANGLES(RAD(0), RAD(RootPart.Orientation.Y), RAD(0))
953
		for i = 1, 5 do
954
			WACKYEFFECT({Time = 50, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(0.3,0,0.3), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
955
		end
956
		ApplyAoE(Torso.Position,15,12,22,150,false)
957
		CreateSound(331666014,Torso,5,1,false)
958
		for i = 1, 12 do
959
			Swait()
960
			CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
961
		end
962
		for i = 1, 50 do
963
			Swait()
964
			CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
965
			for index, CHILD in pairs(Character:GetChildren()) do
966
				if CHILD:IsA("BasePart") then
967
					CHILD.Transparency = CHILD.Transparency - 1/50
968
				elseif CHILD:IsA("Accessory") then
969
					CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1/50
970
				end
971
			end
972
		end
973
		UNANCHOR = true
974
		ATTACK = false
975
		Rooted = false
976
		FADERS = true
977
	end
978
end
979
function BlackBlast()
980
	if ANIM ~= "Fall" and ANIM ~= "Jump" then
981
		ATTACK = true
982
		Rooted = true
983
		local GYRO = IT("BodyGyro",RootPart)
984
		GYRO.D = 25
985
		GYRO.P = 20000
986
		GYRO.MaxTorque = VT(0,4000000,0)
987
		GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
988
		CreateSound(429459101,Torso,5,1.5,false)
989
		local GYROING = true
990
		coroutine.resume(coroutine.create(function()
991
			repeat
992
				Swait()
993
				GYRO.CFrame = CF(RootPart.Position,Mouse.Hit.p)
994
			until GYROING == false
995
			GYRO:Remove()
996
		end))
997
		for i=0, 1, 0.1 / Animation_Speed do
998
			Swait()
999
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1000
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1001
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1002
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1003
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-15)), 1 / Animation_Speed)
1004
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(15)), 1 / Animation_Speed)
1005
		end
1006
		for i = 1, 13 do
1007
			WACKYEFFECT({Time = 55, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(i,0,i)*2, Transparency = 0.8, Transparency2 = 1, CFrame = RootPart.CFrame*CF(0,0,7.5-i) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 50})
1008
		end
1009
		CreateSound(1368637781,Torso,5,1.5,false)
1010
		WACKYEFFECT({Time = 65, EffectType = "Sphere", Size = VT(0,0,0), Size2 = VT(12,12,12), Transparency = 0, Transparency2 = 1, CFrame = CF(RootPart.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 331666014, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1011
		for index, CHILD in pairs(Character:GetChildren()) do
1012
			if CHILD:IsA("BasePart") then
1013
				CHILD.Transparency = CHILD.Transparency + 1
1014
			elseif CHILD:IsA("Accessory") then
1015
				CHILD.Handle.Transparency = CHILD.Handle.Transparency + 1
1016
			end
1017
		end
1018
		GYROING = false
1019
		coroutine.resume(coroutine.create(function()
1020
			coroutine.resume(coroutine.create(function()
1021
				for i=1, 25 do
1022
					Swait()
1023
					RootPart.CFrame = RootPart.CFrame*CF(0,0,(25-i)/25)
1024
				end
1025
			end))
1026
			repeat
1027
				Swait()
1028
				CharacterFade(C3(0,0,0),12,R_RANDOM(Torso.CFrame,1.25).p)
1029
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1030
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(MRANDOM(-5,5)), RAD(MRANDOM(-5,5))), 1 / Animation_Speed)
1031
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(-15+MRANDOM(-5,5)), RAD(35)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1032
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-25+MRANDOM(-5,5)), RAD(15+MRANDOM(-5,5)), RAD(-35)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1033
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.1) * ANGLES(RAD(0), RAD(85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(-12)), 1 / Animation_Speed)
1034
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.1) * ANGLES(RAD(0), RAD(-85), RAD(MRANDOM(-5,5))) * ANGLES(RAD(-1), RAD(0), RAD(12)), 1 / Animation_Speed)
1035
			until ATTACK == false
1036
		end))
1037
		coroutine.resume(coroutine.create(function()
1038
			local BULLETCFRAME = RootPart.CFrame
1039
			local EXPLODED = false
1040
			coroutine.resume(coroutine.create(function()
1041
				repeat
1042
					Swait()
1043
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(10,10,10), Transparency = 0.3, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1044
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(15,15,15), Size2 = VT(25,25,25), Transparency = 0.8, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1045
				until EXPLODED == true
1046
			end))
1047
			for i=1, 50 do
1048
				Swait()
1049
				BULLETCFRAME = BULLETCFRAME*CF(0,0,-((50-i)/15))
1050
				local RAY,HIT,NORM = Raycast(BULLETCFRAME.p,BULLETCFRAME.lookVector,7,Character)
1051
				if RAY then
1052
					ApplyAoE(BULLETCFRAME.p,25,12,54,350,false)
1053
					WACKYEFFECT({Time = 45, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(160,0,160), Transparency = 0.6, Transparency2 = 1, CFrame = CF(HIT,HIT+NORM) * ANGLES(RAD(-90), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 765590102, SoundPitch = MRANDOM(9,11)/10, SoundVolume = 10})
1054
					break
1055
				end
1056
			end
1057
			wait(0.5)
1058
			WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(75,75,75), Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 0.7, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1059
			WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(50,50,50), Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 1, SoundVolume = 10, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1060
			for E = 1, 3 do
1061
				for i = 1, 5 do
1062
					WACKYEFFECT({Time = 50, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/2, Transparency = 0, Transparency2 = 1, CFrame = CF(BULLETCFRAME.p) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
1063
				end
1064
			end
1065
			ApplyAoE(BULLETCFRAME.p,125,25,75,250,false)
1066
			EXPLODED = true
1067
			for i = 1, 15 do
1068
				Swait()
1069
				WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(160,0,160), Transparency = 0.6, Transparency2 = 1, CFrame = BULLETCFRAME * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 1, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2})
1070
			end
1071
		end))
1072
		wait(0.5)
1073
		for index, CHILD in pairs(Character:GetChildren()) do
1074
			if CHILD:IsA("BasePart") then
1075
				CHILD.Transparency = CHILD.Transparency - 1
1076
			elseif CHILD:IsA("Accessory") then
1077
				CHILD.Handle.Transparency = CHILD.Handle.Transparency - 1
1078
			end
1079
		end
1080
		ATTACK = false
1081
		Rooted = false
1082
	end
1083
end
1084
function NightmareFall()
1085
	if ANIM ~= "Fall" and ANIM ~= "Jump" and DAMAGEMULTIPLIER == 1 then
1086
		ATTACK = true
1087
		Rooted = true
1088
		EQUIPPED = true
1089
		CreateSound(160740121,Head,10,1,false)
1090
		for i=0, 2, 0.1 / Animation_Speed do
1091
			Swait()
1092
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1093
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1094
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.4 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(120), RAD(0), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1095
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1096
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
1097
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1098
			BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
1099
		end
1100
		for i=0, 2, 0.1 / Animation_Speed do
1101
			Swait()
1102
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1103
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1104
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.15 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(140), RAD(0), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
1105
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1106
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
1107
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1108
			BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
1109
		end
1110
		local SIZE = 0
1111
		local POS = RootPart.Position+VT(0,150,0)
1112
		local BLOWN = false
1113
		coroutine.resume(coroutine.create(function()
1114
			coroutine.resume(coroutine.create(function()
1115
				repeat
1116
					Swait()
1117
					if SIZE > 0 then
1118
						WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(SIZE,SIZE,SIZE)*2.5, Transparency = 0.3, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1119
						WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(0,0,0), Size2 = VT(SIZE,SIZE,SIZE)*3, Transparency = 0.8, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1120
					end
1121
				until BLOWN == true
1122
			end))
1123
			repeat
1124
				Swait()
1125
				RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(-5), RAD(12), RAD(25)), 1 / Animation_Speed)
1126
				Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(-15)), 1 / Animation_Speed)
1127
				RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.75, 0) * ANGLES(RAD(180), RAD(15), RAD(17)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1128
				LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35, -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1129
				RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
1130
				LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1131
				BLADE.CFrame = Clerp(BLADE.CFrame,RightArm.CFrame*CF(0,-8,0) * ANGLES(RAD(180), RAD(90), RAD(0)),0.4)
1132
			until ATTACK == false
1133
		end))
1134
		wait(0.2)
1135
		for i = 1, 15 do
1136
			wait(MRANDOM(2,6)/45)
1137
			coroutine.resume(coroutine.create(function()
1138
				local CFRAME = CF(BLADE.Position,POS) * ANGLES(RAD(0), RAD(0), RAD(MRANDOM(-90,90)))
1139
				local HEIGHT = 45/5
1140
				local DISTANCE = (BLADE.Position - POS).Magnitude
1141
				for i = 1, 45 do
1142
					Swait()
1143
					CFRAME = CFRAME * CF(0,(HEIGHT-(i/2.575))/45,-DISTANCE/45)
1144
					WACKYEFFECT({Time = 15, EffectType = "Block", Size = VT(3,3,3), Size2 = VT(0,0,0), Transparency = 0.3, Transparency2 = 1, CFrame = CFRAME, MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 0})
1145
				end
1146
				SIZE = SIZE + 1
1147
			end))
1148
		end
1149
		wait(2.5)
1150
		BLOWN = true
1151
		WACKYEFFECT({Time = 85, EffectType = "Sphere", Size = VT(25,25,25), Size2 = VT(150,50,150), Transparency = 0, Transparency2 = 1, CFrame = CF(POS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 401056199, SoundPitch = 0.4, SoundVolume = 10, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1152
		for E = 1, 5 do
1153
			for i = 1, 5 do
1154
				WACKYEFFECT({Time = 50+(E*4), EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/2, Transparency = 0, Transparency2 = 1, CFrame = CF(POS) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
1155
			end
1156
		end
1157
		CreateSound(288641686,Effects,5,1,false)
1158
		CreateSound(592877506,Effects,5,1,false)
1159
		local HITS = {}
1160
		for index, CHILD in pairs(workspace:GetDescendants()) do
1161
			if CHILD.ClassName == "Model" and CHILD ~= Character then
1162
				local HUM = CHILD:FindFirstChildOfClass("Humanoid")
1163
				if HUM then
1164
					local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso")
1165
					if TORSO then
1166
						if (TORSO.Position - RootPart.Position).Magnitude <= 175 then
1167
							local PASS = true
1168
							for E = 1, #HITS do
1169
								if HITS[E] == CHILD then
1170
									PASS = false
1171
								end
1172
							end
1173
							if PASS == true then
1174
								table.insert(HITS,CHILD)
1175
							end
1176
						end
1177
					end
1178
				end
1179
			end
1180
		end	
1181
		if #HITS > 0 then
1182
			local DONE = false
1183
			local HUMS = {}
1184
			coroutine.resume(coroutine.create(function()
1185
				for E = 1, #HITS do
1186
					local HUM = HITS[E]:FindFirstChildOfClass("Humanoid")
1187
					table.insert(HUMS,HUM)
1188
					local TORSO = HITS[E]:FindFirstChild("Torso") or HITS[E]:FindFirstChild("UpperTorso")
1189
					local grav = Instance.new("BodyPosition",TORSO)
1190
					grav.D = 850
1191
					grav.P = 4000
1192
					grav.maxForce = Vector3.new(math.huge,math.huge,math.huge)
1193
					grav.Position = TORSO.Position+VT(0,35,0)
1194
					CreateSound(592877506,TORSO,5,0.5,false)
1195
					if TORSO then
1196
						coroutine.resume(coroutine.create(function()
1197
							local B = IT("Attachment",TORSO)
1198
							local ChainLink = IT("Beam",Torso)
1199
							ChainLink.Texture = "rbxassetid://73042633"
1200
							ChainLink.Color = ColorSequence.new(C3(0,0,0))
1201
							ChainLink.TextureSpeed = -1
1202
							ChainLink.FaceCamera = true
1203
							ChainLink.Width0 = 3
1204
							ChainLink.Width1 = 3
1205
							ChainLink.TextureLength = 3
1206
							ChainLink.Attachment0 = A
1207
							ChainLink.Attachment1 = B
1208
							ChainLink.CurveSize0 = 0
1209
							ChainLink.CurveSize1 = 0
1210
							ChainLink.FaceCamera = true
1211
							ChainLink.TextureMode = "Static"
1212
							ChainLink.Transparency = NumberSequence.new(0)
1213
							repeat
1214
								Swait()
1215
								WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(2,2,2)*TORSO.Size.Z, Size2 = VT(0,0,0), Transparency = 0.6, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = false, Boomerang = 0, SizeBoomerang = 35})
1216
							until DONE == true or HUM.Health < 1
1217
							B:Remove()
1218
							ChainLink:Remove()
1219
							grav:Remove()
1220
							if HUM.Health < 1 then
1221
								for E = 1, 2 do
1222
									for i = 1, 3 do
1223
										WACKYEFFECT({Time = 15, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(E,0,E)/6, Transparency = 0, Transparency2 = 1, CFrame = CF(TORSO.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
1224
									end
1225
								end
1226
								WACKYEFFECT({Time = 5, EffectType = "Block", Size = VT(2,2,2)*TORSO.Size.Z, Size2 = VT(6,6,6)*TORSO.Size.Z, Transparency = 0.6, Transparency2 = 1, CFrame = CF(TORSO.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = 160772554, SoundPitch = 1, SoundVolume = 6, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 35})
1227
								for _, c in pairs(HITS[E]:GetChildren()) do
1228
									if c:IsA("BasePart") or c:IsA("Accessory") then
1229
										c:remove()
1230
									end
1231
								end
1232
								local BONES = {
1233
								Skull = {MeshId = 36869983,Size = VT(0.7,0.7,0.7)},
1234
								Ribs = {MeshId = 546760032,Size = VT(2.18, 1.884, 1.105)}
1235
								}
1236
								local SELECTABLEBONES = {
1237
								{MeshId = 546760045,Size = VT(0.468, 1.12, 0.346)},
1238
								{MeshId = 546760042,Size = VT(0.366, 0.991, 0.365)},
1239
								{MeshId = 546760029,Size = VT(0.441, 0.799, 0.347)},
1240
								{MeshId = 546760030,Size = VT(0.605, 0.843, 0.4)}
1241
								}
1242
								for i = 1, 9 do
1243
									local CHOSENPIECE = nil
1244
									if i == 1 then
1245
										CHOSENPIECE = BONES.Skull
1246
									elseif i == 2 then
1247
										CHOSENPIECE = BONES.Ribs
1248
									else
1249
										CHOSENPIECE = SELECTABLEBONES[MRANDOM(1,#SELECTABLEBONES)]
1250
									end
1251
									local BONE = CreatePart(3, HITS[E], "Neon", 0, 0, BRICKC("Salmon"), "RIP", CHOSENPIECE.Size, false)
1252
									BONE.CanCollide = true
1253
									BONE.CFrame = TORSO.CFrame*CF(MRANDOM(-10,10)/30,MRANDOM(-10,10)/30,MRANDOM(-10,10)/30)
1254
									if CHOSENPIECE.MeshId == 36869983 then
1255
										CreateMesh("SpecialMesh", BONE, "FileMesh", CHOSENPIECE.MeshId, "", VT(1,1,1)/1.5, VT(0,0,0))
1256
									else
1257
										CreateMesh("SpecialMesh", BONE, "FileMesh", CHOSENPIECE.MeshId, "", VT(1,1,1), VT(0,0,0))
1258
									end
1259
								end
1260
							end
1261
						end))
1262
					end
1263
				end
1264
				wait(1)
1265
				for i = 1, 250 do
1266
					Swait()
1267
					for E = 1, #HUMS do
1268
						if HUMS[E] then
1269
							if HUMS[E].Health > 0 then
1270
								HUMS[E].Health = HUMS[E].Health - 0.3
1271
								DAMAGEMULTIPLIER = DAMAGEMULTIPLIER + 0.0025
1272
								WACKYEFFECT({Time = 10, EffectType = "Round Slash", Size = VT(0,0,0), Size2 = VT(1.5,0,1.5)/20, Transparency = 0.9, Transparency2 = 1, CFrame = CF(Torso.Position) * ANGLES(RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360)), RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = nil, SoundVolume = nil, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 10})
1273
							end
1274
						end
1275
					end
1276
				end
1277
				local SKILLFRAME = CreateFrame(WEAPONGUI, 1, 2, UD2(0, 0, 0, 0), UD2(1, 0, 1, 0), C3(0,0,0), C3(0, 0, 0), "OWEXTRADAMAGE")
1278
				local SKILLTEXT = CreateLabel(SKILLFRAME, "!You have increased damage!", SKILLTEXTCOLOR, SKILLTEXTSIZE2, SKILLFONT, 1, 2, 1, "AAAA")
1279
				coroutine.resume(coroutine.create(function()
1280
					CreateSound(743521450,Cam,5,0.6,false)
1281
					for E = 1, 75 do
1282
						Swait()
1283
						SKILLTEXT.TextTransparency = SKILLTEXT.TextTransparency - 1/75
1284
					end
1285
					wait(4)
1286
					for E = 1, 25 do
1287
						Swait()
1288
						SKILLTEXT.TextTransparency = SKILLTEXT.TextTransparency + 1/25
1289
					end
1290
					SKILLFRAME:Remove()
1291
				end))
1292
				DONE = true
1293
				for i = 1, 50 do
1294
					wait(0.5)
1295
					for i = 1, 3 do
1296
						WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0,0,0), Size2 = VT(DAMAGEMULTIPLIER-1,0.1,DAMAGEMULTIPLIER-1)*1.5, Transparency = 0.6, Transparency2 = 1, CFrame = CF(RootPart.CFrame*CF(0,-3.25,0).p) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0)), MoveToPos = nil, RotationX = 1, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(0,0,0), SoundID = nil, SoundPitch = MRANDOM(9,11)/10, SoundVolume = MRANDOM(9,11)/2, UseBoomerangMath = true, Boomerang = 0, SizeBoomerang = 22})
1297
					end
1298
				end
1299
				DAMAGEMULTIPLIER = 1
1300
			end))
1301
			wait(0.2)
1302
		end
1303
		wait(0.4)
1304
		EQUIPPED = false
1305
		ATTACK = false
1306
		Rooted = false
1307
	end
1308
end
1309
function Laugh()
1310
	ATTACK = true
1311
	Rooted = true
1312
	CreateSound(160740121,Head,10,1,false)
1313
	for i=0, 0.5, 0.1 / Animation_Speed do
1314
		Swait()
1315
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1316
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.8 / Animation_Speed)
1317
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.6 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1318
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.45 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1319
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
1320
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1321
	end
1322
	for i=1, 185 do
1323
		Swait()
1324
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1325
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1 + 0.05 * SIN(SINE/2)) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(0)), 1 / Animation_Speed)
1326
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.55 + 0.15 * SIN(SINE/2), -0.7) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1327
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.4 + 0.15 * SIN(SINE/2), -0.6) * ANGLES(RAD(3 + 3 * SIN(SINE/2)), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1328
		RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
1329
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1330
	end
1331
	ATTACK = false
1332
	Rooted = false
1333
end
1334
1335
--//=================================\\
1336
--||	  ASSIGN THINGS TO KEYS
1337
--\\=================================//
1338
1339
function MouseDown(Mouse)
1340
	if ATTACK == false then
1341
		Melee()
1342
	end
1343
end
1344
1345
function MouseUp(Mouse)
1346
HOLD = false
1347
end
1348
1349
function KeyDown(Key)
1350
	KEYHOLD = true
1351
	if Key == "z" and ATTACK == false then
1352
		AbyssalShriek()
1353
	end
1354
1355
	if Key == "x" and ATTACK == false then
1356
		AbyssalDash()
1357
	end
1358
1359
	if Key == "c" and ATTACK == false then
1360
		ShadowCloak()
1361
	end
1362
1363
	if Key == "v" and ATTACK == false then
1364
		BlackBlast()
1365
	end
1366
1367
	if Key == "q" and ATTACK == false then
1368
		NightmareFall()
1369
	end
1370
1371
	if Key == "t" and ATTACK == false then
1372
		Laugh()
1373
	end
1374
end
1375
1376
function KeyUp(Key)
1377
	KEYHOLD = false
1378
end
1379
1380
	Mouse.Button1Down:connect(function(NEWKEY)
1381
		MouseDown(NEWKEY)
1382
	end)
1383
	Mouse.Button1Up:connect(function(NEWKEY)
1384
		MouseUp(NEWKEY)
1385
	end)
1386
	Mouse.KeyDown:connect(function(NEWKEY)
1387
		KeyDown(NEWKEY)
1388
	end)
1389
	Mouse.KeyUp:connect(function(NEWKEY)
1390
		KeyUp(NEWKEY)
1391
	end)
1392
1393
--//=================================\\
1394
--\\=================================//
1395
1396
function unanchor()
1397
	for _, c in pairs(Character:GetChildren()) do
1398
		if c:IsA("BasePart") and c ~= RootPart then
1399
			c.Anchored = false
1400
		end
1401
	end
1402
	if UNANCHOR == true then
1403
		RootPart.Anchored = false
1404
	else
1405
		RootPart.Anchored = true
1406
	end
1407
end
1408
1409
--//=================================\\
1410
--||	WRAP THE WHOLE SCRIPT UP
1411
--\\=================================//
1412
1413
Humanoid.Changed:connect(function(Jump)
1414
	if Jump == "Jump" and (Disable_Jump == true) then
1415
		Humanoid.Jump = false
1416
	end
1417
end)
1418
1419
while true do
1420
	Swait()
1421
	script.Parent = WEAPONGUI
1422
	ANIMATE.Parent = nil
1423
	for _,v in next, Humanoid:GetPlayingAnimationTracks() do
1424
	    v:Stop();
1425
	end
1426
	SINE = SINE + CHANGE
1427
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
1428
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
1429
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4+Humanoid.HipHeight, Character)
1430
	local WALKSPEEDVALUE = 8 / (Humanoid.WalkSpeed / 16)
1431
	Humanoid.HipHeight = 1
1432
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
1433
		ANIM = "Jump"
1434
		if ATTACK == false then
1435
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(-5), RAD(0), RAD(0)), 1 / Animation_Speed)
1436
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(-25), RAD(0), RAD(0)), 1 / Animation_Speed)
1437
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(25 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1438
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-35), RAD(0), RAD(-25 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1439
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.4, -0.6) * ANGLES(RAD(1), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1440
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1441
		end
1442
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
1443
		ANIM = "Fall"
1444
		if ATTACK == false then
1445
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1446
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(15), RAD(0), RAD(0)), 1 / Animation_Speed)
1447
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(45 + 10 * COS(SINE / 12))) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1448
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(35 - 4 * COS(SINE / 6)), RAD(0), RAD(-45 - 10 * COS(SINE / 12))) * LEFTSHOULDERC0, 1 / Animation_Speed)
1449
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3, -0.7) * ANGLES(RAD(-25 + 5 * SIN(SINE / 12)), RAD(90), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1450
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -0.8, -0.3) * ANGLES(RAD(-10), RAD(-80), RAD(0)) * ANGLES(RAD(-1 * SIN(SINE / 6)), RAD(0), RAD(0)), 1 / Animation_Speed)
1451
		end
1452
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
1453
		ANIM = "Idle"
1454
		if ATTACK == false then
1455
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed)
1456
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1457
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1458
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1459
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-25)), 1 / Animation_Speed)
1460
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-5), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1461
		end
1462
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
1463
		ANIM = "Walk"
1464
		if ATTACK == false then
1465
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(10), RAD(0), RAD(0)), 1 / Animation_Speed)
1466
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-10 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 1 / Animation_Speed)
1467
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.75, 0.5 + 0.05 * SIN(SINE / 12), -0.7) * ANGLES(RAD(0), RAD(0), RAD(-95)) * ANGLES(RAD(5), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 1 / Animation_Speed)
1468
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-0.75, 0.35 + 0.05 * SIN(SINE / 12), -0.6) * ANGLES(RAD(0), RAD(0), RAD(92)) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 1 / Animation_Speed)
1469
			RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.6 - 0.05 * SIN(SINE / 12), -0.5) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(-35)), 1 / Animation_Speed)
1470
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * SIN(SINE / 12), 0) * ANGLES(RAD(-15), RAD(-70), RAD(0)) * ANGLES(RAD(1), RAD(0), RAD(0)), 1 / Animation_Speed)
1471
		end
1472
	end
1473
	if EQUIPPED == false then
1474
		if TORSOVELOCITY > 1 then
1475
			BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame * CF(0.2,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(15), RAD(15)),0.04)
1476
            BLADE2.CFrame = Clerp(BLADE2.CFrame,RootPart.CFrame * CF(0.2,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(15), RAD(15)),0.04)
1477-
			BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame * CF(1,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.1)
1477+
1478
			BLADE.CFrame = Clerp(BLADE2.CFrame,RootPart.CFrame * CF(1,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.1)
1479
            BLADE2.CFrame = Clerp(BLADE2.CFrame,RootPart.CFrame * CF(1,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.1)
1480
		end
1481
      if TORSOVELOCITY > 1 then
1482
			BLADE.CFrame = Clerp(BLADE.CFrame,RootPart.CFrame * CF(0.2,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(15), RAD(15)),0.04)
1483
            BLADE2.CFrame = Clerp(BLADE2.CFrame,RootPart.CFrame * CF(0.2,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(15), RAD(15)),0.04)
1484
		else
1485
			BLADE2.CFrame = Clerp(BLADE2.CFrame,RootPart.CFrame * CF(1,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.1)
1486
            BLADE2.CFrame = Clerp(BLADE2.CFrame,RootPart.CFrame * CF(1,1.5 + 0.15 * SIN(SINE / 12),4) * ANGLES(RAD(195), RAD(-25), RAD(15)),0.1)
1487
		end
1488
	end
1489
	if ANIM ~= "Walk" and FADERS == true then
1490
		if MRANDOM(1,7) == 1 then
1491
			CharacterFade(C3(0,0,0),65,R_RANDOM(Torso.CFrame,0.5).p)
1492
		end
1493
	end
1494
	unanchor()
1495
	if Rooted == false then
1496
		Disable_Jump = false
1497
		Humanoid.WalkSpeed = Speed+(DAMAGEMULTIPLIER/5)
1498
	elseif Rooted == true then
1499
		Disable_Jump = true
1500
		Humanoid.WalkSpeed = 0
1501
	end
1502
	BMUSIC.SoundId = "rbxassetid://"..SONGID
1503
	BMUSIC.Looped = true
1504
	BMUSIC.Pitch = PITCH
1505
	BMUSIC.Volume = VOLUME
1506
	BMUSIC.Playing = true
1507
	if BMUSIC.Parent ~= RootPart then
1508
		BMUSIC = IT("Sound",RootPart)
1509
	end
1510
	if Head:FindFirstChild("face") then
1511
		Head:FindFirstChild("face"):remove()
1512
	end
1513
	Humanoid.Name = "NONHUM"
1514
	Humanoid.MaxHealth = 1e3
1515
	Humanoid.Health = 1e3
1516
end
1517
1518
--//=================================\\
1519
--\\=================================//
1520
1521
1522
1523
1524
1525
--//====================================================\\--
1526
--||			  		 END OF SCRIPT
1527
--\\====================================================//--