View difference between Paste ID: kWznNnJB and qQLVrFKj
SHOW: | | - or go back to the newest paste.
1
--//====================================================\\--
2
--|| idk who are owner soo...
3
--\\====================================================//--
4
Check = {
5
  "santabot662"
6
}
7
local Player = game.Players.LocalPlayer
8
game.Workspace.santabot662.Humanoid.MaxHealth = math.inf
9
10
11
local UIS = game:GetService'UserInputService'
12
if script.Parent:FindFirstChild("Humanoid") then
13
Player = game.Players:FindFirstChild(script.Parent.Name)
14
elseif script.Parent.Name == "Torso" then
15
Player = game.Players:FindFirstChild(script.Parent.Parent.Name)
16
end
17
Bonniee = Instance.new("ForceField", game.Players.LocalPlayer.Character)
18
Bonniee.Visible = false
19
local nel = game.Players.LocalPlayer.Character.Humanoid
20
nel.MaxHealth = math.huge
21
22
wait(1 / 60)
23
24
PlayerGui = Player.PlayerGui
25
Cam = workspace.CurrentCamera
26
Backpack = Player.Backpack
27
Character = Player.Character
28
char = Player.Character
29
Humanoid = Character.Humanoid
30
Mouse = Player:GetMouse()
31
RootPart = Character["HumanoidRootPart"]
32
Torso = Character["Torso"]
33
Head = Character["Head"]
34
RightArm = Character["Right Arm"]
35
LeftArm = Character["Left Arm"]
36
RightLeg = Character["Right Leg"]
37
LeftLeg = Character["Left Leg"]
38
RootJoint = RootPart["RootJoint"]
39
Neck = Torso["Neck"]
40
RightShoulder = Torso["Right Shoulder"]
41
LeftShoulder = Torso["Left Shoulder"]
42
RightHip = Torso["Right Hip"]
43
LeftHip = Torso["Left Hip"]
44
Humanoid.MaxHealth = "inf"
45
Humanoid.Health = "inf"
46
Humanoid.JumpPower = 100
47
48
----------------------------------------------------------------------
49
		
50
local Orin = "http://www.roblox.com/asset/?id=492754352"
51
Head.face.Texture = Orin
52
function weld(a, b, acf)
53
	local w = Instance.new("Weld", a)
54
	w.Part0 = a
55
	w.Part1 = b
56
	w.C0 = acf
57
end
58
local righteyebrickcolor = "White"
59
local reye = Instance.new("Part", char)
60
reye.CanCollide = false
61
reye.BrickColor = BrickColor.new(righteyebrickcolor)
62
reye.Material = "Neon"
63
reye.Size = Vector3.new(.25,.35,.15)
64
weld(reye, char.Head, CFrame.new(0.15,-0.2,0.55), CFrame.new(1,0,0))
65
m1 = Instance.new("SpecialMesh", reye)
66
m1.MeshType = "Sphere"
67
m1.Scale = Vector3.new(0.9,0.9,0.9)
68
reye.Locked = true
69
reye.Name = "re"
70
71
local leye = Instance.new("Part", char)
72
leye.CanCollide = false
73
leye.BrickColor = BrickColor.new(righteyebrickcolor)
74
leye.Material = "Neon"
75
leye.Size = Vector3.new(.25,.35,.15)
76
weld(leye, char.Head, CFrame.new(-0.15,-0.2,0.55), CFrame.new(1,0,0))
77
local m = Instance.new("SpecialMesh", leye)
78
m.MeshType = "Sphere"
79
m.Scale = Vector3.new(0.9,0.9,0.9)
80
leye.Locked = true
81
leye.Name = "le"
82
83
c = "White"
84
85
vt=Vector3.new
86
cf=CFrame.new
87
euler=CFrame.fromEulerAnglesXYZ
88
angles=CFrame.Angles
89
90
	function part(formfactor,parent,material,reflectance,transparency,brickcolor,name,size)
91
		local fp=Instance.new("Part")
92
		fp.formFactor=formfactor
93
		fp.Parent=parent
94
		fp.Reflectance=reflectance
95
		fp.Transparency=transparency
96
		fp.CanCollide=false
97
		fp.Locked=true
98
		fp.BrickColor=BrickColor.new(tostring(brickcolor))
99
		fp.Name=name
100
		fp.Size=size
101
		fp.Position=Character.Torso.Position
102
		fp.Material=material
103
		fp:BreakJoints()
104
		return fp
105
	end
106
107
	function mesh(Mesh,part,meshtype,meshid,offset,scale)
108
		local mesh=Instance.new(Mesh)
109
		mesh.Parent=part
110
		if Mesh=="SpecialMesh" then
111
			mesh.MeshType=meshtype
112
			mesh.MeshId=meshid
113
		end
114
		mesh.Offset=offset
115
		mesh.Scale=scale
116
		return mesh
117
	end
118
119
function BreakEffect(brickcolor,cframe,x1,y1,z1,Color)
120
local prt=part("Custom",workspace,"Neon",0,0,Color,"Effect",vt(0.5,0.5,0.5))
121
prt.Anchored=true
122
prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
123
local msh=mesh("SpecialMesh",prt,"Sphere","",vt(0,0,0),vt(x1,y1,z1))
124
coroutine.resume(coroutine.create(function(Part,CF,Numbb,randnumb) 
125
CF=Part.CFrame
126
Numbb=0
127
randnumb=math.random()-math.random()
128
for i=0,1,0.05 do
129
wait()
130
CF=CF*cf(0,1,0)
131
--Part.CFrame=Part.CFrame*euler(0.5,0,0)*cf(0,1,0)
132
Part.CFrame=CF*euler(Numbb,0,0)
133
Part.Transparency=i
134
Numbb=Numbb+randnumb
135
end
136
Part.Parent=nil
137
end),prt)
138
end
139
140
141
--------------------------------------------------------------------------------
142
143
144
Humanoid.DisplayDistanceType = "None"
145
if Character:FindFirstChild("Granted") == nil then
146
kkk = Instance.new("Sound",Character)
147
kkk.Volume = 1
148
kkk.PlaybackSpeed = 1
149
kkk.Pitch = 1
150
kkk.SoundId = "rbxassetid://1066547712"
151
kkk:Play()
152
kkk.Name = "BackgroundMusic"
153
kkk.Looped = true
154
local naeeym2 = Instance.new("BillboardGui",Character)
155
naeeym2.AlwaysOnTop = true
156
naeeym2.Size = UDim2.new(0,100,0,40)
157
naeeym2.StudsOffset = Vector3.new(0,3,0)
158
naeeym2.Adornee = Character.Head
159
naeeym2.Name = "TalkingBillBoard"
160
local tecks2 = Instance.new("TextLabel",naeeym2)
161
tecks2.BackgroundTransparency = 1
162
tecks2.BorderSizePixel = 0
163
tecks2.Text = "Neo Shi-Shi"
164
tecks2.Font = "Cartoon"
165
tecks2.TextSize = 30
166
tecks2.TextStrokeTransparency = 0
167
tecks2.TextColor3 = Color3.new(255,255,255)
168
tecks2.TextStrokeColor3 = Color3.new(1,1,1)
169
tecks2.Size = UDim2.new(1,0,0.5,0)
170
tecks2.Parent = naeeym2
171
elseif Character:FindFirstChild("Granted") then
172
local naeeym2 = Instance.new("BillboardGui",Character)
173
naeeym2.AlwaysOnTop = true
174
naeeym2.Size = UDim2.new(0,100,0,40)
175
naeeym2.StudsOffset = Vector3.new(0,3,0)
176
naeeym2.Adornee = Character.Head
177
naeeym2.Name = "TalkingBillBoard"
178
local tecks2 = Instance.new("TextLabel",naeeym2)
179
tecks2.BackgroundTransparency = 1
180
tecks2.BorderSizePixel = 0
181
tecks2.Text = "Neo Shi-Shi"
182
tecks2.Font = "Cartoon"
183
tecks2.TextSize = 30
184
tecks2.TextStrokeTransparency = 0
185
tecks2.TextColor3 = Color3.new(255,2555,255)
186
tecks2.TextStrokeColor3 = Color3.new(0,0,0)
187
tecks2.Size = UDim2.new(1,0,0.5,0)
188
tecks2.Parent = naeeym2
189
end
190
191
IT = Instance.new
192
CF = CFrame.new
193
VT = Vector3.new
194
RAD = math.rad
195
C3 = Color3.new
196
UD2 = UDim2.new
197
BRICKC = BrickColor.new
198
ANGLES = CFrame.Angles
199
EULER = CFrame.fromEulerAnglesXYZ
200
COS = math.cos
201
ACOS = math.acos
202
SIN = math.sin
203
ASIN = math.asin
204
ABS = math.abs
205
MRANDOM = math.random
206
FLOOR = math.floor
207
208
209
210
211
Class_Name=string.reverse"ihS-ihS yB tidE "
212
--//=================================\\
213
--||		  CUSTOMIZATION
214
--\\=================================//
215
216
Weapon_Name = "Neo"
217
218
Custom_Colors = {
219
	Custom_Color_1 = BRICKC("White"); --1st color for the weapon.
220
	Custom_Color_2 = BRICKC("Really black"); --2nd color for the weapon.
221
222
	Custom_Color_3 = BRICKC("White"); --Color for the abilities.
223
	Custom_Color_4 = BRICKC("White"); --Color for the secondary bar.
224
	Custom_Color_5 = BRICKC("White"); --Color for the mana bar.
225
	Custom_Color_6 = BRICKC("White"); --Color for the health bar.
226
	Custom_Color_7 = BRICKC("White"); --Color for the stun bar.
227
228
	Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
229
	Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
230
	Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
231
	Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
232
	Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
233
}
234
235
warn(Class_Name.." #4817")
236
Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
237
Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
238
Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
239
Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
240
Ability_Background_Transparency = 0  --Transparency for the background of the abilities.
241
Stat_Background_Transparency = 0 --Transparency for the background of the stats.
242
243
Player_Size = 1 --Size of the player.
244
Animation_Speed = 6
245
Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
246
247
Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
248
Enable_Stats = false --Enables or disables stats.
249
Put_Stats_In_Character = false --Places stats in Character.
250
Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
251
Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
252
Enable_Stagger = false --Enables or disables staggering.
253
Enable_Stun = false --Enables or disables the stun mechanic.
254
Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
255
Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
256
257
Start_Equipped = false --Starts the player equipped with their weapon.
258
Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
259
Can_Equip_Or_Unequip = true --Enables or disables the ability to unequip or equip your weapon.
260
Disable_Animator = true --Disables the Animator in the humanoid.
261
Disable_Animate = true --Disables the Animate script in the monicter.
262
Disable_Moving_Arms = false --Keeps the arms from moving around.
263
Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
264
Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
265
Disable_Jump = false --Disables jumping.
266
Use_HopperBin = true --Uses a hopperbin to do things.
267
268
Cooldown_1 = 0 --Cooldowns for abilites.
269
Cooldown_2 = 0
270
Cooldown_3 = 0
271
Cooldown_4 = 0
272
Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
273
Skill_2_Mana_Cost = 0
274
Skill_3_Mana_Cost = 0
275
Skill_4_Mana_Cost = 0
276
Max_Mana = 0 --Maximum amount of mana you can have.
277
Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
278
Mana_Name = "Mana" --Name for the mana bar.
279
Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
280
Max_Stun = 1 --Maximum amount of stun you can have.
281
Recover_Mana = 0 --How much mana you gain.
282
Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
283
Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
284
Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
285
Recover_Secondary_Mana = 0 --How much secondary mana you gain.
286
Lose_Stun = 0 --How much stun you lose.
287
Stun_Wait = 0 --Delay between losing stun.
288
Mana_Wait = 0 --Delay between gaining mana.
289
Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
290
Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
291
Constant_Update = false --Removes the delay between updating the Weapon GUI.
292
Show_Stats = false --Hides or shows stats.
293
Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
294
295
--//=================================\\
296
--|| 	  END OF CUSTOMIZATION
297
--\\=================================//
298
299
300
301
302
303
--//=================================\\
304
--|| 	      USEFUL VALUES
305
--\\=================================//
306
307
local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
308
local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
309
local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
310
local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
311
local CO1 = 0
312
local CO2 = 0
313
local CO3 = 0
314
local CO4 = 0
315
local CHANGEDEFENSE = 0
316
local CHANGEDAMAGE = 0
317
local CHANGEMOVEMENT = 0
318
local ANIM = "Idle"
319
local ATTACK = false
320
local EQUIPPED = false
321
local HOLD = false
322
local COMBO = 1
323
local LASTPOINT = nil
324
local BLCF = nil
325
local SCFR = nil
326
local STAGGERHITANIM = false
327
local STAGGERANIM = false
328
local STUNANIM = false
329
local CRITCHANCENUMBER = 0
330
local IDLENUMBER = 0
331
local DONUMBER = 0
332
local HANDIDLE = false
333
local SINE = 0
334
local CHANGE = 2 / Animation_Speed
335
local WALKINGANIM = false
336
local WALK = 0
337
local DISABLEJUMPING = false
338
local HASBEENBLOCKED = false
339
local STUNDELAYNUMBER = 0
340
local MANADELAYNUMBER = 0
341
local SECONDARYMANADELAYNUMBER = 0
342
local ROBLOXIDLEANIMATION = IT("Animation")
343
ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
344
ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
345
--ROBLOXIDLEANIMATION.Parent = Humanoid
346
local WEAPONGUI = IT("ScreenGui", nil)
347
WEAPONGUI.Name = "Weapon GUI"
348
local WEAPONTOOL = IT("HopperBin", nil)
349
WEAPONTOOL.Name = Weapon_Name
350
local Weapon = IT("Model")
351
Weapon.Name = Weapon_Name
352
local Effects = IT("Folder", Weapon)
353
Effects.Name = "Effects"
354
local ANIMATOR = Humanoid.Animator
355
local ANIMATE = Character.Animate
356
local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
357
local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
358
local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
359
local HITBLOCKSOUNDS = {"199148933", "199148947"}
360
361
--//=================================\\
362
--\\=================================//
363
364
365
366
367
368
--//=================================\\
369
--||			  STATS
370
--\\=================================//
371
372
if Character:FindFirstChild("Stats") ~= nil then
373
Character:FindFirstChild("Stats").Parent = nil
374
end
375
376
local Stats = IT("Folder", nil)
377
Stats.Name = "Stats"
378
local ChangeStat = IT("Folder", Stats)
379
ChangeStat.Name = "ChangeStat"
380
local Defense = IT("NumberValue", Stats)
381
Defense.Name = "Defense"
382
Defense.Value = 1
383
local Movement = IT("NumberValue", Stats)
384
Movement.Name = "Movement"
385
Movement.Value = 1
386
local Damage = IT("NumberValue", Stats)
387
Damage.Name = "Damage"
388
Damage.Value = 1
389
local Mana = IT("NumberValue", Stats)
390
Mana.Name = "Mana"
391
Mana.Value = 0
392
local SecondaryMana = IT("NumberValue", Stats)
393
SecondaryMana.Name = "SecondaryMana"
394
SecondaryMana.Value = 0
395
local CanCrit = IT("BoolValue", Stats)
396
CanCrit.Name = "CanCrit"
397
CanCrit.Value = false
398
local CritChance = IT("NumberValue", Stats)
399
CritChance.Name = "CritChance"
400
CritChance.Value = 20
401
local CanPenetrateArmor = IT("BoolValue", Stats)
402
CanPenetrateArmor.Name = "CanPenetrateArmor"
403
CanPenetrateArmor.Value = false
404
local AntiTeamKill = IT("BoolValue", Stats)
405
AntiTeamKill.Name = "AntiTeamKill"
406
AntiTeamKill.Value = false
407
local Rooted = IT("BoolValue", Stats)
408
Rooted.Name = "Rooted"
409
Rooted.Value = false
410
local Block = IT("BoolValue", Stats)
411
Block.Name = "Block"
412
Block.Value = false
413
local RecentEnemy = IT("ObjectValue", Stats)
414
RecentEnemy.Name = "RecentEnemy"
415
RecentEnemy.Value = nil
416
local StaggerHit = IT("BoolValue", Stats)
417
StaggerHit.Name = "StaggerHit"
418
StaggerHit.Value = false
419
local Stagger = IT("BoolValue", Stats)
420
Stagger.Name = "Stagger"
421
Stagger.Value = false
422
local Stun = IT("BoolValue", Stats)
423
Stun.Name = "Stun"
424
Stun.Value = false
425
local StunValue = IT("NumberValue", Stats)
426
StunValue.Name = "StunValue"
427
StunValue.Value = 0
428
429
if Enable_Stats == true and Put_Stats_In_Character == true then
430
	Stats.Parent = Character
