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