View difference between Paste ID: 1asJa4PH and 4nVuenq4
SHOW: | | - or go back to the newest paste.
1
2-
--||			   CREATED BY SHACKLUSTER
2+
3-
--\\====================================================//--
3+
4
wait(1)
5
jump = false
6
local Effects2 = {}
7
basicmusic = "rbxassetid://699991043"
8
abyssmusic = "rbxassetid://700037500"
9
Player = game:GetService("Players").LocalPlayer
10
PlayerGui = Player.PlayerGui
11
Cam = workspace.CurrentCamera
12
Backpack = Player.Backpack
13
Character = Player.Character
14
Humanoid = Character.Humanoid
15
Mouse = Player:GetMouse()
16
RootPart = Character["HumanoidRootPart"]
17
Torso = Character["Torso"]
18
Head = Character["Head"]
19
RightArm = Character["Right Arm"]
20
LeftArm = Character["Left Arm"]
21
RightLeg = Character["Right Leg"]
22
LeftLeg = Character["Left Leg"]
23
RootJoint = RootPart["RootJoint"]
24
Neck = Torso["Neck"]
25
RightShoulder = Torso["Right Shoulder"]
26
LeftShoulder = Torso["Left Shoulder"]
27
RightHip = Torso["Right Hip"]
28
LeftHip = Torso["Left Hip"]
29
local sick = Instance.new("Sound",Character)
30
sick.SoundId = basicmusic
31
sick.Looped = true
32
sick.Pitch = 1
33
sick.Volume = 1
34
sick:Play()
35
Humanoid.MaxHealth = 5000
36
Humanoid.Health = 5000
37
local wingholder = Instance.new("Model")
38
wingholder.Parent = Character
39
ABYSSFORM = false
40
Face = Head.face
41
FaceID = Face.Texture
42
AFaceID = "http://www.roblox.com/asset/?id=1015774318"
43
char = Character
44
root = RootPart
45
HeadColor = Head.BrickColor
46
TorsoColor = Torso.BrickColor
47
RLColor = RightLeg.BrickColor
48
RAColor = RightArm.BrickColor
49
LLColor = LeftLeg.BrickColor
50
LAColor = LeftArm.BrickColor
51
if Character:FindFirstChildOfClass("Shirt") then
52
shirtclone = Character.Shirt:Clone()
53
end
54
if Character:FindFirstChildOfClass("Pants") then
55
pantsclone = Character.Shirt:Clone()
56
end
57
Character:FindFirstChild("Body Colors"):remove()
58
Taunts = {907332997,907332856,907330011,907332525,907333406}
59
local attacksound1 = Instance.new("Sound",Head)
60
attacksound1.SoundId = "rbxassetid://159972643"
61
attacksound1.Pitch = 1
62
attacksound1.Volume = 3
63
local attacksound2 = Instance.new("Sound",Head)
64
attacksound2.SoundId = "rbxassetid://159972627"
65
attacksound2.Pitch = 1
66
attacksound2.Volume = 3
67
local attacksound3 = Instance.new("Sound",Head)
68
attacksound3.SoundId = "rbxassetid://159882477"
69
attacksound3.Pitch = 1
70
attacksound3.Volume = 3
71
local attacksound4 = Instance.new("Sound",Head)
72
attacksound4.SoundId = "rbxassetid://159882584"
73
attacksound4.Pitch = 1
74
attacksound4.Volume = 3
75
local shriek = Instance.new("Sound",Head)
76
shriek.SoundId = "rbxassetid://199978176"
77
shriek.Pitch = 1.5
78
shriek.Volume = 3
79
local laugh = Instance.new("Sound",Character)
80
laugh.SoundId = "rbxassetid://861942173"
81
laugh.Pitch = 1
82
laugh.Volume = 10
83
local fade = Instance.new("Sound",Character)
84
fade.SoundId = "rbxassetid://3264923"
85
fade.Pitch = 1
86
fade.Volume = 3
87
Abysstimer = 700
88
wait(0.01)
89
    Humanoid.MaxHealth = 5000
90
    Humanoid.Health = 5000
91
92
93
	function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
94
		local fp=Instance.new("Part")
95
		fp.formFactor=formfactor
96
		fp.Parent=parent
97
		fp.Reflectance=reflectance
98
		fp.Transparency=transparency
99
		fp.CanCollide=false
100
		fp.Locked=true
101
		fp.BrickColor=BrickColor.new(tostring(brickcolor))
102
		fp.Name=name
103
		fp.Size=size
104
		fp.Position=Character.Torso.Position
105
		fp.Material=material
106
		fp:BreakJoints()
107
		return fp
108
	end
109
110
function particles(art,enabled)
111
local EyeSizes={
112
	NumberSequenceKeypoint.new(0,.8,0),
113
	NumberSequenceKeypoint.new(1,0,0)
114
}
115
local EyeTrans={
116
	NumberSequenceKeypoint.new(0,0,0),
117
	NumberSequenceKeypoint.new(1,1,0)
118
}
119
local PE=Instance.new("ParticleEmitter",art)
120
PE.LightEmission=.4
121
PE.Size=NumberSequence.new(EyeSizes)
122
PE.Transparency=NumberSequence.new(EyeTrans)
123
PE.Lifetime=NumberRange.new(0.5,0.5,0.5)
124
PE.Rate=360
125
PE.Speed = NumberRange.new(0,0,0)
126
PE.Texture="rbxassetid://24419398"
127
PE.ZOffset = 0
128
PE.Name = "PE"
129
PE.Enabled = enabled
130
end
131
132
particles(RightArm,false)
133
particles(LeftArm,false)
134
particles(RightLeg,false)
135
particles(LeftLeg,false)
136
particles(Torso,false)
137
particles(Head,false)
138
139
140
IT = Instance.new
141
CF = CFrame.new
142
VT = Vector3.new
143
RAD = math.rad
144
C3 = Color3.new
145
UD2 = UDim2.new
146
BRICKC = BrickColor.new
147
ANGLES = CFrame.Angles
148
EULER = CFrame.fromEulerAnglesXYZ
149
COS = math.cos
150
ACOS = math.acos
151
SIN = math.sin
152
ASIN = math.asin
153
ABS = math.abs
154
MRANDOM = math.random
155
FLOOR = math.floor
156
157
158
159
160
--//=================================\\
161
--||		  CUSTOMIZATION
162
--\\=================================//
163
164
Class_Name = "ABYSS"
165
Weapon_Name = "Abyssal sword"
166
167
Custom_Colors = {
168
	Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
169
	Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
170
171
	Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
172
	Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
173
	Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
174
	Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
175
	Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
176
177
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
178
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
179
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
180
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
181
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
182
}
183
184
Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
185
Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
186
Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
187
Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
188
Ability_Background_Transparency = 0  --Transparency for the background of the abilities.
189
Stat_Background_Transparency = 0 --Transparency for the background of the stats.
190
191
Player_Size = 1 --Size of the player.
192
Animation_Speed = 2
193
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
194
195
Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
196
Enable_Stats = false --Enables or disables stats.
197
Put_Stats_In_Character = false --Places stats in Character.
198
Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
199
Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
200
Enable_Stagger = false --Enables or disables staggering.
201
Enable_Stun = false --Enables or disables the stun mechanic.
202
Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
203
Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
204
205
Start_Equipped = false --Starts the player equipped with their weapon.
206
Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
207
Can_Equip_Or_Unequip = true --Enables or disables the ability to unequip or equip your weapon.
208
Disable_Animator = true --Disables the Animator in the humanoid.
209
Disable_Animate = true --Disables the Animate script in the character.
210
Disable_Moving_Arms = false --Keeps the arms from moving around.
211
Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
212
Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
213
Disable_Jump = false --Disables jumping.
214
Use_HopperBin = true --Uses a hopperbin to do things.
215
216
Cooldown_1 = 0 --Cooldowns for abilites.
217
Cooldown_2 = 0
218
Cooldown_3 = 0
219
Cooldown_4 = 0
220
HOLDCHARGE = false
221
Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
222
Skill_2_Mana_Cost = 0
223
Skill_3_Mana_Cost = 0
224
Skill_4_Mana_Cost = 0
225
Max_Mana = 0 --Maximum amount of mana you can have.
226
Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
227
Mana_Name = "Mana" --Name for the mana bar.
228
Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
229
Max_Stun = 1 --Maximum amount of stun you can have.
230
Recover_Mana = 0 --How much mana you gain.
231
Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
232
Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
233
Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
234
Recover_Secondary_Mana = 0 --How much secondary mana you gain.
235
Lose_Stun = 0 --How much stun you lose.
236
Stun_Wait = 0 --Delay between losing stun.
237
Mana_Wait = 0 --Delay between gaining mana.
238
Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
239
Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
240
Constant_Update = false --Removes the delay between updating the Weapon GUI.
241
Show_Stats = false --Hides or shows stats.
242
Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
243
244
--//=================================\\
245
--|| 	  END OF CUSTOMIZATION
246
--\\=================================//
247
248
249
250
251
252
--//=================================\\
253
--|| 	      USEFUL VALUES
254
--\\=================================//
255
256
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
257
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
258
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
259
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
260
local CO1 = 0
261
local CO2 = 0
262
local CO3 = 0
263
local CO4 = 0
264
local CHANGEDEFENSE = 0
265
local CHANGEDAMAGE = 0
266
local CHANGEMOVEMENT = 0
267
local ANIM = "Idle"
268
local ATTACK = false
269
local EQUIPPED = false
270
local HOLD = false
271
local COMBO = 1
272
local LASTPOINT = nil
273
local BLCF = nil
274
local SCFR = nil
275
local STAGGERHITANIM = false
276
local STAGGERANIM = false
277
local STUNANIM = false
278
local CRITCHANCENUMBER = 0
279
local IDLENUMBER = 0
280
local DONUMBER = 0
281
local HANDIDLE = false
282
local SINE = 0
283
local CHANGE = 2 / Animation_Speed
284
local WALKINGANIM = false
285
local WALK = 0
286
local DISABLEJUMPING = false
287
local HASBEENBLOCKED = false
288
local STUNDELAYNUMBER = 0
289
local MANADELAYNUMBER = 0
290
local SECONDARYMANADELAYNUMBER = 0
291
local ROBLOXIDLEANIMATION = IT("Animation")
292
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
293
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
294
--ROBLOXIDLEANIMATION.Parent = Humanoid
295
local WEAPONGUI = IT("ScreenGui", nil)
296
WEAPONGUI.Name = "Weapon GUI"
297
local WEAPONTOOL = IT("HopperBin", nil)
298
WEAPONTOOL.Name = Weapon_Name
299
local Weapon = IT("Model")
300
Weapon.Name = Weapon_Name
301
local Effects = IT("Folder", Weapon)
302
Effects.Name = "Effects"
303
local ANIMATOR = Humanoid.Animator
304
local ANIMATE = Character.Animate
305
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
306
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
307
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
308
local HITBLOCKSOUNDS = {"199148933", "199148947"}
309
310
--//=================================\\
311
--\\=================================//
312
313
314
315
316
317
--//=================================\\
318
--||			  STATS
319
--\\=================================//
320
321
if Character:FindFirstChild("Stats") ~= nil then
322
Character:FindFirstChild("Stats").Parent = nil
323
end
324
325
local Stats = IT("Folder", nil)
326
Stats.Name = "Stats"
327
local ChangeStat = IT("Folder", Stats)
328
ChangeStat.Name = "ChangeStat"
329
local Defense = IT("NumberValue", Stats)
330
Defense.Name = "Defense"
331
Defense.Value = 1
332
local Movement = IT("NumberValue", Stats)
333
Movement.Name = "Movement"
334
Movement.Value = 1
335
local Damage = IT("NumberValue", Stats)
336
Damage.Name = "Damage"
337
Damage.Value = 1
338
local Mana = IT("NumberValue", Stats)
339
Mana.Name = "Mana"
340
Mana.Value = 0
341
local SecondaryMana = IT("NumberValue", Stats)
342
SecondaryMana.Name = "SecondaryMana"
343
SecondaryMana.Value = 0
344
local CanCrit = IT("BoolValue", Stats)
345
CanCrit.Name = "CanCrit"
346
CanCrit.Value = false
347
local CritChance = IT("NumberValue", Stats)
348
CritChance.Name = "CritChance"
349
CritChance.Value = 20
350
local CanPenetrateArmor = IT("BoolValue", Stats)
351
CanPenetrateArmor.Name = "CanPenetrateArmor"
352
CanPenetrateArmor.Value = false
353
local AntiTeamKill = IT("BoolValue", Stats)
354
AntiTeamKill.Name = "AntiTeamKill"
355
AntiTeamKill.Value = false
356
local Rooted = IT("BoolValue", Stats)
357
Rooted.Name = "Rooted"
358
Rooted.Value = false
359
local Block = IT("BoolValue", Stats)
360
Block.Name = "Block"
361
Block.Value = false
362
local RecentEnemy = IT("ObjectValue", Stats)
363
RecentEnemy.Name = "RecentEnemy"
364
RecentEnemy.Value = nil
365
local StaggerHit = IT("BoolValue", Stats)
366
StaggerHit.Name = "StaggerHit"
367
StaggerHit.Value = false
368
local Stagger = IT("BoolValue", Stats)
369
Stagger.Name = "Stagger"
370
Stagger.Value = false
371
local Stun = IT("BoolValue", Stats)
372
Stun.Name = "Stun"
373
Stun.Value = false
374
local StunValue = IT("NumberValue", Stats)
375
StunValue.Name = "StunValue"
376
StunValue.Value = 0
377
378
if Enable_Stats == true and Put_Stats_In_Character == true then
379
	Stats.Parent = Character
380
end
381
382
--//=================================\\
383
--\\=================================//
384
385
386
387
388
389
--//=================================\\
390
--|| 	     DEBUFFS / BUFFS
391
--\\=================================//
392
393
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
394
DEFENSECHANGE1.Name = "ChangeDefense"
395
DEFENSECHANGE1.Value = 0
396
397
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
398
MOVEMENTCHANGE1.Name = "ChangeMovement"
399
MOVEMENTCHANGE1.Value = 0
400
401
--//=================================\\
402
--\\=================================//
403
404
405
406
407
408
--//=================================\\
409
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
410
--\\=================================//
411
412
ArtificialHB = Instance.new("BindableEvent", script)
413
ArtificialHB.Name = "ArtificialHB"
414
415
script:WaitForChild("ArtificialHB")
416
417
frame = Frame_Speed
418
tf = 0
419
allowframeloss = false
420
tossremainder = false
421
lastframe = tick()
422
script.ArtificialHB:Fire()
423
424
game:GetService("RunService").Heartbeat:connect(function(s, p)
425
	tf = tf + s
426
	if tf >= frame then
427
		if allowframeloss then
428
			script.ArtificialHB:Fire()
429
			lastframe = tick()
430
		else
431
			for i = 1, math.floor(tf / frame) do
432
				script.ArtificialHB:Fire()
433
			end
434
		lastframe = tick()
435
		end
436
		if tossremainder then
437
			tf = 0
438
		else
439
			tf = tf - frame * math.floor(tf / frame)
440
		end
441
	end
442
end)
443
444
--//=================================\\
445
--\\=================================//
446
447
448
449
450
451
--//=================================\\
452
--|| 	      SOME FUNCTIONS
453
--\\=================================//
454
455
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
456
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
457
end
458
459
function PositiveAngle(NUMBER)
460
	if NUMBER >= 0 then
461
		NUMBER = 0
462
	end
463
	return NUMBER
464
end
465
466
function NegativeAngle(NUMBER)
467
	if NUMBER <= 0 then
468
		NUMBER = 0
469
	end
470
	return NUMBER
471
end
472
473
function Swait(NUMBER)
474
	if NUMBER == 0 or NUMBER == nil then
475
		ArtificialHB.Event:wait()
476
	else
477
		for i = 1, NUMBER do
478
			ArtificialHB.Event:wait()
479
		end
480
	end
481
end
482
483
function QuaternionFromCFrame(cf)
484
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
485
	local trace = m00 + m11 + m22
486
	if trace > 0 then 
487
		local s = math.sqrt(1 + trace)
488
		local recip = 0.5 / s
489
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
490
	else
491
		local i = 0
492
		if m11 > m00 then
493
			i = 1
494
		end
495
		if m22 > (i == 0 and m00 or m11) then
496
			i = 2
497
		end
498
		if i == 0 then
499
			local s = math.sqrt(m00 - m11 - m22 + 1)
500
			local recip = 0.5 / s
501
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
502
		elseif i == 1 then
503
			local s = math.sqrt(m11 - m22 - m00 + 1)
504
			local recip = 0.5 / s
505
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
506
		elseif i == 2 then
507
			local s = math.sqrt(m22 - m00 - m11 + 1)
508
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
509
		end
510
	end
511
end
512
 
513
function QuaternionToCFrame(px, py, pz, x, y, z, w)
514
	local xs, ys, zs = x + x, y + y, z + z
515
	local wx, wy, wz = w * xs, w * ys, w * zs
516
	local xx = x * xs
517
	local xy = x * ys
518
	local xz = x * zs
519
	local yy = y * ys
520
	local yz = y * zs
521
	local zz = z * zs
522
	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))
523
end
524
 
525
function QuaternionSlerp(a, b, t)
526
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
527
	local startInterp, finishInterp;
528
	if cosTheta >= 0.0001 then
529
		if (1 - cosTheta) > 0.0001 then
530
			local theta = ACOS(cosTheta)
531
			local invSinTheta = 1 / SIN(theta)
532
			startInterp = SIN((1 - t) * theta) * invSinTheta
533
			finishInterp = SIN(t * theta) * invSinTheta
534
		else
535
			startInterp = 1 - t
536
			finishInterp = t
537
		end
538
	else
539
		if (1 + cosTheta) > 0.0001 then
540
			local theta = ACOS(-cosTheta)
541
			local invSinTheta = 1 / SIN(theta)
542
			startInterp = SIN((t - 1) * theta) * invSinTheta
543
			finishInterp = SIN(t * theta) * invSinTheta