431
end
432
433
--//=================================\\
434
--\\=================================//
435
436
437
438
439
440
--//=================================\\
441
--|| 	     DEBUFFS / BUFFS
442
--\\=================================//
443
444
local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
445
DEFENSECHANGE1.Name = "ChangeDefense"
446
DEFENSECHANGE1.Value = 0
447
448
local MOVEMENTCHANGE1 = IT("NumberValue", nil)
449
MOVEMENTCHANGE1.Name = "ChangeMovement"
450
MOVEMENTCHANGE1.Value = 0
451
452
--//=================================\\
453
--\\=================================//
454
455
456
457
458
459
--//=================================\\
460
--|| SAZERENOS' ARTIFICIAL HEARTBEAT
461
--\\=================================//
462
463
ArtificialHB = Instance.new("BindableEvent", script)
464
ArtificialHB.Name = "ArtificialHB"
465
466
script:WaitForChild("ArtificialHB")
467
468
frame = Frame_Speed
469
tf = 0
470
allowframeloss = false
471
tossremainder = false
472
lastframe = tick()
473
script.ArtificialHB:Fire()
474
475
game:GetService("RunService").Heartbeat:connect(function(s, p)
476
	tf = tf + s
477
	if tf >= frame then
478
		if allowframeloss then
479
			script.ArtificialHB:Fire()
480
			lastframe = tick()
481
		else
482
			for i = 1, math.floor(tf / frame) do
483
				script.ArtificialHB:Fire()
484
			end
485
		lastframe = tick()
486
		end
487
		if tossremainder then
488
			tf = 0
489
		else
490
			tf = tf - frame * math.floor(tf / frame)
491
		end
492
	end
493
end)
494
495
--//=================================\\
496
--\\=================================//
497
498
499
500
501
502
--//=================================\\
503
--|| 	      SOME FUNCTIONS
504
--\\=================================//
505
506
function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
507
	return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
508
end
509
510
function PositiveAngle(NUMBER)
511
	if NUMBER >= 0 then
512
		NUMBER = 0
513
	end
514
	return NUMBER
515
end
516
517
function NegativeAngle(NUMBER)
518
	if NUMBER <= 0 then
519
		NUMBER = 0
520
	end
521
	return NUMBER
522
end
523
524
function Swait(NUMBER)
525
	if NUMBER == 0 or NUMBER == nil then
526
		ArtificialHB.Event:wait()
527
	else
528
		for i = 1, NUMBER do
529
			ArtificialHB.Event:wait()
530
		end
531
	end
532
end
533
534
function QuaternionFromCFrame(cf)
535
	local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
536
	local trace = m00 + m11 + m22
537
	if trace > 0 then 
538
		local s = math.sqrt(1 + trace)
539
		local recip = 0.5 / s
540
		return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
541
	else
542
		local i = 0
543
		if m11 > m00 then
544
			i = 1
545
		end
546
		if m22 > (i == 0 and m00 or m11) then
547
			i = 2
548
		end
549
		if i == 0 then
550
			local s = math.sqrt(m00 - m11 - m22 + 1)
551
			local recip = 0.5 / s
552
			return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
553
		elseif i == 1 then
554
			local s = math.sqrt(m11 - m22 - m00 + 1)
555
			local recip = 0.5 / s
556
			return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
557
		elseif i == 2 then
558
			local s = math.sqrt(m22 - m00 - m11 + 1)
559
			local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
560
		end
561
	end
562
end
563
 
564
function QuaternionToCFrame(px, py, pz, x, y, z, w)
565
	local xs, ys, zs = x + x, y + y, z + z
566
	local wx, wy, wz = w * xs, w * ys, w * zs
567
	local xx = x * xs
568
	local xy = x * ys
569
	local xz = x * zs
570
	local yy = y * ys
571
	local yz = y * zs
572
	local zz = z * zs
573
	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))
574
end
575
 
576
function QuaternionSlerp(a, b, t)
577
	local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
578
	local startInterp, finishInterp;
579
	if cosTheta >= 0.0001 then
580
		if (1 - cosTheta) > 0.0001 then
581
			local theta = ACOS(cosTheta)
582
			local invSinTheta = 1 / SIN(theta)
583
			startInterp = SIN((1 - t) * theta) * invSinTheta
584
			finishInterp = SIN(t * theta) * invSinTheta
585
		else
586
			startInterp = 1 - t
587
			finishInterp = t
588
		end
589
	else
590
		if (1 + cosTheta) > 0.0001 then
591
			local theta = ACOS(-cosTheta)
592
			local invSinTheta = 1 / SIN(theta)
593
			startInterp = SIN((t - 1) * theta) * invSinTheta
594
			finishInterp = SIN(t * theta) * invSinTheta
595
		else
596
			startInterp = t - 1
597
			finishInterp = t
598
		end
599
	end
600
	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
601
end
602
603
function Clerp(a, b, t)
604
	local qa = {QuaternionFromCFrame(a)}
605
	local qb = {QuaternionFromCFrame(b)}
606
	local ax, ay, az = a.x, a.y, a.z
607
	local bx, by, bz = b.x, b.y, b.z
608
	local _t = 1 - t
609
	return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
610
end
611
612
function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
613
	local frame = IT("Frame")
614
	frame.BackgroundTransparency = TRANSPARENCY
615
	frame.BorderSizePixel = BORDERSIZEPIXEL
616
	frame.Position = POSITION
617
	frame.Size = SIZE
618
	frame.BackgroundColor3 = COLOR
619
	frame.BorderColor3 = BORDERCOLOR
620
	frame.Name = NAME
621
	frame.Parent = PARENT
622
	return frame
623
end
624
625
function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
626
	local label = IT("TextLabel")
627
	label.BackgroundTransparency = 1
628
	label.Size = UD2(1, 0, 1, 0)
629
	label.Position = UD2(0, 0, 0, 0)
630
	label.TextColor3 = C3(255, 255, 255)
631
	label.TextStrokeTransparency = STROKETRANSPARENCY
632
	label.TextTransparency = TRANSPARENCY
633
	label.FontSize = TEXTFONTSIZE
634
	label.Font = TEXTFONT
635
	label.BorderSizePixel = BORDERSIZEPIXEL
636
	label.TextScaled = true
