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