544
		else
545
			startInterp = t - 1
546
			finishInterp = t
547
		end
548
	end
549
	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
550
end
551
552
function Clerp(a, b, t)
553
	local qa = {QuaternionFromCFrame(a)}
554
	local qb = {QuaternionFromCFrame(b)}
555
	local ax, ay, az = a.x, a.y, a.z
556
	local bx, by, bz = b.x, b.y, b.z
557
	local _t = 1 - t
558
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
559
end
560
561
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
562
	local frame = IT("Frame")
563
	frame.BackgroundTransparency = TRANSPARENCY
564
	frame.BorderSizePixel = BORDERSIZEPIXEL
565
	frame.Position = POSITION
566
	frame.Size = SIZE
567
	frame.BackgroundColor3 = COLOR
568
	frame.BorderColor3 = BORDERCOLOR
569
	frame.Name = NAME
570
	frame.Parent = PARENT
571
	return frame
572
end
573
574
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
575
	local label = IT("TextLabel")
576
	label.BackgroundTransparency = 1
577
	label.Size = UD2(1, 0, 1, 0)
578
	label.Position = UD2(0, 0, 0, 0)
579
	label.TextColor3 = C3(255, 255, 255)
580
	label.TextStrokeTransparency = STROKETRANSPARENCY
581
	label.TextTransparency = TRANSPARENCY
582
	label.FontSize = TEXTFONTSIZE
583
	label.Font = TEXTFONT
584
	label.BorderSizePixel = BORDERSIZEPIXEL
585
	label.TextScaled = true
586
	label.Text = TEXT
587
	label.Name = NAME
588
	label.Parent = PARENT
589
	return label
590
end
591
592
function NoOutlines(PART)
593
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
594
end
595
596
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
597
	local NEWPART = IT("Part")
598
	NEWPART.formFactor = FORMFACTOR
599
	NEWPART.Reflectance = REFLECTANCE
600
	NEWPART.Transparency = TRANSPARENCY
601
	NEWPART.CanCollide = false
602
	NEWPART.Locked = true
603
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
604
	NEWPART.Name = NAME
605
	NEWPART.Size = SIZE
606
	NEWPART.Position = Torso.Position
607
	NoOutlines(NEWPART)
608
	NEWPART.Material = MATERIAL
609
	NEWPART:BreakJoints()
610
	NEWPART.Parent = PARENT
611
	return NEWPART
612
end
613
614
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
615
	local NEWMESH = IT(MESH)
616
	if MESH == "SpecialMesh" then
617
		NEWMESH.MeshType = MESHTYPE
618
		if MESHID ~= "nil" and MESHID ~= "" then
619
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
620
		end
621
		if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
622
			NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
623
		end
624
	end
625
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
626
	NEWMESH.Scale = SCALE
627
	NEWMESH.Parent = PARENT
628
	return NEWMESH
629
end
630
631
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
632
	local NEWWELD = IT(TYPE)
633
	NEWWELD.Part0 = PART0
634
	NEWWELD.Part1 = PART1
635
	NEWWELD.C0 = C0
636
	NEWWELD.C1 = C1
637
	NEWWELD.Parent = PARENT
638
	return NEWWELD
639
end
640
641
function CreateSound(ID, PARENT, VOLUME, PITCH)
642
	coroutine.resume(coroutine.create(function()
643
		local NEWSOUND = IT("Sound", PARENT)
644
		NEWSOUND.Volume = VOLUME
645
		NEWSOUND.Pitch = PITCH
646
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
647
		Swait()
648
		NEWSOUND:play()
649
		game:GetService("Debris"):AddItem(NEWSOUND, 10)
650
	end))
651
end
652
653
function CFrameFromTopBack(at, top, back)
654
	local right = top:Cross(back)
655
	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)
656
end
657
658
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
659
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
660
	local CURRENTPOSITION = POSITION1
661
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
662
	coroutine.resume(coroutine.create(function()
663
		for i = 1, MULTIPLIERTIME do 
664
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
665
			LIGHTNINGPART.Anchored = true
666
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
667
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
668
			if MULTIPLIERTIME == i then 
669
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
670
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
671
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
672
			else
673
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
674
			end
675
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
676
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
677
			coroutine.resume(coroutine.create(function()
678
				while LIGHTNINGPART.Transparency ~= 1 do
679
					--local StartTransparency = tra
680
					for i=0, 1, LASTINGTIME do
681
						Swait()
682
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
683
					end
684
				end
685
			end))
686
		Swait(LIGHTNINGDELAY / Animation_Speed)
687
		end
688
	end))
689
end
690
691
function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
692
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
693
	EFFECTPART.Anchored = true
694
	EFFECTPART.CFrame = CFRAME
695
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
696
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
697
	coroutine.resume(coroutine.create(function(PART, MESH)
698
		for i = 0, 1, delay do
699
			Swait()
700
			PART.CFrame = PART.CFrame * ROTATION
701
			PART.Transparency = i
702
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
703
		end
704
		PART.Parent = nil
705
	end), EFFECTPART, EFFECTMESH)
706
end
707
708
function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
709
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
710
	EFFECTPART.Anchored = true
711
	EFFECTPART.CFrame = CFRAME
712
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
713
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
714
	coroutine.resume(coroutine.create(function(PART, MESH)
715
		for i = 0, 1, delay do
716
			Swait()
717
			PART.CFrame = PART.CFrame * ROTATION
718
			PART.Transparency = i
719
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
720
		end
721
		PART.Parent = nil
722
	end), EFFECTPART, EFFECTMESH)
723
end
724
725
function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
726
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
727
	EFFECTPART.Anchored = true
728
	EFFECTPART.CFrame = CFRAME
729
	local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
730
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
731
	coroutine.resume(coroutine.create(function(PART, MESH)
732
		for i = 0, 1, delay do
733
			Swait()
734
			PART.CFrame = PART.CFrame * ROTATION
735
			PART.Transparency = i
736
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
737
		end
738
		PART.Parent = nil
739
	end), EFFECTPART, EFFECTMESH)
740
end
741
742
function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
743
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
744
	EFFECTPART.Anchored = true
745
	EFFECTPART.CFrame = CFRAME
746
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
747
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
748
	coroutine.resume(coroutine.create(function(PART, MESH)
749
		for i = 0, 1, delay do
750
			Swait()
751
			PART.CFrame = PART.CFrame * ROTATION
752
			PART.Transparency = i
753
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
754
		end
755
		PART.Parent = nil
756
	end), EFFECTPART, EFFECTMESH)
757
end
758
759
function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
760
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
761
	EFFECTPART.Anchored = true
762
	EFFECTPART.CFrame = CFRAME
763
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
764
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
765
	coroutine.resume(coroutine.create(function(PART, MESH)
766
		for i = 0, 1, delay do
767
			Swait()
768
			PART.CFrame = PART.CFrame * ROTATION
769
			PART.Transparency = i
770
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
771
		end
772
		PART.Parent = nil
773
	end), EFFECTPART, EFFECTMESH)
774
end
775
776
function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
777
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
778
	EFFECTPART.Anchored = true
779
	EFFECTPART.CFrame = CFRAME
780
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "20329976", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), VT(0, 0, (-0.1 * Z1)) + (OFFSET * Player_Size))
781
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
782
	coroutine.resume(coroutine.create(function(PART, MESH)
783
		for i = 0, 1, delay do
784
			Swait()
785
			PART.CFrame = PART.CFrame * ROTATION
786
			PART.Transparency = i
787
			MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
788
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
789
		end
790
		PART.Parent = nil
791
	end), EFFECTPART, EFFECTMESH)
792
end
793
794
function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
795
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
796
	EFFECTPART.Anchored = true
797
	EFFECTPART.CFrame = CFRAME
798
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
799
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
800
	coroutine.resume(coroutine.create(function(PART, MESH)
801
		for i = 0, 1, delay do
802
			Swait()
803
			PART.CFrame = PART.CFrame * ROTATION
804
			PART.Transparency = i
805
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
806
		end
807
		PART.Parent = nil
808
	end), EFFECTPART, EFFECTMESH)
809
end
810
811
function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
812
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
813
	EFFECTPART.Anchored = true
814
	EFFECTPART.CFrame = CFRAME
815
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
816
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
817
	coroutine.resume(coroutine.create(function(PART, MESH)
818
		for i = 0, 1, delay do
819
			Swait()
820
			PART.CFrame = PART.CFrame * ROTATION
821
			PART.Transparency = i
822
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
823
		end
824
		PART.Parent = nil
825
	end), EFFECTPART, EFFECTMESH)
826
end
827
828
function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
829
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
830
	EFFECTPART.Anchored = true
831
	EFFECTPART.CFrame = CFRAME
832
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
833
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
834
	coroutine.resume(coroutine.create(function(PART, MESH)
835
		for i = 0, 1, delay do
836
			Swait()
837
			PART.CFrame = PART.CFrame * ROTATION
838
			PART.Transparency = i
839
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
840
		end
841
		PART.Parent = nil
842
	end), EFFECTPART, EFFECTMESH)
843
end
844
845
function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
846
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
847
	EFFECTPART.Anchored = true
848
	EFFECTPART.CFrame = CFRAME
849
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
850
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
851
	coroutine.resume(coroutine.create(function(PART, MESH)
852
		for i = 0, 1, delay do
853
			Swait()
854
			PART.CFrame = PART.CFrame * ROTATION
855
			PART.Transparency = i
856
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
857
		end
858
		PART.Parent = nil
859
	end), EFFECTPART, EFFECTMESH)
860
end
861
862
function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
863
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
864
	EFFECTPART.Anchored = true
865
	EFFECTPART.CFrame = CFRAME
866
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
867
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
868
	coroutine.resume(coroutine.create(function(PART, MESH)
869
		for i = 0, 1, delay do
870
			Swait()
871
			PART.CFrame = PART.CFrame * ROTATION
872
			PART.Transparency = i
873
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
874
		end
875
		PART.Parent = nil
876
	end), EFFECTPART, EFFECTMESH)
877
end
878
879
function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
880
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
881
	EFFECTPART.Anchored = true
882
	EFFECTPART.CFrame = CFRAME
883
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
884
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
885
	coroutine.resume(coroutine.create(function(PART, MESH)
886
		for i = 0, 1, delay do
887
			Swait()
888
			PART.CFrame = PART.CFrame * ROTATION
889
			PART.Transparency = i
890
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
891
		end
892
		PART.Parent = nil
893
	end), EFFECTPART, EFFECTMESH)
894
end
895
896
function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
897
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
898
	EFFECTPART.Anchored = true
899
	EFFECTPART.CFrame = CFRAME
900
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
901
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
902
	coroutine.resume(coroutine.create(function(PART, MESH)
903
		for i = 0, 1, delay do
904
			Swait()
905
			PART.CFrame = PART.CFrame * ROTATION
906
			PART.Transparency = i
907
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
908
		end
909
		PART.Parent = nil
910
	end), EFFECTPART, EFFECTMESH)
911
end
912
913
function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
914
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
915
	EFFECTPART.Anchored = true
916
	EFFECTPART.CFrame = CFRAME
917
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
918
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
919
	local XVALUE = MRANDOM()
920
	local YVALUE = MRANDOM()
921
	local ZVALUE = MRANDOM()
922
	coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
923
		for i = 0, 1, delay do
924
			Swait()
925
			PART.CFrame = PART.CFrame * ROTATION
926
			PART.Transparency = i
927
			THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
928
			THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
929
			THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
930
			MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
931
		end
932
		PART.Parent = nil
933
	end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
934
end
935
936
function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
937
	local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
938
	if MAGNITUDECFRAME > (1 / 100) then
939
		local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
940
		EFFECTPART.Anchored = true
941
		EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
942
		local THEMESHTYPE = "BlockMesh"
943
		if MESHTYPE == "Cylinder" then
944
			THEMESHTYPE = "CylinderMesh"
945
		end
946
		local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
947
		game:GetService("Debris"):AddItem(EFFECTPART, 10)
948
		coroutine.resume(coroutine.create(function(PART, MESH)
949
			for i = 0, 1, delay do
950
				Swait()
951
				PART.CFrame = PART.CFrame * ROTATION
952
				PART.Transparency = i
953
				MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
954
			end
955
			PART.Parent = nil
956
		end), EFFECTPART, EFFECTMESH)
957
	end
958
end
959
960
function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
961
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
962
	EFFECTPART.Anchored = true
963
	EFFECTPART.CFrame = CFRAME
964
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
965
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
966
	local THELASTPOINT = CFRAME
967
	coroutine.resume(coroutine.create(function(PART)
968
		for i = 1, DURATION do
969
			Swait()
970
			PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
971
			TrailEffect(BRICKCOLOR, MATERIAL, PART.CFrame, THELASTPOINT, "Cylinder", REFLECTANCE, SIZE * Player_Size, ANGLES(0, 0, 0), X * Player_Size, Y * Player_Size, Z * Player_Size, delay)
972
			THELASTPOINT = PART.CFrame
973
		end
974
		PART.Parent = nil
975
	end), EFFECTPART)
976
end
977
978
--local list={}
979
function Triangle(Color, Material, a, b, c, delay)
980
	local edge1 = (c - a):Dot((b - a).unit)
981
	local edge2 = (a - b):Dot((c - b).unit)
982
	local edge3 = (b - c):Dot((a - c).unit)
983
	if edge1 <= (b - a).magnitude and edge1 >= 0 then
984
		a, b, c=a, b, c
985
	elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
986
		a, b, c=b, c, a
987
	elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
988
		a, b, c=c, a, b
989
	else
990
		assert(false, "unreachable")
991
	end
992
	local len1 = (c - a):Dot((b - a).unit)
993
	local len2 = (b - a).magnitude - len1
994
	local width = (a + (b - a).unit * len1 - c).magnitude
995
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
996
	if len1 > 1 / 100 then
997
		local sz = VT(0.2, width, len1)
998
		local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
999
		local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
1000
		w1.Anchored = true
1001
		w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
1002
		coroutine.resume(coroutine.create(function()
1003
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1004
				Swait()
1005
				w1.Transparency = i
1006
			end
1007
			w1.Parent = nil
1008
		end))
1009
		game:GetService("Debris"):AddItem(w1, 10)
1010
		--table.insert(list, w1)
1011
	end
1012
	if len2 > 1 / 100 then
1013
		local sz = VT(0.2, width, len2)
1014
		local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1015
		local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
1016
		w2.Anchored = true
1017
		w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
1018
		coroutine.resume(coroutine.create(function()
1019
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1020
				Swait()
1021
				w2.Transparency = i
1022
			end
1023
			w2.Parent = nil
1024
		end))
1025
		game:GetService("Debris"):AddItem(w2, 10)
1026
		--table.insert(list, w2)
1027
	end
1028
	--return unpack(list)
1029
end
1030
1031
--[[Usage:
1032
	local Pos = Part
1033
	local Offset = Part.CFrame * CF(0, 0, 0)
1034
	local Color = "Institutional white"
1035
	local Material = "Neon"
1036
	local TheDelay = 0.01
1037
	local Height = 4
1038
	BLCF = Offset
1039
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
1040
		local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
1041
		if a then game:GetService("Debris"):AddItem(a, 1) end
1042
		if b then game:GetService("Debris"):AddItem(b, 1) end
1043
		local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
1044
		if a then game:GetService("Debris"):AddItem(a, 1) end
1045
		if b then game:GetService("Debris"):AddItem(b, 1) end
1046
		SCFR = BLCF
1047
	elseif not SCFR then
1048
		SCFR = BLCF
1049
	end
1050
--
1051
BLCF = nil
1052
SCFR = nil
1053
--]]
1054
1055
--//=================================\\
1056
--\\=================================//
1057
1058
1059
1060
1061
1062
--//=================================\\
1063
--||	      RESIZE PLAYER
1064
--\\=================================//
1065
1066
if Player_Size ~= 1 then
1067
RootPart.Size = RootPart.Size * Player_Size
1068
Torso.Size = Torso.Size * Player_Size
1069
Head.Size = Head.Size * Player_Size
1070
RightArm.Size = RightArm.Size * Player_Size
1071
LeftArm.Size = LeftArm.Size * Player_Size
1072
RightLeg.Size = RightLeg.Size * Player_Size
1073
LeftLeg.Size = LeftLeg.Size * Player_Size
1074
RootJoint.Parent = RootPart
1075
Neck.Parent = Torso
1076
RightShoulder.Parent = Torso
1077
LeftShoulder.Parent = Torso
1078
RightHip.Parent = Torso
1079
LeftHip.Parent = Torso
1080
	
1081
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1082
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1083
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1084
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
1085
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
1086
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
1087
	if Disable_Moving_Arms == false then
1088
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1089
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1090
	else
1091
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1092
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1093
	end
1094
	RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1095
	LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1096
	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))
1097
	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))