637
	label.Text = TEXT
638
	label.Name = NAME
639
	label.Parent = PARENT
640
	return label
641
end
642
643
function NoOutlines(PART)
644
	PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
645
end
646
647
function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
648
	local NEWPART = IT("Part")
649
	NEWPART.formFactor = FORMFACTOR
650
	NEWPART.Reflectance = REFLECTANCE
651
	NEWPART.Transparency = TRANSPARENCY
652
	NEWPART.CanCollide = false
653
	NEWPART.Locked = true
654
	NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
655
	NEWPART.Name = NAME
656
	NEWPART.Size = SIZE
657
	NEWPART.Position = Torso.Position
658
	NoOutlines(NEWPART)
659
	NEWPART.Material = MATERIAL
660
	NEWPART:BreakJoints()
661
	NEWPART.Parent = PARENT
662
	return NEWPART
663
end
664
665
function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
666
	local NEWMESH = IT(MESH)
667
	if MESH == "SpecialMesh" then
668
		NEWMESH.MeshType = MESHTYPE
669
		if MESHID ~= "nil" and MESHID ~= "" then
670
			NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
671
		end
672
	end
673
	NEWMESH.Offset = OFFSET or VT(0, 0, 0)
674
	NEWMESH.Scale = Vector3.new(1,1,1)
675
	NEWMESH.Parent = PARENT
676
    PARENT.Reflectance = 1
677
    PARENT.Transparency = 1
678
	return NEWMESH
679
end
680
681
function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
682
	local NEWWELD = IT(TYPE)
683
	NEWWELD.Part0 = PART0
684
	NEWWELD.Part1 = PART1
685
	NEWWELD.C0 = C0
686
	NEWWELD.C1 = C1
687
	NEWWELD.Parent = PARENT
688
	return NEWWELD
689
end
690
691
function CreateSound(ID, PARENT, VOLUME, PITCH)
692
	coroutine.resume(coroutine.create(function()
693
		local NEWSOUND = IT("Sound", PARENT)
694
		NEWSOUND.Volume = VOLUME
695
		NEWSOUND.Pitch = PITCH
696
		NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
697
		Swait()
698
		NEWSOUND:play()
699
		game:GetService("Debris"):AddItem(NEWSOUND, 100)
700
	end))
701
end
702
703
function CFrameFromTopBack(at, top, back)
704
	local right = top:Cross(back)
705
	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)
706
end
707
708
function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
709
	local MAGNITUDE = (POSITION1 - POSITION2).magnitude 
710
	local CURRENTPOSITION = POSITION1
711
	local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
712
	coroutine.resume(coroutine.create(function()
713
		for i = 1, MULTIPLIERTIME do 
714
			local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
715
			LIGHTNINGPART.Anchored = true
716
			local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)]) 
717
			local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
718
			if MULTIPLIERTIME == i then 
719
				local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
720
				LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
721
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
722
			else
723
				LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
724
			end
725
			CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
726
			game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
727
			coroutine.resume(coroutine.create(function()
728
				while LIGHTNINGPART.Transparency ~= 1 do
729
					--local StartTransparency = tra
730
					for i=0, 1, LASTINGTIME do
731
						Swait()
732
						LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
733
					end
734
				end
735
			end))
736
		Swait(LIGHTNINGDELAY / Animation_Speed)
737
		end
738
	end))
739
end
740
741
function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
742
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
743
	EFFECTPART.Anchored = true
744
	EFFECTPART.CFrame = CFRAME
745
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
746
	game:GetService("Debris"):AddItem(EFFECTPART, 50)
747
	coroutine.resume(coroutine.create(function(PART, MESH)
748
		for i = 0, 1, delay do
749
			Swait()
750
			PART.CFrame = PART.CFrame * ROTATION
751
			PART.Transparency = i
752
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
753
		end
754
		PART.Parent = nil
755
	end), EFFECTPART, EFFECTMESH)
756
end
757
758
function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
759
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
760
	EFFECTPART.Anchored = true
761
	EFFECTPART.CFrame = CFRAME
762
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
763
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
764
	coroutine.resume(coroutine.create(function(PART, MESH)
765
		for i = 0, 1, delay do
766
			Swait()
767
			PART.CFrame = PART.CFrame * ROTATION
768
			PART.Transparency = i
769
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
770
		end
771
		PART.Parent = nil
772
	end), EFFECTPART, EFFECTMESH)
773
end
774
775
function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
776
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
777
	EFFECTPART.Anchored = true
778
	EFFECTPART.CFrame = CFRAME
779
	local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
780
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
781
	coroutine.resume(coroutine.create(function(PART, MESH)
782
		for i = 0, 1, delay do
783
			Swait()
784
			PART.CFrame = PART.CFrame * ROTATION
785
			PART.Transparency = i
786
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
787
		end
788
		PART.Parent = nil
789
	end), EFFECTPART, EFFECTMESH)
790
end
791
792
function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
793
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
794
	EFFECTPART.Anchored = true
795
	EFFECTPART.CFrame = CFRAME
796
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
797
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
798
	coroutine.resume(coroutine.create(function(PART, MESH)
799
		for i = 0, 1, delay do
800
			Swait()
801
			PART.CFrame = PART.CFrame * ROTATION
802
			PART.Transparency = i
803
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
804
		end
805
		PART.Parent = nil
806
	end), EFFECTPART, EFFECTMESH)
807
end
808
809
function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
810
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
811
	EFFECTPART.Anchored = true
812
	EFFECTPART.CFrame = CFRAME
813
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
814
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
815
	coroutine.resume(coroutine.create(function(PART, MESH)
816
		for i = 0, 1, delay do
817
			Swait()
818
			PART.CFrame = PART.CFrame * ROTATION
819
			PART.Transparency = i
820
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
821
		end
822
		PART.Parent = nil
823
	end), EFFECTPART, EFFECTMESH)
824
end
825
826
function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
827
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
828
	EFFECTPART.Anchored = true
829
	EFFECTPART.CFrame = CFRAME
830
	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))
831
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
832
	coroutine.resume(coroutine.create(function(PART, MESH)
833
		for i = 0, 1, delay do
834
			Swait()
835
			PART.CFrame = PART.CFrame * ROTATION
836
			PART.Transparency = i
837
			MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
838
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
839
		end
840
		PART.Parent = nil
841
	end), EFFECTPART, EFFECTMESH)
842
end
843
844
function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
845
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
846
	EFFECTPART.Anchored = true
847
	EFFECTPART.CFrame = CFRAME
848
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
849
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
850
	coroutine.resume(coroutine.create(function(PART, MESH)
851
		for i = 0, 1, delay do
852
			Swait()
853
			PART.CFrame = PART.CFrame * ROTATION
854
			PART.Transparency = i
855
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
856
		end
857
		PART.Parent = nil
858
	end), EFFECTPART, EFFECTMESH)
859
end
860
861
function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
862
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
863
	EFFECTPART.Anchored = true
864
	EFFECTPART.CFrame = CFRAME
865
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
866
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
867
	coroutine.resume(coroutine.create(function(PART, MESH)
868
		for i = 0, 10, delay do
869
			Swait()
870
			PART.CFrame = PART.CFrame * Head.CFrame
871
			PART.Transparency = 0
872
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
873
		end
874
		--PART.Parent = nil
875
	end), EFFECTPART, EFFECTMESH)
876
end
877
878
function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
879
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
880
	EFFECTPART.Anchored = true
881
	EFFECTPART.CFrame = CFRAME
882
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
883
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
884
	coroutine.resume(coroutine.create(function(PART, MESH)
885
		for i = 0, 1, delay do
886
			Swait()
887
			PART.CFrame = PART.CFrame * ROTATION
888
			PART.Transparency = i
889
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
890
		end
891
		PART.Parent = nil
892
	end), EFFECTPART, EFFECTMESH)
893
end
894
895
function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
896
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
897
	EFFECTPART.Anchored = true
898
	EFFECTPART.CFrame = CFRAME
899
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
900
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
901
	coroutine.resume(coroutine.create(function(PART, MESH)
902
		for i = 0, 1, delay do
903
			Swait()
904
			PART.CFrame = PART.CFrame * Vector3.new(0,0,0)
905
			PART.Transparency = i
906
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
907
		end
908
		PART.Parent = nil
909
	end), EFFECTPART, EFFECTMESH)
910
end
911
912
function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
913
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
914
	EFFECTPART.Anchored = true
915
	EFFECTPART.CFrame = CFRAME
916
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
917
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
918
	coroutine.resume(coroutine.create(function(PART, MESH)
919
		for i = 0, 1, delay do
920
			Swait()
921
			PART.CFrame = PART.CFrame * Head.CFrame
922
			PART.Transparency = i
923
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
924
		end
925
		PART.Parent = nil
926
	end), EFFECTPART, EFFECTMESH)
927
end
928
929
function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
930
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
931
	EFFECTPART.Anchored = true
932
	EFFECTPART.CFrame = CFRAME
933
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
934
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
935
	coroutine.resume(coroutine.create(function(PART, MESH)
936
		for i = 0, 1, delay do
937
			Swait()
938
			PART.CFrame = PART.CFrame * ROTATION
939
			PART.Transparency = i
940
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
941
		end
942
		PART.Parent = nil
943
	end), EFFECTPART, EFFECTMESH)
944
end
945
946
function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
947
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
948
	EFFECTPART.Anchored = true
949
	EFFECTPART.CFrame = CFRAME
950
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
951
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
952
	coroutine.resume(coroutine.create(function(PART, MESH)
953
		for i = 0, 1, delay do
954
			Swait()
955
			PART.CFrame = PART.CFrame * ROTATION
956
			PART.Transparency = i
957
			MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
958
		end
959
		PART.Parent = nil
960
	end), EFFECTPART, EFFECTMESH)
961
end
962
963
function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
964
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
965
	EFFECTPART.Anchored = true
966
	EFFECTPART.CFrame = CFRAME
967
	local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
968
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
969
	local XVALUE = MRANDOM()
970
	local YVALUE = MRANDOM()
971
	local ZVALUE = MRANDOM()
972
	coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
973
		for i = 0, 1, delay do
974
			Swait()
975
			PART.CFrame = PART.CFrame * ROTATION
976
			PART.Transparency = i
977
			THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
978
			THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
979
			THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
980
			MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
981
		end
982
		PART.Parent = nil
983
	end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
984
end
985
986
function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
987
	local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
988
	if MAGNITUDECFRAME > (1 / 100) then
989
		local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
990
		EFFECTPART.Anchored = true
991
		EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
992
		local THEMESHTYPE = "BlockMesh"
993
		if MESHTYPE == "Cylinder" then
994
			THEMESHTYPE = "CylinderMesh"
995
		end
996
		local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
997
		game:GetService("Debris"):AddItem(EFFECTPART, 10)
998
		coroutine.resume(coroutine.create(function(PART, MESH)
999
			for i = 0, 1, delay do
1000
				Swait()
1001
				PART.CFrame = PART.CFrame * ROTATION
1002
				PART.Transparency = i
1003
				MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
1004
			end
1005
			PART.Parent = nil
1006
		end), EFFECTPART, EFFECTMESH)
1007
	end
1008
end
1009
1010
function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
1011
	local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
1012
	EFFECTPART.Anchored = true
1013
	EFFECTPART.CFrame = CFRAME
1014
	local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
1015
	game:GetService("Debris"):AddItem(EFFECTPART, 10)
1016
	local THELASTPOINT = CFRAME
