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