1098
end
1099
1100
1101
--//=================================\\
1102
--\\=================================//
1103
1104
1105
1106
1107
1108
--//=================================\\
1109
--||	     WEAPON CREATION
1110
--\\=================================//
1111
1112
local HandlePart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Handle", VT(0, 0, 0))
1113
local HandleMesh = CreateMesh("SpecialMesh", HandlePart, "FileMesh", "93117521", "1015990846", VT(0.7,0.8,0.7), VT(0, 3.1 * Player_Size, 0))
1114
local HandleWeld = CreateWeldOrSnapOrMotor("Weld", HandlePart, Torso, HandlePart, CF(2 * Player_Size, 2 * Player_Size, 0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135)), CF(0, 0, 0))
1115
1116
local HitboxPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Hitbox", VT(0, 0, 0))
1117
local HitboxWeld = CreateWeldOrSnapOrMotor("Weld", HitboxPart, HandlePart, HitboxPart, CF(0 * Player_Size, 4 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
1118
1119
local EffectPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Effect Part", VT(0, 0, 0))
1120
local EffectWeld = CreateWeldOrSnapOrMotor("Weld", EffectPart, HandlePart, EffectPart, CF(0 * Player_Size, 7 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
1121
1122
if Player_Size ~= 1 then
1123
	for _, v in pairs (Weapon:GetChildren()) do
1124
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
1125
			local p1 = v.Part1
1126
			v.Part1 = nil
1127
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
1128
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
1129
			v.Part1 = p1
1130
		elseif v.ClassName == "Part" then
1131
			for _, b in pairs (v:GetChildren()) do
1132
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
1133
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
1134
				end
1135
			end
1136
		end
1137
	end
1138
end
1139
1140
for _, c in pairs(Weapon:GetChildren()) do
1141
	if c.ClassName == "Part" then
1142
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1143
	end
1144
end
1145
1146
if Start_Equipped == true and Start_Equipped_With_Equipped_Animation == false then
1147
	HandleWeld.Part0 = RightArm
1148
	HandleWeld.C0 = CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1149
end
1150
1151
Weapon.Parent = Character
1152
1153
Humanoid.Died:connect(function()
1154
	ATTACK = true
1155
end)
1156
1157
print(Class_Name.." loaded.")
1158
1159
--//=================================\\
1160
--\\=================================//
1161
1162
1163
1164
1165
1166
--//=================================\\
1167
--||	     DAMAGE FUNCTIONS
1168
--\\=================================//
1169
1170
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1171
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1172
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1173
	local BODYGYRO = IT("BodyGyro", STATPART)
1174
	local BODYPOSITION = IT("BodyPosition", STATPART)
1175
	BODYPOSITION.P = 2000
1176
	BODYPOSITION.D = 100
1177
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1178
	if LABELTYPE == "Normal" then
1179
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1180
	elseif LABELTYPE == "Debuff" then
1181
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1182
	elseif LABELTYPE == "Interruption" then
1183
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1184
	end
1185
	game:GetService("Debris"):AddItem(STATPART ,5)
1186
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1187
	BILLBOARDGUI.Adornee = STATPART
1188
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1189
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1190
	BILLBOARDGUI.AlwaysOnTop = false
1191
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1192
	TEXTLABEL.BackgroundTransparency = 1
1193
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1194
	TEXTLABEL.Text = TEXT
1195
	TEXTLABEL.Font = "SourceSans"
1196
	TEXTLABEL.FontSize="Size42"
1197
	TEXTLABEL.TextColor3 = COLOR
1198
	TEXTLABEL.TextStrokeTransparency = 0
1199
	TEXTLABEL.TextScaled = true
1200
	TEXTLABEL.TextWrapped = true
1201
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1202
		wait(0.2)
1203
		for i=1, 5 do
1204
			wait()
1205
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1206
		end
1207
		wait(1.2)
1208
		for i=1, 5 do
1209
			wait()
1210
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1211
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1212
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1213
		end
1214
		THEPART.Parent = nil
1215
	end),STATPART, BODYPOSITION, TEXTLABEL)
1216
end
1217
1218
function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
1219
	if LOCATION:FindFirstChild("Stats") ~= nil then
1220
		if LOCATION.Stats:FindFirstChild("Block") ~= nil then
1221
			if LOCATION.Stats:FindFirstChild("Block").Value == true then
1222
				return
1223
			end
1224
		end
1225
		if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
1226
			local NewStatChange = IT("NumberValue")
1227
			NewStatChange.Value = AMOUNT
1228
			if STAT == "Defense" then
1229
				NewStatChange.Name = "ChangeDefense"
1230
			elseif STAT == "Damage" then
1231
				NewStatChange.Name = "ChangeDamage"
1232
			elseif STAT == "Movement" then
1233
				NewStatChange.Name = "ChangeMovement"
1234
			end
1235
			if SHOWTHESTAT == true then
1236
				if AMOUNT < 0 then
1237
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
1238
				elseif AMOUNT > 0 then
1239
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
1240
				end
1241
			end
1242
			if DURATION ~= nil and DURATION ~= 0 then
1243
				local StatDuration = IT("NumberValue")
1244
				StatDuration.Name = "Duration"
1245
				StatDuration.Value = DURATION
1246
				StatDuration.Parent = NewStatChange
1247
			end
1248
			NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
1249
		end
1250
	end
1251
end
1252
1253
--Usage: DamageFunction(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, hit, false, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
1254
function DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1255
	if HIT.Parent == nil then
1256
		return
1257
	end
1258
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
1259
	for _, v in pairs(HIT.Parent:GetChildren()) do
1260
		if v:IsA("Humanoid") then
1261
			HITHUMANOID = v
1262
            HITHUMANOID.MaxHealth = 100
1263
            if HITHUMANOID.Health > 100 then
1264
            HITHUMANOID.Health = 100
1265
            end
1266
		end
1267
	end
1268
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
1269
		StaggerHit.Value = true
1270
		if Play_Hitbox_Hit_Sound == true then
1271
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
1272
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
1273
			end
1274
		end
1275
		return
1276
	end
1277
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
1278
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
1279
	end
1280
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
1281
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
1282
	end
1283
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
1284
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
1285
			if HIT.Parent.DebounceHit.Value == true then
1286
				return
1287
			end
1288
		end
1289
		if AntiTeamKill.Value == true then
1290
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
1291
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
1292
					return
1293
				end
1294
			end
1295
		end
1296
		if HITEVENWHENDEAD == false then
1297
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
1298
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
1299
					return
1300
				end
1301
			end
1302
		end
1303
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1304
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
1305
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
1306
			end
1307
		end
1308
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1309
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
1310
				if STAGGER == true and Enable_Stagger == true then
1311
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
1312
				end
1313
			end
1314
		end
1315
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1316
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
1317
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
1318
					HASBEENBLOCKED = true
1319
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
1320
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
1321
						if RANGED ~= true then
1322
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
1323
								CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
1324
							end
1325
						end
1326
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
1327
						BlockDebounce.Name = "BlockDebounce"
1328
						BlockDebounce.Value = true
1329
						if RANGED ~= true then
1330
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
1331
						else
1332
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
1333
						end
1334
					end
1335
					if RANGED ~= true and Enable_Stagger == true then
1336
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
1337
						Stagger.Value = true
1338
					end
1339
					return
1340
				end
1341
			end
1342
		end
1343
		if DECREASETHESTAT ~= nil then
1344
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
1345
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1346
			end
1347
		end
1348
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
1349
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1350
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
1351
				if CanPenetrateArmor.Value == true then
1352
					DAMAGE = DAMAGE
1353
				else
1354
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
1355
				end
1356
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
1357
				DAMAGE = DAMAGE
1358
			end
1359
		end
1360
		if CanCrit.Value == true then
1361
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
1362
			if CRITCHANCENUMBER == 1 then
1363
				DAMAGE = DAMAGE * 2
1364
			end
1365
		end
1366
		DAMAGE = math.floor(DAMAGE)
1367
		if HASBEENBLOCKED == false then
1368
		end
1369
		if DAMAGE <= 3 and HASBEENBLOCKED == false then
1370
			if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
1371
				StaggerHit.Value = true
1372
			end
1373
			if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
1374
				CreateSound(HITARMORSOUND, HIT, 1, HITARMORSOUNDPITCH)
1375
			end
1376
		elseif DAMAGE == 100 then
1377
               HITHUMANOID.Health = 0
1378
               HIT.Parent.Torso.Anchored = false
1379
		elseif DAMAGE == 101 then
1380
               HIT.Parent.Torso.Anchored = true
1381
		elseif DAMAGE > 3 then
1382
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1383
			if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
1384
				CreateSound(HITPLAYERSOUND, HIT, 1, HITPLAYERSOUNDPITCH)
1385
			end
1386
		end
1387
		if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
1388
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1389
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1390
				CreateSound("296102734", HIT, 1, 1)
1391
			else
1392
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
1393
			end
1394
		elseif DAMAGE >= 20 and HASBEENBLOCKED == false and DAMAGE < 100 then
1395
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1396
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1397
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1398
				CreateSound("296102734", HIT, 1, 1)
1399
			else
1400
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
1401
			end
1402
		elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
1403
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1404
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1405
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
1406
				CreateSound("296102734", HIT, 1, 1)
1407
			else
1408
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(225/255, 225/255, 225/255))
1409
			end
1410
		end
1411
		if TYPE == "Normal" then
1412
			local vp = IT("BodyVelocity")
1413
			vp.P=500
1414
			vp.maxForce = VT(math.huge, 0, math.huge)
1415
			if KNOCKBACKTYPE == 1 then
1416
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
1417
			elseif KNOCKBACKTYPE == 2 then
1418
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
1419
			end
1420
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
1421
				vp.Parent = HIT--.Parent.Torso
1422
			end
1423
			game:GetService("Debris"):AddItem(vp, 0.5)
1424
		end
1425
		HASBEENBLOCKED = false
1426
		RecentEnemy.Value = HIT.Parent
1427
		local DebounceHit = IT("BoolValue", HIT.Parent)
1428
		DebounceHit.Name = "DebounceHit"
1429
		DebounceHit.Value = true
1430
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
1431
	end
1432
end
1433
1434
--Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
1435
function MagnitudeDamage(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
1436
	for _, c in pairs(workspace:GetChildren()) do
1437
		local HUMANOID = c:FindFirstChild("Humanoid")
1438
		local HEAD = nil
1439
		if HUMANOID ~= nil then
1440
			for _, d in pairs(c:GetChildren()) do
1441
				if d.ClassName == "Model" and RANGED ~= true then
1442
					HEAD = d:FindFirstChild("Hitbox")
1443
					if HEAD ~= nil then
1444
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
1445
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1446
							if Play_Hitbox_Hit_Sound == true then
1447
								local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
1448
								HitRefpart.Anchored = true
1449
								HitRefpart.CFrame = CF(HEAD.Position)
1450
								CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
1451
							end
1452
							if Enable_Stagger_Hit == true then
1453
								StaggerHit.Value = true
1454
							end
1455
						end
1456
					end
1457
				elseif d:IsA"BasePart" then
1458
					HEAD = d
1459
					if HEAD ~= nil then
1460
						local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
1461
						if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1462
							DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
1463
						end
1464
					end
1465
				end
1466
			end
1467
		end
1468
	end
1469
end
1470
1471
--Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
1472
function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
1473
	if Player.Neutral == true then
1474
		IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1475
	end
1476
	for _, c in pairs(workspace:GetChildren()) do
1477
		local HUMANOID = c:FindFirstChild("Humanoid")
1478
		local THEHEAD = nil
1479
		if HUMANOID ~= nil then
1480
			if c:FindFirstChild("Torso") ~= nil then
1481
				THEHEAD = c:FindFirstChild("Torso")
1482
			elseif c:FindFirstChild("UpperTorso") ~= nil then
1483
				THEHEAD = c:FindFirstChild("UpperTorso")
1484
			end
1485
			if THEHEAD ~= nil then
1486
				local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
1487
				print("yes 1")
1488
				if APPLYTOOTHERSINSTEAD == true then
1489
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
1490
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
1491
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
1492
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1493
							end
1494
						end
1495
					end
1496
				elseif APPLYTOOTHERSINSTEAD == false then
1497
					if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
1498
						if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
1499
							if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
1500
								IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
1501
							end
1502
						end
1503
					end
1504
				end
1505
			end
1506
		end
1507
	end
1508
end
1509
1510
--//=================================\\
1511
--\\=================================//
1512
1513
1514
1515
1516
1517
--//=================================\\
1518
--||			WEAPON GUI
1519
--\\=================================//
1520
1521
local MANABAR = CreateFrame(WEAPONGUI, Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_8.r, Custom_Colors.Custom_Color_8.g, Custom_Colors.Custom_Color_8.b), C3(0, 0, 0),"Mana Bar") 
1522
local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_5.r, Custom_Colors.Custom_Color_5.g, Custom_Colors.Custom_Color_5.b), C3(0, 0, 0),"Mana Cover")
1523
local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
1524
1525
local HEALTHBAR = CreateFrame(WEAPONGUI, Health_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_11.r, Custom_Colors.Custom_Color_11.g, Custom_Colors.Custom_Color_11.b), C3(0, 0, 0), "Health Bar")
1526
local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 2,UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_6.r, Custom_Colors.Custom_Color_6.g, Custom_Colors.Custom_Color_6.b), C3(0, 0, 0), "Health Cover")
1527
local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
1528
1529
local STUNFRAME = CreateFrame(nil, Stun_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.78, 0),UD2(0.26, 0, 0, 0),C3(Custom_Colors.Custom_Color_10.r, Custom_Colors.Custom_Color_10.g, Custom_Colors.Custom_Color_10.b), C3(0, 0, 0), "Stun Frame")
1530
local STUNBAR = CreateFrame(STUNFRAME, 0, 2, UD2(0, 0, 0, 0),UD2(0, 0, 1, 0),C3(Custom_Colors.Custom_Color_7.r, Custom_Colors.Custom_Color_7.g, Custom_Colors.Custom_Color_7.b), C3(0, 0, 0), "Stun Bar")
1531
local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
1532
1533
local SECONDARYMANABAR = CreateFrame(nil, Secondary_Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.78, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_9.r, Custom_Colors.Custom_Color_9.g, Custom_Colors.Custom_Color_9.b), C3(0, 0, 0),"Secondary Mana Bar") 
1534
local SECONDARYMANACOVER = CreateFrame(SECONDARYMANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0),"Secondary Mana Cover")
1535
local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
1536
1537
local DEFENSEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.23, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 100 / 255, 255 / 255), C3(0, 0, 0),"Defense Frame")
1538
local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
1539
1540
local DAMAGEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.456, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(255 / 255, 100 / 255, 100 / 255), C3(0, 0, 0),"Damage Frame")
1541
local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
1542
1543
local MOVEMENTFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.685, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 255 / 255, 100 / 255), C3(0, 0, 0),"Movement Frame")
1544
local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
1545
1546
local SKILL1FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 1 Frame")
1547
local SKILL2FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 2 Frame")
1548
local SKILL3FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 3 Frame")
1549
local SKILL4FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 4 Frame")
1550
1551
local SKILL1BAR = CreateFrame(SKILL1FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 1 Bar")
1552
local SKILL2BAR = CreateFrame(SKILL2FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 2 Bar")
1553
local SKILL3BAR = CreateFrame(SKILL3FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 3 Bar")
1554
local SKILL4BAR = CreateFrame(SKILL4FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 4 Bar")
1555
1556
local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ability 1", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
1557
local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Ability 2", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
1558
local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
1559
local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
1560
1561
if Enable_Gui == true then
1562
	WEAPONGUI.Parent = PlayerGui
1563
end
1564
1565
if Enable_Stats == true and Show_Stats == true then
1566
	DEFENSEFRAME.Parent = WEAPONGUI
1567
	DAMAGEFRAME.Parent = WEAPONGUI
1568
	MOVEMENTFRAME.Parent = WEAPONGUI
1569
end
1570
1571
if Enable_Secondary_Bar == true then
1572
	SECONDARYMANABAR.Parent = WEAPONGUI
1573
end
1574
1575
if Enable_Abilities == true then
1576
	SKILL1FRAME.Parent = WEAPONGUI
1577
	SKILL2FRAME.Parent = WEAPONGUI
1578
	SKILL3FRAME.Parent = WEAPONGUI
1579
	SKILL4FRAME.Parent = WEAPONGUI
1580
end
1581
1582
if Enable_Stun == true then
1583
	STUNFRAME.Parent = WEAPONGUI
1584
end
1585
1586
function UpdateGUI()
1587
	MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1588
	MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1589
	MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
1590
	HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1591
	HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1592
	HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
1593
	if Enable_Abilities == true then
1594
		SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1595
		SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1596
		SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1597
		SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1598
		SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1599
		SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1600
		SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1601
		SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1602
	end
1603
	if Enable_Stats == true and Show_Stats == true then
1604
		DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1605
		DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
1606
		DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1607
		DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
1608
		MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1609
		MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
1610
	end
1611
	if Enable_Stun == true then
1612
		STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1613
		STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1614
		STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
1615
	end
1616
	if Enable_Secondary_Bar == true then
1617
		SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1618
		SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
1619
		SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
1620
	end
1621
end
1622
1623
if Enable_Gui == true then
1624
	UpdateGUI()
1625
	for _, v in pairs (WEAPONGUI:GetChildren()) do
1626
		if v.ClassName == "Frame" then
1627
			for _, b in pairs (v:GetChildren()) do
1628
				if b.ClassName == "TextLabel" then
1629
					coroutine.resume(coroutine.create(function(THETEXTLABEL)
1630
						wait(Menu_Update_Speed)
1631
						for i = 1, 0, -0.1 do
1632
							Swait()
1633
							THETEXTLABEL.TextTransparency = i
1634
							THETEXTLABEL.TextStrokeTransparency = i
1635
							end
1636
						THETEXTLABEL.TextTransparency = 0
1637
						THETEXTLABEL.TextStrokeTransparency = 0
1638
					end), b)
1639
				end
1640
			end
1641
		end
1642
	end
1643
end
1644
1645
--//=================================\\
1646
--||        ABYSSAL FUNCTIONS
1647
--\\=================================//
1648
1649
function accessblack()
1650
m = Character:GetChildren()
1651
for i = 1, #m do
1652
if m[i].ClassName == "Accessory" then
1653
m[i].Handle.Transparency = 1
1654
end
1655
end
1656
end
1657
1658
function accessnormal()
1659
m = Character:GetChildren()
1660
for i = 1, #m do
1661
if m[i].ClassName == "Accessory" then
1662
m[i].Handle.Transparency = 0
1663
end
1664
end
1665
end
1666
1667
function cloak()
1668
Face.Texture = AFaceID
1669
accessblack()
1670
m = Character:GetChildren()
1671
for i = 1, #m do
1672
if m[i].ClassName == "Part" then
1673
if m[i]:FindFirstChildOfClass("ParticleEmitter") then
1674
m[i].PE.Enabled = true
1675
m[i].Transparency = 1
1676
end
1677
end
1678
end
1679
end
1680
1681
function decloak()
1682
Face.Texture = FaceID
1683
accessnormal()
1684
m = Character:GetChildren()
1685
for i = 1, #m do
1686
if m[i].ClassName == "Part" then
1687
if m[i]:FindFirstChildOfClass("ParticleEmitter") then
1688
m[i].PE.Enabled = false
1689
m[i].Transparency = 0
1690
end
1691
end
1692
end
1693
end
1694
1695
function warpdecloak()
1696
Face.Texture = ""
1697
HandlePart.Transparency = 1
1698
HitboxPart.Transparency = 1
1699
m = Character:GetChildren()
1700
for i = 1, #m do
1701
if m[i].ClassName == "Part" then
1702
if m[i]:FindFirstChildOfClass("ParticleEmitter") then
1703
m[i].PE.Enabled = false
1704
end
1705
end
1706
end
1707
end
1708
1709
--//=================================\\
1710
--||	     SKILL FUNCTIONS
1711
--\\=================================//
1712
1713
function UpdateSkillsAndStuff()
1714
	if Mana_Regen_Mode == "1" then
1715
		if Mana.Value >= Max_Mana then
1716
			Mana.Value = Max_Mana
1717
		elseif Mana.Value < 0 then
1718
			Mana.Value = 0
1719
		else
1720
			if MANADELAYNUMBER <= Mana_Wait then
1721
				MANADELAYNUMBER = MANADELAYNUMBER + 1
1722
			else
1723
				MANADELAYNUMBER = 0
1724
				Mana.Value = Mana.Value + Recover_Mana
1725
			end
1726
		end
1727
	elseif Mana_Regen_Mode == "2" then
1728
		if Mana.Value <= Max_Mana then
1729
			Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
1730
		elseif Mana.Value >= Max_Mana then
1731
			Mana.Value = Max_Mana
1732
		elseif Mana.Value < 0 then
1733
			Mana.Value = 0
1734
		end
1735
	end
1736
	if Enable_Secondary_Bar == true then
1737
		if Secondary_Mana_Regen_Mode == "1" then
1738
			if SecondaryMana.Value >= Max_Secondary_Mana then
1739
				SecondaryMana.Value = Max_Secondary_Mana
1740
			elseif SecondaryMana.Value < 0 then
1741
				SecondaryMana.Value = 0
1742
			else
1743
				if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
1744
					SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + 1
1745
				else
1746
					SECONDARYMANADELAYNUMBER = 0
1747
					SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
1748
				end
1749
			end
1750
		elseif Secondary_Mana_Regen_Mode == "2" then
1751
			if SecondaryMana.Value <= Max_Secondary_Mana then
1752
				SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
1753
			elseif SecondaryMana.Value >= Max_Secondary_Mana then
1754
				SecondaryMana.Value = Max_Secondary_Mana
1755
			elseif SecondaryMana.Value < 0 then
1756
				SecondaryMana.Value = 0
1757
			end
1758
		end
1759
	else
1760
		SecondaryMana.Value = 0
1761
	end
1762
	if Enable_Stun == true then
1763
		if Stun_Lose_Mode == "1" then
1764
			if StunValue.Value > Max_Stun then
1765
				StunValue.Value = Max_Stun
1766
			elseif StunValue.Value <= 0 then
1767
				StunValue.Value = 0
1768
			else
1769
				if STUNDELAYNUMBER <= Stun_Wait then
1770
					STUNDELAYNUMBER = STUNDELAYNUMBER + 1
1771
				else
1772
					STUNDELAYNUMBER = 0
1773
					StunValue.Value = StunValue.Value - Lose_Stun
1774
				end
1775
			end
1776
		elseif Stun_Lose_Mode == "2" then
1777
			if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
1778
				StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
1779
			elseif StunValue.Value > Max_Stun then
1780
				StunValue.Value = Max_Stun
1781
			elseif StunValue.Value <= 0 then
1782
				StunValue.Value = 0
1783
			end
1784
		end
1785
	else
1786
		StunValue.Value = 0
1787
	end
1788
	if Enable_Abilities == true then
1789
		if CO1 <= Cooldown_1 then
1790
			CO1 = CO1 + (1 / 30) / Animation_Speed
1791
		elseif CO1 >= Cooldown_1 then
1792
			CO1 = Cooldown_1
1793
		end
1794
		if CO2 <= Cooldown_2 then
1795
			CO2 = CO2 + (1 / 30) / Animation_Speed
1796
		elseif CO2 >= Cooldown_2 then
1797
			CO2 = Cooldown_2
1798
		end
1799
		if CO3 <= Cooldown_3 then
1800
			CO3 = CO3 + (1 / 30) / Animation_Speed
1801
		elseif CO3 >= Cooldown_3 then
1802
			CO3 = Cooldown_3
1803
		end
1804
		if CO4 <= Cooldown_4 then
1805
			CO4 = CO4 + (1 / 30) / Animation_Speed
1806
		elseif CO4 >= Cooldown_4 then
1807
			CO4 = Cooldown_4
1808
		end
1809
	end
1810
end
1811
1812
--//=================================\\
1813
--\\=================================//
1814
1815
1816
1817
1818
1819
--//=================================\\
1820
--||	ATTACK FUNCTIONS AND STUFF
1821
--\\=================================//
1822
1823
function EquipWeapon()
1824
	--ATTACK = true
1825
	DEFENSECHANGE1.Parent = nil
1826
	MOVEMENTCHANGE1.Parent = ChangeStat
1827
	for i=0, 1, 0.5 / Animation_Speed do
1828
		Swait()
1829
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1830
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1831
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1832
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1833
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1834
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1835
	end
1836
	for i=0, 1, 0.08 / Animation_Speed do
1837
		Swait()
1838
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1839
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1840
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(210), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1841
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1842
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1843
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1844
	end
1845
	HandleWeld.Part0 = RightArm
1846
	HandleWeld.C0 = CF(-0.05 * Player_Size, -1 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(-27), RAD(0), RAD(-19)) * ANGLES(RAD(0), RAD(110), RAD(0))
1847
	CreateSound("174884033", HitboxPart, 1, 1.5)
1848
	for i=0, 1, 0.5 / Animation_Speed do
1849
		Swait()
1850
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1851
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-2.5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
1852
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(80)) * ANGLES(RAD(20), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1853
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1854
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1855
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1856
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-70), RAD(90), RAD(0)), 0.3 / Animation_Speed)
1857
	end
1858
	LASTPOINT = EffectPart.CFrame
1859
	for i=0, 1, 0.08 / Animation_Speed do
1860
		Swait()
1861
		TrailEffect("Institutional white", "Neon", EffectPart.CFrame, LASTPOINT, "Block", 0, 0.2, ANGLES(0, 0, 0), -0.01, 0, -0.01, 0.1)
1862
		LASTPOINT = EffectPart.CFrame
1863
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
1864
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-2.5), RAD(0), RAD(30)), 0.4 / Animation_Speed)
1865
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(80)) * ANGLES(RAD(-60), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
1866
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
1867
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.4 / Animation_Speed)
1868
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
1869
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-140), RAD(90), RAD(0)), 0.3 / Animation_Speed)
1870
	end