1017
	coroutine.resume(coroutine.create(function(PART)
1018
		for i = 1, DURATION do
1019
			Swait()
1020
			PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
1021
			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)
1022
			THELASTPOINT = PART.CFrame
1023
		end
1024
		PART.Parent = nil
1025
	end), EFFECTPART)
1026
end
1027
1028
--local list={}
1029
function Triangle(Color, Material, a, b, c, delay)
1030
	local edge1 = (c - a):Dot((b - a).unit)
1031
	local edge2 = (a - b):Dot((c - b).unit)
1032
	local edge3 = (b - c):Dot((a - c).unit)
1033
	if edge1 <= (b - a).magnitude and edge1 >= 0 then
1034
		a, b, c=a, b, c
1035
	elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
1036
		a, b, c=b, c, a
1037
	elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
1038
		a, b, c=c, a, b
1039
	else
1040
		assert(false, "unreachable")
1041
	end
1042
	local len1 = (c - a):Dot((b - a).unit)
1043
	local len2 = (b - a).magnitude - len1
1044
	local width = (a + (b - a).unit * len1 - c).magnitude
1045
	local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
1046
	if len1 > 1 / 100 then
1047
		local sz = VT(0.2, width, len1)
1048
		local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1049
		local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
1050
		w1.Anchored = true
1051
		w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
1052
		coroutine.resume(coroutine.create(function()
1053
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1054
				Swait()
1055
				w1.Transparency = i
1056
			end
1057
			w1.Parent = nil
1058
		end))
1059
		game:GetService("Debris"):AddItem(w1, 10)
1060
		--table.insert(list, w1)
1061
	end
1062
	if len2 > 1 / 100 then
1063
		local sz = VT(0.2, width, len2)
1064
		local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
1065
		local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
1066
		w2.Anchored = true
1067
		w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
1068
		coroutine.resume(coroutine.create(function()
1069
			for i = 0.5, 1, delay * (2 / Animation_Speed) do
1070
				Swait()
1071
				w2.Transparency = i
1072
			end
1073
			w2.Parent = nil
1074
		end))
1075
		game:GetService("Debris"):AddItem(w2, 10)
1076
		--table.insert(list, w2)
1077
	end
1078
	--return unpack(list)
1079
end
1080
1081
--[[Usage:
1082
	local Pos = Part
1083
	local Offset = Part.CFrame * CF(0, 0, 0)
1084
	local Color = "Institutional white"
1085
	local Material = "Neon"
1086
	local TheDelay = 0.01
1087
	local Height = 4
1088
	BLCF = Offset
1089
	if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
1090
		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)
1091
		if a then game:GetService("Debris"):AddItem(a, 1) end
1092
		if b then game:GetService("Debris"):AddItem(b, 1) end
1093
		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)
1094
		if a then game:GetService("Debris"):AddItem(a, 1) end
1095
		if b then game:GetService("Debris"):AddItem(b, 1) end
1096
		SCFR = BLCF
1097
	elseif not SCFR then
1098
		SCFR = BLCF
1099
	end
1100
--
1101
BLCF = nil
1102
SCFR = nil
1103
--]]
1104
1105
--//=================================\\
1106
--\\=================================//
1107
1108
1109
1110
	local function weldBetween(a, b)
1111
	    local weldd = Instance.new("ManualWeld")
1112
	    weldd.Part0 = a
1113
	    weldd.Part1 = b
1114
	    weldd.C0 = CFrame.new()
1115
	    weldd.C1 = b.CFrame:inverse() * a.CFrame
1116
	    weldd.Parent = a
1117
	    return weldd
1118
	end
1119
1120
1121
--//=================================\\
1122
--||	      RESIZE PLAYER
1123
--\\=================================//
1124
1125
if Player_Size ~= 1 then
1126
RootPart.Size = RootPart.Size * Player_Size
1127
Torso.Size = Torso.Size * Player_Size
1128
Head.Size = Head.Size * Player_Size
1129
RightArm.Size = RightArm.Size * Player_Size
1130
LeftArm.Size = LeftArm.Size * Player_Size
1131
RightLeg.Size = RightLeg.Size * Player_Size
1132
LeftLeg.Size = LeftLeg.Size * Player_Size
1133
RootJoint.Parent = RootPart
1134
Neck.Parent = Torso
1135
RightShoulder.Parent = Torso
1136
LeftShoulder.Parent = Torso
1137
RightHip.Parent = Torso
1138
LeftHip.Parent = Torso
1139
	
1140
RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1141
	RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1142
	Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
1143
	Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
1144
	RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
1145
	LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
1146
	if Disable_Moving_Arms == false then
1147
		RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1148
		LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
1149
	else
1150
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1151
		LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
1152
	end
1153
	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))
1154
	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))
1155
	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))
1156
	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))
1157
end
1158
1159
1160
--//=================================\\
1161
--\\=================================//
1162
1163
1164
1165
1166
1167
--//=================================\\
1168
--||	     WEAPON CREATION
1169
--\\=================================//
1170
1171
local HandlePart = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "White", "Handle", VT(0, 0, 0))
1172
local HandleMesh = CreateMesh("SpecialMesh", HandlePart, "FileMesh", "93180631", "93180676", VT(1, 1, 1), VT(0, 3.1 * Player_Size, 0))
1173
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))
1174
1175
local HitboxPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "White", "Hitbox", VT(0, 0, 0))
1176
local HitboxWeld = CreateWeldOrSnapOrMotor("Weld", HitboxPart, HandlePart, HitboxPart, CF(0 * Player_Size, 4 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
1177
1178
local EffectPart = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "White", "Effect Part", VT(0, 0, 0))
1179
local EffectWeld = CreateWeldOrSnapOrMotor("Weld", EffectPart, HandlePart, EffectPart, CF(0 * Player_Size, 7 * Player_Size, 0 * Player_Size), CF(0, 0, 0))
1180
1181
if Player_Size ~= 1 then
1182
	for _, v in pairs (Weapon:GetChildren()) do
1183
		if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
1184
			local p1 = v.Part1
1185
			v.Part1 = nil
1186
			local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
1187
			v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
1188
			v.Part1 = p1
1189
		elseif v.ClassName == "Part" then
1190
			for _, b in pairs (v:GetChildren()) do
1191
				if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
1192
					b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
1193
				end
1194
			end
1195
		end
1196
	end
1197
end
1198
1199
for _, c in pairs(Weapon:GetChildren()) do
1200
	if c.ClassName == "Part" then
1201
		c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
1202
	end
1203
end
1204
1205
if Start_Equipped == true and Start_Equipped_With_Equipped_Animation == false then
1206
	HandleWeld.Part0 = RightArm
1207
	HandleWeld.C0 = CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
1208
end
1209
1210
Weapon.Parent = Character
1211
1212
Humanoid.Died:connect(function()
1213
	ATTACK = true
1214
end)
1215
1216
print(Class_Name.." loaded.")
1217
1218
--//=================================\\
1219
--\\=================================//
1220
1221
1222
1223
1224
1225
--//=================================\\
1226
--||	     DAMAGE FUNCTIONS
1227
--\\=================================//
1228
1229
function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
1230
	local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "White", "Effect", VT())
1231
	STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
1232
	local BODYGYRO = IT("BodyGyro", STATPART)
1233
	local BODYPOSITION = IT("BodyPosition", STATPART)
1234
	BODYPOSITION.P = 2000
1235
	BODYPOSITION.D = 100
1236
	BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
1237
	if LABELTYPE == "Normal" then
1238
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
1239
	elseif LABELTYPE == "Debuff" then
1240
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
1241
	elseif LABELTYPE == "Interruption" then
1242
		BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
1243
	end
1244
	game:GetService("Debris"):AddItem(STATPART ,5)
1245
	local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
1246
	BILLBOARDGUI.Adornee = STATPART
1247
	BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
1248
	BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
1249
	BILLBOARDGUI.AlwaysOnTop = false
1250
	local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
1251
	TEXTLABEL.BackgroundTransparency = 1
1252
	TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
1253
	TEXTLABEL.Text = TEXT
1254
	TEXTLABEL.Font = "SourceSans"
1255
	TEXTLABEL.FontSize="Size42"
1256
	TEXTLABEL.TextColor3 = COLOR
1257
	TEXTLABEL.TextStrokeTransparency = 0
1258
	TEXTLABEL.TextScaled = true
1259
	TEXTLABEL.TextWrapped = true
1260
	coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
1261
		wait(0.2)
1262
		for i=1, 5 do
1263
			wait()
1264
			THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
1265
		end
1266
		wait(1.2)
1267
		for i=1, 5 do
1268
			wait()
1269
			THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
1270
			THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
1271
			THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
1272
		end
1273
		THEPART.Parent = nil
1274
	end),STATPART, BODYPOSITION, TEXTLABEL)
1275
end
1276
1277
function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
1278
	if LOCATION:FindFirstChild("Stats") ~= nil then
1279
		if LOCATION.Stats:FindFirstChild("Block") ~= nil then
1280
			if LOCATION.Stats:FindFirstChild("Block").Value == true then
1281
				return
1282
			end
1283
		end
1284
		if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
1285
			local NewStatChange = IT("NumberValue")
1286
			NewStatChange.Value = AMOUNT
1287
			if STAT == "Defense" then
1288
				NewStatChange.Name = "ChangeDefense"
1289
			elseif STAT == "Damage" then
1290
				NewStatChange.Name = "ChangeDamage"
1291
			elseif STAT == "Movement" then
1292
				NewStatChange.Name = "ChangeMovement"
1293
			end
1294
			if SHOWTHESTAT == true then
1295
				if AMOUNT < 0 then
1296
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
1297
				elseif AMOUNT > 0 then
1298
					StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
1299
				end
1300
			end
1301
			if DURATION ~= nil and DURATION ~= 0 then
1302
				local StatDuration = IT("NumberValue")
1303
				StatDuration.Name = "Duration"
1304
				StatDuration.Value = DURATION
1305
				StatDuration.Parent = NewStatChange
1306
			end
1307
			NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
1308
		end
1309
	end
1310
end
1311
1312
--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)
1313
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)
1314
	if HIT.Parent == nil then
1315
		return
1316
	end
1317
	local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
1318
	for _, v in pairs(HIT.Parent:GetChildren()) do
1319
		if v:IsA("Humanoid") then
1320
			HITHUMANOID = v
1321
		end
1322
	end
1323
	if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
1324
		StaggerHit.Value = true
1325
		if Play_Hitbox_Hit_Sound == true then
1326
			if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
1327
				CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
1328
			end
1329
		end
1330
		return
1331
	end
1332
	if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
1333
		HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
1334
	end
1335
	if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
1336
		HIT = HIT.Parent.Parent:FindFirstChild("Head")
1337
	end
1338
	if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
1339
		if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
1340
			if HIT.Parent.DebounceHit.Value == true then
1341
				return
1342
			end
1343
		end
1344
		if AntiTeamKill.Value == true then
1345
			if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
1346
				if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
1347
					return
1348
				end
1349
			end
1350
		end
1351
		if HITEVENWHENDEAD == false then
1352
			if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
1353
				if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
1354
					return
1355
				end
1356
			end
1357
		end
1358
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1359
			if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
1360
				HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
1361
			end
1362
		end
1363
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1364
			if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
1365
				if STAGGER == true and Enable_Stagger == true then
1366
					HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
1367
				end
1368
			end
1369
		end
1370
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1371
			if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
1372
				if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
1373
					HASBEENBLOCKED = true
