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