1871
	LASTPOINT = nil
1872
	--ATTACK = false
1873
end
1874
1875
function UnequipWeapon()
1876
	--ATTACK = true
1877
	for i=0, 1, 0.5 / Animation_Speed do
1878
		Swait()
1879
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1880
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1881
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1882
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1883
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1884
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1885
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(-0.05 * Player_Size, -1 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(-27), RAD(0), RAD(-19)) * ANGLES(RAD(0), RAD(110), RAD(0)), 0.3 / Animation_Speed)
1886
	end
1887
	CreateSound("245542809", HitboxPart, 1, 1.2)
1888
	for i=0, 1, 0.08 / Animation_Speed do
1889
		Swait()
1890
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1891
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1892
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(210), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1893
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1894
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1895
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1896
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(-0.05 * Player_Size, -1 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(-27), RAD(0), RAD(-19)) * ANGLES(RAD(0), RAD(110), RAD(0)), 0.3 / Animation_Speed)
1897
	end
1898
	HandleWeld.Part0 = Torso
1899
	HandleWeld.C0 = CF(2 * Player_Size, 2 * Player_Size, 0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135))
1900
	for i=0, 1, 0.5 / Animation_Speed do
1901
		Swait()
1902
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1903
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-2.5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
1904
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.75 * Player_Size, 0 * Player_Size) * ANGLES(RAD(140), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1905
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-15)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1906
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(95), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-7.5)), 0.3 / Animation_Speed)
1907
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.3 / Animation_Speed)
1908
	end
1909
	for i=0, 1, 0.08 / Animation_Speed do
1910
		Swait()
1911
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1912
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1913
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1914
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)), 0.3 / Animation_Speed)
1915
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1916
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1917
		if Disable_Moving_Arms == false then
1918
			RightShoulder.C1 = Clerp(RightShoulder.C1, ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.3 / Animation_Speed)
1919
			LeftShoulder.C1 = Clerp(LeftShoulder.C1, ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5), 0.3 / Animation_Speed)
1920
		else
1921
			RightShoulder.C1 = Clerp(RightShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.3 / Animation_Speed)
1922
			LeftShoulder.C1 = Clerp(LeftShoulder.C1, CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size), 0.3 / Animation_Speed)
1923
		end
1924
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1925
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1926
		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.3 / Animation_Speed)
1927
		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.3 / Animation_Speed)
1928
	end
1929
	RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1930
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1931
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1932
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
1933
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
1934
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
1935
	if Disable_Moving_Arms == false then
1936
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1937
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1938
	else
1939
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1940
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1941
	end
1942
	RightHip.C0 = CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1943
	LeftHip.C0 = CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0))
1944
	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))
1945
	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))
1946
	--ATTACK = false
1947
	DEFENSECHANGE1.Parent = ChangeStat
1948
	MOVEMENTCHANGE1.Parent = nil
1949
end
1950
1951
function StaggerHitAnimation()
1952
	ATTACK = true
1953
	if Weapon:FindFirstChild("Hitbox") ~= nil then
1954
		for i = 1, MRANDOM(2, 4) do
1955
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
1956
		end
1957
	end
1958
	for i = 0, 1, 0.1 / Animation_Speed do
1959
		Swait()
1960
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
1961
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.3 / Animation_Speed)
1962
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30), RAD(0), RAD(60)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1963
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(20), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1964
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.9 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1965
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.3 / Animation_Speed)
1966
		if Stagger.Value == true or Stun.Value == true then
1967
			break
1968
		end
1969
	end
1970
	ATTACK = false
1971
end
1972
1973
function StaggerAnimation()
1974
	ATTACK = true
1975
	if Weapon:FindFirstChild("Hitbox") ~= nil then
1976
		for i = 1, MRANDOM(2, 4) do
1977
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
1978
		end
1979
	end
1980
	DISABLEJUMPING = true
1981
	COMBO = 1
1982
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
1983
	local STAGGERVELOCITY = Instance.new("BodyVelocity",Torso)
1984
	STAGGERVELOCITY.P = 500
1985
	STAGGERVELOCITY.maxForce = VT(math.huge, 0, math.huge)
1986
	if Rooted.Value == false then
1987
		STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
1988
	end
1989
	for i = 0, 1, 0.35 / Animation_Speed do
1990
		Swait()
1991
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
1992
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(20)), 0.3 / Animation_Speed)
1993
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
1994
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
1995
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
1996
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 0.3 / Animation_Speed)
1997
	end
1998
	for i = 0, 1, 0.2 / Animation_Speed do
1999
		Swait()
2000
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2001
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2002
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2003
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2004
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 0.4 / Animation_Speed)
2005
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.4 / Animation_Speed)
2006
	end
2007
	STAGGERVELOCITY.Parent = nil
2008
	for i = 1, 50 * Animation_Speed do
2009
		Swait()
2010
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.8 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-20)) * ANGLES(RAD(-5), RAD(-5), RAD(0)), 0.3 / Animation_Speed)
2011
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.3 / Animation_Speed)
2012
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(-20), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2013
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-10)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2014
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.4 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)), 0.3 / Animation_Speed)
2015
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-10)), 0.3 / Animation_Speed)
2016
	end
2017
	DISABLEJUMPING = false
2018
	ATTACK = false
2019
end
2020
2021
function StunAnimation()
2022
	ATTACK = true
2023
	DISABLEJUMPING = true
2024
	COMBO = 1
2025
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
2026
	for i = 0, 1, 0.3 / Animation_Speed do
2027
		Swait()
2028
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(-150)), 0.3 / Animation_Speed)
2029
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
2030
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2031
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2032
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(30)), 0.3 / Animation_Speed)
2033
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.3 / Animation_Speed)
2034
	end
2035
	for i = 0, 1, 0.3 / Animation_Speed do
2036
		Swait()
2037
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
2038
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2039
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2040
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2041
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2042
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(50)), 0.4 / Animation_Speed)
2043
	end
2044
	for i = 0, 1, 0.3 / Animation_Speed do
2045
		Swait()
2046
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(75), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
2047
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
2048
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2049
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-80)) * ANGLES(RAD(0), RAD(-40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2050
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(10)), 0.4 / Animation_Speed)
2051
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(80)), 0.4 / Animation_Speed)
2052
	end
2053
	for i = 1, 70 * Animation_Speed do
2054
		Swait()
2055
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -2.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
2056
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.3 / Animation_Speed)
2057
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
2058
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
2059
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2060
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
2061
	end
2062
	for i = 0, 1, 0.2 / Animation_Speed do
2063
		Swait()
2064
		RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.5 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(100)), 0.4 / Animation_Speed)
2065
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2066
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(-10), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2067
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(80), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2068
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(70)), 0.4 / Animation_Speed)
2069
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.25 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2070
	end
2071
	DISABLEJUMPING = false
2072
	ATTACK = false
2073
end
2074
2075
function EAbility()
2076
	ATTACK = true
2077
	ATTACK = false
2078
end
2079
2080
function AbyssAttack1()
2081
	ATTACK = true
2082
	for i=0, 1, 0.1 / Animation_Speed do
2083
		Swait()
2084
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2085
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2086
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2087
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2088
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2089
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2090
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-110), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2091
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2092
			break
2093
		end
2094
	end
2095
	CreateSound("553461718", HitboxPart, 1.2, MRANDOM(7, 9) / 10)
2096
    attacksound1.Volume = 3
2097
	attacksound1:Play()
2098
	for i=0, 1, 0.1 / Animation_Speed do
2099
		Swait()
2100
		local Pos = HitboxPart
2101
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2102
		local Color = "Really black"
2103
		local Material = "Neon"
2104
		local TheDelay = 0.01
2105
		local Height = 6.2 * Player_Size
2106
		BLCF = Offset
2107
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2108
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2109
			if a then game:GetService("Debris"):AddItem(a, 1) end
2110
			if b then game:GetService("Debris"):AddItem(b, 1) end
2111
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2112
			if a then game:GetService("Debris"):AddItem(a, 1) end
2113
			if b then game:GetService("Debris"):AddItem(b, 1) end
2114
			SCFR = BLCF
2115
		elseif not SCFR then
2116
			SCFR = BLCF
2117
		end
2118
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 10, 20, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2119
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2120
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2121
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(100)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2122
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2123
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2124
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2125
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-130), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2126
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2127
			break
2128
		end
2129
	end
2130
	BLCF = nil
2131
	SCFR = nil
2132
	ATTACK = false
2133
end
2134
2135
function AbyssAttack2()
2136
	ATTACK = true
2137
	for i=0, 1, 0.1 / Animation_Speed do
2138
		Swait()
2139
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2140
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2141
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2142
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2143
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2144
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2145
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2146
			break
2147
		end
2148
	end
2149
	CreateSound("553461842", HitboxPart, 1.2, MRANDOM(8, 9) / 10)
2150
    attacksound2.Volume = 3
2151
	attacksound2:Play()
2152
	local HASHITFLOOR = false
2153
	for i=0, 1, 0.1 / Animation_Speed do
2154
		Swait()
2155
		local Pos = HitboxPart
2156
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2157
		local Color = "Really black"
2158
		local Material = "Neon"
2159
		local TheDelay = 0.01
2160
		local Height = 6.2 * Player_Size
2161
		BLCF = Offset
2162
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2163
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2164
			if a then game:GetService("Debris"):AddItem(a, 1) end
2165
			if b then game:GetService("Debris"):AddItem(b, 1) end
2166
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2167
			if a then game:GetService("Debris"):AddItem(a, 1) end
2168
			if b then game:GetService("Debris"):AddItem(b, 1) end
2169
			SCFR = BLCF
2170
		elseif not SCFR then
2171
			SCFR = BLCF
2172
		end
2173
		local SWORDHIT, SWORDPOS = Raycast(EffectPart.Position, (CF(EffectPart.Position, EffectPart.Position + VT(0, -1, 0))).lookVector, 1 * Player_Size, Character)
2174
		if SWORDHIT ~= nil and HASHITFLOOR == false and SWORDHIT.Parent:FindFirstChild("Humanoid") == nil then
2175
			HASHITFLOOR = true
2176
			--print(SWORDHIT.Material)
2177
			if SWORDHIT.Material == Enum.Material.Grass or SWORDHIT.Material == Enum.Material.Ice or SWORDHIT.Material == Enum.Material.Fabric or SWORDHIT.Material == Enum.Material.SmoothPlastic or SWORDHIT.Material == Enum.Material.Sand or SWORDHIT.Material == Enum.Material.Plastic or SWORDHIT.Material == Enum.Material.Neon or SWORDHIT.Material == Enum.Material.Foil then
2178
				CreateSound("525717773", EffectPart, 1.2 , MRANDOM(8, 12) / 10)
2179
			elseif SWORDHIT.Material == Enum.Material.Metal or SWORDHIT.Material == Enum.Material.Concrete or SWORDHIT.Material == Enum.Material.Brick or SWORDHIT.Material == Enum.Material.CorrodedMetal or SWORDHIT.Material == Enum.Material.Slate or SWORDHIT.Material == Enum.Material.Marble or SWORDHIT.Material == Enum.Material.Granite or SWORDHIT.Material == Enum.Material.DiamondPlate or SWORDHIT.Material == Enum.Material.Pebble or SWORDHIT.Material == Enum.Material.Cobblestone then
