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