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