2180
				CreateSound("470790670", EffectPart, 1 , MRANDOM(8, 12) / 10)
2181
				for i = 1, MRANDOM(2, 4) do
2182
					ClangEffect("Bright yellow", "Neon", CF(SWORDPOS) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 10, 3, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2183
				end
2184
			elseif SWORDHIT.Material == Enum.Material.Wood or SWORDHIT.Material == Enum.Material.WoodPlanks then
2185
				CreateSound("514586161", EffectPart, 1 , MRANDOM(8, 12) / 10)
2186
			end
2187
		end
2188
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 20, 40, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2189
		if HASHITFLOOR == true then
2190
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2191
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2192
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(40), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2193
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2194
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2195
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-132.5), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2196
		else
2197
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2198
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2199
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2200
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2201
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2202
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-150), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2203
		end
2204
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2205
			break
2206
		end
2207
	end
2208
	BLCF = nil
2209
	SCFR = nil
2210
	ATTACK = false
2211
end
2212
2213
function AbyssAttack3()
2214
	ATTACK = true
2215
	for i=0, 1, 0.1 / Animation_Speed do
2216
		Swait()
2217
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2218
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2219
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(100)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2220
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2221
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2222
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2223
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-130), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2224
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2225
			break
2226
		end
2227
	end
2228
	CreateSound("553461718", HitboxPart, 1.2, MRANDOM(7, 9) / 10)
2229
    attacksound3.Volume = 3
2230
	attacksound3:Play()
2231
	for i=0, 1, 0.1 / Animation_Speed do
2232
		Swait()
2233
		local Pos = HitboxPart
2234
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2235
		local Color = "Really black"
2236
		local Material = "Neon"
2237
		local TheDelay = 0.01
2238
		local Height = 6.2 * Player_Size
2239
		BLCF = Offset
2240
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2241
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2242
			if a then game:GetService("Debris"):AddItem(a, 1) end
2243
			if b then game:GetService("Debris"):AddItem(b, 1) end
2244
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2245
			if a then game:GetService("Debris"):AddItem(a, 1) end
2246
			if b then game:GetService("Debris"):AddItem(b, 1) end
2247
			SCFR = BLCF
2248
		elseif not SCFR then
2249
			SCFR = BLCF
2250
		end
2251
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 30, 60, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2252
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2253
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2254
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2255
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2256
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2257
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2258
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-110), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2259
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2260
			break
2261
		end
2262
	end
2263
	BLCF = nil
2264
	SCFR = nil
2265
	ATTACK = false
2266
end
2267
2268
function AbyssAttack4()
2269
	ATTACK = true
2270
	for i=0, 1, 0.1 / Animation_Speed do
2271
		Swait()
2272
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2273
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2274
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2275
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2276
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2277
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2278
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2279
			break
2280
		end
2281
	end
2282
	CreateSound("553461842", HitboxPart, 1.2, MRANDOM(8, 9) / 10)
2283
    attacksound4.Volume = 3
2284
	attacksound4:Play()
2285
	local HASHITFLOOR = false
2286
	for i=0, 1, 0.1 / Animation_Speed do
2287
		Swait()
2288
		local Pos = HitboxPart
2289
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2290
		local Color = "Really black"
2291
		local Material = "Neon"
2292
		local TheDelay = 0.01
2293
		local Height = 6.2 * Player_Size
2294
		BLCF = Offset
2295
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2296
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2297
			if a then game:GetService("Debris"):AddItem(a, 1) end
2298
			if b then game:GetService("Debris"):AddItem(b, 1) end
2299
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2300
			if a then game:GetService("Debris"):AddItem(a, 1) end
2301
			if b then game:GetService("Debris"):AddItem(b, 1) end
2302
			SCFR = BLCF
2303
		elseif not SCFR then
2304
			SCFR = BLCF
2305
		end
2306
		local SWORDHIT, SWORDPOS = Raycast(EffectPart.Position, (CF(EffectPart.Position, EffectPart.Position + VT(0, -1, 0))).lookVector, 1 * Player_Size, Character)
2307
		if SWORDHIT ~= nil and HASHITFLOOR == false and SWORDHIT.Parent:FindFirstChild("Humanoid") == nil then
2308
			HASHITFLOOR = true
2309
			--print(SWORDHIT.Material)
2310
			if SWORDHIT.Material == Enum.Material.Grass or SWORDHIT.Material == Enum.Material.Ice or SWORDHIT.Material == Enum.Material.Fabric or SWORDHIT.Material == Enum.Material.SmoothPlastic or SWORDHIT.Material == Enum.Material.Sand or SWORDHIT.Material == Enum.Material.Plastic or SWORDHIT.Material == Enum.Material.Neon or SWORDHIT.Material == Enum.Material.Foil then
2311
				CreateSound("525717773", EffectPart, 1.2 , MRANDOM(8, 12) / 10)
2312
			elseif SWORDHIT.Material == Enum.Material.Metal or SWORDHIT.Material == Enum.Material.Concrete or SWORDHIT.Material == Enum.Material.Brick or SWORDHIT.Material == Enum.Material.CorrodedMetal or SWORDHIT.Material == Enum.Material.Slate or SWORDHIT.Material == Enum.Material.Marble or SWORDHIT.Material == Enum.Material.Granite or SWORDHIT.Material == Enum.Material.DiamondPlate or SWORDHIT.Material == Enum.Material.Pebble or SWORDHIT.Material == Enum.Material.Cobblestone then
2313
				CreateSound("470790670", EffectPart, 1 , MRANDOM(8, 12) / 10)
2314
				for i = 1, MRANDOM(2, 4) do
2315
					ClangEffect("Bright yellow", "Neon", CF(SWORDPOS) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 10, 3, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2316
				end
2317
			elseif SWORDHIT.Material == Enum.Material.Wood or SWORDHIT.Material == Enum.Material.WoodPlanks then
2318
				CreateSound("514586161", EffectPart, 1 , MRANDOM(8, 12) / 10)
2319
			end
2320
		end
2321
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 50, 80, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2322
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2323
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2324
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2325
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2326
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2327
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2328
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2329
			break
2330
		end
2331
	end
2332
	BLCF = nil
2333
	SCFR = nil
2334
	ATTACK = false
2335
end
2336
2337
function Attack1()
2338
	ATTACK = true
2339
	for i=0, 1, 0.1 / Animation_Speed do
2340
		Swait()
2341
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2342
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2343
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2344
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2345
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2346
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2347
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-110), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2348
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2349
			break
2350
		end
2351
	end
2352
	CreateSound("553461718", HitboxPart, 1.2, MRANDOM(7, 9) / 10)
2353
    attacksound1.Volume = 3
2354
	attacksound1:Play()
2355
	for i=0, 1, 0.1 / Animation_Speed do
2356
		Swait()
2357
		local Pos = HitboxPart
2358
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2359
		local Color = "Institutional white"
2360
		local Material = "Neon"
2361
		local TheDelay = 0.01
2362
		local Height = 6.2 * Player_Size
2363
		BLCF = Offset
2364
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2365
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2366
			if a then game:GetService("Debris"):AddItem(a, 1) end
2367
			if b then game:GetService("Debris"):AddItem(b, 1) end
2368
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2369
			if a then game:GetService("Debris"):AddItem(a, 1) end
2370
			if b then game:GetService("Debris"):AddItem(b, 1) end
2371
			SCFR = BLCF
2372
		elseif not SCFR then
2373
			SCFR = BLCF
2374
		end
2375
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 5, 10, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2376
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2377
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2378
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(100)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2379
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2380
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2381
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2382
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-130), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2383
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2384
			break
2385
		end
2386
	end
2387
	BLCF = nil
2388
	SCFR = nil
2389
	ATTACK = false
2390
end
2391
2392
function Attack2()
2393
	ATTACK = true
2394
	for i=0, 1, 0.1 / Animation_Speed do
2395
		Swait()
2396
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2397
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2398
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2399
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2400
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2401
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2402
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2403
			break
2404
		end
2405
	end
2406
	CreateSound("553461842", HitboxPart, 1.2, MRANDOM(8, 9) / 10)
2407
    attacksound2.Volume = 3
2408
	attacksound2:Play()
2409
	local HASHITFLOOR = false
2410
	for i=0, 1, 0.1 / Animation_Speed do
2411
		Swait()
2412
		local Pos = HitboxPart
2413
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2414
		local Color = "Institutional white"
2415
		local Material = "Neon"
2416
		local TheDelay = 0.01
2417
		local Height = 6.2 * Player_Size
2418
		BLCF = Offset
2419
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2420
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2421
			if a then game:GetService("Debris"):AddItem(a, 1) end
2422
			if b then game:GetService("Debris"):AddItem(b, 1) end
2423
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2424
			if a then game:GetService("Debris"):AddItem(a, 1) end
2425
			if b then game:GetService("Debris"):AddItem(b, 1) end
2426
			SCFR = BLCF
2427
		elseif not SCFR then
2428
			SCFR = BLCF
2429
		end
2430
		local SWORDHIT, SWORDPOS = Raycast(EffectPart.Position, (CF(EffectPart.Position, EffectPart.Position + VT(0, -1, 0))).lookVector, 1 * Player_Size, Character)
2431
		if SWORDHIT ~= nil and HASHITFLOOR == false and SWORDHIT.Parent:FindFirstChild("Humanoid") == nil then
2432
			HASHITFLOOR = true
2433
			--print(SWORDHIT.Material)
2434
			if SWORDHIT.Material == Enum.Material.Grass or SWORDHIT.Material == Enum.Material.Ice or SWORDHIT.Material == Enum.Material.Fabric or SWORDHIT.Material == Enum.Material.SmoothPlastic or SWORDHIT.Material == Enum.Material.Sand or SWORDHIT.Material == Enum.Material.Plastic or SWORDHIT.Material == Enum.Material.Neon or SWORDHIT.Material == Enum.Material.Foil then
2435
				CreateSound("525717773", EffectPart, 1.2 , MRANDOM(8, 12) / 10)
2436
			elseif SWORDHIT.Material == Enum.Material.Metal or SWORDHIT.Material == Enum.Material.Concrete or SWORDHIT.Material == Enum.Material.Brick or SWORDHIT.Material == Enum.Material.CorrodedMetal or SWORDHIT.Material == Enum.Material.Slate or SWORDHIT.Material == Enum.Material.Marble or SWORDHIT.Material == Enum.Material.Granite or SWORDHIT.Material == Enum.Material.DiamondPlate or SWORDHIT.Material == Enum.Material.Pebble or SWORDHIT.Material == Enum.Material.Cobblestone then
2437
				CreateSound("470790670", EffectPart, 1 , MRANDOM(8, 12) / 10)
2438
				for i = 1, MRANDOM(2, 4) do
2439
					ClangEffect("Bright yellow", "Neon", CF(SWORDPOS) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 10, 3, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2440
				end
2441
			elseif SWORDHIT.Material == Enum.Material.Wood or SWORDHIT.Material == Enum.Material.WoodPlanks then
2442
				CreateSound("514586161", EffectPart, 1 , MRANDOM(8, 12) / 10)
2443
			end
2444
		end
2445
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 10, 20, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2446
		if HASHITFLOOR == true then
2447
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2448
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2449
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(40), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2450
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2451
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2452
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-132.5), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2453
		else
2454
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2455
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2456
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2457
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2458
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2459
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-150), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2460
		end
2461
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2462
			break
2463
		end
2464
	end
2465
	BLCF = nil
2466
	SCFR = nil
2467
	ATTACK = false
2468
end
2469
2470
function Attack3()
2471
	ATTACK = true
2472
	for i=0, 1, 0.1 / Animation_Speed do
2473
		Swait()
2474
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
2475
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2476
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(100)) * ANGLES(RAD(-30), RAD(80), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2477
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2478
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2479
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2480
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-130), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2481
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2482
			break
2483
		end
2484
	end
2485
	CreateSound("553461718", HitboxPart, 1.2, MRANDOM(7, 9) / 10)
2486
    attacksound3.Volume = 3
2487
	attacksound3:Play()
2488
	for i=0, 1, 0.1 / Animation_Speed do
2489
		Swait()
2490
		local Pos = HitboxPart
2491
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2492
		local Color = "Institutional white"
2493
		local Material = "Neon"
2494
		local TheDelay = 0.01
2495
		local Height = 6.2 * Player_Size
2496
		BLCF = Offset
2497
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2498
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2499
			if a then game:GetService("Debris"):AddItem(a, 1) end
2500
			if b then game:GetService("Debris"):AddItem(b, 1) end
2501
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2502
			if a then game:GetService("Debris"):AddItem(a, 1) end
2503
			if b then game:GetService("Debris"):AddItem(b, 1) end
2504
			SCFR = BLCF
2505
		elseif not SCFR then
2506
			SCFR = BLCF
2507
		end
2508
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 15, 30, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2509
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
2510
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2511
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(90), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2512
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-35)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2513
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(15)), 0.4 / Animation_Speed)
2514
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2515
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-110), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2516
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2517
			break
2518
		end
2519
	end
2520
	BLCF = nil
2521
	SCFR = nil
2522
	ATTACK = false
2523
end
2524
2525
function Attack4()
2526
	ATTACK = true
2527
	for i=0, 1, 0.1 / Animation_Speed do
2528
		Swait()
2529
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(30)), 0.4 / Animation_Speed)
2530
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
2531
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(5)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2532
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(50), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(17.5)), 0.4 / Animation_Speed)
2533
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(5)), 0.4 / Animation_Speed)
2534
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2535
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2536
			break
2537
		end
2538
	end
2539
	CreateSound("553461842", HitboxPart, 1.2, MRANDOM(8, 9) / 10)
2540
    attacksound4.Volume = 3
2541
	attacksound4:Play()
2542
	local HASHITFLOOR = false
2543
	for i=0, 1, 0.1 / Animation_Speed do
2544
		Swait()
2545
		local Pos = HitboxPart
2546
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2547
		local Color = "Institutional white"
2548
		local Material = "Neon"
2549
		local TheDelay = 0.01
2550
		local Height = 6.2 * Player_Size
2551
		BLCF = Offset
2552
		if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
2553
			local a, b = Triangle(Color, Material, (SCFR * CF(0, Height / 2,0)).p, (SCFR * CF(0, -Height / 2, 0)).p, (BLCF * CF(0, Height / 2,0)).p, TheDelay)
2554
			if a then game:GetService("Debris"):AddItem(a, 1) end
2555
			if b then game:GetService("Debris"):AddItem(b, 1) end
2556
			local a, b = Triangle(Color, Material, (BLCF * CF(0, Height / 2, 0)).p, (BLCF * CF(0, -Height / 2, 0)).p, (SCFR * CF(0, -Height / 2, 0)).p, TheDelay)
2557
			if a then game:GetService("Debris"):AddItem(a, 1) end
2558
			if b then game:GetService("Debris"):AddItem(b, 1) end
2559
			SCFR = BLCF
2560
		elseif not SCFR then
2561
			SCFR = BLCF
2562
		end
2563
		local SWORDHIT, SWORDPOS = Raycast(EffectPart.Position, (CF(EffectPart.Position, EffectPart.Position + VT(0, -1, 0))).lookVector, 1 * Player_Size, Character)
2564
		if SWORDHIT ~= nil and HASHITFLOOR == false and SWORDHIT.Parent:FindFirstChild("Humanoid") == nil then
2565
			HASHITFLOOR = true
2566
			--print(SWORDHIT.Material)
2567
			if SWORDHIT.Material == Enum.Material.Grass or SWORDHIT.Material == Enum.Material.Ice or SWORDHIT.Material == Enum.Material.Fabric or SWORDHIT.Material == Enum.Material.SmoothPlastic or SWORDHIT.Material == Enum.Material.Sand or SWORDHIT.Material == Enum.Material.Plastic or SWORDHIT.Material == Enum.Material.Neon or SWORDHIT.Material == Enum.Material.Foil then
2568
				CreateSound("525717773", EffectPart, 1.2 , MRANDOM(8, 12) / 10)
2569
			elseif SWORDHIT.Material == Enum.Material.Metal or SWORDHIT.Material == Enum.Material.Concrete or SWORDHIT.Material == Enum.Material.Brick or SWORDHIT.Material == Enum.Material.CorrodedMetal or SWORDHIT.Material == Enum.Material.Slate or SWORDHIT.Material == Enum.Material.Marble or SWORDHIT.Material == Enum.Material.Granite or SWORDHIT.Material == Enum.Material.DiamondPlate or SWORDHIT.Material == Enum.Material.Pebble or SWORDHIT.Material == Enum.Material.Cobblestone then
2570
				CreateSound("470790670", EffectPart, 1 , MRANDOM(8, 12) / 10)
2571
				for i = 1, MRANDOM(2, 4) do
2572
					ClangEffect("Bright yellow", "Neon", CF(SWORDPOS) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 10, 3, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
2573
				end
2574
			elseif SWORDHIT.Material == Enum.Material.Wood or SWORDHIT.Material == Enum.Material.WoodPlanks then
2575
				CreateSound("514586161", EffectPart, 1 , MRANDOM(8, 12) / 10)
2576
			end
2577
		end
2578
		MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 4, false, 25, 40, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2579
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2580
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2581
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2582
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2583
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2584
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2585
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2586
			break
2587
		end
2588
	end
2589
	BLCF = nil
2590
	SCFR = nil
2591
	ATTACK = false
2592
end
2593
2594
function part2(formfactor,parent,reflectance,transparency,brickcolor,name,size)
2595
local fp=Instance.new("Part")
2596
fp.formFactor=formfactor 
2597
fp.Parent=Effects
2598
fp.Reflectance=reflectance
2599
fp.Transparency=transparency
2600
fp.CanCollide=false 
2601
fp.Locked=true
2602
fp.BrickColor=brickcolor
2603
fp.Name=name
2604
fp.Size=size
2605
fp.Position=Torso.Position 
2606
fp.Material="SmoothPlastic"
2607
fp:BreakJoints()
2608
return fp 
2609
end 
2610
2611
function rayCast(Pos, Dir, Max, Ignore)  -- Origin Position , Direction, MaxDistance , IgnoreDescendants
2612
return game:service("Workspace"):FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999.999)), Ignore) 
2613
end 
2614
2615
euler=CFrame.fromEulerAnglesXYZ
2616
vt=Vector3.new
2617
2618
	function mesh(Mesh,part,meshtype,meshid,offset,scale)