1374
					if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
1375
						StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked-", C3(0, 100 / 255, 255 / 255))
1376
						if RANGED ~= true then
1377
							if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
1378
								CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
1379
							end
1380
						end
1381
						local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
1382
						BlockDebounce.Name = "BlockDebounce"
1383
						BlockDebounce.Value = true
1384
						if RANGED ~= true then
1385
							game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
1386
						else
1387
							game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
1388
						end
1389
					end
1390
					if RANGED ~= true and Enable_Stagger == true then
1391
						HIT.Parent.Stats:FindFirstChild("Block").Value = false
1392
						Stagger.Value = true
1393
					end
1394
					return
1395
				end
1396
			end
1397
		end
1398
		if DECREASETHESTAT ~= nil then
1399
			if HIT.Parent:FindFirstChild("Stats") ~= nil then
1400
				IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
1401
			end
1402
		end
1403
		local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
1404
		if HIT.Parent:FindFirstChild("Stats") ~= nil then
1405
			if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
1406
				if CanPenetrateArmor.Value == true then
1407
					DAMAGE = DAMAGE
1408
				else
1409
					DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
1410
				end
1411
			elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
1412
				DAMAGE = DAMAGE
1413
			end
1414
		end
1415
		if CanCrit.Value == true then
1416
			CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
1417
			if CRITCHANCENUMBER == 1 then
1418
				DAMAGE = DAMAGE * 2
1419
			end
1420
		end
1421
		DAMAGE = math.floor(DAMAGE)
1422
		if DAMAGE <= 3 and HASBEENBLOCKED == false then
1423
			if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
1424
				StaggerHit.Value = true
1425
			end
1426
			if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
1427
			end
1428
		elseif DAMAGE > 3 and DAMAGE < 100 and HASBEENBLOCKED == false then
1429
			if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
1430
			end
1431
		end
1432
		if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
1433
            HITHUMANOID.MaxHealth = 100
1434
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1435
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1436
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Fur.. \n"..DAMAGE, C3(200/255, 0, 0))
1437
			else
1438
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
1439
			end
1440
		elseif DAMAGE >= 20 and DAMAGE < 100 and HASBEENBLOCKED == false then
1441
            HITHUMANOID.MaxHealth = 100
1442
			HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
1443
			if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
1444
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "fur.. \n"..DAMAGE, C3(200/255, 0, 0))
1445
			else
1446
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
1447
			end
1448
		elseif DAMAGE == 100 then
1449
                local part = Instance.new("Part")
1450
                part.Anchored = true
1451
                part.CanCollide = false
1452
                part.Transparency = 1
1453
                part.CFrame = HIT.CFrame
1454
                part.Parent = Effects
1455
                game:GetService("Debris"):AddItem(part, 5)
1456
                for i = 1, 15 do
1457
                BreakEffect(BrickColor.new("Black"),part.CFrame,0.5,math.random(60,80),0.5,BrickColor.new("White"))
1458
                end
1459
				CreateSound("215395073", part, 1, 1)
1460
				StatLabel("Normal", part.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), ".Charaster Delet", C3(225/255, 255/255, 255/255))
1461
            HIT.Parent:remove()
1462
		elseif DAMAGE == 0 then
1463
				CreateSound("260433557", HIT, 1, 1)
1464
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), ".Freeze Charaster", C3(255/255, 10/255, 5/255))
1465
            h = HIT.Parent:GetChildren()
1466
            for i = 1, #h do
1467
            if h[i].ClassName == "Part" then
1468
            h[i].Anchored = true
1469
            elseif h[i].ClassName == "Script" then
1470
            h[i]:Destroy()
1471
            end
1472
            end
1473
		elseif DAMAGE == 1 then
1474
				StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), ".Charaster Backup", C3(0/255, 255/255, 0/255))
1475
           HITHUMANOID.MaxHealth = "inf"
1476
           HITHUMANOID.Health = "inf"
1477
                for i = 1, 5 do
1478
                BreakEffect(BrickColor.new("Black"),HIT.CFrame,0.5,math.random(60,80),0.5,BrickColor.new("White"))
1479
                end
1480
		elseif DAMAGE == 2 then
1481
           if game.Players:FindFirstChild(HIT.Parent.Name) then
1482
           local granted = script:Clone()
1483
           HITHUMANOID.MaxHealth = "inf"
1484
           HITHUMANOID.Health = "inf"
1485
           g = Instance.new("Folder")
1486
           g.Parent = HIT.Parent
1487
           g.Name = "Granted"
1488
           granted.Parent = HIT.Parent.Torso
1489
           granted.Disabled = false
1490
           CreateSound("3264923", HIT, 1, 1)
1491
           CreateSound("814168787", HIT, 1, 1)
1492
           end
1493
		end
1494
		if TYPE == "Normal" then
1495
			local vp = IT("BodyVelocity")
1496
			vp.P=500
1497
			vp.maxForce = VT(math.huge, 0, math.huge)
1498
			if KNOCKBACKTYPE == 1 then
1499
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
1500
			elseif KNOCKBACKTYPE == 2 then
1501
				vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
1502
			end
1503
			if KNOCKBACK > 0 and HASBEENBLOCKED == false then
1504
				vp.Parent = HIT--.Parent.Torso
1505
			end
1506
			game:GetService("Debris"):AddItem(vp, 0.5)
1507
		end
1508
		HASBEENBLOCKED = false
1509
		RecentEnemy.Value = HIT.Parent
1510
		local DebounceHit = IT("BoolValue", HIT.Parent)
1511
		DebounceHit.Name = "DebounceHit"
1512
		DebounceHit.Value = true
1513
		game:GetService("Debris"):AddItem(DebounceHit, DELAY)
1514
	end
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, "White", "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
function NewEffect(cframe,name,colour,meshid,texture,scale)
1843
local part = Instance.new("Part")
1844
part.Size = Vector3.new(1,1,1)
1845
part.CFrame = cframe
1846
part.Name = "Part"
1847
part.BrickColor = colour
1848
part.Parent = Effects
1849
part.Anchored = true
1850
part.CanCollide = false
1851
local emesh = Instance.new("SpecialMesh")
1852
emesh.MeshId = meshid
1853
emesh.TextureId = texture
1854
emesh.Parent = part
1855
emesh.Scale = scale
1856
end
1857
1858
1859
--//=================================\\
1860
--||	ATTACK FUNCTIONS AND STUFF
1861
--\\=================================//
1862
1863
function StaggerHitAnimation()
1864
	ATTACK = true
1865
	if Weapon:FindFirstChild("Hitbox") ~= nil then
1866
		for i = 1, MRANDOM(2, 4) do
1867
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
1868
		end
1869
	end
1870
	for i = 0, 1, 0.1 / Animation_Speed do
1871
		Swait()
1872
		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)
1873
		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)
1874
		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)
1875
		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)
1876
		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)
1877
		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)
1878
		if Stagger.Value == true or Stun.Value == true then
1879
			break
1880
		end
1881
	end
1882
	ATTACK = false
1883
end
1884
1885
function StaggerAnimation()
1886
	ATTACK = true
1887
	if Weapon:FindFirstChild("Hitbox") ~= nil then
1888
		for i = 1, MRANDOM(2, 4) do
1889
			ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
1890
		end
1891
	end
1892
	DISABLEJUMPING = true
1893
	COMBO = 1
1894
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
1895
	local STAGGERVELOCITY = Instance.new("BodyVelocity",Torso)
1896
	STAGGERVELOCITY.P = 500
1897
	STAGGERVELOCITY.maxForce = VT(math.huge, 0, math.huge)
1898
	if Rooted.Value == false then
1899
		STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
1900
	end
1901
	for i = 0, 1, 0.35 / Animation_Speed do
1902
		Swait()
1903
		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)
1904
		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)
1905
		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)
1906
		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)
1907
		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)
1908
		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)
1909
	end
1910
	for i = 0, 1, 0.2 / Animation_Speed do
1911
		Swait()
1912
		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)
1913
		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)
1914
		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)
1915
		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)
1916
		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)
1917
		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)
1918
	end
1919
	STAGGERVELOCITY.Parent = nil
1920
	for i = 1, 50 * Animation_Speed do
1921
		Swait()
1922
		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)
1923
		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)
1924
		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)
1925
		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)
1926
		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)
1927
		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)
1928
	end
1929
	DISABLEJUMPING = false
1930
	ATTACK = false
1931
end
1932
1933
function StunAnimation()
1934
	ATTACK = true
1935
	DISABLEJUMPING = true
1936
	COMBO = 1
1937
	StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
1938
	for i = 0, 1, 0.3 / Animation_Speed do
1939
		Swait()
1940
		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)
1941
		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)
1942
		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)
1943
		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)
1944
		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)
1945
		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)
1946
	end
1947
	for i = 0, 1, 0.3 / Animation_Speed do
1948
		Swait()
1949
		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)
1950
		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)
1951
		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)
1952
		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)
1953
		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)
1954
		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)
1955
	end
1956
	for i = 0, 1, 0.3 / Animation_Speed do
1957
		Swait()
1958
		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)
1959
		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)
1960
		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)
1961
		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)
1962
		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)
1963
		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)
1964
	end
1965
	for i = 1, 70 * Animation_Speed do
1966
		Swait()
1967
		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)
1968
		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)
1969
		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)
1970
		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)
1971
		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)
1972
		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)
1973
	end
1974
	for i = 0, 1, 0.2 / Animation_Speed do
1975
		Swait()
1976
		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)
1977
		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)
1978
		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)
1979
		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)
1980
		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)
1981
		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)
1982
	end
1983
	DISABLEJUMPING = false
1984
	ATTACK = false
1985
end
1986
1987
function EAbility()
1988
	ATTACK = true
1989
	ATTACK = false
1990
end
1991
1992
function ShootFireball(POSITION1, POSITION2, SPEED, SIZE, DURATION, LOWDAMAGE, HIGHDAMAGE)
1993
	local POS1 = POSITION1
1994
	local POS2 = POSITION2
1995
	local MOUSELOOK = CF((POS1 + POS2) / 2, POS2)
1996
	local FIREBALLSPEED = SPEED * Player_Size
1997
	local FIREBALLDURATION = DURATION
1998
	local FIREBALLCOLORS = {"White", "White"}
1999
	local FIREBALLHITSOUNDS = {"438666542"}
2000
	coroutine.resume(coroutine.create(function()
2001
		repeat
2002
			Swait()
2003
			local FIREBALLHIT, FIREBALLPOS = Raycast(POS1, MOUSELOOK.lookVector, FIREBALLSPEED, Character)
2004
			POS1 = POS1 + (MOUSELOOK.lookVector * FIREBALLSPEED)
2005
			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)
2006
			if FIREBALLHIT ~= nil or FIREBALLDURATION <= 0.1 then
2007
				FIREBALLDURATION = 0
2008
				local FireballHitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "White", "Effect", VT())
2009
				FireballHitRefpart.Anchored = true
2010
				FireballHitRefpart.CFrame = CF(FIREBALLPOS)
2011
				game:GetService("Debris"):AddItem(FireballHitRefpart, 5)
2012
				CreateSound(FIREBALLHITSOUNDS[MRANDOM(1, #FIREBALLHITSOUNDS)], FireballHitRefpart, 15, MRANDOM(14, 16) / 10)
2013
				for i = 1, MRANDOM(4, 8) do
2014
					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)
2015
				end
2016
				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, SIZE, SIZE, SIZE / 3, SIZE / 3, SIZE / 3, 0.05)
2017
				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.5, SIZE * 0.5, SIZE * 0.5, SIZE / 4, SIZE / 4, SIZE / 4, 0.05)
