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