2619
		local mesh=Instance.new(Mesh)
2620
		mesh.Parent=part
2621
		if Mesh=="SpecialMesh" then
2622
			mesh.MeshType=meshtype
2623
			mesh.MeshId=meshid
2624
		end
2625
		mesh.Offset=offset
2626
		mesh.Scale=scale
2627
		return mesh
2628
	end
2629
2630
function MagicBlock3(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
2631
local prt=part2(3,char,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
2632
prt.Anchored=true
2633
prt.Material = "Neon"
2634
prt.CFrame=cframe
2635
prt.CFrame=prt.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
2636
msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
2637
game:GetService("Debris"):AddItem(prt,5)
2638
coroutine.resume(coroutine.create(function(Part,Mesh) 
2639
for i=0,1,delay do
2640
Swait()
2641
Part.CFrame=Part.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
2642
Part.Transparency=i
2643
Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
2644
end
2645
Part.Parent=nil
2646
end),prt,msh)
2647
end
2648
2649
angles=CFrame.Angles
2650
2651
function Quickslashes()
2652
	ATTACK = true
2653
    Humanoid.WalkSpeed = 0
2654
	for i=0, 1, 0.1 / Animation_Speed do
2655
		Swait()
2656
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2657
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2658
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2659
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2660
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2661
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2662
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2663
			break
2664
		end
2665
	end
2666
	for i=0, 1, 0.1 / Animation_Speed do
2667
		Swait()
2668
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2669
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2670
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2671
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2672
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2673
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-170), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2674
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2675
			break
2676
		end
2677
	end
2678
    Humanoid.WalkSpeed = 16
2679
    RightArm.Transparency = 1
2680
    HandlePart.Transparency = 1
2681
    for i = 1, 15 do
2682
local spread=vt((math.random(-1,0)+math.random())*16,(math.random(-1,0)+math.random())*16,(math.random(-1,0)+math.random())*16)*(HitboxPart.Position-(HitboxPart.Position+vt(0,-1,0))).magnitude/100
2683
local TheHit=HitboxPart.Position+vt(0,-1,0)
2684
local MouseLook=cf((HitboxPart.Position+TheHit)/2,TheHit+spread)
2685
local hit,pos = rayCast(HitboxPart.Position,MouseLook.lookVector,999,Character)
2686
local mag=(HitboxPart.Position-pos).magnitude 
2687
MagicCylinder2(BrickColor.new("Institutional white"),CFrame.new((HitboxPart.Position+pos)/2,pos)*angles(1.57,0,0) ,1,mag*1,1,0.5,0,0.5,0.05)
2688
    mat = math.random(1,3)
2689
    if mat ~= 2 then
2690
	CreateSound("553461718", HitboxPart, 1.2, MRANDOM(7, 9) / 10)
2691
    end
2692
	for i= 1, 5 do
2693
		Swait()
2694
    end
2695
		MagnitudeDamage("", "", "", HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 7, false, 4, 5, MRANDOM(5, 10), "Normal", RootPart, 0.01, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2696
    Swait(1)
2697
    end
2698
    RightArm.Transparency = 0
2699
    HandlePart.Transparency = 0
2700
	BLCF = nil
2701
	SCFR = nil
2702
	ATTACK = false
2703
end
2704
2705
function Abyssslashes()
2706
	ATTACK = true
2707
    Humanoid.WalkSpeed = 0
2708
	for i=0, 1, 0.1 / Animation_Speed do
2709
		Swait()
2710
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2711
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2712
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2713
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2714
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2715
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-80), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2716
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2717
			break
2718
		end
2719
	end
2720
	for i=0, 1, 0.1 / Animation_Speed do
2721
		Swait()
2722
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.4 / Animation_Speed)
2723
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5), RAD(0), RAD(35)), 0.4 / Animation_Speed)
2724
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2725
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
2726
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, -0.075 * Player_Size) * ANGLES(RAD(0), RAD(-45), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-15)), 0.4 / Animation_Speed)
2727
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-170), RAD(90), RAD(0)), 0.4 / Animation_Speed)
2728
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2729
			break
2730
		end
2731
	end
2732
    Humanoid.WalkSpeed = 25
2733
    RightArm.PE.Enabled = false
2734
    HandlePart.Transparency = 1
2735
    for i = 1, 15 do
2736
local spread=vt((math.random(-1,0)+math.random())*16,(math.random(-1,0)+math.random())*16,(math.random(-1,0)+math.random())*16)*(HitboxPart.Position-(HitboxPart.Position+vt(0,-1,0))).magnitude/100
2737
local TheHit=HitboxPart.Position+vt(0,-1,0)
2738
local MouseLook=cf((HitboxPart.Position+TheHit)/2,TheHit+spread)
2739
local hit,pos = rayCast(HitboxPart.Position,MouseLook.lookVector,999,Character)
2740
local mag=(HitboxPart.Position-pos).magnitude 
2741
MagicCylinder2(BrickColor.new("Really black"),CFrame.new((HitboxPart.Position+pos)/2,pos)*angles(1.57,0,0) ,1,mag*1,1,0.5,0,0.5,0.05)
2742
    mat = math.random(1,3)
2743
    if mat ~= 2 then
2744
	CreateSound("553461718", HitboxPart, 1.2, MRANDOM(7, 9) / 10)
2745
    end
2746
	for i= 1, 5 do
2747
		Swait()
2748
    end
2749
		MagnitudeDamage("", "", "", HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, HitboxPart, 7, false, 10, 12, MRANDOM(5, 10), "Normal", RootPart, 0.02, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2750
    Swait(1)
2751
    end
2752
    RightArm.PE.Enabled = true
2753
    HandlePart.Transparency = 0
2754
	BLCF = nil
2755
	SCFR = nil
2756
	ATTACK = false
2757
end
2758
2759
function dash()
2760
    Humanoid.WalkSpeed = 0
2761
	ATTACK = true
2762
    cloak()
2763
	for i=0, 1, 0.1 / Animation_Speed do
2764
		Swait()
2765
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2766
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2767
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2768
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2769
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
2770
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
2771
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
2772
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2773
			break
2774
		end
2775
	end
2776
	CreateSound("444667824", root, 1, 1)
2777
	MagicBlock3(BrickColor.new("Really black"),root.CFrame,2,2,2,0.2,0.2,0.2,0.015)
2778
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 20, false, 20, 60, 0, "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2779
	Humanoid.WalkSpeed = 0
2780
	local bv = Instance.new("BodyVelocity")
2781
  bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2782
  bv.velocity = RootPart.CFrame.lookVector*250
2783
  bv.Parent = RootPart
2784
game:GetService("Debris"):AddItem(bv, 1)
2785
local rng = Instance.new("Part", char)
2786
        rng.Anchored = true
2787
        rng.BrickColor = BrickColor.new("Really black")
2788
        rng.CanCollide = false
2789
        rng.FormFactor = 3
2790
        rng.Name = "Ring"
2791
        rng.Size = Vector3.new(1, 1, 1)
2792
        rng.Transparency = 0
2793
        rng.TopSurface = 0
2794
        rng.BottomSurface = 0
2795
        rng.CFrame = Torso.CFrame
2796
        local rngm = Instance.new("SpecialMesh", rng)
2797
        rngm.MeshId = "http://www.roblox.com/asset/?id=3270017"
2798
local rng2 = rng:Clone()
2799
rng2.Parent = char
2800
rng2.CFrame = root.CFrame + root.CFrame.lookVector*10
2801
local rng2m = rng2.Mesh
2802
local rng3 = rng:Clone()
2803
rng3.Parent = char
2804
rng3.CFrame = root.CFrame + root.CFrame.lookVector*20
2805
local rng3m = rng3.Mesh
2806
local rng4 = rng:Clone()
2807
rng4.Parent = char
2808
rng4.CFrame = root.CFrame + root.CFrame.lookVector*30
2809
local rng4m = rng4.Mesh
2810
local rng5 = rng:Clone()
2811
rng5.Parent = char
2812
rng5.CFrame = root.CFrame + root.CFrame.lookVector*40
2813
local rng5m = rng5.Mesh
2814
	wait()
2815
	local scaler = 5/5
2816
	local scaler2 = 5/5
2817
	local hit = Torso.Touched:connect(function(hit) 
2818
if bv then
2819
bv:remove()
2820
end
2821
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 6,true, 60, 70, 25, "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2822
end)
2823
	for i = 0,10,0.1 do
2824
		Swait()
2825
		rng.Transparency = rng.Transparency + 0.01
2826
		rng2.Transparency = rng2.Transparency + 0.01
2827
		rng3.Transparency = rng3.Transparency + 0.01
2828
		rng4.Transparency = rng4.Transparency + 0.01
2829
		rng5.Transparency = rng5.Transparency + 0.01
2830
		scaler = scaler - 0.125/5
2831
		scaler2 = scaler2 - 0.1/5
2832
		rng2m.Scale = rng2m.Scale + Vector3.new(scaler2/1.25, scaler2/1.25, 0)
2833
		rng3m.Scale = rng3m.Scale + Vector3.new(scaler2/1.5, scaler2/1.5, 0)
2834
		rng4m.Scale = rng4m.Scale + Vector3.new(scaler2/1.75, scaler2/1.75, 0)
2835
		rng5m.Scale = rng5m.Scale + Vector3.new(scaler2/2, scaler2/2, 0)
2836
		 rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, 0)
2837
	end
2838
	game:GetService("Debris"):AddItem(rng, 0.1)
2839
	game:GetService("Debris"):AddItem(rng2, 0.1)
2840
	game:GetService("Debris"):AddItem(rng3, 0.1)
2841
	game:GetService("Debris"):AddItem(rng4, 0.1)
2842
	game:GetService("Debris"):AddItem(rng5, 0.1)
2843
	hit:disconnect()
2844
	ATTACK = false
2845
    Humanoid.WalkSpeed = 16
2846
    decloak()
2847
end
2848
2849
function abyssdash()
2850
    Humanoid.WalkSpeed = 0
2851
	ATTACK = true
2852
	for i=0, 1, 0.1 / Animation_Speed do
2853
		Swait()
2854
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(35), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2855
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-35), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2856
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2857
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2858
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
2859
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
2860
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
2861
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2862
			break
2863
		end
2864
	end
2865
	CreateSound("444667824", root, 1, 1)
2866
	MagicBlock3(BrickColor.new("Really black"),root.CFrame,2,2,2,0.2,0.2,0.2,0.015)
2867
	MagicBlock3(BrickColor.new("Really black"),root.CFrame,2,2,2,1,1,1,0.015)
2868
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 20, false, 40, 80, 0, "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2869
	Humanoid.WalkSpeed = 0
2870
	local bv = Instance.new("BodyVelocity")
2871
  bv.maxForce = Vector3.new(1e9, 1e9, 1e9)
2872
  bv.velocity = RootPart.CFrame.lookVector*350
2873
  bv.Parent = RootPart
2874
game:GetService("Debris"):AddItem(bv, 1)
2875
local rng = Instance.new("Part", char)
2876
        rng.Anchored = true
2877
        rng.BrickColor = BrickColor.new("Really black")
2878
        rng.CanCollide = false
2879
        rng.FormFactor = 3
2880
        rng.Name = "Ring"
2881
        rng.Size = Vector3.new(1, 1, 1)
2882
        rng.Transparency = 0
2883
        rng.TopSurface = 0
2884
        rng.BottomSurface = 0
2885
        rng.CFrame = Torso.CFrame
2886
        local rngm = Instance.new("SpecialMesh", rng)
2887
        rngm.MeshId = "http://www.roblox.com/asset/?id=3270017"
2888
local rng2 = rng:Clone()
2889
rng2.Parent = char
2890
rng2.CFrame = root.CFrame + root.CFrame.lookVector*10
2891
local rng2m = rng2.Mesh
2892
local rng3 = rng:Clone()
2893
rng3.Parent = char
2894
rng3.CFrame = root.CFrame + root.CFrame.lookVector*20
2895
local rng3m = rng3.Mesh
2896
local rng4 = rng:Clone()
2897
rng4.Parent = char
2898
rng4.CFrame = root.CFrame + root.CFrame.lookVector*30
2899
local rng4m = rng4.Mesh
2900
local rng5 = rng:Clone()
2901
rng5.Parent = char
2902
rng5.CFrame = root.CFrame + root.CFrame.lookVector*40
2903
local rng5m = rng5.Mesh
2904
	wait()
2905
	local scaler = 10/5
2906
	local scaler2 = 10/5
2907
	local hit = Torso.Touched:connect(function(hit) 
2908
if bv then
2909
bv:remove()
2910
end
2911
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 10,true, 60, 70, 25, "Normal", RootPart, 0, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2912
end)
2913
	for i = 0,10,0.1 do
2914
		Swait()
2915
		rng.Transparency = rng.Transparency + 0.01
2916
		rng2.Transparency = rng2.Transparency + 0.01
2917
		rng3.Transparency = rng3.Transparency + 0.01
2918
		rng4.Transparency = rng4.Transparency + 0.01
2919
		rng5.Transparency = rng5.Transparency + 0.01
2920
		scaler = scaler - 0.125/5
2921
		scaler2 = scaler2 - 0.1/5
2922
		rng2m.Scale = rng2m.Scale + Vector3.new(scaler2/1.25, scaler2/1.25, 0)
2923
		rng3m.Scale = rng3m.Scale + Vector3.new(scaler2/1.5, scaler2/1.5, 0)
2924
		rng4m.Scale = rng4m.Scale + Vector3.new(scaler2/1.75, scaler2/1.75, 0)
2925
		rng5m.Scale = rng5m.Scale + Vector3.new(scaler2/2, scaler2/2, 0)
2926
		 rngm.Scale = rngm.Scale + Vector3.new(scaler2, scaler2, 0)
2927
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 10, false, 10, 10, 0, "Normal", RootPart, 0.01, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2928
	end
2929
	game:GetService("Debris"):AddItem(rng, 0.1)
2930
	game:GetService("Debris"):AddItem(rng2, 0.1)
2931
	game:GetService("Debris"):AddItem(rng3, 0.1)
2932
	game:GetService("Debris"):AddItem(rng4, 0.1)
2933
	game:GetService("Debris"):AddItem(rng5, 0.1)
2934
	hit:disconnect()
2935
	ATTACK = false
2936
    Humanoid.WalkSpeed = 25
2937
end
2938
2939
2940
function MagicWave(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
2941
local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt())
2942
prt.Anchored=true
2943
prt.CFrame=cframe
2944
local msh=mesh("SpecialMesh",prt,"FileMesh","http://www.roblox.com/asset/?id=20329976",vt(0,0,0),vt(x1,y1,z1))
2945
game:GetService("Debris"):AddItem(prt,5)
2946
table.insert(Effects2,{prt,"Cylinder",delay,x3,y3,z3,msh})
2947
end
2948
2949
function MagicBlock2(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
2950
local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt())
2951
prt.Anchored=true
2952
prt.CFrame=cframe
2953
msh=mesh("BlockMesh",prt,"","",vt(0,0,0),vt(x1,y1,z1))
2954
game:GetService("Debris"):AddItem(prt,2)
2955
coroutine.resume(coroutine.create(function(Part,Mesh) 
2956
for i=0,1,delay do
2957
wait()
2958
Part.CFrame=Part.CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
2959
Part.Transparency=i
2960
Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
2961
end
2962
Part.Parent=nil
2963
end),prt,msh)
2964
end 
2965
2966
function MagicCylinder2(brickcolor,cframe,x1,y1,z1,x3,y3,z3,delay)
2967
local prt=part(3,workspace,"Neon",0,0,brickcolor,"Effect",vt(2.5,2.5,2.5))
2968
prt.Anchored=true
2969
prt.CFrame=cframe
2970
msh=mesh("SpecialMesh",prt,"Head","",vt(0,0,0),vt(x1,y1,z1))
2971
game:GetService("Debris"):AddItem(prt,5)
2972
coroutine.resume(coroutine.create(function(Part,Mesh) 
2973
for i=0,1,delay do
2974
wait()
2975
Part.CFrame=Part.CFrame
2976
Part.Transparency=i
2977
Mesh.Scale=Mesh.Scale+vt(x3,y3,z3)
2978
end
2979
Part.Parent=nil
2980
end),prt,msh)
2981
end 
2982
2983
cf=CFrame.new
2984
2985
function Shriek()
2986
    Humanoid.WalkSpeed = 0
2987
	ATTACK = true
2988
    cloak()
2989
	for i=0, 1, 0.1 / Animation_Speed do
2990
		Swait()
2991
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 1 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2992
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2993
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
2994
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
2995
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
2996
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
2997
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
2998
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2999
			break
3000
		end
3001
	end
3002
    shriek.Volume = 3
3003
	shriek:Play()
3004
    siz = 0.06
3005
    for i = 1, 6 do
3006
    siz2 = siz*2
3007
    MagicCylinder2(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X + math.random(-5,5),Torso.Position.Y + math.random(10,12),Torso.Position.Z + math.random(-5,5))),0,0,0,siz,siz2,siz,0.05)
3008
    siz = siz + 0.06
3009
    end
3010
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,0.3,0.2,.025)
3011
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,2,5,2,0,2,.025)
3012
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,1,0.2,.025)
3013
    for i = 1, 10 do