2018
				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)
2019
				MagnitudeDamage("", "", "", "", 1, 1, 1, 1, FireballHitRefpart, SIZE / 2, false, 45, 70, 0, "Normal", RootPart, 0, 1, MRANDOM(10, 15), nil, false, true, nil, 0, 0, false)
2020
			else
2021
				FIREBALLDURATION = FIREBALLDURATION - (1 / 30) / Animation_Speed
2022
			end
2023
		until FIREBALLHIT ~= nil or FIREBALLDURATION <= 0
2024
	end))
2025
end
2026
2027
function project()
2028
	ATTACK = true
2029
	for i=0, 1, 0.1 / Animation_Speed do
2030
		Swait()
2031
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2032
			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)
2033
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2034
			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)
2035
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2036
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2037
			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)
2038
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2039
			break
2040
		end
2041
	end
2042
	CreateSound("971125740",Head, 1.2, MRANDOM(7, 9) / 10)
2043
	ShootFireball((CFrame.new(Head.Position.X + math.random(-12,12),Head.Position.Y + 12,Head.Position.Z + math.random(-12,12)) * CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size)).p, Mouse.hit.p, 3, 70, 2.1, 5, 10)
2044
	for i=0, 1, 0.1 / Animation_Speed*5 do
2045
		Swait()
2046
		local Pos = HitboxPart
2047
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2048
		local Color = "Cyan"
2049
		local Material = "Neon"
2050
		local TheDelay = 0.01
2051
		local Height = 6.2 * Player_Size
2052
		BLCF = Offset
2053
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2054
			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)
2055
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2056
			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)
2057
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2058
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2059
			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)
2060
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2061
			break
2062
		end
2063
	    local FIREEFFECTCOLORS = {"White", "White"}
2064
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2065
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2066
		--MagicBlock("White", "Neon", Head.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), 1500, 1500, 1500, 30, 30, 30, 0.1)
2067
	end
2068
	BLCF = nil
2069
	SCFR = nil
2070
	ATTACK = false
2071
end
2072
2073
function serverbless()
2074
    Humanoid.WalkSpeed = 0
2075
	ATTACK = true
2076
    kkk:Pause()
2077
	for i=0, 1, 0.1 / Animation_Speed do
2078
		Swait()
2079
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 60 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2080
			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)
2081
			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)
2082
			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)
2083
			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)
2084
			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)
2085
			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)
2086
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2087
			break
2088
		end
2089
	end
2090
	CreateSound("146224091", Character, 10, 1)
2091
    wait(25)
2092
    SIZE = 25
2093
	MagicBlock("Sea green", "Neon", Head.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)
2094
	MagicBlock("White", "Neon", Head.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.75, SIZE * 0.75, SIZE * 0.75, 50, 50, 50, 0.05)
2095
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 3000000000000000, false, 1, 1, 0, "Normal", RootPart, 0.5, 1, MRANDOM(50, 70), nil, true, false, nil, 0, 0, false)
2096
	CreateSound("971126018",workspace, 1.2, MRANDOM(7, 9) / 10)
2097
	for i=0, 1, 0.1 / Animation_Speed*5 do
2098
		Swait()
2099
		local Pos = HitboxPart
2100
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2101
		local Color = "Cyan"
2102
		local Material = "Neon"
2103
		local TheDelay = 0.01
2104
		local Height = 6.2 * Player_Size
2105
		BLCF = Offset
2106
			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)
2107
			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)
2108
			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)
2109
			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)
2110
			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)
2111
			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)
2112
			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)
2113
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2114
			break
2115
		end
2116
	end
2117
	BLCF = nil
2118
	SCFR = nil
2119
	ATTACK = false
2120
    kkk:Play()
2121
    Humanoid.WalkSpeed = 20
2122
end
2123
2124
function Attack1()
2125
	ATTACK = true
2126
	for i=0, 1, 0.1 / Animation_Speed do
2127
		Swait()
2128
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2129
			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)
2130
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2131
			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)
2132
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2133
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2134
			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)
2135
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2136
			break
2137
		end
2138
	end
2139
	CreateSound("971125740",Head, 1.2, MRANDOM(7, 9) / 10)
2140
	for i=0, 1, 0.1 / Animation_Speed*5 do
2141
		Swait()
2142
		local Pos = HitboxPart
2143
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2144
		local Color = "Cyan"
2145
		local Material = "Neon"
2146
		local TheDelay = 0.01
2147
		local Height = 6.2 * Player_Size
2148
		BLCF = Offset
2149
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2150
			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)
2151
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2152
			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)
2153
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2154
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2155
			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)
2156
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2157
			break
2158
		end
2159
	    local FIREEFFECTCOLORS = {"White", "White"}
2160
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 30, false, 50, 70, 500, "Normal", RootPart, 0.5, 1, MRANDOM(50, 70), nil, true, false, nil, 0, 0, false)
2161
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2162
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2163
		--MagicBlock("White", "Neon", Head.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), 1500, 1500, 1500, 30, 30, 30, 0.1)
2164
	end
2165
	BLCF = nil
2166
	SCFR = nil
2167
	ATTACK = false
2168
end
2169
2170
function Attack2()
2171
	ATTACK = true
2172
	for i=0, 1, 0.1 / Animation_Speed do
2173
		Swait()
2174
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2175
			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)
2176
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2177
			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)
2178
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2179
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2180
			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)
2181
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2182
			break
2183
		end
2184
	end
2185
	CreateSound("971126018",Head, 1.2, MRANDOM(7, 9) / 10)
2186
	for i=0, 1, 0.1 / Animation_Speed*5 do
2187
		Swait()
2188
		local Pos = HitboxPart
2189
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2190
		local Color = "Cyan"
2191
		local Material = "Neon"
2192
		local TheDelay = 0.01
2193
		local Height = 6.2 * Player_Size
2194
		BLCF = Offset
2195
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2196
			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)
2197
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2198
			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)
2199
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2200
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2201
			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)
2202
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2203
			break
2204
		end
2205
	    local FIREEFFECTCOLORS = {"White", "White"}
2206
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 30, false, 100, 100,-5, "Normal", RootPart, 0.5, 1, MRANDOM(50, 70), nil, true, false, nil, 0, 0, false)
2207
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2208
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2209
		--MagicBlock("White", "Neon", Head.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), 1500, 1500, 1500, 30, 30, 30, 0.1)
2210
	end
2211
	BLCF = nil
2212
	SCFR = nil
2213
	ATTACK = false
2214
end
2215
2216
function Attack3()
2217
	ATTACK = true
2218
	for i=0, 1, 0.1 / Animation_Speed do
2219
		Swait()
2220
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2221
			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)
2222
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2223
			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)
2224
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2225
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2226
			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)
2227
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2228
			break
2229
		end
2230
	end
2231
	CreateSound("260433487",Head, 1.2, MRANDOM(7, 9) / 10)
2232
	for i=0, 1, 0.1 / Animation_Speed*5 do
2233
		Swait()
2234
		local Pos = HitboxPart
2235
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2236
		local Color = "Cyan"
2237
		local Material = "Neon"
2238
		local TheDelay = 0.01
2239
		local Height = 6.2 * Player_Size
2240
		BLCF = Offset
2241
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2242
			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)
2243
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2244
			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)
2245
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2246
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2247
			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)
2248
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2249
			break
2250
		end
2251
	    local FIREEFFECTCOLORS = {"Steel blue", "White"}
2252
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 30, false, 0, 0,-5, "Normal", RootPart, 0.5, 1, MRANDOM(50, 70), nil, true, false, nil, 0, 0, false)
2253
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2254
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2255
		--MagicBlock("White", "Neon", Head.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), 1500, 1500, 1500, 30, 30, 30, 0.1)
2256
	end
2257
	BLCF = nil
2258
	SCFR = nil
2259
	ATTACK = false
2260
end
2261
2262
function Attack4()
2263
	ATTACK = true
2264
	for i=0, 1, 0.1 / Animation_Speed do
2265
		Swait()
2266
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2267
			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)
2268
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2269
			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)
2270
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2271
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2272
			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)
2273
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2274
			break
2275
		end
2276
	end
2277
	CreateSound("319467359",Head, 1.2, MRANDOM(7, 9) / 10)
2278
	for i=0, 1, 0.1 / Animation_Speed*5 do
2279
		Swait()
2280
		local Pos = HitboxPart
2281
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2282
		local Color = "Cyan"
2283
		local Material = "Neon"
2284
		local TheDelay = 0.01
2285
		local Height = 6.2 * Player_Size
2286
		BLCF = Offset
2287
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2288
			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)
2289
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2290
			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)
2291
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2292
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2293
			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)
2294
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2295
			break
2296
		end
2297
	    local FIREEFFECTCOLORS = {"Sea green", "White"}
2298
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 30, false, 1, 1, 0, "Normal", RootPart, 0.5, 1, MRANDOM(50, 70), nil, true, false, nil, 0, 0, false)
2299
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2300
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2301
		--MagicBlock("White", "Neon", Head.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), 1500, 1500, 1500, 30, 30, 30, 0.1)
2302
	end
2303
	BLCF = nil
2304
	SCFR = nil
2305
	ATTACK = false
2306
end
2307
2308
function grant()
2309
	ATTACK = true
2310
	for i=0, 1, 0.1 / Animation_Speed do
2311
		Swait()
2312
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2313
			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)
2314
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2315
			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)
2316
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2317
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2318
			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)
2319
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2320
			break
2321
		end
2322
	end
2323
	CreateSound("2800815",Head, 1.2, MRANDOM(7, 9) / 10)
2324
	for i=0, 1, 0.1 / Animation_Speed*5 do
2325
		Swait()
2326
		local Pos = HitboxPart
2327
		local Offset = HitboxPart.CFrame * CF(0, 0.1 * Player_Size, 0)
2328
		local Color = "Cyan"
2329
		local Material = "Neon"
2330
		local TheDelay = 0.01
2331
		local Height = 6.2 * Player_Size
2332
		BLCF = Offset
2333
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0.05 * Player_Size, 0 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(10), RAD(0), RAD(-40)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2334
			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)
2335
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-55), RAD(-100)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2336
			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)
2337
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2338
			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), RAD(0), RAD(0)), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed)
2339
			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)
2340
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2341
			break
2342
		end
2343
	    local FIREEFFECTCOLORS = {"White", "White"}
2344
MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Head, 10, false, 2, 2, 0, "Normal", RootPart, 0.5, 1, MRANDOM(50, 70), nil, true, false, nil, 0, 0, false)
2345
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2346
		MagicBlock(FIREEFFECTCOLORS[MRANDOM(1, #FIREEFFECTCOLORS)], "Neon", RightArm.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), 50000, 50000, 50000, -1, -1, -1, 0.065)
2347
		--MagicBlock("White", "Neon", Head.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), 1500, 1500, 1500, 30, 30, 30, 0.1)
2348
	end
2349
	BLCF = nil
2350
	SCFR = nil
2351
	ATTACK = false
2352
end
2353
2354
function ray()
2355
	ATTACK = true
2356
	local FIREEFFECTCOLORS = {"White", "White", "Maroon"}
2357
	for i=0, 1, 0.1 / Animation_Speed do
2358
		Swait()
2359
		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)
2360
		--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)
2361
		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)
2362
		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)
2363
		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)
2364
		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)