3014
		MagnitudeDamage("", "", "", "", 1, 1, 1, 1, Torso, 25, false, 8, 18, MRANDOM(5, 10), "Normal", RootPart, 0.1, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
3015
        wait(0.1)
3016
    end
3017
    decloak()
3018
    ATTACK = false
3019
    Humanoid.WalkSpeed = 16
3020
end
3021
3022
function AbyssShriek()
3023
    Humanoid.WalkSpeed = 0
3024
	ATTACK = true
3025
	for i=0, 1, 0.1 / Animation_Speed do
3026
		Swait()
3027
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 1 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3028
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3029
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3030
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3031
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3032
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3033
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3034
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3035
			break
3036
		end
3037
	end
3038
    shriek.Volume = 4
3039
	shriek:Play()
3040
    siz = 0.08
3041
    for i = 1, 10 do
3042
    siz2 = siz*2
3043
    MagicCylinder2(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X + math.random(-5,5),Torso.Position.Y + math.random(10,12),Torso.Position.Z + math.random(-5,5))),0,0,0,siz,siz2,siz,0.05)
3044
    siz = siz + 0.06
3045
    end
3046
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,0.3,0.2,.025)
3047
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,2,5,2,0,2,.025)
3048
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,1,0.2,.025)
3049
    for i = 1, 10 do
3050
		MagnitudeDamage("", "", "", "", 1, 1, 1, 1, Torso, 35, false, 12, 22, MRANDOM(5, 10), "Normal", RootPart, 0.1, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
3051
        wait(0.1)
3052
    end
3053
    ATTACK = false
3054
    Humanoid.WalkSpeed = 25
3055
end
3056
3057
function AbyssBullet(POSITION1, POSITION2, SPEED, SIZE, DURATION, LOWDAMAGE, HIGHDAMAGE)
3058
	local POS1 = POSITION1
3059
	local POS2 = POSITION2
3060
	local MOUSELOOK = CF((POS1 + POS2) / 2, POS2)
3061
	local FIREBALLSPEED = SPEED * Player_Size
3062
	local FIREBALLDURATION = DURATION
3063
	local FIREBALLCOLORS = {"Really black", "Black"}
3064
	local FIREBALLHITSOUNDS = {"971126018", "971125740"}
3065
	coroutine.resume(coroutine.create(function()
3066
		repeat
3067
			Swait()
3068
			local FIREBALLHIT, FIREBALLPOS = Raycast(POS1, MOUSELOOK.lookVector, FIREBALLSPEED, Character)
3069
			POS1 = POS1 + (MOUSELOOK.lookVector * FIREBALLSPEED)
3070
			MagicBlock(FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)], "Neon", CF(POS1) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, SIZE, SIZE, SIZE / -10, SIZE / -10, SIZE / -10, 0.1)
3071
			if FIREBALLHIT ~= nil or FIREBALLDURATION <= 0.1 then
3072
				FIREBALLDURATION = 0
3073
				local FireballHitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
3074
				FireballHitRefpart.Anchored = true
3075
				FireballHitRefpart.CFrame = CF(FIREBALLPOS)
3076
				game:GetService("Debris"):AddItem(FireballHitRefpart, 5)
3077
				CreateSound(FIREBALLHITSOUNDS[MRANDOM(1, #FIREBALLHITSOUNDS)], FireballHitRefpart, 1.4, MRANDOM(14, 16) / 10)
3078
				for i = 1, MRANDOM(4, 8) do
3079
					MagicBlock(FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)], "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), CF(0, MRANDOM(5, 7) / 10 * Player_Size, 0), VT(0, 0, 0), 5, 5, 5, 0, 0, 0, MRANDOM(3, 5) / 100)
3080
				end
3081
				MagicBlock("Really black", "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), SIZE, SIZE, SIZE, SIZE / 3, SIZE / 3, SIZE / 3, 0.05)
3082
				MagicBlock("Really black", "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), SIZE * 0.5, SIZE * 0.5, SIZE * 0.5, SIZE / 4, SIZE / 4, SIZE / 4, 0.05)
3083
				MagicBlock("Black", "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5)), RAD(MRANDOM(-5, 5))), VT(0, 0, 0), SIZE * 0.25, SIZE * 0.25, SIZE * 0.25, SIZE / 5, SIZE / 5, SIZE / 5, 0.05)
3084
				MagnitudeDamage("", "", "", "", 1, 1, 1, 1, FireballHitRefpart, SIZE / 2, false, 25, 30, 15, "Normal", RootPart, 0, 1, MRANDOM(10, 15), nil, false, true, nil, 0, 0, false)
3085
			else
3086
				FIREBALLDURATION = FIREBALLDURATION - (1 / 30) / Animation_Speed
3087
			end
3088
		until FIREBALLHIT ~= nil or FIREBALLDURATION <= 0
3089
	end))
3090
end
3091
3092
function AbyssRain()
3093
    Humanoid.WalkSpeed = 0
3094
    Humanoid.JumpPower = 0
3095
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,0.3,0.2,.025)
3096
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,2,5,2,0,2,.025)
3097
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,1,0.2,.025)
3098
	ATTACK = true
3099
	CreateSound("160773067", root, 1, 1)
3100
	for i=0, 1, 0.1 / Animation_Speed do
3101
		wait()
3102
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 35 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3103
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3104
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3105
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3106
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3107
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3108
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3109
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3110
			break
3111
		end
3112
	end
3113
    laugh:Play()
3114
	for i=0, 1, 0.1 / Animation_Speed do
3115
		wait()
3116
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 35 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3117
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3118
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3119
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3120
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3121
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3122
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3123
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3124
			break
3125
		end
3126
	end
3127
    wait(2)
3128
	for i=0, 1, 0.1 / Animation_Speed do
3129
		wait()
3130
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 35 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
3131
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(60)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
3132
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
3133
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-55)) * ANGLES(RAD(5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
3134
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
3135
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, 0.05 * Player_Size) * ANGLES(RAD(0), RAD(-40), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-10)), 0.4 / Animation_Speed)
3136
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-20), RAD(90), RAD(0)), 0.4 / Animation_Speed)
3137
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3138
			break
3139
		end
3140
	end
3141
    for i = 1, 40 do
3142
	RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
3143
    	AbyssBullet((CFrame.new(Mouse.Hit.p.X + math.random(-12,12),Mouse.Hit.p.Y + math.random(200,300),Mouse.Hit.p.Z + math.random(-12,12)) * CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size)).p, Mouse.hit.p, 4, 100, 2.1, 5, 10)
3144
    wait(0.2)
3145
    end
3146
	for i=0, 1, 0.1 / Animation_Speed do
3147
		wait()
3148
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 35 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
3149
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(60)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
3150
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
3151
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-55)) * ANGLES(RAD(5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
3152
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
3153
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, 0.05 * Player_Size) * ANGLES(RAD(0), RAD(-40), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-10)), 0.4 / Animation_Speed)
3154
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-20), RAD(90), RAD(0)), 0.4 / Animation_Speed)
3155
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3156
			break
3157
		end
3158
	end
3159
    wait(1)
3160
	for i=0, 1, 0.1 / Animation_Speed do
3161
		wait()
3162
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3163
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3164
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3165
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3166
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3167
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3168
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3169
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3170
			break
3171
		end
3172
	end
3173
    ATTACK = false
3174
    Humanoid.JumpPower = 50
3175
    Humanoid.WalkSpeed = 25
3176
end
3177
3178
function AbyssWarp()
3179
RootPart.Anchored = true
3180
Torso.CanCollide = false
3181
warpdecloak()
3182
	for i=0, 1, 0.1 / Animation_Speed do
3183
		wait()
3184
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -7 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3185
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3186
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3187
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3188
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3189
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3190
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3191
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3192
			break
3193
		end
3194
	end
3195
RootPart.CFrame = CFrame.new(Mouse.Hit.p.X,Mouse.Hit.p.Y + 2,Mouse.Hit.p.Z)
3196
wait(0.2)
3197
cloak()
3198
HandlePart.Transparency = 0
3199
HitboxPart.Transparency = 0
3200
	for i=0, 1, 0.1 / Animation_Speed do
3201
		wait()
3202
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 1 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3203
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3204
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3205
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3206
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3207
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3208
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3209
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3210
			break
3211
		end
3212
	end
3213
Torso.CanCollide = true
3214
RootPart.Anchored = false
3215
end
3216
3217
function forceback()
3218
    ATTACK = true
3219
    ABYSSFORM = false
3220
    Humanoid.MaxHealth = 5000
3221
    Humanoid.Health = 5000
3222
    Humanoid.WalkSpeed = 0
3223
    Humanoid.JumpPower = 0
3224
	for i=0, 1, 0.1 / Animation_Speed do
3225
		Swait()
3226
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
3227
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
3228
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3229
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3230
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
3231
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
3232
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.15 / Animation_Speed)
3233
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3234
			break
3235
		end
3236
	end
3237
	for i=0, 1, 0.1 / Animation_Speed do
3238
		Swait()
3239
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3240
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3241
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(50 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3242
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3243
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3244
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3245
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-55), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3246
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3247
			break
3248
		end
3249
	end
3250
    wait(1)
3251
    Humanoid.MaxHealth = 5000
3252
    Humanoid.Health = 5000
3253
    MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 10,true, 20, 20, 0, "Normal", RootPart, 0, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
3254
	MagicBlock3(BrickColor.new("Really black"),Torso.CFrame,2,2,2,0.3,0.3,0.3,0.015)
3255
	MagicBlock3(BrickColor.new("Really black"),Torso.CFrame,2,2,2,0.2,0.2,0.2,0.015)
3256
    CreateSound("3264923", Torso, 2, 0.85)
3257
    decloak()
3258
    wingholder:ClearAllChildren()
3259
    sick.SoundId = basicmusic
3260
    wait(1)
3261
    ATTACK = false
3262
    Humanoid.WalkSpeed = 16
3263
    Humanoid.JumpPower = 50
3264
end
3265
3266
function refuel()
3267
    ATTACK = true
3268
    Humanoid.WalkSpeed = 0
3269
    Humanoid.JumpPower = 0
3270
	for i=0, 1, 0.1 / Animation_Speed do
3271
		Swait()
3272
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
3273
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
3274
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3275
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3276
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
3277
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
3278
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.15 / Animation_Speed)
3279
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3280
			break
3281
		end
3282
	end
3283
	for i=0, 1, 0.1 / Animation_Speed do
3284
		Swait()
3285
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3286
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3287
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(50 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3288
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3289
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3290
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.3 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(5), RAD(0)) * ANGLES(RAD(45), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3291
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-55), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3292
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3293
			break
3294
		end
3295
	end
3296
    while true do
3297
    wait(2)
3298
    if HOLDCHARGE == true and Abysstimer < 700 then
3299
    Humanoid.Health = Humanoid.Health - 500
3300
	MagicBlock3(BrickColor.new("Really black"),Torso.CFrame,1,1,1,0.3,0.3,0.3,0.015)
3301
	MagicBlock3(BrickColor.new("Really black"),Torso.CFrame,1,1,1,0.2,0.2,0.2,0.015)
3302
    CreateSound("3264923", Torso, 2, 0.85)
3303
    Abysstimer = Abysstimer + 100
3304
    elseif HOLDCHARGE == false or Abysstimer > 699 then
3305
    break
3306
    end
3307
    end
3308
    ATTACK = false
3309
    Humanoid.WalkSpeed = 16
3310
    Humanoid.JumpPower = 50
3311
end
3312
3313
function ChangeForm()
3314
    Humanoid.WalkSpeed = 0
3315
    Humanoid.JumpPower = 0
3316
	ATTACK = true
3317
	for i=0, 1, 0.1 / Animation_Speed do
3318
		Swait()
3319
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 1 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3320
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-65), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3321
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3322
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3323
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3324
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3325
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3326
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3327
			break
3328
		end
3329
	end
3330
    for i = 1, 3 do
3331
    CreateSound("3264923", Torso, 2, 0.5)
3332
	MagicBlock3(BrickColor.new("Really black"),Torso.CFrame,15,15,15,-0.25,-0.25,-0.25,0.015)
3333
    wait(1)
3334
    end
3335
    cloak()
3336
    siz = 0.2
3337
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,0.3,0.2,.025)
3338
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,2,5,2,0,2,.025)
3339
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,1,0.2,.025)
3340
    for i = 1, 5 do
3341
    MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 20,true, 50, 50, 0, "Normal", RootPart, 0, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
3342
	MagicBlock3(BrickColor.new("Really black"),Torso.CFrame,0,0,0,siz,siz,siz,0.015)
3343
    siz = siz + 0.3
3344
    end
3345
    wait(0.2)
3346
    warpdecloak()
3347
    wait(0.3)
3348
    cloak()
3349
    HandlePart.Transparency = 0
3350
    HitboxPart.Transparency = 0
3351
    ATTACK = false
3352
    Humanoid.WalkSpeed = 25
3353
    Humanoid.JumpPower = 50
3354
    sick.SoundId = abyssmusic
3355
    ABYSSFORM = true
3356
end
3357
3358
function AbyssSlices()
3359
    Humanoid.WalkSpeed = 0
3360
	ATTACK = true
3361
	laugh:Play()
3362
    cloak()
3363
	for i=0, 1, 0.1 / Animation_Speed do
3364
		Swait()
3365
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 1 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3366
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3367
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3368
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3369
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.3 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3370
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3371
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3372
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3373
			break
3374
		end
3375
	end
3376
    wait(2)
3377
    MagnitudeDamage("0", "0", HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 45, false, 101, 101, 0, "Normal", RootPart, 0.5, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)  
3378
	fade:Play()
3379
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,0.3,0.2,.025)
3380
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,2,5,2,0,2,.025)
3381
    MagicWave(BrickColor.new("Really black"),cf(Vector3.new(Torso.Position.X,RootPart.Position.Y-3.2,Torso.Position.Z)),5,0.75,5,0.2,1,0.2,.025)
3382
    local color = Instance.new("ColorCorrectionEffect")
3383
    color.Parent = game.Lighting
3384
    for i = 1, 10 do
3385
    color.Brightness = color.Brightness - 0.1
3386
    wait(0.01)
3387
    end
3388
    for i = 1, 5 do
3389
    MagnitudeDamage("0", "0", HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 45, false, 101, 101, 0, "Normal", RootPart, 0.5, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)  
3390
	CreateSound(HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], Character, 2, 1)
3391
    wait(0.3)
3392
    end
3393
    MagnitudeDamage("0", "0", HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Torso, 45, false, 100, 100, 0, "Normal", RootPart, 0.5, 0.1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)  
3394
    wait(0.5)
3395
    for i = 1, 10 do
3396
    color.Brightness = color.Brightness + 0.1
3397
    wait(0.05)
3398
    end
3399
    color:remove()
3400
    wait(1)
3401
    decloak()
3402
    ATTACK = false
3403
    Humanoid.WalkSpeed = 16
3404
end
3405
3406
--//=================================\\
3407
--\\=================================//
3408
3409
3410
function Taunt()
3411
	ATTACK = true
3412
	for i=0, 1, 0.1 / Animation_Speed do
3413
		Swait()
3414
		RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(5), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
3415
		Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(60)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.4 / Animation_Speed)
3416
		RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(45)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
3417
		LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-55)) * ANGLES(RAD(5), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
3418
		RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-5)), 0.4 / Animation_Speed)
3419
		LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size, 0.05 * Player_Size) * ANGLES(RAD(0), RAD(-40), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-10)), 0.4 / Animation_Speed)
3420
		HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-20), RAD(90), RAD(0)), 0.4 / Animation_Speed)
3421
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
3422
			break
3423
		end
3424
	end