2365
		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)
2366
		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)
2367
		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)
2368
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2369
			break
2370
		end
2371
	end
2372
    local framed = CFrame.new(Mouse.hit.p.X,Mouse.hit.p.Y+250,Mouse.hit.p.Z)
2373
    local cloud = NewEffect(framed,"Cloud",BrickColor.new("Dark stone grey"),"http://www.roblox.com/asset/?id=111820358","",Vector3.new(1000,150,1000))
2374
	CreateSound("199978087", workspace, 10, MRANDOM(9, 11) / 10)
2375
	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), 5, 5, 5, 0.5, 0.5, 0.5, 0.05)
2376
	MagicBlock("White", "Neon", LeftArm.CFrame * CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.05)
2377
	MagicBlock("Maroon", "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)
2378
	for i=0, 1, 0.1 / Animation_Speed do
2379
		Swait()
2380
		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)
2381
		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)
2382
		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)
2383
		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)
2384
		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)
2385
		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)
2386
		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)
2387
		--[[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)
2388
		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)
2389
		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)
2390
		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)
2391
		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)
2392
		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)
2393
		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)]]--
2394
		if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
2395
			break
2396
		end
2397
	end
2398
    wait(1)
2399
	CreateSound("438666077", workspace, 10, MRANDOM(8, 12) / 10)
2400
    wait(0.3)
2401
	--CreateSound("444667859", workspace, 10, MRANDOM(4, 6) / 10)
2402
    local cm = Instance.new("CylinderMesh")
2403
    local cm2 = cm:Clone()
2404
    local death = Instance.new("Part")
2405
    death.CFrame = CFrame.new(framed.X,framed.Y-250,framed.Z)
2406
    death.Material = "Neon"
2407
    death.BrickColor = BrickColor.new("White")
2408
    death.Size = Vector3.new(25,600,25)
2409
    death.Transparency = 0.25
2410
    death.Parent = Effects
2411
    death.CanCollide = false
2412
    death.Anchored = true
2413
    cm.Parent = death
2414
    local death2 = Instance.new("Part")
2415
    death2.CFrame = CFrame.new(framed.X,framed.Y-250,framed.Z)
2416
    death2.Material = "Neon"
2417
    death2.BrickColor = BrickColor.new("White")
2418
    death2.Size = Vector3.new(27,600,27)
2419
    death2.Parent = Effects
2420
    death2.CanCollide = false
2421
    death2.Anchored = true
2422
    cm2.Parent = death2
2423
    local exp = Instance.new("Part")
2424
    exp.Parent = Effects
2425
    exp.Size = Vector3.new(1,1,1)
2426
    exp.Anchored = true
2427
    exp.Transparency = 0
2428
    exp.CanCollide = false
2429
    exp.CFrame = death.CFrame
2430
    exp.BrickColor = BrickColor.new("White")
2431
    exp.Material = "Neon"
2432
    local meshe = Instance.new("SpecialMesh")
2433
    meshe.MeshType = "Sphere"
2434
    meshe.Parent = exp
2435
    meshe.Scale = Vector3.new(0.8,0.8,0.8)
2436
    local exp2 = Instance.new("Part")
2437
    exp2.Parent = Effects
2438
    exp2.Size = Vector3.new(1,1,1)
2439
    exp2.Anchored = true
2440
    exp2.Transparency = 0.25
2441
    exp2.CanCollide = false
2442
    exp2.CFrame = death.CFrame
2443
    exp2.BrickColor = BrickColor.new("White")
2444
    exp2.Material = "Neon"
2445
    local meshe2 = Instance.new("SpecialMesh")
2446
    meshe2.MeshType = "Sphere"
2447
    meshe2.Parent = exp2
2448
    meshe2.Scale = Vector3.new(1,1,1)
2449
    local shockwave = Instance.new("Part")
2450
    shockwave.CanCollide = false
2451
    shockwave.Anchored = true
2452
    shockwave.Parent = Effects
2453
    shockwave.BrickColor = BrickColor.new("White")
2454
    local meshg = Instance.new("SpecialMesh")
2455
    meshg.MeshId = "http://www.roblox.com/asset/?id=20329976"
2456
    meshg.Parent = shockwave
2457
    meshg.Scale = Vector3.new(3, 12, 3)
2458
    meshg.Offset = Vector3.new(0,0,-3)
2459
    shockwave.CFrame = death.CFrame
2460
    SIZE = 25
2461
    for size = 1, 45 do
2462
    MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, exp, 120, false, 100, 100, MRANDOM(35, 50), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
2463
				MagicBlock("White", "Neon", death.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)
2464
				MagicBlock("White", "Neon", death.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.75, SIZE * 0.75, SIZE * 0.75, 50, 50, 50, 0.05)
2465
        meshe.Scale = meshe.Scale + Vector3.new(6,6,6)
2466
        exp.Transparency = exp.Transparency + (1/45)
2467
        meshe2.Scale = meshe2.Scale + Vector3.new(6,6,6)
2468
        exp2.Transparency = exp2.Transparency + (1/45)
2469
        cm.Scale = cm.Scale - Vector3.new(1/45,0,1/45)
2470
        cm2.Scale = cm2.Scale - Vector3.new(1/45,0,1/45)
2471
        shockwave.Transparency = shockwave.Transparency + 1/45
2472
        meshg.Scale = meshg.Scale + Vector3.new(8,3,8)
2473
        wait(0.025)
2474
    end
2475
    exp:Destroy()
2476
    exp2:Destroy()
2477
    death:Destroy()
2478
    death2:Destroy()
2479
    wait(1.2)
2480
    Effects:ClearAllChildren()
2481
	ATTACK = false
2482
end
2483
2484
function Move1()
2485
	ATTACK = true
2486
	ATTACK = false
2487
end
2488
2489
function Move2()
2490
	ATTACK = true
2491
	ATTACK = false
2492
end
2493
2494
function Move3()
2495
	ATTACK = true
2496
	ATTACK = false
2497
end
2498
2499
function Move4()
2500
	ATTACK = true
2501
	ATTACK = false
2502
end
2503
2504
--//=================================\\
2505
--\\=================================//
2506
2507
2508
2509
2510
2511
--//=================================\\
2512
--||	      SET THINGS UP
2513
--\\=================================//
2514
2515
if Start_Equipped == true then
2516
	ATTACK = true
2517
	EQUIPPED = true
2518
	if Disable_Animate == true then
2519
		ANIMATE.Parent = nil
2520
		local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2521
		IDLEANIMATION:Play()
2522
	end
2523
	if Disable_Animator == true then
2524
		ANIMATOR.Parent = nil
2525
	end
2526
	if Disable_Moving_Arms == true then
2527
		RSH = Torso["Right Shoulder"]
2528
		LSH = Torso["Left Shoulder"]
2529
		RSH.Parent = nil
2530
		LSH.Parent = nil
2531
		if Use_Motors_Instead_Of_Welds == true then
2532
			RightShoulder = IT("Motor")
2533
			LeftShoulder = IT("Motor")
2534
		else
2535
			RightShoulder = IT("Weld")
2536
			LeftShoulder = IT("Weld")
2537
		end
2538
		RightShoulder.Name = "Right Shoulder"
2539
		RightShoulder.Part0 = Torso
2540
		RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2541
		RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) 
2542
		RightShoulder.Part1 = Character["Right Arm"]
2543
		RightShoulder.Parent = Torso
2544
		LeftShoulder.Name = "Left Shoulder"
2545
		LeftShoulder.Part0 = Torso
2546
		LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2547
		LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
2548
		LeftShoulder.Part1 = Character["Left Arm"]
2549
		LeftShoulder.Parent = Torso
2550
		RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
2551
		LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
2552
	end
2553
	if Start_Equipped_With_Equipped_Animation == true then
2554
		Swait()
2555
	end
2556
	ATTACK = false
2557
end
2558
2559
--//=================================\\
2560
--\\=================================//
2561
2562
2563
2564
2565
2566
--//=================================\\
2567
--||	  ASSIGN THINGS TO KEYS
2568
--\\=================================//
2569
2570
Humanoid.Changed:connect(function(Jump)
2571
	if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
2572
		Humanoid.Jump = false
2573
	end
2574
end)
2575
2576
function MouseDown(Mouse)
2577
	if ATTACK == true or EQUIPPED == false then
2578
		return
2579
	end
2580
	HOLD = true
2581
		Attack1()
2582
	end
2583
	coroutine.resume(coroutine.create(function()
2584
		for i=1, 50 do
2585
			if ATTACK == false then
2586
				Swait()
2587
			end
2588
		end
2589
		if ATTACK == false then
2590
			COMBO = 1
2591
		end
2592
	end))
2593
2594
function unanchor()
2595
g = Character:GetChildren()
2596
for i = 1, #g do
2597
if g[i].ClassName == "Part" then
2598
g[i].Anchored = false
2599
end
2600
end
2601
end
2602
2603
function MouseUp(Mouse)
2604
HOLD = false
2605
end
2606
2607
function KeyDown(Key)
2608
	if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
2609
		ATTACK = true
2610
		COMBO = 1
2611
		if EQUIPPED == false then
2612
			EQUIPPED = true
2613
			if Disable_Animate == true then
2614
				ANIMATE.Parent = nil
2615
				local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
2616
				IDLEANIMATION:Play()
2617
			end
2618
			if Disable_Animator == true then
2619
				ANIMATOR.Parent = nil
2620
			end
2621
			Swait()
2622
		elseif EQUIPPED == true then
2623
		end
2624
		ATTACK = false
2625
	end
2626
	if Key == "e" and EQUIPPED == true and ATTACK == false then
2627
    Attack2()
2628
	end
2629
	if Key == "z" and EQUIPPED == true and ATTACK == false and CO1 >= Cooldown_1 and Mana.Value >= Skill_1_Mana_Cost and Character:FindFirstChild("Granted") == nil then
2630
       ray()
2631
	end
2632
	if Key == "x" and EQUIPPED == true and ATTACK == false and CO2 >= Cooldown_2 and Mana.Value >= Skill_2_Mana_Cost then
2633
	Attack3()
2634
	end
2635
	if Key == "c" and EQUIPPED == true and ATTACK == false and CO3 >= Cooldown_3 and Mana.Value >= Skill_3_Mana_Cost then
2636
    project()
2637
	end
2638
	if Key == "v" and EQUIPPED == true and ATTACK == false and CO4 >= Cooldown_4 and Mana.Value >= Skill_4_Mana_Cost then
2639
    Attack4()
2640
	end
2641
		if Key == "q" and Character:FindFirstChild("Granted") == nil then
2642
        --grant()
2643
		end
2644
		if Key == "" then
2645
			CreateSound("1285760020", Head, 5, 1)
2646
		end
2647
		if Key == "6" then
2648
		serverbless()
2649
		end
2650
		if Key == "5" then
2651
			CreateSound("165487479", Head, 5, 0.9)
2652
		end
2653
		if Key == "4" then
2654
			CreateSound("660244878", Head, 5, 0.9)
2655
		end
2656
		if Key == "3" then
2657
			CreateSound("1285760020", Head, 5, 1)
2658
		end
2659
		if Key == "" then
2660
			CreateSound("907329044", Head, 5, 0.9)
2661
		end
2662
		if Key == "2" then
2663
			CreateSound("1035350628", Head, 5, 0.9)
2664
		end
2665
		if Key == "m" then
2666
			Humanoid.MaxHealth = "inf"
2667
            Humanoid.Health = "inf"