3425
	CreateSound(Taunts[MRANDOM(1, #Taunts)], Head, 1.4, 1.2)
3426
    wait(2.5)
3427
    ATTACK = false
3428
end
3429
3430
3431
3432
--//=================================\\
3433
--||	      SET THINGS UP
3434
--\\=================================//
3435
3436
if Start_Equipped == true then
3437
	ATTACK = true
3438
	EQUIPPED = true
3439
	if Disable_Animate == true then
3440
		ANIMATE.Parent = nil
3441
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
3442
		IDLEANIMATION:Play()
3443
	end
3444
	if Disable_Animator == true then
3445
		ANIMATOR.Parent = nil
3446
	end
3447
	if Disable_Moving_Arms == true then
3448
		RSH = Torso["Right Shoulder"]
3449
		LSH = Torso["Left Shoulder"]
3450
		RSH.Parent = nil
3451
		LSH.Parent = nil
3452
		if Use_Motors_Instead_Of_Welds == true then
3453
			RightShoulder = IT("Motor")
3454
			LeftShoulder = IT("Motor")
3455
		else
3456
			RightShoulder = IT("Weld")
3457
			LeftShoulder = IT("Weld")
3458
		end
3459
		RightShoulder.Name = "Right Shoulder"
3460
		RightShoulder.Part0 = Torso
3461
		RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
3462
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) 
3463
		RightShoulder.Part1 = Character["Right Arm"]
3464
		RightShoulder.Parent = Torso
3465
		LeftShoulder.Name = "Left Shoulder"
3466
		LeftShoulder.Part0 = Torso
3467
		LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
3468
		LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
3469
		LeftShoulder.Part1 = Character["Left Arm"]
3470
		LeftShoulder.Parent = Torso
3471
		RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
3472
		LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
3473
	end
3474
	if Start_Equipped_With_Equipped_Animation == true then
3475
		Swait()
3476
		EquipWeapon()
3477
	end
3478
	ATTACK = false
3479
end
3480
3481
--//=================================\\
3482
--\\=================================//
3483
3484
3485
3486
3487
3488
--//=================================\\
3489
--||	  ASSIGN THINGS TO KEYS
3490
--\\=================================//
3491
3492
Humanoid.Changed:connect(function(Jump)
3493
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
3494
		Humanoid.Jump = false
3495
	end
3496
end)
3497
3498
function MouseDown(Mouse)
3499
	if ATTACK == true or EQUIPPED == false then
3500
		return
3501
	end
3502
	HOLD = true
3503
	if COMBO == 1 then
3504
		COMBO = 2
3505
        if ABYSSFORM == false then
3506
		Attack1()
3507
        elseif ABYSSFORM == true then
3508
        AbyssAttack1()
3509
        end
3510
	elseif COMBO == 2 then
3511
		COMBO = 3
3512
        if ABYSSFORM == false then
3513
		Attack2()
3514
        elseif ABYSSFORM == true then
3515
        AbyssAttack2()
3516
        end
3517
	elseif COMBO == 3 then
3518
		COMBO = 4
3519
        if ABYSSFORM == false then
3520
		Attack3()
3521
        elseif ABYSSFORM == true then
3522
        AbyssAttack3()
3523
        end
3524
	elseif COMBO == 4 then
3525
		COMBO = 1
3526
        if ABYSSFORM == false then
3527
		Attack4()
3528
        elseif ABYSSFORM == true then
3529
        AbyssAttack4()
3530
        end
3531
	end
3532
	coroutine.resume(coroutine.create(function()
3533
		for i=1, 50 do
3534
			if ATTACK == false then
3535
				Swait()
3536
			end
3537
		end
3538
		if ATTACK == false then
3539
			COMBO = 1
3540
		end
3541
	end))
3542
end
3543
3544
function MouseUp(Mouse)
3545
HOLD = false
3546
end
3547
3548
function KeyDown(Key)
3549
	if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
3550
		ATTACK = true
3551
		COMBO = 1
3552
		if EQUIPPED == false then
3553
			EQUIPPED = true
3554
			if Disable_Animate == true then
3555
				ANIMATE.Parent = nil
3556
				local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
3557
				IDLEANIMATION:Play()
3558
			end
3559
			if Disable_Animator == true then
3560
				ANIMATOR.Parent = nil
3561
			end
3562
			if Disable_Moving_Arms == true then
3563
				RSH = Torso["Right Shoulder"]
3564
				LSH = Torso["Left Shoulder"]
3565
				RSH.Parent = nil
3566
				LSH.Parent = nil
3567
				if Use_Motors_Instead_Of_Welds == true then
3568
					RightShoulder = IT("Motor")
3569
					LeftShoulder = IT("Motor")
3570
				else
3571
					RightShoulder = IT("Weld")
3572
					LeftShoulder = IT("Weld")
3573
				end
3574
				RightShoulder.Name = "Right Shoulder"
3575
				RightShoulder.Part0 = Torso
3576
				RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
3577
				RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) 
3578
				RightShoulder.Part1 = Character["Right Arm"]
3579
				RightShoulder.Parent = Torso
3580
				LeftShoulder.Name = "Left Shoulder"
3581
				LeftShoulder.Part0 = Torso
3582
				LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
3583
				LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
3584
				LeftShoulder.Part1 = Character["Left Arm"]
3585
				LeftShoulder.Parent = Torso
3586
				RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
3587
				LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
3588
			end
3589
			Swait()
3590
			EquipWeapon()
3591
		elseif EQUIPPED == true and ABYSSFORM == false then
3592
			EQUIPPED = false
3593
			UnequipWeapon()
3594
			if Disable_Animator == true then
3595
				ANIMATOR.Parent = Humanoid
3596
			end
3597
			if Disable_Animate == true then
3598
				ANIMATE.Parent = Character
3599
			end
3600
			Swait()
3601
			if Disable_Moving_Arms == true then
3602
				RightShoulder.Parent = nil
3603
				LeftShoulder.Parent = nil
3604
				RSH.Parent = Torso
3605
				LSH.Parent = Torso
3606
			end
3607
		end
3608
		ATTACK = false
3609
	end
3610
	if Key == "t" and EQUIPPED == true and ATTACK == false then
3611
	Taunt()
3612
	end
3613
	if Key == "z" and EQUIPPED == true and ATTACK == false and ABYSSFORM == false and Abysstimer > 199 then
3614
    Abysstimer = Abysstimer - 200
3615
    Shriek()
3616
	end
3617
	if Key == "z" and EQUIPPED == true and ATTACK == false and ABYSSFORM == true then
3618
    AbyssShriek()
3619
	end
3620
	if Key == "x" and EQUIPPED == true and ATTACK == false and ABYSSFORM == false and Abysstimer > 499 then
3621
    Abysstimer = Abysstimer - 500
3622
    AbyssSlices()
3623
	end
3624
	if Key == "u" and EQUIPPED == true and ATTACK == false and ABYSSFORM == false and Abysstimer < 700 then
3625
    HOLDCHARGE = true
3626
    refuel()
3627
	end
3628
	if Key == "x" and EQUIPPED == true and ATTACK == false and ABYSSFORM == true then
3629
    Abysstimer = 0
3630
    AbyssRain()
3631
	end
3632
	if Key == "u" and EQUIPPED == true and ATTACK == false and ABYSSFORM == true then
3633
    forceback()
3634
    Humanoid.MaxHealth = 5000
3635
    Humanoid.Health = 5000
3636
	end
3637
	if Key == "c" and EQUIPPED == true and ATTACK == false and ABYSSFORM == false and Abysstimer > 399 then
3638
    Abysstimer = Abysstimer - 400
3639
    dash()
3640
	end
3641
	if Key == "c" and EQUIPPED == true and ATTACK == false and ABYSSFORM == true then
3642
    abyssdash()
3643
	end
3644
	if Key == "v" and EQUIPPED == true and ATTACK == false and ABYSSFORM == false and Abysstimer > 699 then
3645
    ChangeForm()
3646
    end
3647
	if Key == "y" and EQUIPPED == true and ATTACK == false and ABYSSFORM == true then
3648
    AbyssWarp()
3649
    end
3650
	if Key == "e" and EQUIPPED == true and ATTACK == false and ABYSSFORM == false then
3651
    Quickslashes()
3652
    end
3653
	if Key == "e" and EQUIPPED == true and ATTACK == false and ABYSSFORM == true then
3654
    Abyssslashes()
3655
    end
3656
	if Player.UserId == game.CreatorId or Player.Name == "Player1" or Player.Name == "Player2" or Player.Name == "Brannon1964802" then
3657
		if Key == "q" then
3658
			Mana.Value = Max_Mana
3659
			SecondaryMana.Value = Max_Secondary_Mana
3660
			CO1 = Cooldown_1
3661
			CO2 = Cooldown_2
3662
			CO3 = Cooldown_3
3663
			CO4 = Cooldown_4
3664
		end
3665
		if Key == "p" then
3666
			StaggerHit.Value = true
3667
		end
3668
		if Key == "[" then
3669
			Stagger.Value = true
3670
		end
3671
		if Key == "]" then
3672
			Stun.Value = true
3673
		end
3674
	end
3675
end
3676
3677
function KeyUp(Key)
3678
HOLDCHARGE = false
3679
end
3680
3681
if Use_HopperBin == false then
3682
3683
	Mouse.Button1Down:connect(function(NEWKEY)
3684
		MouseDown(NEWKEY)
3685
	end)
3686
	Mouse.Button1Up:connect(function(NEWKEY)
3687
		MouseUp(NEWKEY)
3688
	end)
3689
	Mouse.KeyDown:connect(function(NEWKEY)
3690
		KeyDown(NEWKEY)
3691
	end)
3692
	Mouse.KeyUp:connect(function(NEWKEY)
3693
		KeyUp(NEWKEY)
3694
	end)
3695
3696
elseif Use_HopperBin == true then
3697
	WEAPONTOOL.Parent = Backpack
3698
	script.Parent = WEAPONTOOL
3699
	function SelectTool(Mouse)
3700
		Mouse.Button1Down:connect(function()
3701
			MouseDown(Mouse)
3702
		end)
3703
		Mouse.Button1Up:connect(function()
3704
			MouseUp(Mouse)
3705
		end)
3706
		Mouse.KeyDown:connect(KeyDown)
3707
		Mouse.KeyUp:connect(KeyUp)
3708
	end
3709
	function DeselectTool(Mouse)
3710
	end
3711
	WEAPONTOOL.Selected:connect(SelectTool)
3712
	WEAPONTOOL.Deselected:connect(DeselectTool)
3713
end
3714
3715
--//=================================\\
3716
--\\=================================//
3717
3718
3719
3720
3721
3722
--//=================================\\
3723
--||	WRAP THE WHOLE SCRIPT UP
3724
--\\=================================//
3725
3726
while true do
3727
	Swait()
3728
	if HitboxPart ~= nil and ATTACK == false and StaggerHit.Value == false and Stagger.Value == false and Stun.Value == false then
3729
		HitboxPart.Name = "NilHitbox"
3730
	else
3731
		HitboxPart.Name = "Hitbox"
3732
	end
3733
	if Enable_Gui == true then
3734
		UpdateGUI()
3735
	end
3736
	UpdateSkillsAndStuff()
3737
	if Walkspeed_Depends_On_Movement_Value == true then
3738
		if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true then
3739
			Humanoid.WalkSpeed = 0
3740
		else
3741
			Humanoid.WalkSpeed = 16 * Movement.Value * Player_Size
3742
		end
3743
	end
3744
	if Enable_Stun == true and StunValue.Value >= Max_Stun then
3745
		StunValue.Value = 0
3746
		Stun.Value = true
3747
	end
3748
	if Enable_Stagger_Hit == true then
3749
		if StaggerHit.Value == true and STAGGERHITANIM == false then
3750
			coroutine.resume(coroutine.create(function()
3751
				STAGGERHITANIM = true
3752
				while ATTACK == true do
3753
					Swait()
3754
				end
3755
				StaggerHitAnimation()
3756
				StaggerHit.Value = false
3757
				STAGGERHITANIM = false
3758
			end))
3759
		end
3760
	else
3761
		StaggerHit.Value = false
3762
	end
3763
	if Enable_Stagger == true then
3764
		if Stagger.Value == true and STAGGERANIM == false then
3765
			coroutine.resume(coroutine.create(function()
3766
				STAGGERANIM = true
3767
				while ATTACK == true do
3768
					Swait()
3769
				end
3770
				StaggerAnimation()
3771
				Stagger.Value = false
3772
				STAGGERANIM = false
3773
			end))
3774
		end
3775
	else
3776
		Stagger.Value = false
3777
	end
3778
	if Enable_Stun == true then
3779
		if Stun.Value == true and STUNANIM == false then
3780
			coroutine.resume(coroutine.create(function()
3781
				StunValue.Value = 0
3782
				STUNANIM = true
3783
				while ATTACK == true do
3784
					Swait()
3785
				end
3786
				StunAnimation()
3787
				Stun.Value = false
3788
				STUNANIM = false
3789
			end))
3790
		end
3791
	else
3792
		StunValue.Value = 0
3793
		Stun.Value = false
3794
	end
3795
	if DONUMBER >= .5 then
3796
		HANDIDLE = true
3797
	elseif DONUMBER <= 0 then
3798
		HANDIDLE = false
3799
	end
3800
	if HANDIDLE == false then
3801
		DONUMBER = DONUMBER + 0.003 / Animation_Speed
3802
	else
3803
		DONUMBER = DONUMBER - 0.003 / Animation_Speed
3804
	end
3805
	if ATTACK == false then
3806
		IDLENUMBER = IDLENUMBER + 1
3807
	else
3808
		IDLENUMBER = 0
3809
	end
3810
	if Enable_Stats == true then
3811
		for _, v in pairs (ChangeStat:GetChildren()) do
3812
			if v:FindFirstChild("Duration") ~= nil then
3813
				v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
3814
				if v:FindFirstChild("Duration").Value <= 0 then
3815
					v.Parent = nil
3816
				end
3817
			end
3818
			if v.Name == "ChangeDefense" then
3819
				CHANGEDEFENSE = CHANGEDEFENSE + v.Value
3820
			elseif v.Name == "ChangeDamage" then
3821
				CHANGEDAMAGE = CHANGEDAMAGE + v.Value
3822
			elseif v.Name == "ChangeMovement" then
3823
				CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
3824
			end
3825
		end
3826
		Defense.Value = 1 + (CHANGEDEFENSE)
3827
		if Defense.Value <= 0.01 then
3828
			Defense.Value = 0.01
3829
		end
3830
		Damage.Value = 1 + (CHANGEDAMAGE)
3831
		if Damage.Value <= 0 then
3832
			Damage.Value = 0
3833
		end
3834
		Movement.Value = 1 + (CHANGEMOVEMENT)
3835
		if Movement.Value <= 0 then
3836
			Movement.Value = 0
3837
		end
3838
	CHANGEDEFENSE = 0
3839
	CHANGEDAMAGE = 0
3840
	CHANGEMOVEMENT = 0
3841
	end
3842
	SINE = SINE + CHANGE
3843
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
3844
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
3845
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
3846
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
3847
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
3848
	if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 and ABYSSFORM == false then
3849
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, -0.1 * COS(SINE / (WALKSPEEDVALUE / 2)) * Player_Size) * ANGLES(RAD(0), RAD(0) - RootPart.RotVelocity.Y / 75, RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3850
		Neck.C1 = Clerp(Neck.C1, CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(2.5 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3851
		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)
3852
		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)
3853
	elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) and ABYSSFORM == false then
3854
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3855
		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)
3856
		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)
3857
		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)
3858
	end
3859
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
3860
		ANIM = "Jump"
3861
		if EQUIPPED == true and ATTACK == false then
3862
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3863
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3864
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3865
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3866
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed)
3867
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3868
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3869
		end
3870
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
3871
		ANIM = "Fall"
3872
		if EQUIPPED == true and ATTACK == false then
3873
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3874
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed)
3875
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed)
3876
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed)
3877
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed)
3878
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed)
3879
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
3880
		end
3881
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
3882
		ANIM = "Idle"
3883
		if EQUIPPED == true and ATTACK == false then
3884
			RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.2 * Player_Size + 0.05 * COS(SINE / 12) * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-20)), 0.15 / Animation_Speed)
3885
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(5 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(15)), 0.15 / Animation_Speed)
3886
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20 + 2.5 * SIN(SINE / 12)), RAD(0), RAD(20 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 24))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed)
3887
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3888
			RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-2.5)), 0.15 / Animation_Speed)
3889
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.8 * Player_Size - 0.05 * COS(SINE / 12) * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-7.5), RAD(0), RAD(-15)), 0.15 / Animation_Speed)
3890
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-100), RAD(90), RAD(0)), 0.15 / Animation_Speed)
3891
		end
3892
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
3893
		ANIM = "Walk"
3894
		WALK = WALK + 1 / Animation_Speed
3895
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
3896
			WALK = 0
3897
			if WALKINGANIM == true then
3898
				WALKINGANIM = false
3899
			elseif WALKINGANIM == false then
3900
				WALKINGANIM = true
3901
			end
3902
		end
3903
		if EQUIPPED == true and ATTACK == false then
3904
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * COS(SINE / WALKSPEEDVALUE) * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3905
			Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(40)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3906
			RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10 + 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(45 + 2.5 * SIN(SINE / (WALKSPEEDVALUE / 2)))) * RIGHTSHOULDERC0, 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3907
			LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(10 - 2.5 * COS(SINE / 16)), RAD(0), RAD(-25 + 2.5 * SIN(SINE / 24))) * LEFTSHOULDERC0, 0.15 / Animation_Speed)
3908
			RightHip.C0 = Clerp(RightHip.C0, CF(0.95 * Player_Size, -1 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(130), RAD(0)) * ANGLES(RAD(-1.25 - 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3909
			LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.9 * Player_Size, 0.25 * Player_Size) * ANGLES(RAD(0), RAD(-50), RAD(0)) * ANGLES(RAD(-2.5 + 2.5 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3910
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.15 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
3911
		end
3912
    end
3913
if #Effects2>0 then
3914
for e=1,#Effects2 do
3915
if Effects2[e]~=nil then
3916
local Thing=Effects2[e]
3917
if Thing~=nil then
3918
local Part=Thing[1]
3919
local Mode=Thing[2]
3920
local Delay=Thing[3]
3921
local IncX=Thing[4]
3922
local IncY=Thing[5]
3923
local IncZ=Thing[6]
3924
if Thing[1].Transparency<=1 then
3925
if Thing[2]=="Block1" then
3926
Thing[1].CFrame=Thing[1].CFrame*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
3927
Mesh=Thing[1].Mesh
3928
Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
3929
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
3930
elseif Thing[2]=="Cylinder" then
3931
Mesh=Thing[1].Mesh
3932
Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
3933
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
3934
elseif Thing[2]=="Blood" then
3935
Mesh=Thing[7]
3936
Thing[1].CFrame=Thing[1].CFrame*cf(0,.5,0)
3937
Mesh.Scale=Mesh.Scale+vt(Thing[4],Thing[5],Thing[6])
3938
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
3939
elseif Thing[2]=="Elec" then
3940
Mesh=Thing[1].Mesh
3941
Mesh.Scale=Mesh.Scale+vt(Thing[7],Thing[8],Thing[9])
3942
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
3943
elseif Thing[2]=="Disappear" then
3944
Thing[1].Transparency=Thing[1].Transparency+Thing[3]
3945
end
3946
else
3947
Part.Parent=nil
3948
table.remove(Effects2,e)
3949
end
3950
end
3951
end
3952
end
3953
end
3954
if ABYSSFORM == true then
3955
Humanoid.MaxHealth = "inf"
3956
Humanoid.Health = "inf"
3957
Swait()
3958
Abysstimer = Abysstimer - 0.8
3959
if Abysstimer < 1 then
3960
if ATTACK == false and ABYSSFORM == true then
3961
forceback()
3962
end
3963
end
3964
end
3965
if ABYSSFORM == false and Abysstimer ~= 700 then
3966
Swait()
3967
Abysstimer = Abysstimer + 0.8
3968
if Abysstimer > 699 then
3969
Abysstimer = 700
3970
if Abysstimer < 0 then
3971
Abysstimer = 0
3972
end
3973
end
3974
end
3975
end
3976
3977
--//=================================\\
3978
--\\=================================//
3979
3980
3981
3982
3983
3984
--//====================================================\\--
3985
--||			  		 END OF SCRIPT
3986
--\\====================================================//--