2668
	        CreateSound("2800815",Head, 1.2, MRANDOM(7, 9) / 10)
2669
            unanchor()
2670
            MagicBlock(BrickColor.new("Lime green"), "Neon", Torso.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), 50000, 50000, 50000, -1, -1, -1, 0.075)
2671
            MagicBlock(BrickColor.new("Lime green"), "Neon", Torso.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), 50000, 50000, 50000, -1, -1, -1, 0.075)
2672
            MagicBlock(BrickColor.new("Lime green"), "Neon", Torso.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), 50000, 50000, 50000, -1, -1, -1, 0.075)
2673
		end
2674
	end
2675
2676
2677
function KeyUp(Key)
2678
end
2679
2680
if Use_HopperBin == false then
2681
2682
	Mouse.Button1Down:connect(function(NEWKEY)
2683
		MouseDown(NEWKEY)
2684
	end)
2685
	Mouse.Button1Up:connect(function(NEWKEY)
2686
		MouseUp(NEWKEY)
2687
	end)
2688
	Mouse.KeyDown:connect(function(NEWKEY)
2689
		KeyDown(NEWKEY)
2690
	end)
2691
	Mouse.KeyUp:connect(function(NEWKEY)
2692
		KeyUp(NEWKEY)
2693
	end)
2694
2695
elseif Use_HopperBin == true then
2696
	WEAPONTOOL.Parent = Backpack
2697
	script.Parent = WEAPONTOOL
2698
	function SelectTool(Mouse)
2699
		Mouse.Button1Down:connect(function()
2700
			MouseDown(Mouse)
2701
		end)
2702
		Mouse.Button1Up:connect(function()
2703
			MouseUp(Mouse)
2704
		end)
2705
		Mouse.KeyDown:connect(KeyDown)
2706
		Mouse.KeyUp:connect(KeyUp)
2707
	end
2708
	function DeselectTool(Mouse)
2709
	end
2710
	WEAPONTOOL.Selected:connect(SelectTool)
2711
	WEAPONTOOL.Deselected:connect(DeselectTool)
2712
end
2713
2714
--//=================================\\
2715
--\\=================================//
2716
2717
2718
2719
local RHCF = CFrame.fromEulerAnglesXYZ(0, 1.6, 0)
2720
local LHCF = CFrame.fromEulerAnglesXYZ(0, -1.6, 0)
2721
2722
while true do
2723
	Swait()
2724
	if HitboxPart ~= nil and ATTACK == false and StaggerHit.Value == false and Stagger.Value == false and Stun.Value == false then
2725
		HitboxPart.Name = "NilHitbox"
2726
	else
2727
		HitboxPart.Name = "Hitbox"
2728
	end
2729
	if Enable_Gui == true then
2730
		UpdateGUI()
2731
	end
2732
	UpdateSkillsAndStuff()
2733
	if Walkspeed_Depends_On_Movement_Value == true then
2734
		if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true then
2735
			Humanoid.WalkSpeed = 0
2736
		else
2737
			Humanoid.WalkSpeed = 16 * Movement.Value * Player_Size
2738
		end
2739
	end
2740
	if Enable_Stun == true and StunValue.Value >= Max_Stun then
2741
		StunValue.Value = 0
2742
		Stun.Value = true
2743
	end
2744
	if Enable_Stagger_Hit == true then
2745
		if StaggerHit.Value == true and STAGGERHITANIM == false then
2746
			coroutine.resume(coroutine.create(function()
2747
				STAGGERHITANIM = true
2748
				while ATTACK == true do
2749
					Swait()
2750
				end
2751
				StaggerHitAnimation()
2752
				StaggerHit.Value = false
2753
				STAGGERHITANIM = false
2754
			end))
2755
		end
2756
	else
2757
		StaggerHit.Value = false
2758
	end
2759
	if Enable_Stagger == true then
2760
		if Stagger.Value == true and STAGGERANIM == false then
2761
			coroutine.resume(coroutine.create(function()
2762
				STAGGERANIM = true
2763
				while ATTACK == true do
2764
					Swait()
2765
				end
2766
				StaggerAnimation()
2767
				Stagger.Value = false
2768
				STAGGERANIM = false
2769
			end))
2770
		end
2771
	else
2772
		Stagger.Value = false
2773
	end
2774
	if Enable_Stun == true then
2775
		if Stun.Value == true and STUNANIM == false then
2776
			coroutine.resume(coroutine.create(function()
2777
				StunValue.Value = 0
2778
				STUNANIM = true
2779
				while ATTACK == true do
2780
					Swait()
2781
				end
2782
				StunAnimation()
2783
				Stun.Value = false
2784
				STUNANIM = false
2785
			end))
2786
		end
2787
	else
2788
		StunValue.Value = 0
2789
		Stun.Value = false
2790
	end
2791
	if DONUMBER >= .5 then
2792
		HANDIDLE = true
2793
	elseif DONUMBER <= 0 then
2794
		HANDIDLE = false
2795
	end
2796
	if HANDIDLE == false then
2797
		DONUMBER = DONUMBER + 0.003 / Animation_Speed
2798
	else
2799
		DONUMBER = DONUMBER - 0.003 / Animation_Speed
2800
	end
2801
	if ATTACK == false then
2802
		IDLENUMBER = IDLENUMBER + 1
2803
	else
2804
		IDLENUMBER = 0
2805
	end
2806
	if Enable_Stats == true then
2807
		for _, v in pairs (ChangeStat:GetChildren()) do
2808
			if v:FindFirstChild("Duration") ~= nil then
2809
				v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
2810
				if v:FindFirstChild("Duration").Value <= 0 then
2811
					v.Parent = nil
2812
				end
2813
			end
2814
			if v.Name == "ChangeDefense" then
2815
				CHANGEDEFENSE = CHANGEDEFENSE + v.Value
2816
			elseif v.Name == "ChangeDamage" then
2817
				CHANGEDAMAGE = CHANGEDAMAGE + v.Value
2818
			elseif v.Name == "ChangeMovement" then
2819
				CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
2820
			end
2821
		end
2822
		Defense.Value = 1 + (CHANGEDEFENSE)
2823
		if Defense.Value <= 0.01 then
2824
			Defense.Value = 0.01
2825
		end
2826
		Damage.Value = 1 + (CHANGEDAMAGE)
2827
		if Damage.Value <= 0 then
2828
			Damage.Value = 0
2829
		end
2830
		Movement.Value = 1 + (CHANGEMOVEMENT)
2831
		if Movement.Value <= 0 then
2832
			Movement.Value = 0
2833
		end
2834
	CHANGEDEFENSE = 0
2835
	CHANGEDAMAGE = 0
2836
	CHANGEMOVEMENT = 0
2837
	end
2838
	SINE = SINE + CHANGE
2839
	local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
2840
	local TORSOVERTICALVELOCITY = RootPart.Velocity.y
2841
	local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
2842
	local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
2843
	local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
2844
	if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 then
2845
		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)
2846
		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)
2847
		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)
2848
		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)
2849
	elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) then
2850
		RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
2851
		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)
2852
		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)
2853
		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)
2854
	end
2855
	if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
2856
		ANIM = "Jump"
2857
		if EQUIPPED == true and ATTACK == false then
2858
            Humanoid.WalkSpeed = 150
2859
			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)
2860
			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)
2861
			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)
2862
			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)
2863
			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)
2864
			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)
2865
			HandleWeld.C0 = Clerp(HandleWeld.C0, CF(0 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(90), RAD(0)), 0.2 / Animation_Speed)
2866
		end
2867
	elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
2868
		ANIM = "Fall"
2869
		if EQUIPPED == true and ATTACK == false then
2870
			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)
2871
			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)
2872
			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)
2873
			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)
2874
			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)
2875
			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)
2876
			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)
2877
		end
2878
	elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
2879
		ANIM = "Idle"
2880
		if EQUIPPED == true and ATTACK == false then
2881
			RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -0.1 + 0.02 * math.cos(SINE / 8)) * angles(math.rad(0), math.rad(1), math.rad(15)), 0.1)
2882
			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)
2883
			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(25)), 0.15 / Animation_Speed)
2884
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CFrame.new(.9, 0.7, -0.7) * angles(math.rad(90 - 1 * math.cos(SINE / 8)), math.rad(0), math.rad(-50)), 0.1)
2885
            LeftShoulder.C0 = Clerp(LeftShoulder.C0, CFrame.new(-.9, 0.7, -0.5) * angles(math.rad(70 - 1 * math.cos(SINE / 8)), math.rad(-7), math.rad(70)), 0.1)
2886
			RightHip.C0  = Clerp(RightHip.C0, CF(1, -1 - 0.02 * math.cos(SINE / 8), 0) * RHCF * angles(math.rad(-4), math.rad(0), math.rad(0 + 0.05 * math.cos(SINE / 25))), 0.1)
2887
            LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.02 * math.cos(SINE / 8), 0) * LHCF * angles(math.rad(-4), math.rad(0), math.rad(0 + 0.05 * math.cos(SINE / 25))), 0.1)
2888
			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)
2889
		end
2890
	elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
2891
		ANIM = "Walk"
2892
		WALK = WALK + 1 / Animation_Speed
2893
		if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
2894
			WALK = 0
2895
			if WALKINGANIM == true then
2896
				WALKINGANIM = false
2897
			elseif WALKINGANIM == false then
2898
				WALKINGANIM = true
2899
			end
2900
		end
2901
		if EQUIPPED == true and ATTACK == false then
2902
            Humanoid.WalkSpeed = 20
2903
			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)
2904
			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)
2905
		    RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.25 * Player_Size, 0.5 * Player_Size, -1 * Player_Size) * ANGLES(RAD(70), RAD(0), RAD(-70)) * ANGLES(RAD(20), RAD(25), RAD(-15)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
2906
		    LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
2907
			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)
2908
			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)
2909
			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)
2910
		end
2911
	end
2912
2913
end
2914
2915
player = game:GetService("Players").LocalPlayer
2916
moni = player.Character
2917
2918
mo = moni:GetChildren()
2919
for i = 1, #mo do
2920
if mo[i].Name == "Torso" then
2921
mo[i].roblox.Transparency = 0
2922
elseif mo[i].Name == "Head" then
2923
mo[i].face.Transparency = 0
2924
mo[i].Transparency = 0
2925
elseif mo[i].ClassName == "ShirtGraphic" then
2926
mo[i]:Destroy()
2927
end
2928
end
2929
moni.Humanoid.Died:connect(function()
2930
local sky = Instance.new('Sky', game:GetService'Lighting')
2931
	sky.SkyboxBk = "rbxassetid://166574023"
2932
    sky.SkyboxDn = "rbxassetid://166574122"
2933
    sky.SkyboxFt = "rbxassetid://1340693961"
2934
    sky.SkyboxLf = "rbxassetid://166574084"
2935
    sky.SkyboxRt = "rbxassetid://166574092"
2936
    sky.SkyboxUp = "rbxassetid://166574066"
2937
game.Lighting.OutdoorAmbient = Color3.new(0,0,0)
2938
game.Lighting.TimeOfDay = "08:00:00"
2939
game.Lighting.FogColor = Color3.new(0,0,0)
2940
game.Lighting.FogEnd = 800
2941
local ex = Instance.new("Explosion",game.Workspace)
2942
ex.Position = moni.Torso.Position
2943
ex.Visible = false
2944
ex.BlastRadius = 999999999999999999999999
2945
ex.BlastPressure = 9999999999999999999999999
2946
end)